助力快速实现时序收敛——利用 AMD VERSAL™ 自适应 SoC 的设计基线策略

概览

您是否准备将设计迁移到 AMD Versal™ 自适应 SoC?设计基线是一种行之有效的时序收敛方法,可在深入研究复杂的布局布线策略之前,帮您的 RTL 设计奠定坚实的基础。跳过这些步骤可能会导致设计周期延长,且达不到性能目标。所以采用正确的方法,可使您减少迭代次数,提高可预测性,并更快地实现时序收敛。

AMD VERSAL.png

1. 从零起步:无先前架构约束,属性或原语

启动一次简单的 RTL 综合,确保基础设计或逻辑无误

为确保 Versal 器件获得最佳优化效果,应在“干净”的 RTL 设计上执行综合,避免导入基于 AMD UltraScale+™ 架构设计项目中的遗留综合属性、物理约束或网表原语。由于 Versal 与 UltraScale+ 架构存在显著差异,沿用遗留元素可能会影响结果质量(QoR)。执行干净的综合运行有助于及早发现逻辑问题。

请参阅用户设计指南 (UG1387) 中的“RTL 编码准则”和“综合属性”。

2. 定义基准时钟和生成时钟

简化起步,专注于定义基本时钟源

采用结构化的时钟约束方法是实现可预测时序的关键。从简单入手,仅约束基准时钟和生成时钟。使用 AMD Vivado™ 设计套件中的时序约束向导(Timing Constraints Wizard ),而非从以往的项目中导入约束 (XDC) 文件,同时,利用时序分析报告命令(report_timing_summary)检查是否存在遗漏的时钟约束。

请参阅用户设计方法指南 (UG1388) 中的“定义设计基线约束”。

3. 约束时钟域交汇 (CDC)

提前捕获CDC问题,尽早识别异步路径

约束时钟后,识别并解决不安全的 CDC,以防止时序故障。使用 Vivado 时钟交互报告 (Clock Interaction Report)对时钟域进行可视化、颜色编码分析,并利用设计方法报告 (Design Methodology Report)直接标记 CDC。时序约束向导 (Constraint Wizard)可轻松定义异步路径和错误路径,引导布局布线专注于关键同步路径,避免不必要的过度优化。

请参阅用户设计指南 UG1388 中的“约束时钟域交汇”。

4. 在约束设计上运行默认综合

使用默认综合策略满足核心时序约束,进行优化调整以获得最佳性能

从默认综合策略入手,分析报告 QoR 评估 (RQA) 以评估时序可行性。如有需要,可尝试采用一键式全局策略,或使用更具针对性的方法。对 RTL 进行小幅修改(例如流水线化深度逻辑路径)可以显著提升 QoR 并快速实现时序收敛。

请参阅 UG938 中的“使用 RQA 和 RQS”以及 UG1387 中的“评估综合后的 QoR”。

5. 每一步均评估布局布线的结果

逐步监控时序结果,定位问题所在

设计基线评估不仅限于综合阶段。在每个布局布线步骤(在 Vivado 工具中分别称为“opt design’”、“place design’”、“phys opt design’”和“route design”)之后,都要分析 QoR 并检查是否存在性能下降。通过更改前后运行“报告 QoR 评估”(RQA),以验证时序改进结果,并利用运行报告 QoR 建议 (RQS) 微调实现设置,以持续优化设计性能。

请参阅用户设计方法 UG1388 中的“完成每个步骤后评估设计 WNS”和“时序收敛”。

更智能的设计基线助您实现更卓越的性能

如需深入了解,请探索:

《Versal 自适应 SoC 系统集成和确认方法指南》(UG1388):

https://docs.amd.com/r/zh-CN/ug1388-acap-system-integration-validation-methodology/%E7%AE%80%E4%BB%8B 

《Versal 自适应 SoC 硬件、IP 和平台开发方法指南》(UG1387) :

https://docs.amd.com/r/zh-CN/ug1387-acap-hardware-ip-platform-dev-methodology/%E7%AE%80%E4%BB%8B 

《Vivado Design Suite 设计分析与收敛教程》(UG938):

https://docs.amd.com/r/en-US/ug938-vivado-design-analysis-closure-tutorial/Using-Report-QoR-Suggestions-and-Report-QoR-Assessment-for-Timing-Closure 

文章来源:Xilinx开发者社区