看尤恺元老师的视频,提到上述问题,仔细搜索研究下:
禁止用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的方式。否则这种时钟满天飞的方式对设计的可靠性极为不利,也大大增加了静态时序分析的复杂性。时钟使能电路是同步设计的重要基本电路,在很多设计中,虽然内部不同模块的处理速度不同,但是由于这些时钟是同源的,可以将它们转化为单一的时钟电路处理。在FPGA的设计中,分频时钟和源时钟的skew不容易控制,难以保证分频时钟和源时钟同相。故此推荐采用使用时钟使能的方法。
时钟的产生:两次阅读高手的程序,两种处理方法。第一种处理方法是在分频模式下进行的,因为分频后的时钟占空比是50%,在用此分频信号作时钟使能驱动时,通过逻辑判段信号的前后状态,判断出是否时钟使能信号为上升沿,然后在逻辑上升沿下运行程序模块。当时看见这样的处理,完全就是认为简单的问题复杂话,直接使用分频后的时钟驱动模块不就可以直接在上升沿时处理程序嘛。
第二种处理方法,就是用计数器产生分频时钟时,仅在某一确定的数值对时钟使能置位,可以使时钟使能的高电平仅保持一个CLK周期,这样就能保证程序运行在时钟使能上升沿上了。再看这样时钟使能使能时驱动时,不知道有此设计思想,则在直接阅读程序模块时,造成了些困惑。
转自:
http://forum.eepw.com.cn/thread/236499/1
时间: 2024-12-29 17:32:29