Fast Virtual Prototyping for Embedded Computing Systems Design and Exploration

Virtual Prototyping has been widely adopted as a cost-effective solution for early hardware and software co-validation. However, as systems grow in complexity and scale, both the time required to get to a correct virtual prototype, and the time required to run real software on it can quickly become unmanageable. This paper introduces a feature-rich integrated virtual prototyping solution, designed to meet industrial needs not only in terms of performance, but also in terms of ease, rapidity and automation of modelling and exploration. It introduces novel methods to leverage the QEMU dynamic binary translator and the abstraction levels offered by SystemC/TLM 2.0 to provide the best possible trade-offs between accuracy and performance at all steps of the design. The solution also ships with a dynamic platform composition infrastructure that makes it possible to model and explore a myriad of architectures using a compact high-level description. Results obtained simulating a RISC-V SMP architecture running the PARSEC benchmark suite reveal that simulation speed can range from 30 MIPS in accurate simulation mode to 220 MIPS in fast functional validation mode.

[1]  Frédéric Pétrot,et al.  Using binary translation in event driven simulation for fast and flexible MPSoC simulation , 2009, CODES+ISSS '09.

[2]  Andreas Junghanns,et al.  Functional Mockup Interface 2.0: The Standard for Tool independent Exchange of Simulation Models , 2012 .

[3]  Rusty Russell,et al.  virtio: towards a de-facto standard for virtual I/O devices , 2008, OPSR.

[4]  Olivier Temam,et al.  UNISIM: An Open Simulation Environment and Library for Complex Architecture Design and Collaborative Development , 2007, IEEE Computer Architecture Letters.

[5]  Nicolas Ventroux,et al.  SESAM: An MPSoC Simulation Environment for Dynamic Application Processing , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[6]  Jordi Carrabina,et al.  Mixed SW/SystemC SoC Emulation Framework , 2007, 2007 IEEE International Symposium on Industrial Electronics.

[7]  Jordi Carrabina,et al.  Mixed simulation kernels for high performance virtual platforms , 2009, 2009 Forum on Specification & Design Languages (FDL).

[8]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[9]  Ming-Chao Chiang,et al.  A QEMU and SystemC-Based Cycle-Accurate ISS for Performance Estimation on SoC Development , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Yunsup Lee,et al.  The RISC-V Instruction Set Manual , 2014 .

[11]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[12]  Christophe Jego,et al.  QBox: an industrial solution for virtual platform simulation using QEMU and SystemC TLM-2.0 , 2016 .

[13]  Stefan Kraemer,et al.  A checkpoint/restore framework for systemc-based virtual platforms , 2009, 2009 International Symposium on System-on-Chip.

[14]  Norbert Wehn,et al.  System simulation with gem5 and SystemC: The keystone for full interoperability , 2017, 2017 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS).

[15]  Jakob Engblom,et al.  Checkpointing for Virtual Platforms and SystemC-TLM , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[16]  David A. Patterson,et al.  The RISC-V instruction set , 2013, 2013 IEEE Hot Chips 25 Symposium (HCS).

[17]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.