We present work in the domain of Virtual Platforms, based on the QEMU emulator. Virtual Platforms allow software and drivers to be developed in parallel with the development of hardware, avoiding re-design and long delay times in SW development. This work allows designers to plug SystemC models into the virtual platforms that QEMU offers (We focused on two of the available platforms: x86 PC and ARM's VersatilePB) The new aspect of this work is the technology we have developed to connect between QEMU and SystemC. We have developed a virtual device to link QEMU and SystemC, and a bridge to manage the OSCI SystemC-2.2.0 simulator. This bridge accomplish the task of synchronize efficiency the two simulators, using a strategy of freeze-and-update on the SystemC simulator to achieve a good performance. Connection with the SystemC device is done using TLM-2.0 sockets and makes use of DMI. Also we present the same emulator wrapped for a TLM-2.0 Initiator module. With this wrapper, this QEMU module can be used in a standard SystemC simulation environment as an Initiator that accesses some (but not necessary all) of its system devices through a standard TLM-2.0 socket.
[1]
Jordi Carrabina,et al.
Mixed SW/SystemC SoC Emulation Framework
,
2007,
2007 IEEE International Symposium on Industrial Electronics.
[2]
Jakob Engblom,et al.
Checkpoint and Restore for SystemC models
,
2009,
2009 Forum on Specification & Design Languages (FDL).
[3]
Fredrik Larsson,et al.
Simics: A Full System Simulation Platform
,
2002,
Computer.
[4]
Teodiano Bastos,et al.
SLAM-based robotic wheelchair navigation system designed for confined spaces
,
2010,
2010 IEEE International Symposium on Industrial Electronics.
[5]
Fabrice Bellard,et al.
QEMU, a Fast and Portable Dynamic Translator
,
2005,
USENIX ATC, FREENIX Track.