Une approche modèle dans la conception de systèmes sur puce hétérogènes Jean-Luc Dekeyser et Lossan Bondé FETCH 07
IP dans le SoC 100% Réutilisé 80% Spécifique 60% 40% 20% 0% 1999 2002 2005 2008 2011 2014
Hétérogénéité dans les SoC Réutilisation de bloc d IP avantages Réduction de coût et du temps de conception Problèmes diversité des origines des blocs IP différents langages de description différents niveaux d abstractions gestion de l hétérogénéité Gestion de l hétérogénéité Langages de description Standards de description des interfaces : Corba, VSIA Niveaux d abstraction Pas de standard, nécessité de solution
Co-model for Co-design: INRIA Dart project High performance computing in embedded systems Regular parallel applications/architecture/allocation oriented Model driven : a UML profile for SoC co-design Verification : Formal models Simulation : Co-simulation with SystemC Runable : Transformations, code production Synthetizable : VHDL for FPGA
Model driven engineering Proposes Increase the reuse of existing developments Reduce the time to market Increase the lifetime of current and future developments Ease the integration of new technologies with long proven business models Means Clear separation Of the fundamental logic of the specification From the particular implementation technologies
UML profiles for embedded systems SPT : Scheduling, Performance and Time Profile foruml 1.x http://www.uml.org/ SysML : UML for Systems Engineering RFP http://www.sysml.org/ UML for SoC Available : http://www.omg.org/cgibin/doc?formal/06-08-01 MARTE : UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) first version: Dec 2006
Nos motivations Un subset de MARTE Embedded High Performance Application Development MppSoC, MPSoC, NoC, Coarse Grained FPGA Computation intensive multidimensional applications Complex data accesses, real time constraints Rigorous design methods and formalisms: MDSDF, GMDSDF, Array-OL Regularity, data parallelism Diversity of Programming languages (software, hardware) Abstraction levels (functional, TLM, CABA, RTL, etc)
Flot de Conception Gaspard
Quadripro with share memory
Application Model
Another hardware model «InterRepetition» repetitionspacedependance=[1,0] modulo=true (0,2) (1,2) (2,2) (0,1) (1,1) (2,1) «InterRepetition» repetitionspacedependance=[0,1] modulo=true (0,0) (1,0) (2,0)
Hétérogénéité des langages L approche à la Corba de l OMG
Solution proposée Transparente pour le concepteur Gaspard Experimentation sur Corba/SystemC Basée sur les approches IDM Modélisation Trace des transformations Pont d interopérabilité Réalisation Transformations de modèles Génération de code
Solution proposé : démarche
Principe du mécanisme de trace
Modélisation de la trace dans Gaspard
Métamodèle de trace
Métamodèle de pont d interopérabilité
Hétérogénéité des niveaux d abstraction
Solution proposée Génération automatique de composants d adaptation (wrappers) la trace détermine les composants à adapter les informations pour l adaptation sont fournies par le modèle de déploiement Comment? par transformations de modèles métamodèle de wrapper qui permet de spécifier son comportement
Illustration : adaptation PVT - CABA
Illustration : paramètres de l exemple Communication bus mémoire Protocole : Handshake simple Requête / Réponse Synchronisation par horloge du système Modélisation du wrapper Automate d états finis
Modélisation du wrapper
Métamodèle du wrapper
Évaluation Métamodèle de wrapper présenté Construit sur mesure Adaptation PVT CABA uniquement Interface VCI Protocole intégré dans l automate Généralisation Extension possible Étude d autres interfaces et protocoles Solution globale (générique) Standard de description de protocole
Download the profile Need Magicdraw Gaspard2 profiles available to day Mail to antoine.honore@lifl.fr Need eclipse framework Transformation process available soon A first version for shared memory beginning 07