From c6bdc199f3097b261bbc2d588c59b9d2315fe28a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Kaan=20G=C3=9CM=C3=9C=C5=9E?= <96421894+Tahinli@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:20:56 +0300 Subject: [PATCH] style: :sparkles: counter --- .gitignore | 1 + 01-counter/counter.v | 14 ++++++++++++++ 01-counter/counter_tb.v | 18 ++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 .gitignore create mode 100644 01-counter/counter.v create mode 100644 01-counter/counter_tb.v 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