DocumentCode
2517773
Title
A fast cycle-accurate instruction set simulator based on QEMU and SystemC for SoC development
Author
Yeh, Tse-Chen ; Tseng, Guo-Fu ; Chiang, Ming-Chao
Author_Institution
Dept. of Comput. Sci. & Eng., Nat. Sun Yat-sen Univ., Kaohsiung, Taiwan
fYear
2010
fDate
26-28 April 2010
Firstpage
1033
Lastpage
1038
Abstract
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.
Keywords
C++ language; electronic engineering computing; hardware-software codesign; logic design; system-on-chip; QEMU; SoC; SystemC; hardware-software cosimulation speed; instruction set simulator; ANSI standards; Computational modeling; Computer simulation; Electronic design automation and methodology; Emulation; Hardware; Operating systems; Software design; Software tools; Space exploration;
fLanguage
English
Publisher
ieee
Conference_Titel
MELECON 2010 - 2010 15th IEEE Mediterranean Electrotechnical Conference
Conference_Location
Valletta
Print_ISBN
978-1-4244-5793-9
Type
conf
DOI
10.1109/MELCON.2010.5475901
Filename
5475901
Link To Document