Functional validation of pre-silicon NVMeTM SSD and PCIe® systems using QEMU virtual host and SoC system co-simulation enables running industry standard host server-based conformance and performance benchmarking software applications on Linux and Windows® environments along with the PCIe-based SoC design.
System bring-up and validation using standards-based conformance and interoperability testing is now feasible across a wide range of designs - NVMe SSDs, smart NICs, PCIe switches and retimers, and a myriad of other PCIe endpoint-based peripherals. Performing an in-house “virtual” plug fest at the pre-silicon level using RTL of the SoC hardware greatly increases confidence that designs will have first pass success when going for official compliance testing. Examples include:
Co-simulating the actual SoC RTL with a QEMU open software virtual machine allows software engineers to natively develop and build any of their custom firmware, drivers, and applications for any number of Linux or Windows platforms. Software issues can be investigated using standard debuggers (GDB and KGDB) against the cycle accurate and detailed SystemVerilog RTL representation of the SoC operation. Validation spans PCI BIOS and expansion ROM code, OS boot, custom driver initialization sequences, conformance and performance benchmarking applications.
Hardware engineers can collaborate with software engineers to debug SoC RTL utilizing the full PCIe and NVMe VIP protocol aware debugging features resulting in reduction of both hardware and software design iterations and more rapid turnaround of bug fixes. In addition, the PCIe SystemVerilog VIP supports both TX/RX error injection that is essential to testing system operation under abnormal and error conditions at the various PCIe layers.
Compared to co-emulation or FPGA prototyping which are generally considered both scarce and expensive commodities, a co-simulation approach can scale-up on simulation farms to 100s to 1000s of concurrent simulations thus enabling more SoC configurations of the hardware and software to be covered.