对于具有
Arm®
子系统的嵌入式平台,AMD Vitis™
工具使用 QEMU 来对 PS 子系统进行仿真。QEMU 进程必须随 RTL 仿真器 (simulator) 进程一起运行,才能对硬件仿真中的整个系统进行仿真。launch_emulator.py
实用工具用于启动 QEMU 并管理 PL 仿真器进程的同步。它会以所提供的实参来启动 QEMU 和仿真进程。Vitis IDE 在启动和停止仿真器 (emulator) 时也会调用此命令。
对于嵌入式平台,--package 选项 命令可生成 launch_hw_emu.sh 或 launch_sw_emu.sh 脚本以根据平台和目标应用通过所需实参来调用 launch_emulator.py
命令。
使用 launch_hw_emu.sh 或 launch_sw_emu.sh 封装文件脚本时,您可通过命令行向 launch_emulator
实用工具传递其他实参。只需在运行脚本时向命令行追加相应选项即可。这样您即可按需自定义 launch_emulator
实用工具以支持自己的特定平台或应用。
下表显示了可用选项列表。
选项 | 接受的值 | 描述 |
---|---|---|
-add-env
ADD_ENV_CMD
|
不适用 | 为仿真 shell 指定其他环境变量。 |
-aie-sim-options
|
AIE_SIM_OPTIONS 文件 | 指向 AI 引擎仿真选项文件,其中包含 AI 引擎 SystemC 模块调试所需的各种 AI 引擎调试标志。如需了解更多信息,请参阅
AI 引擎工具和流程用户指南(UG1076) 的“复用 AI 引擎仿真器选项”章节。 指定的选项文件应包含与 package.hw_emu/sim/behav_waveform/xsim/ 相关的相对路径。 提示: 该选项为可选,仅适用于 AI 引擎设计。
您可启用先前在
aiesimulator 中使用的剖析选项,以便将这些选项应用于系统级别设计的硬件仿真。要执行此操作,请添加下列命令:
|
-enable-debug
|
不适用 | 调试模式,为 QEMU 和 PL 打开 2 个不同 XTERM。 重要: 该选项对于批处理模式用户了解 QEMU 与 PL 进程之间的流程和握手很有用。
|
-graphic-qemu
|
不适用 | 以 GUI 模式启动 Quick Emulator (QEMU) |
-help
|
不适用 | 打印帮助消息。 |
-kernel-dbg
|
true 和 false
|
在 SW_EMU 中启用调试。该选项仅用于软件仿真。 |
-pl-kernel-debug
|
true 和 false
|
为 PL 内核启用调试。 |
-run-app
|
<application_script_name> | 确保在封装步骤中,使用 --package.sd_file 选项来封装应用脚本。仅当应用脚本已封装在 sd_card 中之后,在 QEMU 装载、启动并正常运行后,才能运行此应用脚本。提示: 使用
-run-app 选项时,根据您的仿真目标,所有 QEMU 消息初始都写入 package.hw_emu 或 package.sw_emu 文件夹内名为 qemu_output.log 的文件,稍有延迟后再重新写入控制台。此延迟可能导致您认为 QEMU 存在问题,但您可按需检验 qemu_output.log 的内容。 |
-timeout
|
<n> | <n> 秒后终止仿真 (emulation)。使用 -run-app 时,默认值为 4000 秒。这意味着应用在运行 4000 秒后即终止,无需用户干预。 |
-user-post-sim-script
|
该选项表示仿真后,在退出前需执行的 Tcl 脚本的路径 | 为转发到 Tcl 文件中的任意操作创建 Tcl 并将 Tcl 脚本传递到此开关。 |
-user-pre-sim-script
|
Tcl 脚本路径 | 对于首次运行,在 GUI 模式下执行 launch_emulator.py ,并添加要观测的信号。将命令从 Tcl 控制台复制并保存到 Tcl 脚本中。 从下一次运行开始,以批处理模式传递此 Tcl 脚本, 仅支持 Vivado 仿真器 (xsim)。 |
-verbose
|
不适用 | 启用额外的调试消息 |
-wcfg-file-path
|
不适用 | 指定 XSIM 创建的 wcfg 文件,指定的文件将在 GUI 仿真期间打开。需指定该文件的完整绝对路径。 |
-wdb-File
|
WDB 文件路径 |
用于指定要加载的 wdb 文件。需指定该文件的完整绝对路径。 |
-x86-sim-options
|
不适用 | 指向 x86 仿真选项文件,其中包含调试 AI 引擎模型所需的各种 AI 引擎调试标志。仅用于软件仿真。 |
-xtlm-aximm-log
|
不适用 | 此开关可生成 xTLM AXI4 传输事务 log 日志用于 2 个 SystemC 模型之间的接口连接(包含诸如地址、数据、大小等信息)。 运行此开关时,可从以下位置获取仿真 (emulation) log 日志(目录结构因使用的 package.hw_emu/sim/behav_waveform/xsim/xsc_report.log |
-xtlm-axis-log
|
不适用 | 此开关可生成 xTLM AXI4‑Stream 传输事务 log 日志,用于 2 个 SystemC 模型之间的接口连接。 运行此开关时,可从以下位置获取仿真 (emulation) log 日志(目录结构因使用 package.hw_emu/sim/behav_waveform/xsim/xsc_report.log |
选项 | 接受的值 | 描述 |
---|---|---|
-disable-host-completion-check
|
不适用 | 跳过主机/测试完成检查。通常在使用 python 脚本来检查测试完成状态 (PASS/FAIL) 的应用中使用该选项。 默认情况下,使用 |
-enable-tcp-sockets
|
不适用 | 启用 TCP 插槽 |
-kill
|
<pid> | 结束指定的仿真器 (emulator) 进程。 |
-kill-pid-file
|
不适用 | 指定要用于终止进程的文件。该文件用于存储进程的组 PID。可使用 -pid-file 来创建。 |
-no-reboot
|
不适用 | 退出 QEMU,而不是重启。用于通过在嵌入式 Linux 提示符处执行 reboot -f 命令来正常退出 QEMU。 |
-no_build
|
不适用 | 支持在不运行构建进程的情况下即可对构建命令执行检查。 |
-no_run
|
不适用 | 执行构建,但不运行仿真。 |
-ospi-image
|
OSPI 镜像文件 | 指定 OSPI 镜像文件用于启动。 |
-pl-sim-args
|
仿真器 (simulator) 的实参 | 这些实参将被追加到仿真器 (simulator) 命令行中。可替代 pm-sim-args-file 。 |
-pmc-args
|
PMC 实参 |
PMC/PMU 由 您可直接提供需追加到 PMC 命令行的所有实参,而无需写入名为 pmc_args.txt 的文件。该选项可替代 在 适用于 QEMU 的 Versal PS 和 PMC 实参 和 适用于 QEMU 的 Zynq UltraScale+ MPSoC PS 和 PMU 实参 中可找到特定器件的 PMC/PMU 实参。 提示:
AMD Zynq™ 7000 器件不支持此选项。
|
-pmc-args-file
|
PMC QEMU 实参文件名 | 在此文件中可提供要传递给 PMU/PMC 的任意选项。具体格式由所选平台上的库文件来确定。 该选项在 在 适用于 QEMU 的 Versal PS 和 PMC 实参 和 适用于 QEMU 的 Zynq UltraScale+ MPSoC PS 和 PMU 实参 中可找到特定器件的 PMC/PMU 实参。 提示:
Zynq 7000 器件不支持此选项。
|
-print-qemu-version
|
不适用 | 打印当前使用的 QEMU 的版本。 |
-qemu-args
|
QEMU 实参 |
PS 由 您可直接提供需追加到 QEMU 命令行的所有实参,而无需写入名为 qemu_args.txt 的文件。该选项可替代 在 适用于 QEMU 的 Versal PS 和 PMC 实参 以及后续有关 AMD Zynq™ UltraScale+™ MPSoC 的章节中可找到特定器件的 PS 实参。 |
-qemu-dtb
|
<path_to_DTB_file> |
注释: 请确保此 DTB 与所使用的 noc_memory_config.txt 文件兼容。
|
-qspi-high-image
|
指定 QSPI 高位镜像文件 |
此镜像文件作为 QEMU 实参(以启动模式的形式)来传递。该选项在 仅当使用 DUAL QSPI 模式时,才需要该选项。 |
-qspi-image
|
指定 qspi.bin
|
此镜像文件作为 QEMU 实参(以启动模式的形式)来传递。该选项在 V++ 包生成的脚本中自动传递。 仅当选择采用 QSPI 模式时,才需要该选项。 |
-qspi-low-image
|
指定 QSPI 低位镜像文件 | 此镜像文件作为 QEMU 实参(以启动模式的形式)来传递。该选项在 V++ 包生成的脚本中自动传递。仅当使用 DUAL QSPI 模式时,才需要该选项。 |
-result-string
|
不适用 | Result 字符串用于搜索测试完成的状态。默认值 = TEST PASSED。 |
-use-qemu-version-v4
|
不适用 | 使用 QEMU v4.2 |
选项 | 接受的值 | 描述 |
---|---|---|
-aie-sim-config
|
不适用 | 指向 AI 引擎仿真配置文件,此文件可提供 AI 引擎的 SystemC 模型所需的各种 AI 引擎文件。 该选项由 对于 AI 引擎设计,该选项是必需的。 |
-boot-bh
|
BH 文件路径 | 指定启动 BH 文件路径 |
-device-family
|
7Series | UltraScale | Versal | 该选项为必需,用于指定平台的器件系列。 该选项由 要直接使用 |
-enable-prep-target
|
不适用 | 启用预处理目标。 |
-forward-port
|
<目标> <主机> | 将 TCP 端口从目标转发到主机。 |
-gdb-port
|
端口号 | QEMU 会等待 <端口> 上的 GDB 连接。 |
-noc-memory-config
<path/to/noc_memory_config.txt>
|
不适用 | 默认情况下,v++ --package 会基于设计配置创建 NoC 存储器配置,您可在看到仿真二进制文件的同时看到此文件。您可通过覆盖仿真二进制文件夹中指定的文件来覆盖此文件。-user-pre-sim-script 选项可用于将您的 noc_memory_config.txt 文件复制到仿真二进制文件区域,并应用配置。 |
-pid-file
|
文件名 | 将进程 ID 写入 <文件>,以便稍后用于 -kill 。在仿真成功后,用于结束 Vitis 软件平台。 |
-pl-sim-dir
|
仿真 (Simulation) 目录 | 通过从该目录启动脚本来启动可编程逻辑仿真器 (Programmable Logic Simulator)。该选项在 v++ 包生成的脚本中自动传递。该工具预期在指定目录中存在名为 simulate.sh 的文件,并且将执行该文件以启动 PL 仿真器(例如,XSIM)。 |
-pl-sim-script
|
仿真脚本位置 | 高级用户可使用单个直接脚本来启动仿真(例如,Vivado 用户)。 指定该选项后,运行脚本时其他选项无价值。 |
-platform-name
|
NAME | 平台名称 |
-pmc-args-file
|
PMC QEMU 实参文件名 | 在此文件中可提供要传递给 PMU/PMC 的任意选项。具体格式由所选平台上的库文件来确定。 该选项在 在 适用于 QEMU 的 Versal PS 和 PMC 实参 和 适用于 QEMU 的 Zynq UltraScale+ MPSoC PS 和 PMU 实参 中可找到特定器件的 PMC/PMU 实参。 提示:
Zynq 7000 器件不支持此选项。
|
-pmc-dtb
|
<path_to_DTB_file> |
注释: 请确保此 DTB 与所使用的 noc_memory_config.txt 文件兼容。
在 适用于 QEMU 的 Versal PS 和 PMC 实参 和 适用于 QEMU 的 Zynq UltraScale+ MPSoC PS 和 PMU 实参 中可找到特定器件的 PMC/PMU 实参。 提示:
Zynq 7000 器件不支持此选项。
|
-protoinst-File
|
ProtoInst 文件路径 |
用于指定要加载的 protoinst 文件。提供完整的绝对路径。 |
-qemu-args-file
|
PS QEMU 实参文件名 | 在此文件中可提供要传递给 QEMU 的任意选项。您可通过此特定格式从所选平台提取库文件。该选项在 v++ 包生成的脚本中自动传递。 |
-qemu-dtb
|
<path_to_DTB_file> |
注释: 请确保此 DTB 与所使用的 noc_memory_config.txt 文件兼容。
|
-sd-card-image
|
指定 sd_card.img | 此镜像文件作为 QEMU 实参(以启动模式的形式)来传递。该选项在 V++ 包生成的脚本中自动传递。仅当使用 SD 模式时,才需要该选项。 |
-t | -target
|
sw_emu 或 hw_emu
|
指定运行 sw_emu 或 hw_emu 。 根据 对于 |
-xtlm-log-state
|
WAVEFORM | LOG | BOTH |
该选项用于指定 XTLM log 日志文件应包含的内容。其中可包含波形和/或文本 log 日志。该选项仅用于硬件仿真。 |