Amb la creixent popularitat dels microcontroladors, els enginyers utilitzen microcontroladors més que els FPGA. Els microcontroladors s'han convertit en dominants sobre FPGA a causa del seu cost barat, bona compatibilitat, facilitat de disponibilitat, gran comunitat, versatilitat, programació, etc. manca de flexibilitat i reutilització, etc. Tanmateix, l'FPGA pot superar aquestes limitacions ja que els FPGA tenen una execució paral·lela de programes i és flexible i reutilitzable significa que es pot reprogramar una i altra vegada per a diferents tasques.
Què és FPGA i en què es diferencia del microcontrolador
Una matriu de porta programable al camp és un xip de silici de circuit integrat que té una sèrie de portes lògiques i aquesta matriu es pot programar al camp, és a dir, l’usuari pot sobreescriure les configuracions existents amb les seves noves configuracions definides i pot crear el seu propi circuit digital al camp. Els FPGA es poden considerar com a pissarra en blanc. Els FPGA no fan res per si mateixos, mentre que els dissenyadors han de crear un fitxer de configuració sovint anomenat fitxer de bits per al FPGA. El FPGA es comportarà com el circuit digital un cop carregat amb un fitxer de bits.

Mentre que en els microcontroladors, aquest no és el cas, ja que els microcontroladors no es poden programar ni reestructurar al camp. L'usuari no té permís per sobreescriure les seves configuracions existents ni pot crear cap circuit digital al camp. Els microcontroladors són fàcils de programar i la comunitat també és àmplia. Els microcontroladors són mini ordinadors de fabricació personalitzada que es presenten en forma de CI, mentre que els FPGA només contenen blocs lògics que es poden tornar a connectar elèctricament. També en termes de microcontroladors, consumeix menys energia que els FPGA. Se sap que els FPGA són costosos i requereixen més costos que el microcontrolador a l’hora de construir qualsevol dispositiu. Els FPGA triguen molt més a configurar-se, mentre que els microcontroladors estan disponibles fàcilment per a aplicacions específiques.
Arquitectura FPGA
Un FPGA té una estructura regular de cel·les o mòduls lògics i enllaços que es troba sota el control complet dels desenvolupadors i dissenyadors. El FPGA està construït principalment amb tres blocs principals, com ara el bloc lògic configurable (CLB), els blocs o coixinets d'E / S i els cables de matriu de commutació / d'interconnexió. A continuació, es detallarà cada bloc en breu.
- CLB (bloc lògic configurable): són les cel·les bàsiques de FPGA. Consisteix en un generador de funcions de 8 bits, dos generadors de funcions de 16 bits, dos registres (xancles o pestells) i controls d’encaminament reprogramables (multiplexors). Els CLB s'apliquen per implementar altres funcions i macros dissenyades. Cada CLB té entrades a cada costat, cosa que els fa flexibles per al mapatge i el particionament de la lògica.
- Blocs i blocs d'E / S: els blocs d' entrada / sortida s'utilitzen per als perifèrics exteriors per accedir a les funcions de FPGA i mitjançant els blocs d'E / S també es pot comunicar amb FPGA per a diferents aplicacions que utilitzen diferents perifèrics.
- Switch Matrix / Interconnection Wires: Switch Matrix s’utilitza a FPGA per connectar els cables d’interconnexió llargs i curts junts en combinació flexible. També conté els transistors per activar / desactivar les connexions entre diferents línies.

Quan es necessiten FPGA
Com s'ha esmentat anteriorment, els microcontroladors tenen alguna limitació i no es poden utilitzar per realitzar tasques en paral·lel, ja que el microcontrolador i els microprocessadors s'executen en execució seqüencial de programes, cosa que fa que sigui una mica lent en algunes aplicacions, en aquest escenari els FPGA tenen un avantatge i es poden utilitzar eficaçment. També el microcontrolador pot realitzar tasques limitades perquè inclouen instruccions i els seus circuits. Un programador ha de complir les restriccions mentre desenvolupa el codi. Així, en aquest escenari també, els FPGA tenen avantatges.
No obstant això, en el cas dels microcontroladors, el processador canvia d’un codi a un altre per aconseguir un cert nivell de paral·lelisme. Trobareu més fàcil escriure codis en microcontroladors que FPGA. La capacitat de processament en paral·lel dels FPGA permet controlar eficaçment les interrupcions mitjançant màquines d’estat finit (FSM).

En el cas dels microcontroladors, haureu de tenir en compte el temps que ISR ha trigat a resoldre una interrupció. Podeu tornar a connectar un FPGA fàcilment només reprogramant-lo. La configuració en un FPGA es carrega a les cel·les lògiques configurables quan s’encén l’alimentació.
No cal que feu cap canvi al maquinari per reprogramar el FPGA. Els FPGA són adequats per al processament d'alta velocitat de dades paral·leles i inclouen un alt grau de personalització. No obstant això, també tenen els inconvenients del funcionament del prototip i la complexitat de la configuració. Per tant, es poden triar els FPGA amb aquests avantatges respecte als microcontroladors. Comencem la programació FPGA i destaquem
