aboutsummaryrefslogtreecommitdiff
path: root/sim
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
parent3f3fd75006901cdd01a231785b6a2e43b5dc8a52 (diff)
downloadriscv_cpu-55b8324987d6253bfd70f069bff804b359e79cf5.tar.gz
riscv_cpu-55b8324987d6253bfd70f069bff804b359e79cf5.zip
added support for multiple testbenches
Diffstat (limited to 'sim')
-rw-r--r--sim/testbench_alu.v (renamed from sim/testbench.v)28
1 files changed, 24 insertions, 4 deletions
diff --git a/sim/testbench.v b/sim/testbench_alu.v
index 2d485ea..7d67d5c 100644
--- a/sim/testbench.v
+++ b/sim/testbench_alu.v
@@ -1,12 +1,31 @@
`timescale 1ns / 1ps
-module testbench();
+module testbench_alu();
reg reset = 0;
+
+ reg [1023:0] testvec_filename;
+ reg [1023:0] waveform_filename;
+
+ initial begin
+ if ($value$plusargs("testvec=%s", testvec_filename)) begin
+ $display("Using test vector file: %s", testvec_filename);
+ end else begin
+ $display("Error: no test vector file specified.");
+ $finish;
+ end
+
+ if ($value$plusargs("waveform=%s", waveform_filename)) begin
+ $display("Using waveform file: %s", waveform_filename);
+ end else begin
+ $display("Error: no waveform file specified.");
+ $finish;
+ end
+ end
initial begin
- $dumpfile("testbench.vcd");
- $dumpvars(0,testbench);
+ $dumpfile(waveform_filename);
+ $dumpvars(0,testbench_alu);
end
reg clk = 0;
@@ -25,7 +44,8 @@ module testbench();
reg [103:0] alu_testvec [0:9999];
initial begin
- $readmemh("alu_testvec.txt", alu_testvec);
+ #5;
+ $readmemh(testvec_filename, alu_testvec);
alu_test_count = 0;
alu_error_count = 0;
end