Tesi Robotica Un co-processore per Stereo-Matching: Architettura | Page 55
i
i
“LP_Tesi” — 2011/9/9 — 21:20 — page 55 — #55
i
i
55
Algoritmo 4.1 Breve discussione di ciò che fa il modulo
1
Modulo connettivo per 1 BRAM (ram) e 1 FIFOF (fin). Carica una RAM con un
contenuto predeterminato (letto da file) in modo da poter far
eseguire il programma, verrà rimosso in fase di sintesi.
2
2|--------------+
|restart
_____|_____
|
|
________
0|---------| BRAM |-------| fin |-----|1
start |_________| read -------- get
|
|writeOnMemory
_____|_____
|
|
| File |
|_________|
3
4
5
6
7
8
9
10
11
12
13
14
15
16
N.B.: Sono necessari 2 cicli di clock per leggere da una RAM
importando questa classe si hanno a disposizione valori importanti come per
esempio lunghezza e altezza dell’immagine. Se non venissero caricati ogni volta
dal package Struct, queste informazioni dovrebbero essere scritte a mano, e nel
caso di una piccola modifica si perderebbe molto tempo ad aggiornarli tutti.
Ecco un esempio estratto da Processor.bsv:
Algoritmo 4.2 Classi importate
1
2
3
4
import
import
import
import
Raster::*;
Scoring::*;
Disparity::*;
Struct::*;
Interfaccia da implementare
Ogni modulo, tranne il testbench (tb.bsv), necessita di una interfaccia per essere
istanziato, questo unito al fatto che la sintassi di BSV è molto simile a quella
i
i
i
i