Contribution à la mise en place d'une plateforme open-source MPSoC sous SystemC pour la Co-simulation d'architectures hétérogènes Thèse préparée par.

Slides:



Advertisements
Présentations similaires
Yassine Lakhnech Prof. UJF Verimag
Advertisements

Eléments de Génie Logiciel
La Gestion de la Configuration
Un processus de conception des logiciels distribués pour l’automobile
IREMIA : Institut de REcherche en Mathématiques et Informatique Appliquées Université de la Réunion Uniformisation des mécanismes de conception de SMA.
Projet FIACRE 1 ACI Sécurité InformatiqueToulouse, novembre 2004 FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour lanalyse.
Types des systèmes d’exploitation
J. Paul Gibson Bureau A 207, Le département LOgiciels-Réseaux
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction.
Les démarches de développement
Thème « Modélisation comportementale des Systèmes critiques »
Tests et Validation du logiciel
Projet 4info.
Les Ateliers de Génie Logiciel
Réalisé avec le soutien de 2005 FAROS : composition de contrats pour la Fiabilité d'ARchitectures Orientées Services Définir un environnement de composition.
Présenté par :BENLAZREG med amine HADJ slimane anis
le profil UML en temps réel MARTE
Recherche d’un thème de projet Identification d’un besoin
Algorithmique et Programmation
Réalisée par :Samira RAHALI
Cours #8 Flot de conception d’un circuit numérique
Le projet en STI2D Initier le projet Délimiter les champs du possible
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Techniques de test Boulanger Jean-Louis.
Synthèse d’activités Présentation.
C6E2 Positionnement de C6E2 par rapport à SimPA2 et Modelica
Formation en alternance
Présentation du mémoire
Les systèmes multiplateformes
Tolerance Manager Un concept métier
Réunion de collaboration du 9-10 Juillet 2008 J.L. Béney 1 Logiciel At  Client-Serveur Tcp/ip de la station autonome  Influence de l'architecture matérielle.
Lycée ELKHAWARIZMI De SAFI
ANALYSE METHODE & OUTILS
1 Rencontres IrisaTech Modélisation formelle de systèmes embarqués et applications Programme IntroductionJean-Pierre Talpin Composants riches et modélisation.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeurs sous-RISC et application aux réseaux Quand.
Supports de formation au SQ Unifié
8INF856 Programmation sur architectures parallèles
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
MICROLOR Le savoir partagé
Test de l’unité d’exécution d’une instruction par application d’instructions de test Projet du cours ELE6306 : Tests des systèmes électroniques. Nicolas.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
GENIE LOGICIEL
INF8505: processeurs embarqués configurables
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
Les systèmes mono-puce
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.
« Validation Formelle de Systèmes Interactifs »
Introduction au Génie Logiciel
Noyau Linux et multi-processeur sur plateforme embarquée ST50 Vendredi 18 Mars 2005 – Thomas Petazzoni.
Implantation de processeurs dans les FPGA et ASIC
Initiation à la conception des systèmes d'informations
Construction d'une hiérarchie mémoire faible consommation
Steven Derrien Équipe R2D2
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
1 Université Henri Poincaré, Nancy 1 La préemption appliquée aux FPGAs Soutenance de rapport bibliographique de DEA Faculté des Sciences Vandoeuvre-lès-Nancy.
Introduction et Généralités sur l’Algorithmique
Laboratoire Intégration des Architectures Numériques (IAN)
Année 2006 – 2007 ENSEA © Emeric Rollin
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
Optimisation pour la Conception de Systèmes Embarqués
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC
C’est ce que l’on veut obtenir la manière dont on va l’obtenir
Transcription de la présentation:

Contribution à la mise en place d'une plateforme open-source MPSoC sous SystemC pour la Co-simulation d'architectures hétérogènes Thèse préparée par : Sami BOUKHECHEM Directeur de thèse : El-Bay BOURENNANE (Université de Bourgogne)

Plan de la présentation Introduction. Présentation générale des SoCs et de la Co-simulation à haut niveau. Définition de l'environnement de simulation de STARSoC. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. Conclusion et perspectives.

Introduction I. 1 Contexte et motivations. I. 2 Contributions.

Introduction I. 1 Contexte et motivations Difficulté de conception liée à la très grande complexité des architectures. Problématique: L’hétérogénéité des composants ainsi que leurs intégrations. Des délais de conception inacceptables au vue de la concurrence.

Introduction I. 1 Contexte et motivations Solution : Associer plusieurs équipes de concepteurs. validation et vérification tardive. Le recours à de nouvelles approches est devenue nécessaire : - Assemblage et réutilisation de composants. - Méthodes de conception/validation basées sur des Co-simulation à haut niveau. Vérification et la validation le plus tôt possible : Contraintes : La consommation en énergie et en espace. Temps de mise sur le marché et le coût. La performance. Temps réel.

Introduction I. 1 Contexte et motivations. I. 2 Contributions.

Introduction I. 2 Contribution La modélisation de systèmes électroniques embarqués hétérogènes. Proposition d'une approche pour l'accélération des étapes de vérification à haut niveau. Proposition d’une méthodologie de conception à haut niveau Nouveau flot de conception de l’outil STARSoC

Introduction I. 2 Contribution Proposer une méthodologie de Co-simulation entre ISS (OpenRISC) et SystemC. La représentation conjointe matériel / logiciel à différents hauts niveaux d'abstraction (TLM). La conception d'un outil permettant l'automatisation de la génération des différentes plateformes (Eclipse). La possibilité d'intégrer des composants hétérogènes ( langages HDL, niveaux d’abstraction).

Plan de la présentation Introduction. Présentation générale des SoCs et de la Co-simulation à haut niveau. Définition de l'environnement de simulation de STARSoC. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. Conclusion et perspectives.

Présentation générale des SoCs et de la Co-simulation à haut niveau II. 2 Architecture de systèmes multiprocesseur monopuces. les systèmes Multiprocesseur monopuces : Proc n Proc 2 Proc 1 Media d’interconnexion Mémoire partagée

Présentation générale des SoCs et de la Co-simulation à haut niveau II. 4 Flot générique de conception des systèmes sur puce. Trois étapes essentielles : La spécification de l'application. L'exploration d'architecture. L'implémentation physique la co-simulation de haut niveau repose sur différents modèles et vise plusieurs objectifs : Vérification fonctionnelle ou comportementale. L’évaluation des performances. La simulation du logiciel peut être effectuée par deux techniques

Plan de la présentation Introduction. Présentation générale des SoCs et de la Co-simulation à haut niveau. Définition de l'environnement de simulation de STARSoC. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. Conclusion et perspectives.

III. Définition de l'environnement de simulation de STARSoC. III.1 L'outil STARSoC III.2 SystemC V2.1 III.3 Le simulateur du jeu d'instruction "ISS" OR1Ksim III.4 Le bus wishbone III.5 La modélisation au niveau transactionnel TLM III.6 L’IDE STARSoC sous Eclipse

III. Définition de l'environnement de simulation de STARSoC. III.1 L'outil STARSoC

III. Définition de l'environnement de simulation de STARSoC. III.1 SystemC V2.1 But du travail : Même environnement de simulation (logicielle / matérielle) à un niveau d’abstraction élevé.

III. Définition de l'environnement de simulation de STARSoC. III.1 SystemC V2.1 Pourquoi SystemC ?

III. Définition de l'environnement de simulation de STARSoC. III.3 Le simulateur du jeu d'instruction "ISS" OR1Ksim Présentation des éléments composant la plateforme OR1Ksim L’ISS du processeur OpenRisc 1200 Exemple de l'architecture du processeur OpenRisc 1200 Simulateur gratuit et code source libre (open source). Architecture de simulation de haut niveau rapide. OR1Ksim supporte la majorité des modèles de périphériques d'Open-Cores tels que : VGA/LCD, UART, DMA, contrôleur mémoire, interface PS2, etc. Un ajout facile de nouveaux modèles de périphériques, Un débogage facile grâce à l'utilisation des sockets avec le debugger (GDB),

III. Définition de l'environnement de simulation de STARSoC. III.4 Le bus wishbone Les niveaux d'abstraction du modèle wishbone Absence de signaux De contrôle Absence de Signaux de contrôle Exemple d'une connexion Wishbone au niveau fonctionnelles Exemple d'une Connexion point-à-point au niveau RTL

III. Définition de l'environnement de simulation de STARSoC. III.5 La modélisation au niveau transactionnel TLM Offrir plusieurs niveaux de conception adéquats pour les validations de quelques détails d'implémentation, pour un modèle représentant un système complet ou une partie d'un système. Offrir des vitesses de simulation convenables pour la vérification, l'exploration d'architecture et la validation d'un modèle. Les différents niveaux d'abstraction d'un système (L. Cai & D. Gajski)

III. Définition de l'environnement de simulation de STARSoC. III.5 La modélisation au niveau transactionnel TLM 2. Exemple du modèle arbitration / instruction accurarte SC Untimed Temps Address Arbitre Interface 1. Exemple du modèle architecture 3. Exemple du modèle calcul au niveau (cycle précis) 4. Exemple du modèle implémentation (RTL)

III. Définition de l'environnement de simulation de STARSoC. III.6 L’IDE STARSoC sous Eclipse Éléments principaux de l'interface utilisateur de STARSoC

Plan de la présentation Introduction. Présentation générale des SoCs et de la Co-simulation à haut niveau. Définition de l'environnement de simulation de STARSoC. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. Conclusion et perspectives.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC architecture. Le modèle STARSoC arbitration. Le modèle STARSoC calcul au niveau cycle précis. IV. 2 Présentation du flot de génération automatique d'architecture. Génération de l’architecture. Résultats attendus. Étape du générateur. IV. 3 La co-simulation. Choix et description de l’application de test. Génération et exécution de la plateforme à différents niveaux d’abstraction. Analyse des résultats obtenus.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Ajout d'un nouveau niveau intermédiaire (niveau transactionnel). Flot de conception de l'outil STARSoC avec le niveau transactionnel

Les trois niveaux transactionnels dans le flot de conception de IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Les trois niveaux transactionnels dans le flot de conception de l'outil STARSoC

Le modèle du niveau STARSoC architecture IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC architecture. Séparation entre les communications et les calculs. Utilisation des simulateurs de jeux d'instruction du processeur OpenRisc. Utilisation des IPC « PIPE ». Le modèle du niveau STARSoC architecture

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC arbitration Introduction de quelques paramètres : Les adresses. Le module d'arbitrage. Langage SystemC. Temps But : Vérifications sur les signaux de contrôle du système. Vérification temporelle. Problématique : Problème de compatibilité.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 1 Architecture de systèmes multiprocesseur monopuces. Interface de communication et wrapper : Besoins et applications des interfaces de communication : L'hétérogénéité du système L'exploration d'architecture

Communication par IPC avec SystemC IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC arbitration ISS1 est décrit en langage C. Le reste de la plateforme est décrite en SystemC au niveau arbitration Communication par IPC avec SystemC

Exemple d’intégration multiprocesseur IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC arbitration Exemple d’intégration multiprocesseur

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC arbitration Connexion de l'ISS « Open source » : Connexion des entrées/sorties de l'ISS aux entrées/sorties correspondantes du wrapper de la plateforme

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC arbitration Traduction des informations par le wrapper : Traduction en informations compatibles avec le niveau d'abstraction courant de la plateforme

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC arbitration Connexion de l'horloge à l'ISS: But : Effectuer une première vérification temporelle de l'exécution de la plateforme ainsi que les communications ( modèle STARSoC arbitration = Instruction Accurate model). Instruction par chaque cycle

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC arbitration Modèle TLM détaillé du bus wishbone:

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV.1 Le niveau d'abstraction transactionnel dans l'outil STARSoC. Le modèle STARSoC calcul au niveau cycle précis. But : Les éléments de calcul respectent le nombre de cycles nécessaires pour l'exécution de chaque instruction

Flot de génération d'architecture de STARSoC IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 2 Présentation du flot de génération automatique d'architecture. Génération de l’architecture. Flot de génération d'architecture de STARSoC

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 2 Présentation du flot de génération automatique d'architecture. Rappel des objectifs. La flexibilité de la définition de l’architecture. Le comportement de la plateforme doit être correct. Le temps nécessaire à la définition doit être minimal.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 2 Présentation du flot de génération automatique d'architecture. Étape du générateur.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 3 La co-simulation. Choix et description de l’application de test : But : Tester et vérifier la méthodologie de génération et de simulation proposée au cours de ce travail. Application proposée : Algorithme du producteur / consommateur.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 3 La co-simulation. Choix et Description de l’application de test. Compilation de l’application (Cross-Compilation): Obtenir un programme exécutable sur le processeur cible. Définition de l’espace d’adressage partagée (Shared Memory) :

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 3 La co-simulation. Génération et exécution de la plateforme à différents niveaux d’abstraction. Génération et exécution de la plateforme au niveau Instruction Accurate (IA) : A chaque cycle d'horloge les processeurs Proc1 et Proc2 exécutent une seule instruction. Génération et exécution de plateforme au niveau Cycle Accurate (CA) : Respecter le nombre de cycles nécessaires pour l'exécution de chaque instruction.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC.

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 3 La co-simulation. Analyse des résultats obtenus. Les résultats sont obtenus en utilisant le même programme de test sur les différentes architectures. Les exécutions des différentes simulations ont été effectuées sur la même machine (station linux fédora core 3, Pentium 4, 2.2 Ghz, mémoire 768 Mo). La fréquence de simulation (L'horloge H est générée par SystemC) est de 50 MHz, soit une période de 20 ns même fréquence eu niveau RTL.   Number of iterations 10 100 1000 2000 3000 Abstraction levels simulations times Instruction Accurate 0,0506 0,47474 1,87333 3,79667 5,93 Cycle Accurate 0,12198 0,75617 4,79333 9,72667 14,17333 RTL 2,92548 12,56321 89,24541 332,39049 2107,3557

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 3 La co-simulation. Analyse des résultats obtenus. La validation avec une simulation de haut niveau (transactionnelle) est jusqu'à 400 fois plus rapide (voir plus selon la taille de l'application) Vérification de la méthodologie ainsi que la démarche proposées au sein de ce travail de thèse. Graphique des gains en temps de simulation

IV. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. IV. 3 La co-simulation. Analyse des résultats obtenus : Tester notre méthodologie. Vérifier la synchronisation et la communication. Première évaluation de performances (temps d’exécution). Preuve de faisabilité et non pas une étude de cas exhaustifs.

Plan de la présentation Introduction. Présentation générale des SoCs et de la Co-simulation à haut niveau. Définition de l'environnement de simulation de STARSoC. Méthodologie de conception et de Co-simulation multi-niveaux dans l'environnement STARSoC. Conclusion et perspectives.

V. Conclusion et perspectives. Réduction du gap entre le modèle au niveau système (spécification) et le modèle d'architecture (implémentation) dans l’outil STARSoC. Résolution des problèmes liés à l'hétérogénéité des composants intégrant le système (niveaux d'abstraction, langage de spécification, protocoles de communication, etc.). Proposition d’une méthodologie de conception qui facilite et accélère la conception, basée sur plusieurs étapes de haut niveau. Un modèle unifié permettant la représentation conjointe (HW/SW) à différents niveaux d'abstraction. Développement d’un outil permettant la génération automatique de l'architecture

V. Conclusion et perspectives. V. 2 Perspectives. Nouveaux systèmes de communication (interconnexion) (NoC). Étendre la bibliothèque des composants. Utilisation (implémentation) de processeurs hétérogènes « MPSoC hétérogène » L'implémentation d'un système d'exploitation embarqué temps réel, ainsi que l’implémentation de quelques applications réelles.

Publications Revues (1) "SystemC Transaction-Level Modeling of an MPSoC Platform Based on an Open Source ISS by Using Interprocess Communication", Sami BOUKHECHEM, Elbey BOURENNANE, International Journal of Reconfigurable Computing (IJRC), Hindawi Publishing Corporation, 2008, September 2008, http://www.hindawi.com/GetArticle.aspx?doi=10.1155/2008/902653 Conférences internationales (4) "TLM Platform Based on SystemC for STARSoC Design Space Exploration", Sami BOUKHECHEM, Elbey BOURENNANE, IEEE NASA/ESA Conference on Adaptive Hardware and Systems, IEEE, Noordwijk, Netherlands, 22 June 2008. "Co-simulation Platform Based on SystemC for Multiprocessor System on Chip Architecture Exploration", Sami BOUKHECHEM, Elbey BOURENNANE, Abdelhalim SAMAHI, IEEE International Conference on Microelectronics (ICM), cairo, Egypt, 29 December 2007. "Communication Interface Generation For HW/SW Architecture In The STARSoC Environment", Abdelhalim SAMAHI, Elbey BOURENNANE, Sami BOUKHECHEM, IEEE International conference on Reconfigurable Computing and FPGA's, IEEE Computer Society Press , San louis Potosi , Mexico, 20 September 2006. "Platform for Rapid Prototyping of Embedded System", Abdelhalim SAMAHI, Sami BOUKHECHEM, Elbey BOURENNANE, Nasser Eddine IDIRÈNE, IEEE International Computer Systems & Information Technology Conference (ICSIT'05), Alger, Algérie, pp. 341-346, 19 Juillet 2005. Workshops internationaux (1) "STARSoC : A C-Based Platform for Rapid Prototyping of Embedded System", Abdelhalim SAMAHI, Sami BOUKHECHEM, Elbey BOURENNANE, Nasser Eddine IDIRÈNE, RecoSoC'05, ISBN : 2-9517-4611-3, Montpellier, France, 1 (1), pp. 177-182, 27 Juin 2005. Workshops nationaux (1) "Using TLM Simulation Methodology Under STARSoC ", Sami BOUKHECHEM, Elbey BOURENNANE, GDR SoC-SiP, Paris, France, 2008.