前言
vivado在synthesis之后,需要对工程中的时钟进行约束,其中包括异步时钟的约束。
异步时钟约束首先需要对FPGA内部的时钟非常熟悉,然后,FPGA设计中,异步时钟之间已经经过异步时钟同步化处理,异步时钟约束可以提高编译器的编译效率,同时可实现FPGA布局布线的最优化。
示例演示
synthesis完成后,打开综合设计,点击flow navigator中的report clock interaction(也可在tcl对话框中输入“report_clock_interaction -delay_type min_max -significant_digits 3 -name timing_1”命令),打开时钟交互窗口,观察FPGA设计中内部时钟之间的交互关系。如下图所示:

时钟交互报告界面中红色部分即为存在异步时钟域交互,但未进行异步时钟约束,需要根据实际情况进行异步时钟约束。
如果FPGA设计中异步时钟之间均采取了异步时钟同步化处理,可将上述标红的区域都进行异步时钟约束.
建议FPGA设计中,异步时钟域下的信号均进行异步时钟同步化处理,可有效的减少电路实现中的亚稳态情况,同时提高FPGA运行的稳定性,异步时钟同步化可参考本人博客“单bit信号跨时钟域处理及时序约束”。 (https://blog.csdn.net/aaaaaaaa585/article/details/118093422?spm=1001.2014.3001.5501)
异步时钟域之间约束可以采用set_clock_groups命令,具体语法见博客“VIVADO异步时钟域约束(groups)”
(https://blog.csdn.net/aaaaaaaa585/article/details/116067981?spm=1001.2014.3001.5501)
常用的语法
1万+




被折叠的 条评论
为什么被折叠?



