Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 22
i
i
“MF_Tesi” — 2011/9/12 — 11:39 — page 22 — #22
i
1.2. FPGA
i
22
1. k numero di ingressi di una LUT;
2. N numero di BLE presenti all’interno di un CLB e numero di uscite
dell’intero blocco logico;
3. I numero di ingressi al CLB;
4. M clk numero di ingressi al CLB dedicati ai segnali di clock.
Una LUT con più ingressi può implementare più logica al suo interno, perciò
il numero di CLB da utilizzare in un circuito diminuirebbe e aumenterebbe
l’area da poter dedicare al routing. Tuttavia, visto che la complessità di una
LUT cresce esponenzialmente all’aumentare del numero di ingressi, risulta poco
gestibile l’utilizzo di una LUT come un unico blocco logico avente un elevato
numero di ingressi. Così, invece di realizzare un blocco con molti pin, risulta più
semplice raggruppare insieme alcune LUT ed interconnetterle con un routing
locale. Questo tipo di interconnessione è più veloce rispetto a quello di tipo
generale tra blocchi logici, e migliora le caratteristiche di velocità dell’FPGA,
ossia i tempi di ritardo sono ridotti. Tuttavia, il routing locale effettuato tra le
diverse LUT aumenta quadraticamente al crescere delle dimensioni delle stesse
LUT, quindi non è conveniente realizzare CLB molto grandi altrimenti l’area
necessaria per le interconnessioni locali supererebbe quella risparmiata grazie al
fatto che non bisogna più effettuare il routing generale.
Lungo il perimetro di ciascun blocco logico sono distribuiti i pin di ingresso e di
uscita, e questi sono collegati ai segment wire di un canale adiacente mediante
dei transistor, elementi attivi programmabili che realizzano l’interconnessione.
Un esempio di quanto appena detto è mostrato in Figura 1.2.3.
Figura 1.2.3: Connessione tra blocchi logici mediante risorse programmabili.
i
i
i
i