diff options
| author | uvok | 2026-01-01 17:45:49 +0100 |
|---|---|---|
| committer | uvok | 2026-01-01 17:45:49 +0100 |
| commit | 291a0864012463238e0a59321d60b8fc694bbbe2 (patch) | |
| tree | 9d6fedb25ed7b5c19dab05aaf42aa36237c5e10f /nandgame/counter_tb.sv | |
| parent | 762e2526249a9829b58fc8492d4db9ebd6e82589 (diff) | |
fix cunter, add testbench
Diffstat (limited to 'nandgame/counter_tb.sv')
| -rw-r--r-- | nandgame/counter_tb.sv | 49 |
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 |
