Tesi Robotica Analisi, progettazione e implementazione... | Page 120

i i “LP_Tesi” — 2013/10/17 — 18:27 — page 120 — #120 i 120 i 6. SECONDA RELEASE Per questione di implementazione nella prima release si era deciso di non tenere conto della possibilità di biforcazioni nella fase di Backtrack, questa scelta non aveva comportato gravi perdite alla resa dell’algoritmo dimostrando comunque ottimi risultati. Tale scelta comporta la totale inutilità della codifica one-hot per le direzione, infatti per ogni cella sono memorizzati tre bit, uno per ognuna delle matrici gapNorth, gapWest e diag, questo allo scopo di sapere quando una cella contenesse più di una direzione contemporaneamente. Data la scelta fatta sono solo 3 le possibili direzioni percorribili (North, West e Diag) anziché 8 (North, West, Diag, Nort-West, North-Diag, West-Diag), e per memorizzare 3 direzioni occorrono solamente 2 bit anziché 3. Questo comporta la rimozione delle 3 BRAM da 1 bit a elemento ciascuna in favore di una sola BRAM ad elementi di 2 bit. Quest’ultima decisione porta ad un ulteriore minimizzazione dello spazio richiesto, portando alla seguente formulazione per il calcolo della memoria necessaria: ScoreRAM = ( log(255 ∗ n) × n) bit DirRAM = GN orthRAM +GW estRAM +DiagRAM = (2×n×n)/2+(2×n)/2 bit T ot = 2RasterRAM + ScoreRAM + DirRAM = 2(24 × n) + ( log(255 ∗ n) × n) + (n × n) + n A questo punto è possibile calcolare i requisiti di memoria finali, i valori sono mostrati in Tab:6.5. Al momento non risultano possibili altri metodi per la riduzione dell’uso delle BRAM. Spazio necessario (bit) Spazio necessario (Byte) Spazio necessario (KByte) 160 × 120 36000 4500 5 320 × 240 123520 15440 16 450 × 375 232200 29025 29 640 × 480 452480 56560 56 Tabella 6.5: Requisiti di memoria finali nella Seconda Release 6.1.2 Aumento frequenza di lavor