diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f3ac583 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.bin \ No newline at end of file diff --git a/01-counter/counter.v b/01-counter/counter.v new file mode 100644 index 0000000..cd27657 --- /dev/null +++ b/01-counter/counter.v @@ -0,0 +1,14 @@ +module counter(out, clk, reset); + parameter WIDTH = 8; + output [WIDTH-1:0] out; + input clk, reset; + reg [WIDTH-1: 0] out; + wire clk, reset; + + always @(posedge clk or posedge reset) begin + if (reset) + out <= 0; + else + out <= out + 1; + end +endmodule \ No newline at end of file diff --git a/01-counter/counter_tb.v b/01-counter/counter_tb.v new file mode 100644 index 0000000..81be080 --- /dev/null +++ b/01-counter/counter_tb.v @@ -0,0 +1,18 @@ +module counter_test; + reg reset = 0; + initial begin + #17 reset = 1; + #11 reset = 0; + #17 reset = 1; + #11 reset = 0; + #17 $stop; + end + + reg clk = 0; + always #5 clk = !clk; + + wire [7:0] value; + counter c1(value, clk, reset); + initial + $monitor("Time = %t, Value = %h (%0d)", $time, value, value); +endmodule \ No newline at end of file