diff options
Diffstat (limited to 'led_toggle_tb.v')
| -rw-r--r-- | led_toggle_tb.v | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/led_toggle_tb.v b/led_toggle_tb.v new file mode 100644 index 0000000..f5f4fd5 --- /dev/null +++ b/led_toggle_tb.v @@ -0,0 +1,60 @@ +`timescale 1us/1us + +module led_toggle_tb ( +); + +logic clk_i; +logic rst_i; +logic key_i; + +logic [5:0] led; + +led_toggle #(.STABLE_PERIOD(2)) uut ( + .rst_i(rst_i), + .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.lxt2"; +`endif + $dumpfile(filename); $dumpvars(); + clk_i = 0; + key_i = 1'b1; + #1 + rst_i = 0; + #1 + rst_i = 1; +end + +always #10 clk_i = ~clk_i; + + +initial begin + // initial key press + #13 + key_i = ~key_i; + repeat(2) @(negedge clk_i); + key_i = ~key_i; + + // try bouncing + + repeat(3) @(negedge clk_i); + + for (integer i=0; i < 19; i = i + 1) begin + @(negedge clk_i); + key_i = ~key_i; + end + repeat(10) @(negedge clk_i); + key_i = ~key_i; + + repeat(10) @(negedge clk_i); + $finish(); +end + +endmodule |
