Date : 15 mai 2019
Lieu : Paris, Jussieu, salle 211 tour 55-65
Le compte-rendu de la journée est disponible ici :
compte-rendu-journee-outils-simu
Contexte
Objectifs de la journée
Programme
Début de journée vers 10h, fin vers 17h.
- 9h30 – 10h : accueil café
- 10h – 10h15 : Introduction
- 10h15 – 11h15 : Maria Mendez
- Retour d’expérience : utilisation et développement sur OVP
- 11h15 – 12h15 : Abdoulaye Gamatié
- Multicore System Design using the gem5 Simulation Framework
- 12h15 – 13h30 : Repas
- 13h30 – 14h30 : Frédéric Pétrot
- QEMU + SystemC integration for virtual prototyping
- 14h30 – 15h30 : Guillaume Delbergue
- The cruelest and pleasant things I’ve ever used with the IEEE SystemC/TLM standard
- 15h30 – 16h30 : Quentin Meunier
- Soclib : une bibliothèque pour le prototypage virtuel – présentation et retour d’expérience
- 16h30 – 17h : discussion
Résumé des présentations
Retour d’expérience : utilisation et développement sur OVP
OVP (Open Virtual Platforms) est une technologie de prototypage virtuel développée par Imperas pour la modélisation et la simulation de systèmes multi-coeurs complets. Cette technologie, précise à l’instruction près, permet des simulations de systèmes complexes extrêmement rapides avec l’exécution de 100s de MIPS sur un ordinateur classique. OVP consiste principalement en un simulateur ISS (Instruction Set Simulator), ainsi que des modèles open source de processeurs (ARM, ORC1, RISC-V,…) et de périphériques. Additionnellement, OVP permet l’encapsulation de modèles développés en SystemC TLM.
Cette présentation fera un retour d’expérience sur l’utilisation de cette technologie en exposant ses avantages mais aussi les limitations rencontrées. L’extension de cet outil avec un réseau-sur-puce modélisé en SystemC sera également présentée.
Multicore System Design using the gem5 Simulation Framework (send me an email to get the slides)
Multicore architectures have become the de-facto solution to meet the ever-increasing performance/power efficiency demand in modern compute systems. In practice, designing such energy-efficient systems requires well-suited decisions about the configuration of hardware devices (e.g., parameters of cores, interconnect and memory), software components (e.g., OS and application code optimization) and the combination of both parts (e.g., workload mapping on hardware devices). Effective design space exploration frameworks are required to deal with such a complex design task. By effective, we mean frameworks that provide designers with adequate technical design concepts, relevant design abstractions, easy configurability and reasonable simulation times for easy decision-making.
This talk focuses on the gem5 simulation framework and discusses how it can assist the designer to evaluate different design choices. gem5 provides the user with a set of concepts (CPU, memory and interconnect models) that can be combined to build target architectures. It also supports a full-system simulation (based on linux), which is quite attractive for relevant system assessment.
The cruelest and pleasant things I’ve ever used with the IEEE SystemC/TLM standard (slides)
SystemC is a C++ serialization library designed to describe system and hardware designs. It adds notions to the C++ language for modelling and simulation but it can also be used for synthesis. Basically, the SystemC standard provides the bricks to build hardware like modules, interfaces, etc. TLM-2.0, coming along with SystemC, aims to provide a fast data transaction layer at a higher abstraction level. Both solutions are helpful to design virtual prototypes. They look like the right candidate, don’t they?
For many years, I used SystemC for various use cases and contributed to the standard. Hiventive is using this standard for virtual prototyping. However, even with continuous upgrade of the standard, some use cases doesn’t fit well and can’t be easily resolved. Is SystemC the right solution for your use case ? Join the talk and discover the friendly and less friendly parts of SystemC/TLM. No worry, there will be a happy end.
Soclib : une bibliothèque pour le prototypage virtuel – présentation et retour d’expérience (slides)
Soclib est une bibliothèque C++ qui repose sur SystemC et qui a pour but le prototypage virtuel et la simulation précise d’architectures à base de processeurs. Si Soclib a été conçue à l’origine pour pouvoir gérer plusieurs niveaux de modélisation (CABA et TLM), la présentation ne portera que sur le niveau CABA (cycle-accurate). Après une présentation des principes sous-jacents à Soclib et de son utilisation, cette présentation s’attachera à faire un retour d’expérience personnel concernant l’utilisation de cet outil de simulation. En outre, l’architecture TSAR sera présentée comme un exemple de réalisation d’une architecture complexe basée sur soclib.