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