From 08d6eea4fc23e7f569bbfd883f0dc049272a4b47 Mon Sep 17 00:00:00 2001 From: Flavian Kaufmann Date: Sat, 27 Apr 2024 14:52:08 +0200 Subject: added clock divider --- src/clock_divider.v | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/clock_divider.v (limited to 'src/clock_divider.v') diff --git a/src/clock_divider.v b/src/clock_divider.v new file mode 100644 index 0000000..499d8b2 --- /dev/null +++ b/src/clock_divider.v @@ -0,0 +1,27 @@ +module clock_divider #( + parameter N = 2 +)( + input clk, + input reset, + output reg clk_out +); + + reg [31:0] counter = 0; + + always @(posedge clk or posedge reset) begin + if (reset) begin + counter <= 0; + clk_out <= 0; + end else begin + if (counter == (N-1)/2) begin + clk_out <= ~clk_out; + counter <= counter + 1; + end else if (counter >= (N-1)) begin + clk_out <= ~clk_out; + counter <= 0; + end else begin + counter <= counter + 1; + end + end + end +endmodule -- cgit v1.2.3