QEMU公司
今天的SoC FPGA为系统、软件和硬件工程师提出了新的验证挑战。与硬件/软件集成相关的常见问题不断增加,但它们通常只在SoC FPGA运行的测试床上出现。在测试床中发现问题往往太晚,可能会导致项目延迟。
Aldec在Riviera PRO之间提供了硬件/软件协同仿真接口™ 和QEMU(开源处理器仿真器)。通过添加Aldec QEMU桥接器,HDL代码与QEMU中执行的软件应用程序/驱动程序的系统集成和协同仿真现在得到简化。QEMU桥接器连接Riviera PRO和QEMU,并将SystemC TLM事务转换为AXI,反之亦然,为协同仿真提供了快速接口。
图1:具有Riviera PRO和QEMU的硬件/软件协同仿真环境
带事务记录器的AXI BFM
Aldec为基于AXI设计的RTL模拟开发的AXI总线功能模型(BFM)可在Riviera PRO中获得。BFM作为加密的Verilog和System Verilog模块交付。用户测试台可以通过Aldec提供的Verilog或System Verilog tasks API测试BFMs。Aldec AXI BFM支持以下BFM:
- AXI 3主机
- AXI 3从机
- AXI 4主机
- AXI 4从机
- AXI 4 Lite主机
- AXI 4 Lite从机
- AXI 4流主机
- AXI 4流从机
每个BFM都允许用户打开内置的AXI事务记录器,将AXI事务记录到ASDB(Aldec Simulation Database)格式。有关在Riviera PRO中使用事务的更多信息,请参阅文档里维埃拉专业交易. AXI注入设计的过程包括:
- 设计阶段
- 与预编译库一起分发
- 在项目的HDL部分实例化
- 编译和配置阶段
- 由参数设置的配置
- 打开内置的AXI事务记录器
- 模拟阶段
- 与QEMU桥接过程的自动连接
图2:Riviera PRO中的AXI事务
QEMU桥
由Aldec基于SystemC事务级建模(TLM)开发,它是事务精确的桥梁,允许在可编程逻辑(PL)系统和处理系统(PS)之间进行完整的SoC协同仿真。通信由该网桥自动处理,不需要验证工程师端的额外交互。
硬件工程师(使用Riviera PRO)可以在HDL中设置断点,检查数据流,甚至分析QEMU中运行的软件应用程序执行的代码覆盖率和路径。软件工程师(使用QEMU)可以使用GNU调试器(GDB)来检测内核和驱动程序,以使用断点逐步完成代码。
Xilinx SoC FPGA的QEMU
Xilinx®为微晶玻璃提供QEMU树™, Zynq™ 和Zynq UltraScale+。QEMU树必须由用户下载和安装。Xilinx建议用户下载https://github.com/Xilinx/qemu.