Verimag

Détails sur le séminaire

Seminar Room, ground floor (Building IMAG)
11 décembre 2017 - 14h00
Simulation SystemC/TLM Parallèle de Composants Matériels Décrits pour la Synthèse de Haut Niveau (Phd Defense)
par Denis Becker de Verimag / STMicroelectronics



Résumé : Les systèmes sur puce sont constitués d’une partie matérielle (un circuit intégré) et d’une partie logicielle (un programme) qui utilise les ressources matérielles de la puce. La conséquence de cela est que le logiciel d’un système sur puce est intrinsèquement lié à sa partie matérielle. Les composants matériels d’accélération sont des facteurs clés de différenciation d’un produit à l’autre. Il est nécessaire de pouvoir simuler ces systèmes très tôt lors de leur conception; bien avant que la puce ne soit physiquement disponible, et même avant que la puce ne soit complètement spécifiée. Pour cela, un modèle du système sur puce est réalisé à l’aide du langage SystemC, au niveau d’abstraction TLM (Transaction Level Modeling). La partie matérielle d’un système sur puce est constituée de composants, qui s’exécutent en parallèle. Pour autant, la simulation avec le simulateur SystemC de référence est séquentielle. Ceci permet de garantir les bonnes propriétés des simulations SystemC, en particulier la reproductibilité et le confort d’écriture des modèles.

Les travaux de cette thèse portent sur la simulation parallèle de modèles SystemC/TLM. L’objectif de l’exécution parallèle est d’accélérer les simulations dans un mode d’utilisation correspondant à la phase de développement, où il est primordial de disposer de simulations qui donnent rapidement un résultat. Afin de cerner le problème de performance remarqué sur des modèles complexes à STMicroelectronics, le premier travail de cette thèse a été d’analyser le profil d’exécution d’une étude de cas représentative de la complexité actuelle des platformes SystemC/TLM. Pour cette étude, nous avons développé un outil de collecte de traces et de visualisation. Les résultats de cette analyse ont indiqué que la lenteur d’exécution en simulation était due à la complexité des composants matériels d’accélération. L’étude de l’état de l’art en simulation parallèle de modèles SystemC nous a conduit à chercher d’autres pistes que celles actuellement existantes. Pour réaliser les composants matériels plus rapidement, et permettre d’augmenter la réutilisabilité de composants d’un projet à l’autre, le flot de conception HLS (High Level Synthesis) est utilisé, notamment à STMicroelectronics. Ce flot de conception permet, à partir de la description d’une fonction en C++ , de générer un plan de composant matériel qui va réaliser la même fonction. La description des composants est découpée en sous-fonctions, individuellement plus simples. Afin d’obtenir de bonnes performances, les sous-fonctions sont assemblées en chaîne, à travers laquelle circulent les données à traiter. Il est indispensable de pouvoir réutiliser le code écrit pour la HLS dans les simulations SystemC/TLM: cette situation deviendra de plus en plus fréquente, et il n’a pas assez de temps pour réécrire ces modèles dans ces projets courts.

Nous avons développé une infrastructure de simulation parallèle permettant d’intégrer et de simuler efficacement des composants de traitement de données écrits pour la HLS. L’application de cette infrastructure à un exemple a permis d’accélérer l’exécution de la simulation d’un facteur 1.6 avec 4 processeurs. Au-delà de ce résultat, les conclusions principales de cette thèse sont que la simulation parallèle de modèles à haut niveau d’abstraction, en SystemC/TLM, passe par la combinaison de plusieurs techniques de parallélisation. Il est également important d’identifier les parties parallélisables dans des simulations industrielles, notamment pour les nouveaux défis que sont les simulations multi-physiques et l’internet des objets.




Contact | Plan du site | Site réalisé avec SPIP 3.0.26 + AHUNTSIC [CC License]

info visites 915656