vivado工程概况
采取block design方式进行设计。工程中使用过了一个clock wizard模块产生了100MHz时钟(clk_out1_100M)。该时钟作为主要的逻辑时钟使用。
为了抓取信号,设置了ila模块,抓取时钟默认为clk_out1_100M。
ila模块添加方式
通过在信号前增加vivado综合属性 (*mark_debug = "true"*) 语句。综合完成后,通过”Open Synthesized Design”中的“Set Up Debug”功能,添加ila模块。添加ila模块后,保存设置,此时vivado会在约束文件中自动加入与调试核有关的约束语句。
图 1 debug信号
图 2 添加ila核的入口
图 3 vivado自动添加ila核有关约束(局部)
报错现象
在生成bitstream时,在应用(implementation)的pot design过程中出现多个与时钟约束有关的严重警告。警告的约束语句来自于工程自动生成的xdc文件。
图 4 严重警告出现的阶段
图 5 严重警告内容
图 6 引起严重告警的文件及语句
排查过程
通过关键词搜索,发现有人遇到过类似问题。
搜索链接如下:
- vivado中fifo遇到【common17-55】警告总结,https://icode.best/i/51663211128206。
- ILA提示 critical warnings [Common 17-1548] /[Common 17-55] 解决办法可能性之一,ILA提示 critical warnings [Common 17-1548] /[Common 17-55] 解决办法可能性之一-优快云博客
按照网上资料说明,输入tcl命令:report_compile_order -constraints,得到如下所示的xdc文件编译顺序。
其中并没有出现问题的xdc文件!!!
解决方案
尝试在工程的main_file.xdc文件的ila约束语句之前,增加一个creat_clock约束。如图。
图 7 新增的约束语句
修改设计后的结果
在生成bit文件时,implementation阶段的严重警告消失。问题解决!