GreenSocs heavily involved in research in the field of virtual platforms, modelling, virtual prototyping, hardware / software verification, design optimisation design.
Monton, Marius; Carrabina, J.; Burton, M.; , Mixed simulation kernels for high performance virtual platforms , in Specification Design Languages, 2009. FDL 2009. Forum on , 2009
Abstract: 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.
Keywords: C language;digital simulation;operating system kernels;virtual reality;ARM VersatilePB;DMI;OSCI SystemC-2.2.0 simulator;QEMU emulator;SW development;SystemC device;SystemC models;SystemC simulation environment;SystemC simulator;TLM-2.0 Initiator module;TLM-2.0 sockets;freeze-and-update;high performance virtual platforms;mixed simulation kernels;synchronize efficiency;virtual device;x86 PC;Human computer interaction;Kernel
Monton, M.; Engblom, J.; Burton, M.; , Checkpointing for Virtual Platforms and SystemC-TLM , vol.21 , no.1 , pp.133-141 , 2013
Abstract: Integrating simulation models created using different simulation systems is a common problem when constructing virtual platforms. Different companies and different departments can create models, and virtual platforms for different purposes using different tools. There are also existing models that need to be integrated into new tools, or the other way around. The simulators can be quite different in details, even in the case of transaction-level models. We present work in integrating SystemC transaction-level models into two typical full-system simulation environments, QEMU and Simics. We present issues in reconciling the semantics of the different platforms, and our proposed solutions. In the Simics integration, we additionally enable checkpointing in the models, based on the Simics checkpoint mechanism.
Keywords: checkpointing;formal verification;virtual machines;virtual prototyping;QEMU;Simics checkpoint mechanism;SystemC transaction-level model;SystemC-TLM;full-system simulation environment;virtual platform;virtual prototyping;Bridges;Checkpointing;Kernel;Program processors;Synchronization;Time domain analysis;Time varying systems;SystemC;system-level verification;transaction-level modeling;virtual prototyping
Klingauf, W.; Gunzel, R.; Bringmann, O.; Parfuntseu, P.; Burton, M.; , GreenBus - a generic interconnect fabric for transaction level modelling , in Design Automation Conference, 2006 43rd ACM/IEEE , 2006
Abstract: In this paper, we present a generic interconnect fabric for transaction level modelling tackeling three major aspects. First, a review of the bus and 10 structures that we have analysed, which are common in todays system on chip environments, and require to be modelled at a transaction level. Second our findings in terms of the data structures and interface API s that are required in order to model those (and we believe other) busses and 10 structures. Third the surrounding infrastructure that we believe can, and should be in place to support the modelling of those busses and 10 structures. We present the infrastructure that we have built, and indicate where our future work will head
Keywords: application program interfaces;public domain software;transaction processing;GreenBus;chip environments;data structures;generic interconnect fabric;interface API;transaction level modelling;Data structures;Debugging;Fabrics;Microelectronics;Performance analysis;Permission;Programming profession;Proposals;System-on-a-chip;Transportation;Design;On-Chip Communication;Performance;SoC;SystemC;TLM;Verification
Monton, Marius; Engblom, J.; Burton, M.; , Checkpoint and Restore for SystemC models , in Specification Design Languages, 2009. FDL 2009. Forum on , 2009
Abstract: We present preliminary work in the field of saving and restoring model state within a SystemC simulation environment. Save and restore (or checkpointing) is a useful technique that can greatly assist target software and simulation model development and debug. In contrast to other approaches that aim at saving and restoring the state of an entire simulation process, we investigate mechanisms by which only the essential simulation state is saved. This makes the checkpoints far more compact, and saved simulation states can be moved between host machines, and be used with updated or completely different simulation models. Our results indicate that SystemC models written to certain coding guidelines can be saved and restored reliably. As a result, virtual platforms and platform components written in SystemC can be made more useful to software developers, and support smarter workflows.
Keywords: checkpointing;codes;program debugging;software engineering;SystemC models;checkpointing;codes;model state restoration;software debugging;software development;Checkpointing;Guidelines;Software debugging