summaryrefslogtreecommitdiff
path: root/nandgame/counter_tb.sv
diff options
context:
space:
mode:
authoruvok2026-01-01 17:45:49 +0100
committeruvok2026-01-01 17:45:49 +0100
commit291a0864012463238e0a59321d60b8fc694bbbe2 (patch)
tree9d6fedb25ed7b5c19dab05aaf42aa36237c5e10f /nandgame/counter_tb.sv
parent762e2526249a9829b58fc8492d4db9ebd6e82589 (diff)
fix cunter, add testbench
Diffstat (limited to 'nandgame/counter_tb.sv')
-rw-r--r--nandgame/counter_tb.sv49
1 files changed, 49 insertions, 0 deletions
diff --git a/nandgame/counter_tb.sv b/nandgame/counter_tb.sv
new file mode 100644
index 0000000..a7fab85
--- /dev/null
+++ b/nandgame/counter_tb.sv
@@ -0,0 +1,49 @@
+`timescale 1us/1us
+
+module counter_tb;
+
+logic clk_i, store;
+logic [15:0] in, res;
+
+counter uut (
+ .cl(clk_i),
+ .X(in),
+ .count(res),
+ .st(store)
+);
+
+string filename;
+initial begin
+`ifdef DUMP_FILE_NAME
+ filename=`DUMP_FILE_NAME;
+`else
+ filename="counter.lxt2";
+`endif
+ $dumpfile(filename); $dumpvars();
+ clk_i = 0;
+ store = 0;
+ in = 0;
+end
+
+always #10 clk_i = ~clk_i;
+
+initial begin
+ #200
+ @(posedge clk_i);
+ store = 1;
+ in = 16'd834;
+ repeat(3) begin
+ @(posedge clk_i);
+ assert (res == 834)
+ else $error("Expected 834, got %d", res);
+ end
+ store = 0;
+ @(posedge clk_i);
+ assert (res == 835)
+ else $error("Expected 835, got %d", res);
+ #30
+
+ $finish();
+end
+
+endmodule