24 lines
391 B
Systemverilog
24 lines
391 B
Systemverilog
module downclocker #(
|
|
parameter DC_BITS = 21
|
|
) (
|
|
input wire clk_in,
|
|
output logic clk_out
|
|
);
|
|
|
|
logic [DC_BITS-1:0] counter;
|
|
|
|
initial begin
|
|
counter = 0;
|
|
clk_out = 0;
|
|
end
|
|
|
|
always_ff @(posedge clk_in) begin
|
|
if (counter[DC_BITS-1] == 1) begin
|
|
clk_out <= !clk_out;
|
|
counter <= 0;
|
|
end else begin
|
|
counter <= counter + 1;
|
|
end
|
|
end
|
|
endmodule
|