summaryrefslogtreecommitdiff
path: root/playground/led_toggle_bouncy_tb.v
diff options
context:
space:
mode:
authoruvok2026-01-09 15:18:23 +0100
committeruvok2026-01-09 15:18:23 +0100
commit6c83fd8730e55de8b1daaac1deb111d3d9bd408e (patch)
tree33a3dbc4fd87011b657b193224c3f39c5de6b766 /playground/led_toggle_bouncy_tb.v
parent678cb2d2d752bbac7625ba9b287762b3acabf116 (diff)
move stuff around
Diffstat (limited to 'playground/led_toggle_bouncy_tb.v')
-rw-r--r--playground/led_toggle_bouncy_tb.v50
1 files changed, 50 insertions, 0 deletions
diff --git a/playground/led_toggle_bouncy_tb.v b/playground/led_toggle_bouncy_tb.v
new file mode 100644
index 0000000..2c04484
--- /dev/null
+++ b/playground/led_toggle_bouncy_tb.v
@@ -0,0 +1,50 @@
+`timescale 1us/1us
+
+module led_toggle_bouncy_tb;
+
+logic clk_i;
+logic key_i;
+logic [5:0] led;
+
+led_toggle_bouncy uut (
+ .clk_i(clk_i),
+ .key_i(key_i),
+ .led(led)
+);
+
+string filename;
+initial begin
+`ifdef DUMP_FILE_NAME
+ filename=`DUMP_FILE_NAME;
+`else
+ filename="led_toggle_bouncy.lxt2";
+`endif
+ $dumpfile(filename); $dumpvars();
+
+ clk_i = 0;
+ key_i = 1'b1;
+end
+
+always #10 clk_i = ~clk_i;
+
+initial begin
+ // initial key press
+ @(negedge clk_i);
+ key_i = ~key_i;
+ repeat(2) @(negedge clk_i);
+ key_i = ~key_i;
+
+ // try bouncing
+
+ repeat(2) @(negedge clk_i);
+
+ for (integer i=0; i < 20; i = i + 1) begin
+ @(negedge clk_i);
+ key_i = ~key_i;
+ end
+
+ repeat(5) @(negedge clk_i);
+ $finish();
+end
+
+endmodule