Exploration des approches de synchronisation directes pour la simulation unifiée et de haut niveau des systèmes continus/discrets

by Breytner Fernandez Mesa

Thesis project in Informatique

Under the supervision of Frédéric Petrot (mstii).

Ongoing thesis at Grenoble Alpes , under the authority of Mathématiques, Sciences et technologies de l'information, Informatique , in a partnership with Techniques de l'Informatique et de la Microélectronique pour l'Architecture des systèmes intégrés (laboratoire) and Groupe microsystèmes (equipe de recherche) since 01-10-2018 .

  • Alternative Title

    Exploration of Direct Synchronization Approaches for a High-Level and Unified Simulation of Discrete-Event/Continuous-Time Systems


  • Abstract

    Modeling, simulation and validation of integrated systems has become a complex issue since they include components of heterogeneous nature (microprocessors, memory, sensors or actuators, …). As these modern integrated systems can be deployed for performing critical applications (medical, aviation, industrial control, military, etc.) and they have an important development cost, it is essential to model and validate them early in the design flow by means of executable models of hardware systems. From an integrated systems designer perspective, virtual prototypes allowing a functional and non-functional (time, power, temperature) description of the internal components and of the communications they perform with the external world, are needed. In order to reduce development costs and development time, designers crave for unified simulation frameworks offer solutions for composing subsystems that can eventually be described in several untimed or timed domains (discrete, continuous, sampled). Environments designed this way guarantee an optimized solution for validating the system as a whole, without needing expertise to handle dedicated or single-domain simulation tools or without resorting to co-simulation approaches. Indeed, the frequent synchronization between executions of different simulation environments greatly decrease the overall simulation performance. The SystemC and SystemC AMS standards have been created to increase the capabilities of designer to specify and validate virtual prototypes at high level of abstraction. On the one hand, SystemC addresses modeling and simulation of software and digital hardware systems (Discrete-Event, DE, semantics). On the other hand, the Analog/Mixed-Signal (AMS) extensions of SystemC address the description of analogue hardware systems, which can be described following approximated Discrete-Time (DT) and Continuous-Time (CT) behaviors. Based on the latter standard, two prototypes have been proposed. First SystemC-AMS, who despite allowing DE/CT interactions, uses implicit DT semantics. This results in limited operation of continuous systems: their simulation precision is restricted for a fixed time-step established when simulation starts, and their model of time is not suitable for describing non-linear behaviors. Second, SystemC MDVP, who formalizes only DE/DT interactions but proposes an infrastructure to easily add new synchronization mechanisms. This thesis focuses on the definition of a mechanism for synchronizing heterogeneous integrated systems at high level of abstraction, using as reference the SystemC and SystemC AMS standards. Its objective is to provide a unified approach for ensuring direct interactions between discrete-event and continuous-time domains, without involving external temporal restrictions imposed by others timed or untimed domains. This approach should determine the order in which different systems parts are executed and interrupted without affecting the causality and precision of global simulation. During this thesis, the student will have to: • Review the state of the art of modeling and simulation languages/prototypes allowing discrete-event and continuous-time simulation at different levels of abstraction. • Evaluate synchronization approaches implemented on each prototype and highlight its advantages and drawbacks. • Formalize a synchronization mechanism able to handle interactions between discrete-event and continuous-time systems, which can be described by linear or non-linear semantics and solved using fixed-step or variable-step solvers. • Integrate the proposed synchronization mechanism within one of the existing simulator prototypes to validate the proposed solutions. • Develop several case studies to evaluate the synchronization and simulation performances. • Value the research results in national and international conferences and journals.


  • Abstract

    La modélisation, la simulation et la validation de systèmes intégrés est devenue une question complexe puisque ces systèmes intègrent des composants de nature hétérogène (microprocesseurs, mémoire, capteurs ou actionneurs,....). Comme ces systèmes intégrés modernes peuvent être déployés pour des applications critiques (médical, aviation, contrôle industriel, militaire, etc.) et qu'ils ont un coût de développement important, il est essentiel de les modéliser et de les valider dès le début du processus de conception au moyen de modèles exécutables de systèmes matériels. Du point de vue d'un concepteur de systèmes intégrés, des prototypes virtuels permettant une description fonctionnelle et non fonctionnelle (temps, puissance, température) des composants internes et des communications qu'ils effectuent avec le monde extérieur sont nécessaires. Afin de réduire les coûts de développement et le temps de développement, les concepteurs recherchent des cadres de simulation unifiés qui offrent des solutions de composition de sous-systèmes pouvant éventuellement être décrits dans plusieurs domaines non timé ou timé (discrets, continus, échantillonnés). Les environnements ainsi conçus garantissent une solution optimisée pour valider le système dans son ensemble, sans avoir besoin d'expertise pour manipuler des outils de simulation dédiés ou à domaine unique ou sans recourir à des approches de co-simulation. En effet, la synchronisation fréquente entre les exécutions de différents environnements de simulation diminue considérablement la performance globale de la simulation. Les standards SystemC et SystemC AMS ont été créées pour accroître les capacités du concepteur à spécifier et valider des prototypes virtuels à haut niveau d'abstraction. D'une part, SystemC traite de la modélisation et de la simulation de systèmes logiciels et matériels numériques à l'aide la simulation à événements discrets (DE). D'autre part, les extensions analogiques (AMS) de SystemC visent la description des systèmes matériels analogiques, qui peuvent être décrits suivant les comportements approximatifs de type temps discret (DT) et temps continu (CT). Sur la base de ce standard, deux prototypes ont été proposés. Tout d'abord SystemC-AMS, qui malgré l'autorisation d'interactions DE/CT, utilise la sémantique implicite DT. Il en résulte un fonctionnement limité des systèmes continus : leur précision de simulation est limitée pour un pas de temps fixe établi au début de la simulation, et leur modèle de temps n'est pas adapté à la description de comportements non linéaires. Deuxièmement, SystemC MDVP, qui ne formalise que les interactions DE/DT mais propose une infrastructure pour ajouter facilement de nouveaux mécanismes de synchronisation. Cette thèse porte sur la définition d'un mécanisme de synchronisation de modèles de systèmes intégrés hétérogènes à haut niveau d'abstraction, en utilisant comme référence les standards SystemC et SystemC AMS. Son objectif est de proposer une approche unifiée pour assurer des interactions directes entre les domaines à événements discrets et les domaines à temps continu, sans impliquer de restrictions temporelles externes imposées par d'autres domaines timés ou non timés. Cette approche devrait déterminer l'ordre dans lequel les différentes parties du système sont exécutées et interrompues sans affecter la causalité et la précision de la simulation globale. Au cours de cette thèse, l'étudiant devra : o Revoir l'état de l'art de la modélisation et des langages de simulation/prototypes permettant la simulation d'événements discrets et en temps continu à différents niveaux d'abstraction. o Évaluer les approches de synchronisation mises en œuvre sur chaque prototype et mettre en évidence ses avantages et ses inconvénients. o Formaliser un mécanisme de synchronisation capable de gérer les interactions entre les systèmes à événements discrets et les systèmes à temps continu, qui peuvent être décrits par une sémantique linéaire ou non linéaire et résolus à l'aide de solveurs à pas fixe ou à pas variable. o Intégrer le mécanisme de synchronisation proposé dans l'un des prototypes de simulateurs existants pour valider les solutions proposées. o Développer plusieurs études de cas pour évaluer les performances de synchronisation et de simulation. o Valoriser les résultats de la recherche dans des conférences et revues nationales et internationales.