含 DONT_TOUCH 属性的网表对象可能阻止执行有助于改善设计性能的最优化。RQA 报告的以下部分显示了设有 DONT_TOUCH 属性的对象:
图 1. 含 DONT_TOUCH 属性的网表对象
RQA 报告显示了以下对象及其原因:
- 层级单元
- 叶节点单元
- 信号线
注释: DONT_TOUCH 属性可防止工具对路径进行最优化,利用 Vivado 自动使用其他属性的特性也可以添加该属性。如需移除 DONT_TOUCH 属性,请谨慎操作。例如,DFX 流程使用
DONT_TOUCH
来防止静态模块与可配置模块之间发生跨边界最优化,因此不应移除。相比之下,因 MARK_DEBUG 而添加的 DONT_TOUCH 属性对于流程并不重要,但它表示如果进行最优化,那么此信号不可用于硬件探测。