summaryrefslogtreecommitdiff
path: root/debounce.tb.v
diff options
context:
space:
mode:
authoruvok2025-12-26 13:33:40 +0100
committeruvok2025-12-26 13:33:40 +0100
commit35210703cb1fbd3d45365b22f425cc84ea630c90 (patch)
treea9af058734bcfd7909c8979c096eddf382bf02a6 /debounce.tb.v
parent71ec72d7c63a7739fb760c2bdf1df86c0c2561aa (diff)
prepare debouncer
Diffstat (limited to 'debounce.tb.v')
-rw-r--r--debounce.tb.v58
1 files changed, 58 insertions, 0 deletions
diff --git a/debounce.tb.v b/debounce.tb.v
new file mode 100644
index 0000000..36f3a27
--- /dev/null
+++ b/debounce.tb.v
@@ -0,0 +1,58 @@
+`timescale 1us/1ns
+
+module debounce_tb (
+);
+
+reg rst_i;
+reg clk_i;
+reg signal_i;
+wire signal_o;
+
+integer i = 0;
+
+debounce uut(
+ .rst_i(rst_i),
+ .clk_i(clk_i),
+ .signal_i(signal_i),
+ .signal_o(signal_o)
+);
+
+initial begin
+ $dumpfile("debounce.lxt2"); $dumpvars();
+
+ clk_i <= 0;
+ rst_i <= 1'b1;
+ signal_i <= 1'b1;
+ #4
+ rst_i <= 1'b0;
+ #4
+ rst_i <= 1'b1;
+end
+
+always #10 clk_i = ~clk_i;
+
+initial begin
+ // initial key press
+ #25
+ signal_i <= ~signal_i;
+ #40
+ signal_i <= ~signal_i;
+
+ // try bouncing
+
+ #50
+
+ for (i=0; i < 20; i = i + 1) begin
+ #20
+ signal_i <= ~signal_i;
+ end
+ #20
+ signal_i <= ~signal_i;
+ #500
+ signal_i <= ~signal_i;
+
+ #105
+ $finish();
+end
+
+endmodule