时序约束向导
定时约束向导确定合成或上缺少的定时约束实现的设计。它分析了网表、时钟网络连接和现有的定时限制,以便根据《超快设计方法指南》提供建议用于FPGA和SoC(UG949)。以下11涵盖了三类约束页面,然后是摘要。包括以下步骤:
•时钟
○主时钟
○生成的时钟
○转发的时钟
○外部反馈延迟
•输入和输出端口
○输入延迟
○输出延迟
○组合延迟
•时钟域交叉
○物理上唯一的时钟组
○无交互的逻辑排他性时钟组
○具有交互功能的逻辑排他性时钟组
○异步时钟域交叉
•限制总结
在每个步骤中,您都可以接受建议的约束或通过检查或修改列表取消选中每个所提出的约束。但是,取消选中建议的约束在向导的早期可以防止在后续操作中识别其他丢失的约束步骤。例如,如果您决定跳过时钟的创建,向导将不会识别和建议引用此时钟或其自动派生时钟的任何约束。向导的最后一页提供了将要创建的约束的摘要。你可以单击每个单独的超链接以查看约束的详细信息,或者在中可视化新约束退出向导后的“定时约束”窗口。您也可以选择在单击“完成”后生成以下建议的报告验证设计是否受到完全和适当的约束:
•创建“定时摘要”报告:此外,还报告了带有新约束的定时松弛到check_timing报告。如果周期或I/O延迟,则可能会显示时间冲突您输入的约束太难了。
•创建检查时间报告:该报告通过以下方式识别缺失或不适当的约束运行checktimeming命令。
•仅使用定时检查创建DRC报告:此报告运行定时DRC。如果时间约束向导引入了不安全的时间,则不建议使用该约束分析此外,向导不会修复加载时已存在的不适当约束记忆中的设计。
尽管如此,一些无效的约束在创建后可能会变为有效在项目模式下使用Vivado Design Suite时丢失的所有时钟;有关更多详细信息,请参阅约束处理顺序和无效约束,如下所示。此外,在使用向导后,如果check_timing或report_drc仍然标记一些约束问题,这通常是由于源XDC文件中已经存在的约束问题。你必须解决这些问题而不是使用向导来解决它们。约束处理顺序和无效约束定时约束向导建议缺少定义时钟的约束或参考时钟,将在项目模式下保存在目标XDC文件的末尾或末尾在其他模式中的所有约束中。因此,您必须了解以下规则:
•项目模式:必须指定处理顺序设置为NORMAL的目标XDC文件然后启动“时间限制”向导。目标XDC文件必须属于约束在内存中打开并当前选定的设计集。的位置其他XDC文件中的目标XDC文件很重要,因为它指定了稍后将应用并保存推荐的约束。此外,向导会尝试重新应用任何属于在目标XDC文件之后解析的XDC文件的无效约束,以便提供最完整、最准确的建议。例如,考虑synth_1中的网表在内存中使用约束集打开运行constr_1。此约束集包含三个XDC文件,顺序为a.XDC、b.XDC和c.xdc。如果选择b.xdc作为目标xdc文件,并且每个文件都包含无效的约束,“定时约束”向导应用建议的时钟,然后重新应用继续到之前来自c.xdc的无效约束。
•非项目或设计检查点(DCP)模式:不能在中指定目标XDC文件这些模式,因此“时间约束”向导建议并应用新的约束约束序列的最后一个位置。这相当于在中输入新的约束Tcl控制台或通过Timing Constraints窗口。在这些模式下,向导不会尝试重新应用无效约束。如果需要在早期应用新的约束整体约束序列,以便解决约束的相关性或优先级问题,必须手动编辑约束序列。以下是如何手动编辑约束的示例。
1.使用Vivado Design Suite创建新的约束。
2.运行以下命令之一:
3.编辑timing_constraints.xdc以在xdc文件中将新约束移到更高的位置。
4.保存文件。
5.运行以下命令:
可以使用“定时约束”窗口查看更新的定时约束序列。查看新约束后,可以将序列保存到DCP中。