下图描述了构建和运行应用以供在 Alveo 数据中心加速器卡上使用所需的步骤。这些步骤总结如下,在这整篇文档中均可找到有关每个步骤的详细信息。
图 1. 适用于数据中心加速器卡的应用开发流程
- x86 应用编译
- 编译主机应用以供在 x86 处理器上运行,该处理器使用 G++ 编译器来创建主机可执行文件。该主机程序可与 PL 区域中的内核进行交互。如需了解有关写入主机应用的更多信息,请参阅 开发应用。如需了解有关编译主机应用的更多信息,请参阅 构建主机程序。
- PL 内核编译和链接
- PL 内核经编译后即可在目标平台的 PL 区域内实现。PL 内核可编译到赛灵思对象格式 (XO) 文件中,编译可使用 Vitis 编译器 (
v++
)、Vitis HLS(适用于 C/C++ 内核)或package_xo
命令(适用于 RTL 内核)来执行。如需了解有关内核编码的信息,请参阅 C/C++ 内核 或 RTL 内核。Vitis 编译器还会将内核 XO 文件与硬件平台相链接,从而为应用创建器件可执行文件 (.xclbin)。如需了解更多信息,请参阅 构建器件二进制文件。
赛灵思对象 (XO) 文件通过
v++ --link
命令与目标硬件平台相链接,以创建器件二进制文件 (.xclbin),此文件将被加载到目标平台上的赛灵思器件中。 - 运行应用
- 对于 Alveo 数据中心加速器卡,.xclbin 文件是运行系统所必需的构建对象。运行应用时,可以运行软件仿真、硬件仿真或者在实际物理加速器平台上运行。如需了解更多信息,请参阅 运行应用硬件构建。
- 当构建目标为软件或硬件仿真时,
emconfigutil
命令可构建目标平台的仿真模型。Vitis 编译器会在器件二进制文件中生成内核的仿真 (simulation) 模型,运行此应用则会运行系统的此模型。如 构建目标 中所述,仿真 (emulation) 目标允许您在相对较快的周期内对设计进行构建、运行和迭代,并进行应用调试和性能评估。 - 当构建目标为硬件系统时,目标平台是物理器件。Vitis 编译器会使用 Vivado Design Suite 生成 .xclbin 来运行综合与实现,并解决时序。运行应用会在硬件上运行系统。构建进程将自动执行以生成高质量的结果。但熟悉硬件的开发者可以在其设计进程中充分利用 Vivado 工具。
- 当构建目标为软件或硬件仿真时,
- 使用系统编译模式
- Vitis System Compilation(系统编译)模式可对源自 C++ 的主机与内核提供统一的系统组合,它不仅可多方位提升设计效率(例如,使用 C 语言线程来编写主机代码和简化软硬件交互),而且可以提供经最优化的数据传输流水线且开箱即用。此模式仍使用现有 Vitis 工具来构建系统,但由于采用统一方法来进行系统组合与配置,因此所使用的开发流程有所变化。如需了解更多信息,请参阅 使用 Vitis 系统编译模式。