verilog实现100M时钟分频4096
以下是一种实现方法:
module clk_divider (
input clk_in,
output reg clk_out
);
reg [11:0] cnt;
always @(posedge clk_in) begin
if (cnt == 11'd2047) begin
cnt <= 0;
clk_out <= ~clk_out;
end else begin
cnt <= cnt + 1;
end
end
endmodule
这个模块输入一个时钟信号clk_in,并输出一个分频后的时钟信号clk_out,其频率为clk_in/4096。实现方法是计数器cnt每累加到2047时,将clk_out取反,并将计数器清零。这样,clk_out的周期就是4096*clk_in。
原文地址: https://www.cveoy.top/t/topic/ffQN 著作权归作者所有。请勿转载和采集!