硬件仿真中的调试技巧 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

下表显示了用于在硬件仿真中对不同状况进行调试的一些特定技巧。

表 1. 硬件仿真中的调试技巧
调试重点 描述 步骤
x86 主机 (XRT) 更新 xrt.ini 以启用详细的 XRT log 日志。

将以下内容添加到 xrt.ini 文件中。利用更新后的 xrt.ini 运行测试用例。复查生成的 xrt_hal.log

[runtime]hal_log=xrt_hal.log
SystemC 模型上的 AXI 流量,如 AI 引擎、NOC 和 CIPS

主机传输事务通过 sim_qdma SystemC 模型进行路由。这些传输事务可以转储到 log 日志文件中。如果 PL 同样是 SystemC,那么也可以在其中查看 PL 传输事务。

如果 PL 是 RTL,那么可在波形中查看 PL 边界。

xrt.ini 中添加:

[Emulation]xtlm_aximm_log=true xtlm_axis_log=true

查看 xsc_report.log 文件。

查看 DDR 存储器内容

DDR 模型会将其内容保存到二进制文件中。在运行仿真的文件夹(例如,package.hw_emu/sim/behav_waveform/xsim dir)中,查找下列文件。此类每个二进制文件都对应于位于特定偏移处的 DDR 存储器的某个区域。

qemu-memory-_ddr@0x00000000qemu-memory-_mem_0xc080000000@0xc080000000ULL

这些文件表示二进制格式的 DDR/LPDDR 存储器内容。

在 QEMU 到 NOC_DDR 模型之间存在后门连接。因此,您在波形中将无法看到任何传输事务,并且也看不到任何 log 日志。共享存储器会直接更新。要查看存储器内容,您可以直接转储存储器内容。

使用 hexdump 命令即可查看存储器内容,示例如下所示。

hexdump qemu-memory-_mem_0x60000000000@0x60000000000ULL -s 0x80000000 -n 4096 -v -e '1/4 "%02X" "\n"' > dump_600.log
PS (QEMU) 在固件和软件执行期间,Arm APU 可能会遇到问题。您可在 PS 上使用这些机制查看各项传输事务和状态的详细信息。
  1. 在运行 QEMU 的 shell 中对 ENABLE_RP_LOGS=true 变量执行 setenv。查找名为 sim/behav_waveform/xsim/qemu_rp.log 的 log 日志文件。其中包含从 PS 到其他外设(除 DDR 之外)的传输事务。
  2. 复查 package.hw_emu/qemu_output.log 以查看输出。其中包含 PS 到 STDOUT (UART) 的输出。如果 PLM 或其他软件执行期间存在任何错误,则将在其中捕获这些错误。查看错误详细信息(CDO 地址、U-Boot 阶段等),缩小导致错误的 CDO 的可能范围。
  3. 运行 launch_hw_emu.sh -enable_debug 模式,此模式将在 QEMU 自有的 xterm 窗口内显示 QEMU log 日志。
AI 引擎 PDI 通过快速模式从 PS 到下载 AI 引擎,因此在波形中无法查看传输事务。您可以在 AI 引擎 AXI 接口上启用所有传输事务的日志记录操作。每个 AXI 接口都有一个独立文件
  1. 启用 setenv ENABLE_AIE_DBG_TRACE。查看仿真文件夹内的 aie_log/S00_AXI.txt 文件中的传输事务 log 日志。
  2. 启用 AI 引擎 VCD 转储,在 Vitis 分析器内向 launch_hw_emu.sh 命令行添加 -aie-sim-options 开关来查看内容。请参阅 UG1076 以获取有关 AI 引擎仿真选项文件的详细信息。这些信息对于 aiesimhw_emu 是通用的。
  3. 创建 aie_sim_config.txt 文件以启用 AI 引擎仿真选项。
    1. 在此文件中添加 "AIE_DEBUG_AXIMM=True"
    2. 将此文件传递到启动仿真器命令行上:
       ./package.hw_emu/launch_hw_emu.sh -aie-sim-options <Absolute path to the options .txt file>
在 DC 流程中转储波形(批处理模式)

确保设计与 -g 选项相链接,并确保您已在 Xsim GUI 模式下至少运行一次设计,以保存所需的 .wcfg 文件和相关信号列表。

转储波形,在 xsim 中将其与保存的 .wcfg 文件一起打开

xrt.ini 选项中更新以下选项

[Emulation]
user_pre_sim_script=<use pre sim script absolute path>
要启用信号转储,需要预仿真脚本:
log_wave -r *