From 2b2e6c244be4f7fc9e18ebdc5030bc34bb406990 Mon Sep 17 00:00:00 2001 From: uvok Date: Fri, 26 Dec 2025 11:22:28 +0100 Subject: Improve testbench use for loops / always blocks. specify timescale. --- led_toggle_bouncy.tb.v | 70 +++++++++++++++----------------------------------- 1 file changed, 20 insertions(+), 50 deletions(-) (limited to 'led_toggle_bouncy.tb.v') diff --git a/led_toggle_bouncy.tb.v b/led_toggle_bouncy.tb.v index e7cdfc0..37aa95b 100644 --- a/led_toggle_bouncy.tb.v +++ b/led_toggle_bouncy.tb.v @@ -1,9 +1,12 @@ +`timescale 1us/1ns + module led_toggle_bouncy_tb ( ); reg clk_i; reg key_i; wire [5:0] led; +integer i = 0; led_toggle_bouncy uut( .clk_i(clk_i), @@ -12,65 +15,32 @@ led_toggle_bouncy uut( ); initial begin - $dumpfile("led_toggle_bouncy.lxt2"); $dumpvars(); - clk_i <= 0; key_i <= 1'b1; - #10 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - - #5 - key_i <= ~key_i; - #5 + $dumpfile("led_toggle_bouncy.lxt2"); $dumpvars(); +end - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; +always #10 clk_i = ~clk_i; - #5 - key_i <= ~key_i; - #5 - clk_i <= ~clk_i; - #5 - key_i <= ~key_i; - #5 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #5 - key_i <= ~key_i; - #5 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #5 +initial begin + // initial key press + #25 key_i <= ~key_i; - #5 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #5 + #40 key_i <= ~key_i; - #5 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #10 - clk_i <= ~clk_i; - #10 + // try bouncing + + #50 + + for (i=0; i < 20; i = i + 1) begin + #20 + key_i <= ~key_i; + end + + #105 $finish(); end -- cgit v1.2.3