在论坛上看到很多讨论分频电路的帖子。根据我的理解以及师兄们的经验,对于FPGA设计,我的做法如下:
1.最好使用器件内部的PLL/DCM等专用器件来进行分频。
2.如果没有这个条件,则采用全局时钟输入作为工作时钟。低频的时钟用计数器产生,这样的实现比用状态机要灵活。但是在使用这个低频时钟时不要这样用:
always @ (posedge low_clk) //low_clk由工作时钟high_clk产生
begin
your code trigged by posedge of low_clk
end
而要这样用:
always @ (posedge high_clk)
begin
low_clk_reg <= low_clk;
if (low_clk_reg == 1'b0 && low_clk == 1'b1)
begin
your code trigged by posedge of low_clk
end
end
这个时钟不像全局时钟那么理想,clock skew一般较大,直接使用时序报告多半会报clock skew > data delay。
发表评论 评论 (0 个评论)