性能确认 - 2023.2 简体中文

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

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

性能确认是一项艰巨的任务,但也是确认是否满足 AI 引擎带宽的最重要的步骤。以如下复杂系统设计为例,其中包含多个 AI 引擎和可编程逻辑组件。

图 1. 复杂系统设计

内核 1、2 和 3 之间的任何反压都将导致内核 4 性能不足,即使可将内核 4 设计为以最优性能运行也是如此。这又增加了一项传统 FPGA 设计中不常见的挑战。

为了使整个系统能够高效正确运行,请先使用本节及先前章节中所述方法对上述每个内核的功能和性能进行验证,然后再将其集成在一起,这样方可达成所需的系统设计。

AI 引擎性能确认要求生成器能够按所需吞吐量生成数据,并要求检查器能够按所需吞吐量接收数据。由于 AI 引擎与可编程逻辑之间的串流接口能够以 4 Gb/s 的速度运行,因此如果不满足性能确认指标,则可修改此接口以增加总线宽度并降低频率。例如,AI 引擎与 PL 间的 64 位/500 MHz 接口可修改为 128b/250 MHz 接口,而不会破坏整个系统的性能。只有在单独完成内核 2 和内核 4 的性能确认后,才能判定是否需要修改接口。欲知详情,请访问此链接以参阅 AI 引擎工具和流程用户指南 (UG1076) 中的相应内容。

AI 引擎工具包含各种 API 用于测量 AI 引擎-PL shim 接口中的每个接口的吞吐量,而无需任何其他硬件。这是了解 AI 引擎与 PL 间的性能数值的最简单方法。欲知详情,请访问此链接以参阅 AI 引擎工具和流程用户指南 (UG1076) 中的相应内容。

有 2 种方法可用于为 AI 引擎生成充足的带宽:

  • 对测试工具生成器/检查器(例如,AXI4 DMA/S2MM-MM2S 内核)进行微调,以便按 AI 引擎所需提供充足的发送和接收带宽。
  • 设计基于定制 RTL 的内核,以便按互连结构中所需的时钟频率生成基于 LFSR 或 BRAM/URAM 的矢量。

对于高性能设计,后一种方法可以提供一致的带宽,因为在 DDR 存储器与可编程逻辑之间不存在数据流。对于基于 AI 引擎的设计(带宽需求更高),使用后一种方法创建测试工具则更有效。但这需要额外增加工作。

使用 Vitis 工具可执行额外的硬件调试,如 Vitis 统一软件平台文档 中所述。