使用 Vitis 工具流程来集成应用 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

开发 AI 引擎设计 graph 时,通常使用 AI 引擎编译器或 AI 引擎仿真器工具来执行大量设计迭代。此方法能够提供快速设计迭代,同时聚焦 AI 引擎应用的开发。准备就绪后,即可使用本章中所述流程将 AI 引擎设计集成到更大的系统设计中。

Vitis™ 工具流可以凭借类似软件的编译和链接流程来集成 Versal® 器件的下列三大领域,从而简化硬件设计和集成:AI 引擎阵列、可编程逻辑 (PL) 区域和处理器系统 (PS)。Vitis 编译器流程允许您将自己已编译的 AI 引擎设计 graph (libadf.a) 与器件的 PL 区域内实现的其它内核(包括 HLS 和 RTL 内核)加以集成,并将其链接在一起以供在目标平台上使用。您可从 Versal 器件内的 Arm® 处理器中运行的主机程序来调用这些已编译的硬件函数。

下图显示了使用 Vitis 工具流程集成应用所需的高层次步骤。此处描述了用于运行此流程的命令行进程。
注释: 您也可以在 Vitis IDE 内使用此流程,如 使用 Vitis IDE 中所述。
图 1. Vitis 工具流程

重要: 使用 Vitis 工具和 AI 引擎工具需要完成 设置 Vitis 工具环境 中所述的设置。

以下步骤可按 Versal 器件中的任意 AI 引擎设计需求加以调整。

  1. 编译 AI 引擎 graph 应用 中所述,第一步是创建 AI 引擎 graph 并使用 AI 引擎编译器将其编译到 libadf.a 文件内。您可以在 AI 引擎编译器与 AI 引擎仿真器之间执行迭代以开发 graph,直至您准备好继续为止。
  2. PL 内核编译:PL 内核经编译后即可使用 v++ --compile 命令在目标平台的 PL 区域中实现。这些内核可以是 C/C++ 内核或 RTL 内核并采用已编译的赛灵思对象 (xo) 形式。
  3. 系统链接:将已编译的 AI 引擎 graph 与 C/C++ 内核和 RTL 内核链接到目标平台上。此进程会创建 XSA 文件以封装系统。
  4. 为 Cortex-A72 处理器编译嵌入式应用:(可选)编译主机应用以在 Cortex®-A72 核处理器上运行,此类处理器使用 GNU Arm 交叉编译器来创建 ELF 文件。该主机程序与 AI 引擎内核和 PL 区域内的内核进行交互。此编译步骤是可选步骤,因为有多种方式可用于部署 AI 引擎内核并与之交互,PS 中运行的主机程序只是其中一种方式。
  5. 系统封装:使用 v++ --package 进程收集所需的文件以配置和启动系统、加载和运行应用,包括 AI 引擎 graph 和 PL 内核。这样即可构建必要的封装以运行仿真和调试,或者在硬件上运行您的应用。