分析仿真中的 PL 内核性能 - 2023.2 简体中文

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

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 简体中文

HLS

由 HLS 开发的所有内核均可使用编译器指令和 HLS 编译指示来加以最优化。Vitis HLS 编译器可生成详细报告,其中包含有关 Fmax、资源使用率和性能的信息。除了汇总报告外,调度查看器还可直观再现设计构建方式以及操作调度方式。您可使用此视图来帮助识别已综合的设计中的次优部分。

您可通过运行 HLS 协同仿真流程来对这些编译时间报告加以补充。运行该流程时,Vitis HLS 会从仿真结果中自动提取性能数据,并报告额外的性能信息,例如, FIFO 高水位标记的最小、最大和平均运行时间。AMD 建议先利用所有这些分析功能,然后在系统中集成 HLS 内核。

注释: 在独立环境中无法满足性能要求的内核在完整的系统环境中也无法满足性能要求。

影响 HLS 内核性能的因素多种多样,包括接口属性、循环级别并行度、任务级别并行度等等。理解启动时间间隔 (II) 和数据流的概念对于实现良好的结果尤为重要。启动时间间隔以时钟周期数来衡量,表示特定循环或进程重新启动的频率。例如,如果循环以 II=1 成功完成综合,那么在生成的 RTL 中,每个周期都启动新的循环迭代。II 与吞吐量这一关键性能指标紧密相关。数据流是利用任务级别并行度的性能最优化功能。数据流在设计中尽可能允许不同子进程并行运行而不是顺序运行。利用数据流实现最优结果需要适合的代码结构。如需了解有关启动时间间隔的更多信息以及有关其他 HLS 性能最优化的信息,请参阅 Vitis 高层次综合用户指南(UG1399)

RTL

利用诸如 Vivado 仿真器等仿真工具代替 Vitis 环境,通过标准 RTL 仿真方法对 RTL 内核进行仿真。所有标准 RTL 仿真最佳实践都适用于 RTL 内核。请检查 RTL 内核的功能是否正确,并判定性能相关的最佳结果。确保每个 RTL 内核都满足性能目标,然后再将 RTL 内核添加到更大的系统。

您开发的所有 RTL 内核都必须使用定制 RTL 测试激励文件或使用 AMD Vivado™ IP 目录中提供的 AMD LogiCORE™ AXI Verification IP (VIP) 进行块级仿真。如需了解更多信息,请参阅 AXI Verification IP LogiCORE IP 产品指南(PG267)

提示: 在 RTL 中可写入其他性能计数器来计算 PL 中的周期数,并计算往来 AI 引擎的时延和吞吐量。