Tesi Robotica Un co-processore per Stereo-Matching: Architettura | Seite 61

i i “LP_Tesi” — 2011/9/9 — 21:20 — page 61 — #61 i 4.1. PACKAGE STRUCT i 61 Algoritmo 4.8 Struct: data type 1 2 3 4 5 6 Integer Integer typedef typedef typedef typedef width = 450; height = 375; Bit#(9) BitC; Bit#(9) BitR; Bit#(18) BitF; Bit#(18) BitHF; Integer typedef typedef typedef parDeep = 16; Reg#(Bit#(16)) RegPar; Vector#(16, element) SizedVector#(type element); Bit#(4) BitPD; typedef typedef typedef typedef Reg#(BitC) RegBitC; Reg#(BitR) RegBitR; Reg#(BitF) RegBitF; Reg#(BitHF) RegBitHF; 7 8 9 10 11 12 13 14 15 16 Dato che lo scopo di questa tesi è quello di di simulare il codice, nell’esempio riportato (Alg:4.8) sono stati istanziati ben 16 Processor. Come prima, i valori successivi alla definizione della profondità di parallelizzazione [riga 9,10,11] dipendono strettamente dalle scelte fatte in precedenza. Sia parDeep = x, con x > 0, vengono definiti i tipi:  RegP ar ⇐ Reg#(Bit#(x))  SizedV ector#(type el) ⇐ V ector#(x, el)   BitP D ⇐ Bit#(a) con a = lg2 (x) Una volta che tutti i valori sono stati settati nel modo giusto, si può passare all’inserimento dei path dei file usati durante la fase di test. Le stringhe pathLeft e pathRight devono contenere il percorso relativo o assoluto rispettivamente: del file che contiene l’immagine di sinistra e di quello che contiene l’immagine di destra. Le stringhe result_finalL e bw_disparity_L devono invece contenere il percorso relativo o assoluto dei file che dovranno contenere la mappa delle occlusioni sinistra e quelli che dovranno contenere la mappa di disparità sinistra. Durante la fase di test è stato scelto di usare per le immagini il formato nativamente binario Netpbm. All’interno di questo tipo di file, dopo una breve i i i i