`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