禁止用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的方式。否则这种时钟满天飞的方式对设计的可靠性极为不利,也大大增加了静态时序分析的复杂性。
时钟使能电路是同步设计的重要基本电路,在很多设计中,虽然内部不同模块的处理速度不同,但是由于这些时钟是同源的,可以将它们转化为单一的时钟电路处理。在FPGA的设计中,分频时钟和源时钟的skew不容易控制,难以保证分频时钟和源时钟同相。故此推荐采用使用时钟使能的方法。
不要这样做:
always (posedge clk1x or negedge rst_n)
begin
...
end
而要这样做:
always (posedge clk or negedge rst_n)
begin
...
else if (clk1x_en == 1'b1 ) %使用使能的方式。
...
End
时钟如图所示,clk1x是CLK的四分频后产生的时钟,clk1x_en是与clk1x同频的时钟使能信号。