- Che cos'è FPGA e in che modo è diverso dal microcontrollore
- Architettura FPGA
- Quando sono necessari FPGA
Con la crescente popolarità dei microcontrollori, gli ingegneri utilizzano i microcontrollori più degli FPGA. I microcontrollori sono diventati dominanti su FPGA a causa del loro costo economico, buon supporto, facile disponibilità, ampia comunità, versatilità, programmazione ecc. Ma a parte questo i microprocessori hanno alcune limitazioni come il set di istruzioni, l'esecuzione sequenziale dei programmi (elaborazione sequenziale), mancanza di flessibilità e riutilizzabilità, ecc. Tuttavia, l'FPGA può superare queste limitazioni poiché gli FPGA hanno l'esecuzione parallela dei programmi ed è flessibile e riutilizzabile, il che significa che può essere riprogrammato più e più volte per compiti diversi.
Che cos'è FPGA e in che modo è diverso dal microcontrollore
A Field-Programmable Gate Array è un chip di silicio di circuito integrato avente schieramento di porte logiche e questo array può essere programmato nel campo cioè l'utente può sovrascrivere le configurazioni esistenti con le sue nuove configurazioni definiti e può creare il proprio circuito digitale sul campo. Gli FPGA possono essere considerati come tabula rasa. Gli FPGA non fanno nulla da soli, mentre spetta ai progettisti creare un file di configurazione spesso chiamato file di bit per l'FPGA. L'FPGA si comporterà come il circuito digitale una volta caricato con un file di bit.
Mentre nei microcontrollori, questo non è il caso in quanto i microcontrollori non possono essere programmati o ristrutturati sul campo. L'utente non può né sovrascrivere le sue configurazioni esistenti né può creare alcun circuito digitale sul campo. I microcontrollori sono facili da programmare e anche la comunità è ampia. I microcontrollori sono mini computer personalizzati che vengono forniti in formato IC mentre gli FPGA contengono solo blocchi logici che possono essere nuovamente cablati elettricamente. Anche in termini di microcontrollori, consuma meno energia rispetto agli FPGA. Gli FPGA sono noti per essere costosi e richiedono più costi del microcontrollore quando si tratta di costruire qualsiasi dispositivo. Gli FPGA richiedono molto più tempo per la configurazione, mentre i microcontrollori sono disponibili prontamente costruiti per applicazioni specifiche.
Architettura FPGA
Un FPGA ha una struttura regolare di celle o moduli logici e interlink che è sotto il controllo completo di sviluppatori e progettisti. L'FPGA è costruito principalmente con tre blocchi principali come Configurable Logic Block (CLB), blocchi I / O o pad e matrice di commutazione / cavi di interconnessione. Ogni blocco sarà discusso di seguito in breve.
- CLB (Configurable Logic Block): queste sono le celle di base di FPGA. Consiste di un generatore di funzioni a 8 bit, due generatori di funzioni a 16 bit, due registri (flip-flop o latch) e controlli di routing riprogrammabili (multiplexer). I CLB vengono applicati per implementare altre funzioni e macro progettate. Ogni CLB ha ingressi su ogni lato che li rende flessibili per la mappatura e il partizionamento della logica.
- Pad o blocchi di I / O: i pad di ingresso / uscita vengono utilizzati per le periferiche esterne per accedere alle funzioni di FPGA e utilizzando i pad di I / O può anche comunicare con FPGA per diverse applicazioni utilizzando periferiche diverse.
- Switch Matrix / Fili di interconnessione: Switch Matrix viene utilizzato in FPGA per collegare i fili di interconnessione lunghi e corti insieme in una combinazione flessibile. Contiene anche i transistor per attivare / disattivare i collegamenti tra linee diverse.
Quando sono necessari FPGA
Come accennato in precedenza, i microcontrollori hanno alcune limitazioni e non possono essere utilizzati per eseguire attività in parallelo poiché il microcontrollore ei microprocessori funzionano con l'esecuzione sequenziale di programmi che lo rende un po 'lento in alcune applicazioni, in questo scenario gli FPGA hanno un vantaggio e possono essere utilizzati efficacemente. Anche il microcontrollore può eseguire compiti limitati perché vengono forniti con istruzioni e circuiti. Un programmatore deve rispettare le restrizioni durante lo sviluppo del codice. Quindi anche in questo scenario gli FPGA hanno un vantaggio.
Tuttavia, nel caso dei microcontrollori, il processore passa da un codice all'altro per ottenere un certo livello di parallelismo. Troverai più facile scrivere codici sui microcontrollori rispetto agli FPGA. La capacità di elaborazione parallela degli FPGA consente di controllare le interruzioni in modo efficace utilizzando Finite State Machines (FSM).
Nel caso dei microcontrollori, è necessario tenere conto del tempo impiegato da ISR per risolvere un'interruzione. Puoi ricablare facilmente un FPGA semplicemente riprogrammandolo. La configurazione in un FPGA viene caricata sulle celle logiche configurabili all'accensione.
Non è necessario apportare modifiche all'hardware per riprogrammare l'FPGA. Gli FPGA sono adatti per l'elaborazione ad alta velocità di dati paralleli e sono dotati di un alto grado di personalizzazione. Tuttavia, hanno anche gli svantaggi del funzionamento del prototipo e della complessità della configurazione. Quindi, gli FPGA possono essere scelti con questi vantaggi rispetto ai microcontrollori. Iniziamo la programmazione FPGA e sottolineiamo