Tesi Robotica Analisi, progettazione e implementazione... | 页面 124
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 124 — #124
i
124
i
6. SECONDA RELEASE
tempo prima di andare in esecuzione, per il momento non sembrano possibili
ulteriori miglioramenti su questa strada, l’unica cosa da tenere in conto sono le
dimensioni del disegno una volta piazzato su FPGA, questo perché più è grande
il circuito più è probabile che pezzi che devono collaborare vengano piazzati in
punti lontani tra di loro causando non solo un notevole spreco dello spazio a
disposizione sul chip impegnato nel solo routing, ma anche una notevole calo di
frequenza dovuto ai tempi di percorrenza dei segnali che devono viaggiare fra
punti lontani. Alla fine delle sintesi si è potuto osservare un raddoppio della
frequenza di lavoro su dispositivi di tipo Cyclone IV, passando dai 50Mhz della
prima release agli oltre 124Mhz della seconda.
6.1.3
Diminuzione numero cicli di clock
Questo argomento è strettamente legato alla quantità di memoria usata, infatti
meno memoria usata significa meno posizioni nella matrice score da riempire,
meno posizioni da riempire implica meno cicli di clock sprecati. Il numero di
cicli di clock impiegati per processare una coppia di righe dipende ovviamente
dalle dimensioni dell’immagine, più precisamente nella prima release il numero
di cicli di clock da impiegare per l’esecuzione equivaleva a:
2n2 + 4n
Dove 2n2 sono il numero di cicli di clock da impiegare per riempire la matrice
degli elementi, occorrevano infatti due cicli di clock per riempire una casella,
questo perché mentre nel primo ciclo si leggono gli elementi circostanti alla
casella attuale solo nel secondo questi sono effettivamente a disposizione e quindi usabili per scrivere un nuovo valore nella matrice dei punteggi, 4n invece è il
numero di cicli necessari allo svolgimento del Backtrack nel caso peggiore, caso
rappresentato da un percorso di Backtrack che attraversa 2n elementi ognuno
impiegante 2 cicli di clock per essere letto, esistono vari casi in cui questo può
succedere, ad esempio quando una delle due righe è completamente nera mentre
l’altra è completamente bianca, in questo caso infatti il Backtrack seguirà tutti
gli elementi presenti nel lato inferiore e nel lato sinistro. I restanti moduli non
introducono ritardi proporzionali alle dimensioni delle immagini, ma rimangono
costanti e dell’ordine di qualche decina di cicli di clock grazie alla pipelinizzazione del processo.
i
i
i
i