aboutsummaryrefslogtreecommitdiff
path: root/src/clock_divider.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/clock_divider.v')
-rw-r--r--src/clock_divider.v27
1 files changed, 27 insertions, 0 deletions
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