22 lines
433 B
Systemverilog
22 lines
433 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
|