• Aucun résultat trouvé

M

odéliser un système intégré sur puce consiste à modéliser l’architecture matérielle et à décrire l’application logicielle puis à déployer ce logiciel sur ce matériel. Le concepteur de système cherche à optimiser le système intégré lors de l’exploration architecturale. Les prin-cipaux critères d’optimisation sont la surface de silicium occupée, la consommation d’énergie du système intégré, et les performances en nombre de cycles. L’évaluation d’une solution de déploiement est obtenue par simulation architecturale.

L’objectif de cette thèse est d’accélérer la simulation d’architectures complexes décrites en langage SystemC, avec des modèles précis au bit près et au cycle près. Dans les sections sui-vantes, nous dressons un bilan des travaux réalisés. Nous concluons ensuite sur l’intérêt des méthodes proposées. Enfin, nous présentons quelques perspectives de recherche à la suite de ces travaux.

6.1 Bilan des travaux

Au cours de cette thèse, nous avons proposé de faciliter le développement des architectures matérielles et d’accélerer leur simulation. Nous avons alors présenté des méthodes ainsi que des outils à travers quatre chapitres :

• Modélisation précise au cycle et au bit près sur les interfaces, respectant le modèle des automates synchrones communicants (CFSM) ;

• Ordonnancement totalement statique pour la simulation ;

• Génération automatique de modèle de simulation respectant le modèle des CFSM ; • Vérification sémantique des modèles en CFSM.

Nous rappelons ci-dessous le bilan pour chaque chapitre.

6.1.1 Modélisation précise au cycle et au bit près sur les interfaces

Les architectures matérielles que nous cherchons à simuler sont multiprocesseurs. Nous avons décrit une approche de modélisation exploitant le modèle formel des automates syn-chrones communicants, permettant une modélisation précise au cycle près et au bit près. À la description du matériel, nous ajoutons la description explicite des dépendances combinatoires entre les ports d’entrées et les ports de sortie au sein d’un même module.

Les composants de la bibliothèque SoCLIB respectent la méthodologie proposée. Les com-posants peuvent être directement simulés en utilisant le simulateur événementiel de la distribu-tion SystemC standard.

6.1.2 Ordonnancement totalement statique pour la simulation

Les architectures que nous souhaitons simuler contiennent uniquement des modules respec-tant le modèle des automates synchrones communicants.

Le comportement d’un composant matériel est décrit par un ensemble de processus. La simulation architecturale d’un tel composant nécessite un ordonnancement des processus sur la

station de travail.

L’objectif de l’ordonnancement est de calculer un ordre d’exécution des processus. Les si-mulateurs d’architecture utilisent généralement un échéancier à ordonnancement dynamique. Ce type d’échéancier coûte cher en terme de performance.

Nous avons proposé un ordonnancement totalement statique exploitant les propriétés des modules décrits sous la forme des CFSM. Les relations entre les ports d’entrée et les ports de sortie au sein d’un même module sont fournies explicitement par le concepteur. Ces informa-tions permettent de construire un ordonnancement totalement statique, dont le coût en terme de performance est nul.

Le simulateur à ordonnancement totalement statique, SystemCASS, permet une accélération d’un ordre de grandeur par rapport au simulateur SystemC d’OSCI, et une accélération signifi-cative par rapport à d’autres simulateurs tels que FastSystemC ou CASS.

6.1.3 Génération automatique de modèle de simulation respectant le modèle des CFSM

Pour accélérer la construction d’une architecture matérielle en vue de l’exploration archi-tecturale, nous souhaitons utiliser les modèles déjà existants : il existe de nombreux modèles synthétisables de niveau RTL dans l’industrie. Cependant, ceux-ci sont généralement écrits en VHDL ou en Verilog. Ces modèles offrent de très mauvaises performances en terme de vitesse de simulation.

Notre objectif est de convertir automatiquement les modèles VHDL au niveau RTL pour obtenir des modèles SystemC respectant le principe des automates synchrones communicants. Ces modèles sont alors compatibles avec le simulateur SystemC d’OSCI, ainsi qu’avec System-CASS. Ceux-ci sont alors exploitables pour accélérer l’exploration architecturale.

La méthode proposée repose sur une analyse sémantique de la description VHDL initiale pour construire un automate dont le comportement est équivalent. Les premiers résultats expé-rimentaux sont encourageants. Malheureusement, l’analyse des tableaux VHDL pose problème. Les modèles comportant des tableaux ne peuvent être analysés par notre méthode. Nous avons alors présenté des perspectives de recherche pour résoudre ce problème.

6.1.4 Vérification sémantique des modèles à automates synchrones communi-cants

Dans le cas où les modèles ne respectent pas l’approche de modélisation en CFSM, l’ordon-nancement totalement statique du simulateur SystemCASS conduit à des erreurs de simulation. L’objectif est de vérifier les modèles avant simulation.

La méthode de vérification proposée repose sur une vérification sémantique par analyse statique. Les résultats expérimentaux ont montré que la méthode permet de détecter toutes les erreurs de modélisation en quelques secondes.

6.2 Conclusions générales

Au cours de cette thèse, nous avons proposé des méthodes pour faciliter le développement des architectures matérielles : modélisation sous la forme d’automates synchrones communi-cants, génération automatique de modèle de simulation, et vérification sémantique des modèles. Nous avons également proposé des méthodes pour accélérer la simulation : ordonnancement totalement statique.

La bibliothèque de composants, SoCLIB, ainsi que trois outils (RTL2CFSM, CRUCKER, SystemCASS) ont été mis au point pour valider nos méthodes. Ceux-ci ont montré leur efficacité gràce à des résultats expérimentaux très satisfaisants.

Plusieurs dizaines de contributeurs participent maintenant au développement de SoCLIB et SystemCASS. SoCLIB et SystemCASS sont utilisés depuis quelques années dans des travaux de recherche, tels que des stages M2 recherche, et des thèses. Les principaux avantages, appréciés par les concepteurs, sont l’inter-opérabilité des composants SoCLIB et la rapidité de simulation de SystemCASS.

Documents relatifs