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