QEMU - 2023.2 简体中文

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

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

QEMU 表示 Quick Emulator,即快速仿真器。它是通用的开源机器仿真器。AMD 提供了自定义的 QEMU 模型,此模型会模拟 AMD Versal™ 自适应 SoC、AMD Zynq™ UltraScale+™ MPSoCZynq 7000 SoC 上存在的基于 Arm 的处理器系统。QEMU 模型提供了几乎实时执行 CPU 指令的能力,无需真实硬件。如需了解更多信息,请参阅 QEMU 用户文档

对于硬件仿真,AMD Vitis™ 仿真目标为针对设计其余部分使用 QEMU 并将其与 RTL 和基于 SystemC 的模型进行协同仿真,以便为整个平台提供完整的执行模型。您可在此模型上启动嵌入式 Linux 内核,并运行基于 XRT 的加速器应用。由于 QEMU 可以执行 Arm 指令,因此,您可以在仿真流程中按原样运行 Arm 二进制文件,无需重新编译。QEMU 还允许您使用来自赛灵思系统调试器 (XSDB) 的基于 GDB 和 TCF 的目标连接来调试自己的应用。

Vitis 仿真流程还使用 QEMU 来对 MicroBlaze™ 处理器进行仿真,以便对器件的平台管理模块(PLM 和 PMU)进行仿真。在 Versal 器件上,PLM 固件用于将 PDI 加载到 PS 和 AI 引擎模型的程序节上。

为了确保 QEMU 配置与平台相匹配,在 Vitis 平台的 sw 目录中还必须提供附加文件。qemu_args.txtpmc_args.txt 这两个常用文件包含在启动 QEMU 时要使用的命令行实参。创建定制平台时,这两个文件会随默认内容一起添加到您的平台上。您可以复查这些文件并按需对其进行编辑,以便对您的定制平台进行建模。请参阅 AMD 嵌入式平台以获取示例。

由于 QEMU 属于通用模型,它使用 Linux 设备树样式的 DTB 格式文件来启用和配置各种硬件模块。Vitis 工具随附有默认 QEMU 硬件 DTB 文件,包含在 <vitis_installation>/data/emulation/dtbs 文件夹内。但如果您的平台需要其他 QEMU DTB,那么您也可将其封装在自己的平台内。

提示: QEMU DTB 会提供 QEMU 的硬件配置,且它不同于 Linux 内核所使用的 DTB。