Comprehensively testing heterogeneous SoCs using QEMU.
Heterogeneous SoC architectures such as Zynq have become very popular recently due to the combination of programmable logic (FPGA) and processing system (ARM) integrated into a single chip. Developing a design using such hybrid systems causes complexity in design verification stages. To help address this complexity, Aldec introduced support for QEMU for co-verification in our HES.Proto-AXI host to FPGA bridge solution.
QEMU is an open-source machine emulator and virtualizer that emulates a wide range of CPU architectures. Together with a HW/SW co-simulation platform, it simplifies the verification process for challenging hybrid designs.
The question is how to comprehensively test such mixed technology devices. Hybrid devices require a hybrid verification environment, and there is more than one option available.
QEMU with Aldec tools
There are several places in the whole range of Aldec products and tools that QEMU fits perfectly. The most general breakdown can be made based on the project requirements:
Based on the above division, we offer two solutions: QEMU for Zynq/Zynq MPSoC and QEMU for HES emulation and prototyping.
QEMU co-simulation for Xilinx Zynq 7000/Zynq MPSoC devices
To co-simulate the designs that are based on Xilinx Zynq 7000 / MPSoC devices, Aldec has provided a HW/SW Co-Simulation solution using Riviera-Pro (Advance RTL simulator) and Xilinx QEMU. This solution is provided on the TySOM EDK package, which simplifies the hybrid verification for Xilinx Zynq devices. This integration makes an environment for engineers to verify the entire SoC (processing system and programmable logic) simultaneously. Separate tests for CPU and FPGA are no longer the only testing method. This solution utilizes Xilinx QEMU and connects it to Riviera-PRO, giving a comprehensive environment for testing Linux, drivers, or standalone processor applications with FPGA design in the simulator.
Figure 1: Xilinx Zynq/Zynq MPSoC QEMU and Riviera-PRO co-simulation
QEMU co-verification environment for emulation and prototyping
QEMU integration with Aldec emulation and prototyping products differs from the solution of Xilinx Zynq 7000/Zynq MPSoC. Years spent on the hardware-assisted verification market shown that one of the most important things is scalability to various verification modes. To achieve that we have adapted the official open-source QEMU to interact with:
The architecture of the co-verification environment is shown in Figure 2.
Figure 2: Aldec QEMU emulation and prototyping co-verification environment
The environment consists of:
Conclusion
The need for a comprehensive SoC verification is being noticed more and more due to the significant growth in demand for such devices. Having both HW/SW in an SoC design requires a hybrid environment to verify both and to make sure new changes don’t affect the entire design functionality. Aldec has paved this path by preparing a hybrid environment combining QEMU with Aldec verification, emulation and prototyping tools to solve the complexity of SoC verification process. This solution meets different verification requirements (Xilinx Zynq /Zynq MPSoC, ASIC emulation and prototyping) and offers various features. First of all, it corresponds to the architecture of SoC designs and gives an opportunity to test software and hardware live. It emulates different architecture CPUs, simplifies and accelerates cross-development between hardware and software/embedded engineering teams. Last but definitely not least – it’s integrated with Aldec SoC/ASIC/FPGA verification products such as HES high speed prototyping boards, HES-DVM, Riviera-PRO simulator and HES.Proto-AXI architecture.
Leave a Reply