报告已忽略的对象 - 2023.2 简体中文

Vivado Design Suite 用户指南: 设计分析与收敛技巧 (UG906)

Document ID
UG906
Release Date
2023-10-19
Version
2023.2 简体中文

“Report Exception”(例外报告)命令可为每个时序例外约束生成无效的起点和端点列表。Vivado 工具会忽略无效的起点和端点,因为时序路径不可能始于这些起点,也不可能止于这些端点。report_exceptions -ignored_objects 可报告已忽略的管脚。

注释: 含“Max Delay”(最大延迟)约束或“Min Delay”(最小延迟)约束的无效起点和端点不会被忽略,但会导致路径分段。
注释: 在已忽略的对象列表中会报告绑定到 POWER 或 GROUND 的起点或端点管脚。

作为演示,请在小型设计示例上设置如下时序约束:

create_clock -period 10.000 -name clk [get_ports clk]
set_false_path -from [get_cells int10_reg] -to [get_cells int20_reg]
set_false_path -from [get_pins int11_reg/*] -to [get_pins int21_reg/*]
注释: 输入第 2 个“False Path”(伪路径)约束时,Vivado 工具会生成“Warning Constraints 18-402”警告,因为部分起点和端点无效。

WARNING: [Constraints 18-402] set_false_path: 'int11_reg/CE' is not a valid startpoint.

解决办法:有效的起点包括主时钟或生成时钟管脚或端口、时序单元的时钟管脚,或者主输入或输入输出 (inout) 端口。请确认您的查询返回的所有对象都包含在此列表中。

  • 第 1 个 set_false_path 约束使用 get_cells 命令。Vivado 工具仅使用有效的起点管脚或端点管脚来将单元从 get_cells 转换为管脚。这将确保约束仅引用有效对象。
  • 第 2 个 set_false_path 约束使用 get_pins 命令,并对 -from-to 强制使用所有寄存器管脚。这导致 -from-to 包含多个无效管脚。

下图显示了 report_exceptions -ignored_objects 生成的报告。

图 1. 已忽略的对象