Tesi Robotica Analisi, progettazione e implementazione... | Page 95
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 95 — #95
i
4.2. BLUESPEC
i
95
punti di forza di BSV, consentendo così di astrarsi dal concetto di segnale per
l’abilitazione per concentrarsi poi sulla risoluzione del problema vero e proprio.
Il programma esposto è molto semplice, la regola greet stampa a schermo:
• Il valore di x prima e dopo l’incremento;
• il valore di y prima e dopo l’incremento;
• la stringa “Hello World!”.
Adesso è necessario scrivere il testbench per provare il modulo appena creato
(Alg:4.6). Il testbench non fa altro che istanziare una variabile di nome test
di tipo Hello_Ifc [riga 6] e chiamare il metodo valueX del modulo appena istanziato. In output avremo quindi la stampa a schermo di questo nuovo modulo
più quella del modulo Hello. Dopo 3 cicli di clock avremo quindi il risultato
presente in Fig:4.2.1.
Come si vede, il valore di x, definito come registro a 2 bit (Reg#(Bit#(2))),
prima e dopo l’incremento non cambia, questo perché appunto si tratta di un
Value before−x:0
Value after−x:0
Value before−y:0
Value after−y:1
Hello World!
Value of x:0
−−−−−−−−−−−−−−
Value before−x:1
Value after−x:1
Value before−y:0
Value after−y:1
Hello World!
Value of x:1
−−−−−−−−−−−−−−
Value before−x:2
Value after−x:2
Value before−y:0
Value after−y:1
Hello World!
Value of x:2
−−−−−−−−−−−−−−
Figura 4.2.1: Output del programma
i
i
i
i