Tesi Robotica Analisi, progettazione e implementazione... | Page 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