Contribution à la mise en place d`une plateforme open

publicité
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)
Université de Bourgogne
1
Plan de la présentation
I.
II.
III.
IV.
V.
Introduction.
Présentation générale des SoCs et de la Cosimulation à 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.
Université de Bourgogne
2
I.
Introduction
I. 1 Contexte et motivations.
I. 2 Contributions.
Université de Bourgogne
3
I.
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.
Université de Bourgogne
4
DSP
HW
CPU
I/F
I/F
I/F
Modèle d'interconnexion
I/F
mémoire
I.
Introduction
I. 1 Contexte et motivations

Solution :
validation et vérification tardive.
Associer plusieurs équipes de concepteurs.
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.
Université de Bourgogne
5
I.
Introduction
I. 1 Contexte et motivations.
I. 2 Contributions.
Université de Bourgogne
6
I.
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
Université de Bourgogne
7
I.
Introduction
I. 2 Contribution
I.
Proposer une méthodologie de Co-simulation entre ISS (OpenRISC)
et SystemC.
II.
La représentation conjointe matériel / logiciel à différents hauts
niveaux d'abstraction (TLM).
III. La conception d'un outil permettant l'automatisation de la génération
des différentes plateformes (Eclipse).
IV. La possibilité d'intégrer des composants hétérogènes ( langages
HDL, niveaux d’abstraction).
Université de Bourgogne
8
Plan de la présentation
I.
II.
III.
IV.
V.
Introduction.
Présentation générale des SoCs et de la Cosimulation à 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.
Université de Bourgogne
9
II.
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
Media d’interconnexion
Mémoire
partagée
Université de Bourgogne
10
Proc 1
II.
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
Université de Bourgogne
11
Plan de la présentation
I.
II.
III.
IV.
V.
Introduction.
Présentation générale des SoCs et de la Cosimulation à 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.
Université de Bourgogne
12
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
Université de Bourgogne
13
III.
Définition de l'environnement de
simulation de STARSoC.
III.1 L'outil STARSoC
Université de Bourgogne
14
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é.
Université de Bourgogne
15
III.
Définition de l'environnement de
simulation de STARSoC.
III.1 SystemC V2.1
 Pourquoi SystemC ?
Université de Bourgogne
16
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),
Université de Bourgogne
17
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
Absence
de signaux
De
contrôle
Signaux de contrôle
Exemple d'une connexion Wishbone au niveau fonctionnelles
Exemple d'une Connexion point-à-point au
niveau RTL
Université de Bourgogne
18
III.
Définition de l'environnement de
simulation de STARSoC.
III.5 La modélisation au niveau transactionnel TLM
1.
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.
2.
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)
Université de Bourgogne
19
III.
Définition de l'environnement de
simulation de STARSoC.
III.5 La modélisation au niveau transactionnel TLM
Untimed
Temps
Address
SC
Arbitre
1. Exemple du modèle architecture
Interface
2. Exemple du modèle arbitration /
instruction accurarte
3. Exemple du modèle calcul au niveau
4. Exemple du modèle implémentation (RTL)
(cycle précis)
Université de Bourgogne
20
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
Université de Bourgogne
21
Plan de la présentation
I.
II.
III.
IV.
V.
Introduction.
Présentation générale des SoCs et de la Cosimulation à 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.
Université de Bourgogne
22
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.
Université de Bourgogne
23
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
Université de Bourgogne
24
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
Université de Bourgogne
25
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
Université de Bourgogne
26
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é.
Université de Bourgogne
27
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
Université de Bourgogne
28
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
Université de Bourgogne
29
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
Exemple d’intégration multiprocesseur
Université de Bourgogne
30
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
Université de Bourgogne
31
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
Université de Bourgogne
32
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
Université de Bourgogne
33
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:
Université de Bourgogne
34
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
Université de Bourgogne
35
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
Université de Bourgogne
36
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.
Université de Bourgogne
37
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.
Université de Bourgogne
38
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.
Université de Bourgogne
39
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) :
Université de Bourgogne
40
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.
Université de Bourgogne
41
IV. Méthodologie de conception et de Co-simulation
multi-niveaux dans l'environnement STARSoC.
Université de Bourgogne
42
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
simulations times
simulations times
simulations times
simulations times
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
Abstraction levels
Université de Bourgogne
43
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
Université de Bourgogne
44
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 :
1. Tester notre méthodologie.
2. Vérifier la synchronisation et la communication.
3. Première évaluation de performances (temps d’exécution).
4. Preuve de faisabilité et non pas une étude de cas exhaustifs.
Université de Bourgogne
45
Plan de la présentation
I.
II.
III.
IV.
V.
Introduction.
Présentation générale des SoCs et de la Cosimulation à 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.
Université de Bourgogne
46
V.
Conclusion et perspectives.
V. 1 Conclusion.
1. 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.
2. 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.).
3. Proposition d’une méthodologie de conception qui facilite et accélère la
conception, basée sur plusieurs étapes de haut niveau.
4. Un modèle unifié permettant la représentation conjointe (HW/SW) à différents
niveaux d'abstraction.
5. Développement
l'architecture
Université de Bourgogne
d’un outil permettant la génération automatique de
47
V.
Conclusion et perspectives.
V. 2 Perspectives.
1. Nouveaux systèmes de communication (interconnexion) (NoC).
2. Étendre la bibliothèque des composants.
3. Utilisation (implémentation) de processeurs hétérogènes « MPSoC hétérogène »
4. L'implémentation d'un système d'exploitation embarqué temps réel, ainsi que
l’implémentation de quelques applications réelles.
Université de Bourgogne
48
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-95174611-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.

Université de Bourgogne
49
Téléchargement