Špeciálne funkčné bloky
Dnešné programovateľné hradlové polia obsahujú ďalšie, často jednoúčelové, funkčné bloky uľahčujúce použitie FPGA. Typickými zástupcami tejto kategórie sú blokové pamäte, násobičky a iné aritmetické obvody, obvody pre správu a generovanie hodinových signálov a ďalšie.
Blokové pamäte sú často dvojportové statické pamäte RAM o kapacite jednotiek až desiatok kilobytov a skonfigurovateľnou šírkou adresových a dátových zberníc. Takýto pamäťový blok je vysoko univerzálny. Môže byť použitá ako jednoportová aj dvojportová pamäť typu RAM alebo ROM.
Aritmetické obvody sú reprezentované obvykle celočíselnými násobičkami, prípadne zložitejšími DSP (bloky umožňujúce realizáciu náročnejších matematických operácii v jednom hodinovom cykle). Typickým príkladom jednoduchších, ale najčastejších operácii realizovaných pomocou DSP blokov je MAC (Multiply and Accummulate), čo je základná operácia číslicovej filtrácie a takmer všetkých DSP algoritmov.
Bloky pre správu a generovanie hodinových signálov sú založené na PLL (phase locked loop) alebo DLL (delay locked loop). Zložitejšie hodinové bloky vo väčších FPGA často obsahujú niekoľko PLL a DLL. Tieto bloky ponúkajú funkcie ako je spájanie a delenie hodinových signálov, generovanie fázovo posunutých hodín, kompenzácia vnútorných a vonkajších oneskorení a fázových posunov a podobne. Vstupy a výstupy týchto blokov sú obvykle pripojený priamo ku špeciálnym spojom určeným pre šírenie hodinových signálov. Na rozdiel od predchádzajúcich dvoch typov špeciálnych funkčných blokovo nejdú hodinové obvody jednoducho nahradiť bežnou logikou FPGA.
Ostatné funkčné bloky, ktoré sa vyskytujú v FPGA napríklad radiče pamätí a mikroprocesory. Niektoré hradlové polia obsahujú hotový radič dynamických pamätí, ktoré obvykle podporujú pamäte typu SDR, DDR, DDR2 a DDR3 SDRAM. Hotový blok radiča usporí mnoho logických prostriedkov a často významne zvýši dátovou priepustnosť externej dynamickej pamäte oproti realizácie radiča pomocou bežnej logiky.