Definition of a Service-Based Intermediate Representation for Virtual Prototyping of Systems-on-Chip
Définition d'une représentation intermédiaire basée sur une approche service pour le prototypage virtuel de systèmes sur puce
Résumé
Multiprocessor system-on-chip architectures allow implementing more functions in software, which increases the number of interfaces between software and hardware. These interfaces have different representations within the models, depending on the level of abstraction : at high level, an abstract channel is used, whereas closer to the implementation, many adaptation and communication components are required. Mastering the software-hardware interface at many levels of abstraction is thus mandatory to master design complexity. In this thesis, the concept of service is used to abstract the communication and performance features of interfaces. A data structure allows capturing these features and developing tools for interface analysis and generation. A case study illustrates architecture exploration through the generation of SystemC virtual prototypes.
Les architectures multiprocesseurs de systèmes sur puce permettent de réaliser un nombre croissant de fonctions en logiciel, ce qui multiplie le nombre d'interfaces entre le logiciel et le matériel. Cette interface est représentée de différentes façons au sein des modèles, selon leur niveau d'abstraction : à haut niveau, un canal abstrait est utilisé ; plus près de l'implémentation, plusieurs composants d'adaptation et de communication composent l'interface. La conception assistée des systèmes multiprocesseurs repose donc sur la maîtrise de l'interface logiciel-matériel à plusieurs niveaux d'abstraction. Dans cette thèse, le concept de service est utilisé pour abstraire les caractéristiques de communication et de performance des interfaces. Une structure de données permet de capturer ces caractéristiques et de développer des outils d'analyse et de génération d'interfaces. Une étude de cas illustre l'exploration d'architecture par la génération de prototypes virtuels en SystemC.