3) Limitations actuelles du flot ROSES.......................................................................................................35
2.3.3.Approche proposée.........................................................................................................................................35
2.4.Conclusion.............................................................................................................................................36
Chapitre 3
Abstraction de l'interface logicielle/matérielle et état de l'art...........................................................................38
3.1.Abstraction de l'interface logicielle/matérielle......................................................................................39
3.1.1.L'entité « interface logicielle/matérielle »......................................................................................................39
3.1.1.1.Caractère distribué de l'interface logicielle/matérielle..........................................................................40
3.1.1.2.Position dans le flot ROSES..................................................................................................................41
3.1.2.Niveaux d'abstraction de l'interface de communication matérielle................................................................42
3.1.2.1.Critères de classification........................................................................................................................42
3.1.2.2.Niveau RTL...........................................................................................................................................43
3.1.2.3.Niveau TLM transfert............................................................................................................................44
3.1.2.4.Niveau TLM transaction........................................................................................................................44
3.1.2.5.Niveau TLM message............................................................................................................................45
3.1.3.Niveaux d'abstraction de l'interface de programmation (API) ......................................................................46
3.1.3.1.Notion d'interface de programmation....................................................................................................46
3.1.3.2.Le niveau ISA........................................................................................................................................48
3.1.3.3.Le niveau HAL......................................................................................................................................49
3.1.3.4.Le niveau système d'exploitation OS.....................................................................................................50
3.1.3.5.Tableau récapitulatif:.............................................................................................................................51
3.2.Validation de l'interface logicielle/matérielle........................................................................................51
3.2.1.simulation multi-niveaux de l'interface logicielle/matérielle.........................................................................52
3.2.2.Approches existants pour la cosimulation logicielle/matérielle.....................................................................54
3.2.2.1.Simulation partielle des parties logicielles et matérielles......................................................................54
1) Simulation partielle de la partie matérielle ...........................................................................................54
2) Simulation partielle de la partie logicielle..............................................................................................54
3.2.2.2.Utilisation d'un modèle de processeur...................................................................................................55
1) Abstraction de la micro-architecture du processeur...............................................................................55
2) Cosimulation avec modèle HDL du processeur .....................................................................................56
3) Cosimulation avec un simulateur du jeux d'instruction..........................................................................56
3.2.2.3.Approches haut niveau pour la cosimulation.........................................................................................57
1) Utilisation d'un modèle de simulation du Système d'exploitation...........................................................57
2) L'environnement VCC de Cadence..........................................................................................................60
3.2.2.4.Estimation du temps d'exécution du logiciel.........................................................................................61
1) Annotation statique ................................................................................................................................61
2) Estimation dynamique.............................................................................................................................62
3.3.Conclusion.............................................................................................................................................63
Chapitre 4
Méthodologie multi-niveaux pour la cosimulation de l'interface logicielle/matérielle....................................64
4.1.Méthodologie proposée..........................................................................................................................65
4.1.1.Vue globale des étapes du flot........................................................................................................................65
4.1.2.Architecture virtuelle......................................................................................................................................67
4.1.3.Prototype virtuel.............................................................................................................................................67
4.1.4.Micro-architecture..........................................................................................................................................68
4.2.Exécution native du logiciel embarqué dans un simulateur matériel à événements discrets.................70
4.2.1.Problèmes liés à l'exécution native du logiciel...............................................................................................71
4.2.1.1.L'exécution native comme solution naturelle aux niveaux d'abstraction considérés............................71
4.2.1.2.Exécution native dans SystemC : motivation........................................................................................72
4.2.2.L'environnement SystemC.............................................................................................................................73
4.2.2.1.Eléments structurels d'une description SystemC...................................................................................73
4.2.2.2.Eléments comportementals d'une description SystemC: le modèle à événements discrets..................73
4.2.3.Estimation du temps d'exécution du logiciel..................................................................................................76
4.2.3.1.Dépendance au flot de contrôle: découpage en blocs de base...............................................................76
4.2.3.2.Dépendance au compilateur...................................................................................................................78
4.2.3.3.Dépendance à l'architecture matérielle..................................................................................................78