summaryrefslogtreecommitdiff
path: root/fizzbuzz_tb.v
diff options
context:
space:
mode:
authoruvok2025-12-30 10:21:27 +0100
committeruvok2025-12-30 10:21:27 +0100
commitd0a372c3112b28ff3b1bf03ff4a7a0e5a3cafe8e (patch)
tree633ac83187da0a244d081e124d4cfba5c2b712c1 /fizzbuzz_tb.v
parent613e0e72128d7745ab084f2f703984e154c75d67 (diff)
linting, use different naming
use _tb.v instead of .tb.v, to stop verilator from shouting the module name doesn't match
Diffstat (limited to 'fizzbuzz_tb.v')
-rw-r--r--fizzbuzz_tb.v49
1 files changed, 49 insertions, 0 deletions
diff --git a/fizzbuzz_tb.v b/fizzbuzz_tb.v
new file mode 100644
index 0000000..2a8cdff
--- /dev/null
+++ b/fizzbuzz_tb.v
@@ -0,0 +1,49 @@
+`timescale 1us/1us
+
+module fizzbuzz_tb (
+);
+
+
+logic [7:0] number;
+logic clk_i;
+
+logic [7:0] num_out;
+
+fizzbuzz uut (
+ .num_i(number),
+ .num_o(num_out),
+ .fizz_o(),
+ .buzz_o(),
+ .fizzbuzz_o()
+);
+
+string filename;
+initial begin
+`ifdef DUMP_FILE_NAME
+ filename=`DUMP_FILE_NAME;
+`else
+ filename="fizzbuzz.lxt2";
+`endif
+ $dumpfile(filename); $dumpvars();
+
+
+ clk_i = 0;
+ number = '0;
+end
+
+always #10 begin
+ clk_i = ~clk_i;
+end
+
+always @(negedge clk_i) begin
+ number <= number + 1;
+ // give iverilog some simulation time...
+ #1;
+ if (number == 3) assert(num_out == 0);
+ if (number == 5) assert(num_out == 0);
+ if (number == 15) assert(num_out == 0);
+
+ if (number == 255) $finish;
+end
+
+endmodule