A fast cycle-accurate instruction set simulator based on QEMU and SystemC for SoC development

This paper presents a fast cycle-accurate instruction set simulator (CA-ISS) based on QEMU and SystemC. The CA-ISS can be used for design space exploration and as the processor core for virtual platform construction at the cycle-accurate level. Even though most state-of-the-art commercial tools try to provide all the levels of details to satisfy the different requirements of the software designer, the hardware designer, or even the system architect, the hardware/software co-simulation speed is dramatically slow when co-simulating the hardware models at the register-transfer level with a full-fledged operating system. In this paper, we show that the combination of QEMU and SystemC can make the co-simulation at the cycle-accurate level extremely fast, even with a full-fledged operating system up and running. Our experimental results indicate that with every instruction executed and every memory accessed since power-on traced at the cycle-accurate level, it takes less than 17 minutes on average to boot up a full-fledged Linux kernel, even on a laptop.

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

[2]  Guy Bois,et al.  SPACE: A Hardware/Software SystemC Modeling Platform Including an RTOS , 2003, FDL.

[3]  Jayaram Bhasker A SystemC Primer , 2002 .

[4]  Luca Benini,et al.  MPARM: Exploring the Multi-Processor SoC Design Space with SystemC , 2005, J. VLSI Signal Process..

[5]  Rolf Drechsler,et al.  ESL Design and Verification , 2010 .

[6]  Frank Vahid,et al.  Platune: a tuning framework for system-on-a-chip platforms , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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