禁用定时电弧
可以使用set_disable_timing命令禁用单元内的计时弧。只有可以禁用从单元的输入端口到输出端口的定时弧。注意:set_disable_timing命令也可用于从端口或导线禁用定时弧。在这种情况下,不使用命令行选项-from和-to,只使用端口对象或定时指定圆弧对象。计时器会自动禁用某些定时弧,以处理特定情况。例如,不推荐组合反馈回路,并且不能正确地定时。计时器通过禁用循环内的一个定时弧来中断这样的循环。另一个例子是MUX上的案例分析集。默认情况下,MUX的所有数据输入都是传播到输出端口,但当对选择信号设置案例分析时,只有一个数据输入端口被传播到输出端口。这是由计时器通过断开定时弧来完成的从其它数据输入端口到输出端口。set_disable_timing命令使您能够手动中断中的单元计时弧设计。例如,您可以决定组合反馈回路的哪个定时弧应该禁用以中断循环,而不是让工具进行此确定。此外,假设多个时钟到达LUT输入引脚,但只有一个时钟传播到LUT输出端口。这种情况可以通过中断定时弧来处理与不应传播的时钟相关联。
还有一种涉及LUTRAM的场景可能非常频繁。在LUTRAM内部是在写入和读取时钟之间从WCLK引脚到输出O引脚的物理路径。然而LUTRAM基础异步FIFO的设计方式是,该CDC路径WCLK->不能通过构造来实现。尽管如此,该定时弧是启用的,并且可能导致定时器报告路径通过这个WCLK->O定时弧。这个弧也可以触发一些TIMING-10刚果民主共和国违规行为。在这种情况下,用户应该禁用WCLK->O弧,以便路径不会被计时和报告,并且它们不会触发无效的DRC违规。这个时机arc在基于AMD LUTRAM的FIFO的当前实现中被自动禁用。
注意:禁用定时弧后,计时器将不会通过该弧报告任何定时路径。您应该非常小心,不要禁用任何有效的定时弧。这可能会掩盖一些时间可能导致硬件设计失败的违规和/或时序问题。
set_disable_arc命令的语法为:
set_disable_timing [-from <arg>] [-to <arg>] [-quiet] [-verbose] <objects>
只能向-from和-to命令提供端号,而不能提供Vivado工具对象行选项。端号名称还应与库单元中的端号名称匹配,而不是与设计端号匹配姓名。例如:
上述命令禁用所有基于LUTRAM的异步WCLK->O定时弧FIFOs inst_fifo_gen/gdm/gpr1.dout_i_reg[*]。
命令行选项-from和-to是可选的。如果未指定-from,则所有终止于用-to指定的引脚上的正时圆弧将被禁用。以同样的方式if-to不是指定,则在用-from指定的引脚上开始的所有正时弧都将被禁用。如果既没有指定-from也没有指定-to,则中指定的单元格的所有定时弧命令被禁用。可以使用命令report_disable_timing列出所有已由定时器自动禁用以及由用户手动禁用。如清单所示要小心可以非常大。使用-file命令行选项将结果保存到文件中。
注意:report_disable_timing的作用域可以是一个或多个具有-cells的分层模块。