1、Report Exceptions
在综合后的流程中可随时使用“
Report Exceptions
”
(
例外报告
)
命令。“
Report Exception
”命令用于报告以下信息:
• 在设计中已置位并且影响时序分析的所有时序例外
• 在设计中已置位但由于被其他时序例外覆盖而被忽略的所有时序例外
“
Report Exception
”命令分析的时序例外包括
(
按优先级顺序
):
• 时钟组
• 伪路径
• 最大
/
最小延迟
• 多周期路径
“
Report Exception
”是
1
条强大的命令
,
有助于对时序例外相关问题进行调试。某些设计的时序约束包含复杂的时序例外。由于时序例外的优先级不尽相同,
因此很快就会难以理解哪些时序例外将被其他例外部分或全部忽略。“
Report Exception”可报告被部分覆盖和完全覆盖的时序例外。它还可提供覆盖约束的提示。
report_exceptions
命令具有多种操作模式
:
• 报告影响时序分析的时序例外
• 报告已忽略的时序例外
• 报告时序例外覆盖范围
• 报告针对
-from
/
-through
/
-to
命令行选项指定的无效对象
• 写出仅含有效对象的时序例外
• 写出由时序引擎合并的时序例外
2、报告被覆盖的作用域内的时序例外
“
Report Exception
”命令的第
2
种操作模式是报告被覆盖的限定作用域内的时序例外。此报告是使用
- scope_override 命令行选项生成的。
report_exceptions -scope_override
命令行选项
-scope_override
用于报告被顶层约束部分或全部覆盖的限定作用域内的时序例外。例如
,
它可标记被顶层用户约束覆盖的 IP
约束。但该选项不会报告被其他限定作用域的约束
(
来自相同或不同作用域
)
所覆盖的限定作用域的约束。
对于每个被覆盖的时序例外
,
此报告都包括以下信息
:
• 约束位置编号
•
-from
/
-through
/
-to
命令行选项的模式
• 覆盖建立时间和
/
或保持时间的约束的类型
• 约束的作用域
• 部分或全部覆盖此约束的顶层约束的位置编号列表
3、报告已忽略的时序例外
“
Report Exception
”
(
例外报告
)
命令的第二种操作模式如下所示
:
report_exceptions -ignored
4、报告时序例外覆盖范围
Vivado
工具可生成已应用于设计的每个有效时序例外的详细覆盖范围。报告中包含所有时序例外
,
包括已完全覆盖的时序例外或起点和端点间不含路径的时序例外。
例外覆盖范围报告是使用
-coverage
命令行选项生成的
:
report_exceptions -coverage
对于每个有效的时序例外
,
此报告都包括以下信息
:
• 约束位置编号。
• 通过
-from
/
-through
/
-to
命令行选项所选的对象数。
• 将时序例外应用到的管脚数量与通过
-from/-through/-to
命令行选项指定的管脚数量进行比较所得的覆盖范围(以百分比来表示
)
。
5、报告已忽略的对象
“
Report Exception
”
(
例外报告
)
命令可为每个时序例外约束生成无效的起点和端点列表。
Vivado
工具会忽略无效的起点和端点,
因为时序路径不可能始于这些起点
,
也不可能止于这些端点。
report_exceptions - ignored_objects 可报告已忽略的管脚。
6、导出有效例外
“
Report Exception
”
(
例外报告
)
命令可导出时序例外列表。仅支持导出覆盖至少
1
条路径的约束。在
Vivado Design Suite 定时器
(Timer)
存储器中展开用于指定时序例外的模式时
,
仅导出有效起点和端点管脚。此报告可配合覆盖范围报告一起使用,
以帮助优化用于定义时序例外的对象的模式以及集合。
7、导出合并例外
“
Report Exception
”
(
例外报告
)
命令可导出
STA
引擎发现的时序例外列表。
Vivado
时序引擎在内部合并时序例外,
以减少耗用的存储器和运行时间。如果合并的时序例外数量与针对设计指定的时序例外数量不同
,
则表示时序例外定义可能未最优化。合并的时序例外使用 report_exceptions -write_merged_exceptions
来报告。