Chapitre 2
14 M.C.S.E
et permet de calculer une approximation des caractéristiques des processeurs. L’utilisation
d’un modèle de performance ne nécessite pas une description aussi détaillée que pour les
estimateurs cités précédemment et permet d’extraire un nombre plus important de résultats de
performances dynamiques du partitionnement choisi: temps de latence, débit sur un bus, taux
d’occupation d’une ressource, nombre moyen de messages dans un port de communication,
etc.
Ces résultats de performances s’obtiennent généralement par une approche analytique
(réseau de files d’attente, réseau de Petri stochastique) ou par simulation. La complexité des
systèmes que nous considérons sort souvent du domaine d’application strict des modèles
analytiques et la simulation reste alors la seule alternative possible. Comme le modèle de
performance représente à la fois la partie logicielle et la partie matérielle résultant du
partitionnement, il s’agit en fait d’une technique de co-simulation.
Ce chapitre présente la méthodologie de co-design préconisée au sein de l’équipe MCSE
caractérisée par sa méthode de partitionnement et sa technique de co-simulation. Avant de
décrire le principe de partitionnement qui repose sur une démarche itérative et sur une
évaluation des performances dynamiques du système, nous passons en revue différentes
méthodes de partitionnement. L’évaluation des performances dynamiques est effectuée par une
co-simulation. Nous présentons donc ensuite un panorama des techniques de co-simulation
existantes et celle retenue par l’équipe qui est macroscopique et non interprétée. Le terme
macroscopique signifie que le système n’a pas besoin d’être entièrement détaillé. Le terme
non-interprété signifie que seul le temps des opérations et les dépendances temporelles sont
pris en compte. Pour cette co-simulation, le modèle de performance de MCSE est transcrit en
un code VHDL. Nous allons donc aussi nous intéresser aux techniques de génération de code
et à la modélisation des performances dynamiques des systèmes. Pour la modélisation des
performances des systèmes, différentes classes de modèles de performances des systèmes et
leurs outils les plus représentatifs sont décrits et analysés. L’analyse des modèles de
performances présentés montre qu’ils ne sont pas bien adaptés au co-design. En effet, ils ne
distinguent pas clairement la vue fonctionnelle du système de sa vue architecturale. Or à notre
avis, cette séparation des deux vues est indispensable pour permettre l’exploration correcte du
domaine des solutions possibles lors du partitionnement.
2.1 PRESENTATION DE LA METHODOLOGIE DE CO-DESIGN
Les méthodologies proposées pour le co-design se distinguent essentiellement par:
- les concepts de modélisation utilisés de la spécification du système au produit final,
- les modèles de l’architecture cible. L’architecture cible peut être une architecture
mono-processeur constituée d’un processeur, d’un ensemble de composants matériels
spécifiques (ASIC, FPGA) et éventuellement une mémoire commune. Il peut s’agir
aussi d’une architecture distribuée composée d’un réseau de processeurs matériels
(ASIC, FPGA) et de processeurs logiciels (microprocesseur, DSP, ASIP).
-laméthode de partitionnement (interactif, semi-automatique ou automatique).
- La méthode et technique de co-vérification.
-Latechnique de co-synthèse où l’on retrouve la synthèse du logiciel, du matériel et des
interfaces matériel/logiciel.