• Aucun résultat trouvé

La synthèse au niveau système avec MUSIC

Dans le document Synthèse architecturale flexible (Page 30-35)

La méthodologie de synthèse au niveau système utilisée par MUSIC peut être divisée en trois phases principales : la modélisation, le découpage et le prototypage (voir Figure 1) [MDJ97]. 3URWRW\SDJH 'pFRXSDJH 0RGpOLVDWLRQ 0RGqOH ORJLFLHO 6\QWKqVH FRPSRUWHPHQWDOH 0RGqOH GX V\VWqPH &RVLPXODWLRQ 0RGqOH PDWpULHO 6\QWKqVH GX ORJLFLHO %LEOLRWKqTXH GHV FRPSRVDQWV 6\QWKqVH GH O¶LQWHUIDFH $UFKLWHFWXUH 6SpFLILFDWLRQ LQIRUPHOOH 'pFRXSDJH HW V\QWKqVH GH OD FRPPXQLFDWLRQ /¶HVWLPDWLRQ GH SHUIRUPDQFH 0RGqOH

ORJLFLHO PDWpULHO0RGqOH

Figure 1 – Les étapes de la conception conjointe

1. La modélisation du système définit la fonctionnalité souhaitée du système et ses restrictions. La spécification peut se baser sur un langage de description au niveau système et souvent elle fournit un modèle exécutable. La validation de cette description utilise des simulateurs ou d’autres techniques de vérification. Le résultat de cette étape est la génération d’une spécification fonctionnelle, libre de tous détails de réalisation ;

adaptées. Cette étape réalise la transposition des fonctions du système sur des composants logiciels et matériels. La synthèse de la communication traduit les primitives de communication à un niveau de détail accepté par les outils de synthèse ;

3. Le prototypage virtuel intègre les techniques de cosimulation et de co-synthèse. La création d’une réalisation pour chaque partie du système est réalisée par les techniques classiques de conception logicielle (compilation, débogage) et matérielle (synthèse comportementale ou RTL). La mise en œuvre de la communication entre les différents modules du système est générée par la synthèse d’interface.

MUSIC applique une méthodologie de conception de systèmes. Les principales caractéristiques de MUSIC sont :

• Le domaine d’application couvre les systèmes distribués et communicants ;

• Le modèle de spécification est traduit dans un format intermédiaire appelé

SOLAR [JeOB94] qui est utilisé pendant toutes les étapes de raffinement ;

• La flexibilité du processus de synthèse est assurée par l’interaction continue avec l’utilisateur : les transformations sont exécutées automatiquement par les outils et les décisions de conception sont prises par l’utilisateur ;

MUSIC utilise comme entrée le langage SDL [FaeO94] et produit un modèle distribué, en C pour les parties logicielles et VHDL pour les parties matérielles ;

• Le flot de conception du découpage utilise une approche transformationnelle. Les contributions de ce travail concernent la phase d’évaluation de performance et dans la phase de synthèse comportementale (voir les boîtes encadrées en gras sur la Figure 1).

2.2.1 Les transformations au niveau système

La Figure 2 présente le flot de conception conjointe. Le processus commence avec la traduction de l’entrée en SDL dans le format SOLAR. Ensuite, l’utilisateur réalise le raffinement du modèle SOLAR. La sortie du système est un prototype virtuel décrit en C et VHDL. MUSIC dispose de trois ensembles de primitives qui modifient le comportement, la structure ou la communication, respectivement : la décomposition fonctionnelle, la réorganisation structurelle et la transformation de la communication [Mar98]. Le flot de

Chapitre 2 - La Synthèse de Haut Niveau

synthèse est flexible, l’utilisateur guide le processus d’interaction en choisissant les transformations adéquates pour obtenir la solution souhaitée.

9+'/ 62/$5 5pRUJDQLVDWLRQ VWUXFWXUHOOH 'pFRPSRVLWLRQ IRQFWLRQQHOOH 7UDQVIRUPDWLRQ GH OD FRPPXQLFDWLRQ & 6'/

Figure 2 – Le flot de conception au niveau système

La décomposition fonctionnelle permet la décomposition des comportements qui ont besoin d’être exécutés sur des processeurs différents. Cette étape travaille sur des tables d’états et génère éventuellement des éléments de communication additionnels pour que les différentes parties du comportement puissent communiquer (voir Figure 3).

La réorganisation de la structure détermine le nombre et le type de processeurs abstraits et décide de l’affectation des différentes fonctions sur les processeurs alloués. La mise en œuvre des processeurs abstraits peut être réalisée en matériel ou en logiciel. Plusieurs fonctions peuvent être affectées à une simple partition afin de permettre le partage des unités fonctionnelles ou des ressources de communication. Cette étape travaille sur des unités de conception. Réorganisation de la Structure P1 P2 P3 F1 F2 F3 F4 F3 ’’ F4 ’’ Spécification Fonctionnelle F1 F2 F 3 Décomposition Fonctionnelle F 4 Prototype P1 ASIC P2 Processeur P3 FPGA F1 F2 F3’ F4 F3’’ F4 ’’

La transformation de la communication permet de raffiner les canaux abstraits utilisés par les processus communicants. Dans ce schéma, les processeurs communiquent à travers des signaux et partagent le contrôle de la communication. Cette étape utilise une bibliothèque de canaux de communication.

L’organisation du découpage en plusieurs étapes augmente la flexibilité du système. L’utilisateur dispose ainsi d’un bon contrôle du processus de conception pour guider l’interaction pendant les transformations incrémentielles. Une méthodologie d’estimation de performance permet d’aider l’utilisateur à prendre des décisions durant la session de synthèse. Cette méthodologie est présentée dans le sixième chapitre.

2.2.2 Le format intermédiaire SOLAR

SOLAR est un modèle de représentation destiné à faire le lien entre les outils de conception de systèmes et les outils de CAO (Conception Assistée par l’Ordinateur) de circuits intégrés. SOLAR est composé d’un modèle de représentation de données et d’un langage textuel. SOLAR permet à la fois la spécification et la synthèse conjointe pour les systèmes contenant du matériel et du logiciel. La Figure 4 représente le contexte d’utilisation de SOLAR. 1LYHDX 57/ 1LYHDX FRPSRUWHPHQWDO 1LYHDX V\VWqPH 6RODU 6RODU 2XWLOV GH FRQFHSWLRQ GH V\VWqPHV 6'/ & -DYD  2XWLOV GH &$2 9+'/ 9HULORJ  &RPSLODWHXU &  V\QWKqVH 57/ 9+'/ 9HULORJ 

Figure 4 – Le contexte SOLAR

Les caractéristiques principales du modèle SOLAR sont :

• Des structures de données nécessaires aux étapes de co-spécification, de conception conjointe et de co-synthèse ;

• Permettre l’utilisation d’un modèle unique pour les conceptions de systèmes logiciels/matériels complexes et distribués ;

Chapitre 2 - La Synthèse de Haut Niveau

• La représentation peut manipuler à la fois les concepts fonctionnels et les concepts de réalisation facilitant ainsi considérablement la transition entre les différentes étapes de la conception ;

• SOLAR supporte plusieurs niveaux d’abstractions, lui permettant de modéliser des circuits intégrés aussi bien que des systèmes logiciel/matériel distribués.

Le modèle SOLAR combine deux concepts puissants au niveau système :

• Un modèle de machine d’états finis étendue pour décrire le comportement, représenté par des tables d’états ;

• Un mécanisme à base d’appel de procédures à distance pour spécifier la communication de haut niveau, représentée par des canaux.

Comme montre la Figure 5, SOLAR modélise la structure du système par une hiérarchie d’unités de conception. Un système est composé d’un ensemble d’unités qui communiquent. Le comportement des unités « feuilles » est décrit par des tables d’états. La communication entre les unités est modélisée par des appels de procédures à distance. L’unité « canal » est composée d’un contrôleur, d’un ensemble de services et d’un ensemble de signaux d’interconnexion.

Unité de Conception

Unité de Conception Unité de Conception

Unité de Canal Unité de Canal

Protocole Protocole

Get Send

Receive Reset

Put

Figure 5 – Les concepts de base de Solar

Les constructeurs SOLAR sont :

Les Unités de Conception permettent la structuration de la description du système en un ensemble de sous-systèmes en interaction (processus). Ces sous-systèmes interagissent avec l’environnement en utilisant une frontière bien définie;

Les Unités de Canal réalisent la communication entre les unités de conception. L’unité canal contient la spécification du protocole de communication;

Les Unités Fonctionnelles sont utilisées pour spécifier des opérateurs complexes (DCT, FFT). Ce concept permet la spécification et la réutilisation d’opérateurs partagés entre MEF séquentielles.

Dans le document Synthèse architecturale flexible (Page 30-35)