Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 25
i
i
“MF_Tesi” — 2011/9/12 — 11:39 — page 25 — #25
i
1.2. FPGA
i
25
è focalizzata sullo sviluppo di architetture in cui il processo di routing, che
gestisce questi collegamenti programmabili, risulti il più efficiente possibile.
1.2.3
Interconnessioni
Le interconnessioni all’interno di un FPGA sono costituite da piste metalliche,
che viaggiano all’interno di canali orizzontali e verticali e che possono avere una
qualsiasi lunghezza, dove per lunghezza di ciascun segmento si intende il numero
di blocchi logici attraversati. Il numero di segment wire all’interno di ciascun
canale si indica con W .
Un’architettura si definisce “segmented” se possiede segment wire aventi diversa
lunghezza, anche maggiore di 1, ossia che percorrono all’interno dei canali dei
tratti più lunghi di un singolo CLB. In Figura 1.2.5 è riportato un esempio in cui
vi sono segmenti di lunghezza 1, 2, 3 e 4. Pertanto i wire più lunghi di un CLB
passeranno attraverso alcuni switch module prima di giungere a destinazione
nel blocco logico sink.
Figura 1.2.5: Canale con segmenti di lunghezza 1, 2, 3, 4.
I tool che effettuano il routing cercano di trovare i cammini più brevi possibili e, in primo luogo, suddividono le reti di interconnessione tra i vari CLB in
collegamenti punto-punto (source-sink), andando alla ricerca del percorso minimo per ciascuna connessione. E’ importante sfruttare in maniera oculata le
risorse a disposizione, distribuendo le interconnessioni lungo i canali in modo da
uniformare l’occupazione delle tracce.
Il programma che effettua il processo di routing associa una funzione di costo a
ciascuna interconnessione basando la sua scelta sulla decisione di ottimizzare o
i
i
i
i