分频的问题
自己顶一下
注意占空比,不要有毛刺就好
可以用计数器,但建议用DCM等时钟器件。
我这样写是不是不好呢?谢谢
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)begin
counter <= 8'b0;
div_clk <= 1'b0;
end
else begin
counter <= counter + 1'b1;
if(counter == 8'b1111_1111)begin
div_clk <= ~div_clk;
end
end
end
always @ (posedge div_clk)
begin
.................
..................
end
你的频率是多少? 如果说是要做全同步设计,FPGA的设计方法是,把div_clk当做enable来做。或者就按照你这样子,其实div_clk会被默认当成全局时钟来布线。ASIC中,每个模块的时钟应该是从PLL模块过来,你自己不需要产生时钟来做。反问一下:这个时钟非得要么?就没有办法替代,做成相同的功能。
这样写,从逻辑上看可以,但在给其他模块使用之前,最好经过BUFG进入时钟网络,否则timing很难控制。
楼上的dx说的有道理,为什么不用DCM生成呢?
学习了
方法1:计数器分频
方法2:DCM分频,效果较好
方法3:使用时钟使能,效果好
我支持计数器分频
看你要用多少分频了。如果是偶数分频,那计数器是没问题的。否则就要注意duty cycle和相位的问题。
学习了。
是吗?
计数器你写的挺好的吧
谁来把这说清楚
为什么timing很难控制?
学习了~~
看看书上很多的
