diff options
Diffstat (limited to 'nandgame/instruction_decode_tb.sv')
| -rw-r--r-- | nandgame/instruction_decode_tb.sv | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/nandgame/instruction_decode_tb.sv b/nandgame/instruction_decode_tb.sv new file mode 100644 index 0000000..8f5cfc6 --- /dev/null +++ b/nandgame/instruction_decode_tb.sv @@ -0,0 +1,47 @@ +`timescale 1us/1us + +module instruction_decode_tb; + +logic [15:0] tst_instruction, tst_result; +logic tst_destination_A, tst_destination_D, tst_destination_pA; +logic [15:0] tst_data_A, tst_data_D, tst_data_pA; +logic tst_should_jump; + +instruction_decode uut ( + .instruction_in(tst_instruction), + .dst_A_out(tst_destination_A), + .dst_D_out(tst_destination_D), + .dst_pA_out(tst_destination_pA), + .A_in(tst_data_A), + .D_in(tst_data_D), + .pA_in(tst_data_pA), + .result_out(tst_result), + .do_jump_out(tst_should_jump) +); + +string filename; +initial begin +`ifdef DUMP_FILE_NAME + filename=`DUMP_FILE_NAME; +`else + filename="instruction_decode.lxt2"; +`endif + $dumpfile(filename); $dumpvars(); +end + +initial begin + #10 + tst_instruction = 0; + tst_data_A = 0; + tst_data_D = 0; + tst_data_pA = 0; + #1 + assert(tst_result==0); + assert(tst_destination_A == 0); + assert(tst_destination_D == 0); + assert(tst_destination_pA == 0); + assert(tst_should_jump == 0); + $finish(); +end + +endmodule |
