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