运行软件仿真 - 2022.1 简体中文

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

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

在典型 AI 引擎开发流程中,步骤如下。

  1. X86 仿真器
  2. 系统的软件仿真
  3. AI 引擎仿真器
  4. 系统的硬件仿真
  5. 硬件上测试和调试

通常,软件仿真是系统构建和测试的第一步,并采用您创建的定制主机代码而不是仿真器的测试主机代码来完成此功能性进程。

利用 AI 引擎执行系统软件仿真适用于:

  • 以有限的已知数据集来检查初始系统行为
  • 使用 GDB 对 PS、PL 和 ADF graph 进行功能性集成和调试
  • 使用 Python 或 C++ 通过外部流量生成器进行系统测试
  • 利用 RTL 内核的 C 语言模型来运行系统
  • 通过 Work/options 中的 x86.options 文件来应用 AI 引擎仿真选项
重要: 软件仿真要求所有 PL 内核都基于 HLS,或者包含 C/C++ 模型。
注释:
  • 编写主机代码以供在软件仿真内执行时,请确保所有缓冲器对象 (xrtBO) 都与 xrtBOSync API 调用保持同步。
  • 要多次运行自由运行的 PL 内核,可在 while (1) 循环内运行。

要为软件仿真构建工程,请确认 aiecompiler 的目标选项为 -target=x86simv++ 链接和 v++ 封装命名设为 -target=sw_emuv++ 封装命令会在系统封装进程中生成 launch_sw_emu.sh 脚本。此脚本会为 AI 引擎应用启动 QEMU 仿真环境,以供测试和调试。软件仿真会为 PL 内核及 AI 引擎内核运行 x86 进程,并为 PS 主机应用运行 QEMU。

请使用以下命令来运行软件仿真:

./launch_sw_emu.sh
重要: 对于 HLS 自由运行的内核,HLS 内核代码需更改为在软件仿真中无限运行。请参阅 Vitis 统一软件平台文档:应用加速开发(UG1393) 中的“自由运行的内核”。

启动软件仿真时,您可以为运行 graph 应用的 x86simulator 仿真器指定选项。这些选项可从 launch_sw_emu.sh 脚本中使用 -x86-sim-options 来指定,如 复用 x86 仿真器选项 中所述。

当仿真完全启动并且出现 Linux 提示符后,请确保在 QEMU 环境中设置以下环境变量。

export XILINX_XRT=/usr
export LD_LIBRARY_PATH=/mnt/sd*1:/tmp:$LD_LIBRARY_PATH
export XCL_EMULATION_MODE=sw_emu

这样可确保主机应用正常工作。现在即可在 Linux 提示符处执行应用了。