diff options
author | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2024-05-07 21:27:21 +0200 |
---|---|---|
committer | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2024-05-07 21:27:21 +0200 |
commit | 9a357b3ad679751bc7a9ce85adbc303130211226 (patch) | |
tree | 9898c449a53ff3caa0ae4620a1078c3a8268cbd0 /sim/testbench_alu.v | |
parent | da9b25591e8b4d1c05a2ac84bb40b5cb5e3a86c5 (diff) | |
download | riscv_cpu-9a357b3ad679751bc7a9ce85adbc303130211226.tar.gz riscv_cpu-9a357b3ad679751bc7a9ce85adbc303130211226.zip |
alu equal
Diffstat (limited to 'sim/testbench_alu.v')
-rw-r--r-- | sim/testbench_alu.v | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sim/testbench_alu.v b/sim/testbench_alu.v index f011ed2..6b40684 100644 --- a/sim/testbench_alu.v +++ b/sim/testbench_alu.v @@ -32,14 +32,16 @@ module testbench_alu(); reg [31:0] a, b, exp_result; reg [3:0] op; - reg [3:0] exp_flags; + reg [7:0] exp_flags; wire [31:0] result; wire zero, exp_zero; + wire equal, exp_equal; assign exp_zero = exp_flags[0]; + assign exp_equal = exp_flags[4]; reg [31:0] alu_test_count, alu_error_count; - reg [103:0] alu_testvec [0:20000]; + reg [107:0] alu_testvec [0:20000]; initial begin #5; @@ -52,11 +54,12 @@ module testbench_alu(); #16; {op, a, b, exp_result, exp_flags} = alu_testvec[alu_test_count]; #32; - if ((result !== exp_result) | (zero !== exp_zero)) begin + if ((result !== exp_result) | (zero !== exp_zero) | (equal != exp_equal)) begin $display("ERROR (ALU) time: %5d, test: %d", $time, alu_test_count); $display(" op: %b, a: %h b: %h", op, a, b); $display(" result: %h (expected %h)", result, exp_result); $display(" zero: %b (expected %b)", zero, exp_zero); + $display(" equal: %b (expected %b)", equal, exp_equal); alu_error_count = alu_error_count + 1; end @@ -78,7 +81,8 @@ module testbench_alu(); .b(b), .op(op), .result(result), - .zero(zero) + .zero(zero), + .equal(equal) ); endmodule |