凭借以下策略,QoR 建议可用于改善设计满足时序的能力:
- 在命令中添加开关,如
opt_design
- 在单元和信号线之类的设计对象中添加属性
- 完整的实现策略
report_qor_suggestions
命令可在 AMD Vivado™
IDE 或基于文本的报告中生成报告。它可用于:
- 生成和查看有关存储器中当前设计的新建议
- 查看使用
read_qor_suggestions
命令读入的现有建议
综合后,随时可对存储器中加载的设计运行 report_qor_suggestions
命令。生成的建议对象会考量诸多设计特性并按如下类别生成建议:
- 时钟设置
- XDC
- 网表
- 使用率
- 拥塞
- 时序
- 策略
生成的建议随后必须馈送回流程才能生效。通常必须重新运行各设计阶段,如下图所示:
图 1. 建议流程
生成新建议前,必须将设计加载到存储器中。在综合后的任意阶段均可运行 report_qor_suggestions
。返回的建议在报告中按重要性从高到低进行排序并列示。
它仅报告改善设计 QoR 所需的建议。有时,必须先获取布局或布线信息,而后才能发出建议。此外,存在一些限制用于确保仅生成包含必要的设计更改的建议。
- 网表建议是基于网表分析来生成的。这些建议用于识别导致后续流程中时序失败的网表结构,但并不会直接观察时序路径,因此可在时序收敛的设计上生成。
- 时钟设置建议通常需在布局之后生成,但布局前已有准确信息可用的情况下则例外。这些建议需要获取失败的时序路径,但有少数例外情况。
- 时序建议是通过检验每个时钟组中前 100 条失败的时序路径来生成的。
- 生成使用率建议的前提是它判定建议的目标资源已过度使用,并且生成的建议不会导致关键资源增加。这些建议可在任意设计阶段报告。
- 拥塞仅在布局后才会报告。如果设计已完成布线并且时序已满足,则不会报告拥塞建议,因为已证明这些建议对时序收敛没有影响。
- 最后一个类别是“策略”,其中包含实现策略。这些策略是使用机器学习算法通过分析大量设计特性所生成的。使用这些对象的流程与上述流程略有不同,在本章后文中对此提供了更详细的描述。