用Verilog HDL将50MHz分频得到1Hz,求大神指教

2024-12-29 23:23:42
推荐回答(2个)
回答1:

代码如下,供参考

reg [24:0] cnt;
reg clk_1hz;

parameter C_25M = 25'd24_999_999;

always@(posedge clk_50M or negedge rst)
if (!rst)
cnt <= 25'b0;
else if (cnt >= C_25M ) //
cnt <= 25'b0;
else
cnt <= cnt + 1'b1;

always@(posedge clk_50M or negedge rst)
if (!rst)
clk_1hz <= 1'b0;
else if (cnt == C_25M )
clk_1hz <= !clk_1hz;

回答2:

就是做计算,如果是25M就是二分频,计数0到1,如果是5M就是10分频,计数0到9。。。自己画个图就懂了