Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 19
i
i
“MF_Tesi” — 2011/9/12 — 11:39 — page 19 — #19
i
1.2. FPGA
i
19
-FPGA Field Programmable Gate Array
-SoPC System on Programmable Chip
I PLD rappresentano l’evoluzione temporale della tecnologia nelle logiche programmabili, dove si è partiti da un semplice array di porte AND e OR i cui ingressi e le cui uscite possono opportunamente essere collegate al momento della
programmazione (PAL, Programmable Array Logic). Si è poi passati all’utilizzo
di macrocelle, in grado di eseguire funzioni sempre più complesse, inizialmente
disposte solamente in prossimità dei piedini di uscita del dispositivo (GAL, Gate
Array Logic). Infine, le macrocelle, disposte su tutta l’area disponibile, hanno
dato vita a dispositivi logici programmabili più complessi, i CPLD, (Complex
Programmable Logic Device). Parlando di FPGA, oramai possiamo con certezza
affermare, che siano lo strumento preferito dai progettisti per realizzare sistemi
embedded. Esse consistono fondamentalmente in un array di blocchi logici e di
interconnessioni di linea e di colonna, che una volta programmate mettono in
comunicazione tra loro i blocchi logici e i blocchi programmabili di I/O disposti
sulla periferia del chip stesso. I motivi di questo indiscusso successo degli FPGA
sono molti. Sicuramente i principali risiedono nel fatto che esse sono compatte con un costo relativamente basso e sopratutto facilmente programmabili per
mezzo di codici software come ad esempio il VHDL, il Verilog o il più recente
Bluespec SystemVerilog.
1.2
FPGA
L’FPGA sta diventando uno dei più importanti strumenti per circuiti digitali e
la chiave del suo successo risiede sia nella sua programmabilità, che consente di
realizzare immediatamente qualsiasi funzione, con bassi costi di progettazione,
in quanto non è richiesta la realizzazione di uno specifico design come per gli
ASIC.
Questa maggior flessibilità in fase di progettazione si paga in termini di area non
utilizzata perché gli FPGA occupano un’area almeno dieci volte più grande. Inoltre, questi dispositivi programmabili risultano almeno tre volte più lenti degli
ASIC e, la bassa velocità con cui viaggia il segnale è dovuta principalmente al
fatto che i diversi blocchi logici all’interno di un FPGA sono connessi attraverso
dei blocchi programmabili che presentano al loro interno elementi (componenti)
attivi il cui attraversamento introduce un grosso termine di ritardo, mentre nelle
i
i
i
i