scispace - formally typeset
Journal ArticleDOI

A QEMU and SystemC-Based Cycle-Accurate ISS for Performance Estimation on SoC Development

TLDR
A hardware/software co-simulation environment capable of running a full-fledged OS at the early stage of the electronic system level design flow at an acceptable simulation speed is proposed and a virtual platform constructed using the proposed CA-ISS as the processor model can be used to estimate the performance of a target system from system perspective.
Abstract
In this paper, we present a fast cycle-accurate instruction set simulator (CA-ISS) for system-on-chip development based on QEMU and SystemC. Even though most state-of-the-art commercial tools have tried very hard to provide all the levels of details to satisfy the different requirements of the software designer, the hardware designer, and even the system architect, the hardware/software co-simulation speed is dramatically slow when co-simulating the hardware models at the register-transfer level (RTL) with a full-fledged operating system (OS). Our experimental results show that the combination of QEMU and SystemC can make the co-simulation at the CA level much faster than the conventional RTL simulation, even with a full-fledged operating system up and running. Furthermore, the statistics indicate that with every instruction executed and every memory accessed since power-on traced at the CA level, it takes 28m15.804s on average to boot up a full-fledged Linux kernel, even on a personal computer. Compared to the kernel boot time reported by Xilinx and SiCortex, the proposed CA-ISS is about 6.09 times faster compared to “SystemC without trace” of Xilinx and about 30.32 times faster compared to “SystemC models converted from RTL” of SiCortex. The main contributions of this paper are threefold: 1) a hardware/software co-simulation environment capable of running a full-fledged OS at the early stage of the electronic system level design flow at an acceptable simulation speed is proposed; 2) a virtual platform constructed using the proposed CA-ISS as the processor model can be used to estimate the performance of a target system from system perspective, which all the previous works, such as QEMU-SystemC, do not provide; and 3) such a virtual platform also provides the modeling capability from the transaction level down to the CA level or the other way around.

read more

Citations
More filters

Comprehensive Abstraction of VHDL RTL Cores to ESL SystemC

Abstract: ..................................................................................................... 90 KOKKUVÕTE .................................................................................................. 92 ACKNOWLEDGEMENTS ............................................................................... 94 Appendix A ........................................................................................................ 95 Appendix B ...................................................................................................... 103 Appendix C ...................................................................................................... 109 Appendix D ...................................................................................................... 117 Appendix E ...................................................................................................... 125 Appendix F ...................................................................................................... 133
Proceedings ArticleDOI

Fast Virtual Prototyping for Embedded Computing Systems Design and Exploration

TL;DR: 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 are introduced.
Journal ArticleDOI

Model-Driven Design of Network Aspects of Distributed Embedded Systems

TL;DR: This paper proposes a formal framework and supporting tools to represent the application requirements, the library of network components, the environment description, and the rules to compose them and provides back annotation mechanism of the simulation results to refine the original model.
Proceedings ArticleDOI

Instruction-driven timing CPU model for efficient embedded software development using OVP

TL;DR: This work focuses on enhancing OVP capability by including a quasi-cycle accurate timingCPU model, making it suitable for performance analysis, and evaluates the accuracy of the proposed timing CPU model when compared to a real system.
Proceedings ArticleDOI

A common architecture for co-simulation of SystemC models in QEMU and OVP virtual platforms

TL;DR: This paper presents a common co-simulation approach that works for integrating SystemC components with both QEMU and OVP, and provides an easy way to port SystemC models from a QEMu-based to an OVP-based virtual platform and vice versa.
References
More filters
Proceedings Article

QEMU, a fast and portable dynamic translator

TL;DR: QEMU supports full system emulation in which a complete and unmodified operating system is run in a virtual machine and Linux user mode emulation where a Linux process compiled for one target CPU can be run on another CPU.
Journal ArticleDOI

Simics: A full system simulation platform

TL;DR: Simics is a platform for full system simulation that can run actual firmware and completely unmodified kernel and driver code, and it provides both functional accuracy for running commercial workloads and sufficient timing accuracy to interface to detailed hardware models.
Book

Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems

TL;DR: TLM: An Overview and Brief History and TLM Modeling Techniques.
Journal ArticleDOI

MPARM: Exploring the Multi-Processor SoC Design Space with SystemC

TL;DR: A complete simulation platform for a multi-processor systems-on-chip called MP-ARM is developed, based on SystemC as modelling and simulation environment, and including models for processors, the AMBA bus compliant communication architecture, memory models and support for parallel programming.
Related Papers (5)