![]()
Précédent : Mises en oeuvre distribuées Remonter :
Méthodes d'implémentation et études
d'architectures Suivant : Prototypage de composants
matériels
Participants : Christophe Wolinski, Apostolos Kountouris, Paul Le Guernic
La conception d'architectures en utilisant SIGNAL et d'une manière générale, la conception conjointe de systèmes matériel-logiciel sont un thème important du projet.
Les axes suivants ont été plus particulièrement étudiés :
Dans le cadre du premier thème nous avons travaillé sur le problème de l'ordonnanà-cement des processus pour leur exécution en pipeline. Nous avons ainsi développé une deuxième version d'algorithme « SpringPlay » permettant de réaliser cette tâche [13]. Cet algorithme est utilisable pour des applications modélisables par SDF (« static data flow »).
Dans le deuxième thème, nous avons continué à travailler sur un système destiné à la génération automatique de code et la génération automatique de circuits synchrones à partir de spécifications faites en SIGNAL. Dans ce cadre nous avons étudié plus en détail le problème de minimisation des communications et la génération de code optimisé pour les processeurs DSP. Cette génération utilise une traduction des instructions SIGNAL en assembleur pour le processeur DSP cible.
Dans le troisième thème, nous avons examiné l'idée de la construction, autour du langage SIGNAL et de son environnement, d'une méthodologie d'évaluation des différentes possibilités pour l'implémentation des systèmes temps réel. Par cette approche, nous voulons exploiter les avantages du langage SIGNAL dans le domaine de la spécification fonctionnelle, ainsi que les nombreux outils disponibles dans son environnement. Nous avons développé une méthodologie temps réel pour la conception conjointe matériel-logiciel et les outils nécessaires pour qu'elle soit réalisée [12]. Dans notre travail actuel on peut distinguer deux approches différentes. La première est une approche dynamique où la dimension temporelle est validée par simulation. La deuxième est une approche statique où les résultats sont obtenus pendant la compilation du programme SIGNAL. L'approche dynamique consiste à générer des simulateurs capables de simuler simultanément les comportements fonctionnel et temporel d'un programme [7]. L'approche statique pour le calcul des bornes sur le temps d'exécution de programmes SIGNAL consiste à développer des algorithmes utilisant d'un côté des informations données par l'utilisateur (choix architecturaux et leurs modèles temporels), et de l'autre des informations qui se trouvent déjà dans la représentation interne issue du modèle flots de données synchronisés (par exemple, exclusivité d'horloges, permettant d'éliminer certains chemins d'exécution) [8]. Les deux approches ont en commun la nécessité pour l'utilisateur de fournir les informations de choix architecturaux, les autres données pouvant être déduites de façon automatique ou semi-automatique (ordonnancement, par exemple) en utilisant d'autres outils de l'environnement SIGNAL.