Accélération des simulations de modèles de systèmes sur puce au niveau transactionnel

Y. Bouzouzou, Diplôme de Recherche Technologique UJF, 2007

SystemC est une extension du langage C++, définissant une bibliothèque de classes C++ utilisée pour décrire des modèles de systèmes sur puces à différents niveaux d’abstraction. Le niveau de description transactionnel (TLM) permet d’exécuter le logiciel embarqué sur un prototype virtuel du matériel très tôt dans le flot de conception.

Le modèle d’exécution défini dans la spécification officielle (standard IEEE-1666) a été pensé pour des simulations sur machine monoprocesseur, c’est-à-dire que les processus décrivant le comportement du matériel sont exécutés en séquence selon une politique d’ordonnancement. SystemC étant basé sur une sémantique coopérative (les fils d’exécution rendent la main explicitement), la politique d’ordonnancement est non préemptive.

Nos travaux ont porté sur la parallélisation du moteur d’exécution SystemC pour exploiter au mieux les architectures multiprocesseurs, tout en conservant la sémantique d’exécution coopérative du langage.

Nous avons d’abord étudié différentes approches existantes, basées sur la structure en composants des modèles, et nous avons montré leurs limitations sur des modèles transactionnels. Ensuite, nous avons identifié une granularité des tâches à exécuter en parallèle permettant la parallélisation efficaces des modèles transactionnels.

La conformité des simulations vis-à-vis de la norme est assurée par une analyse préalable des dépendances de données entre les différentes tâches. Enfin, nous avons défini et implémenté les algorithmes parallèles pour la répartition dynamique des tâches indépendantes et nous donnons les éléments nécessaires pour l’analyse statique des dépendances entre les tâches à exécuter.


Attached documents

Slides of the defense (translated into English by C. Helmstetter)

11 March 2011
info document : PDF
810.8 KiB

Texte complet (français)

11 March 2011
info document : PDF
944.1 KiB

Contact | Site Map | Site powered by SPIP 4.2.16 + AHUNTSIC [CC License]

info visites 4155184