aboutsummaryrefslogtreecommitdiff
path: root/sim/testbench.v
diff options
context:
space:
mode:
authorFlavian Kaufmann <flavian@flaviankaufmann.ch>2024-05-04 17:16:41 +0200
committerFlavian Kaufmann <flavian@flaviankaufmann.ch>2024-05-04 17:16:41 +0200
commit55b8324987d6253bfd70f069bff804b359e79cf5 (patch)
tree3def430f600095bfdde29194f9a7ed19c215ebdd /sim/testbench.v
parent3f3fd75006901cdd01a231785b6a2e43b5dc8a52 (diff)
downloadriscv_cpu-55b8324987d6253bfd70f069bff804b359e79cf5.tar.gz
riscv_cpu-55b8324987d6253bfd70f069bff804b359e79cf5.zip
added support for multiple testbenches
Diffstat (limited to 'sim/testbench.v')
-rw-r--r--sim/testbench.v66
1 files changed, 0 insertions, 66 deletions
diff --git a/sim/testbench.v b/sim/testbench.v
deleted file mode 100644
index 2d485ea..0000000
--- a/sim/testbench.v
+++ /dev/null
@@ -1,66 +0,0 @@
-`timescale 1ns / 1ps
-
-module testbench();
-
- reg reset = 0;
-
- initial begin
- $dumpfile("testbench.vcd");
- $dumpvars(0,testbench);
- end
-
- reg clk = 0;
- always #32 clk = !clk;
-
-
- reg [31:0] a, b, exp_result;
- reg [3:0] op;
- reg [3:0] exp_flags;
- wire [31:0] result;
- wire zero, exp_zero;
-
- assign exp_zero = exp_flags[0];
-
- reg [31:0] alu_test_count, alu_error_count;
- reg [103:0] alu_testvec [0:9999];
-
- initial begin
- $readmemh("alu_testvec.txt", alu_testvec);
- alu_test_count = 0;
- alu_error_count = 0;
- end
-
- always @ (posedge clk) begin
- #16;
- {op, a, b, exp_result, exp_flags} = alu_testvec[alu_test_count];
- #32;
- if ((result !== exp_result) | (zero !== exp_zero)) 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);
- alu_error_count = alu_error_count + 1;
- end
-
- alu_test_count = alu_test_count + 1;
-
- if ((alu_test_count == 9027)) begin
- $display("FINISHED (ALU), %d tests completed with %d errors", alu_test_count, alu_error_count);
- #16;
-
- $finish;
- end
- end
-
-
-
-
- alu #(.N(32)) alu (
- .A(a),
- .B(b),
- .OP(op),
- .RESULT(result),
- .ZERO(zero)
- );
-
-endmodule