Compte rendu de la réunion
ESIEE/INSA/INRIA/Mitsubishi du 16/09/2002 à l'ESIEE
T. Grandpierre
Cette réunion avait pour objectif de présenter les travaux du laboratoire A2SI
de l'ESIEE concernant l'extension de la méthodologie AAA aux circuits
reconfigurables et de présenter les travaux des laboratoires de l'INSA et de
Mitsubishi concernant l'utilisation de SynDEx pour des architectures mixtes à
base de processeurs et de circuits reconfigurables.
- Mohamed Akil (m.akil@esiee.fr)
- Alexis Bisiaux (bisiaux@tcl.ite.mee.com)
- Jean Gabriel Cousin (Jean-Gabriel.Cousin@insa-rennes.fr)
- Julien Forget (julien.forget@inria.fr)
- Thierry Grandpierre (t.grandpierre@esiee.fr)
- Ivan Hermann
- Benoit Kaufman (kaufmanb@esiee.fr)
- Linda Kaouane (kaouanel@esiee.fr)
- Sébastien Le nours (Sebastien.Le-nours@insa-rennes.fr)
- Christophe Moy (moy@tcl.ite.mee.com)
- Fabienne Nouvel (fabienne.nouvel@insa-rennes.fr)
- Mickael Raulet (Raulet@tcl.ite.mee.com)
- Yves Sorel (yves.sorel@inria.fr)
Linda Kaouane, doctorante à l'ESIEE, a présenté ses travaux d'extension de AAA
sous la forme d'un exposé sous powerpoint envoyé à tous les participants et
d'une démonstration logicielle :
- rappel de la méthodologie AAA,
- présentation du modèle d'algorithme : Graphe Factorisé et Conditionné de
Dépendance de Données (GFCDD),
- règles de transformation du GFCDD en circuit (synthèse du chemin de
contrôle),
- techniques d'optimisations de l'implantation mono-fpga basées sur des
heuristiques gloutonnes et de recuit simulé pour rechercher une défactorisation
partielle de la spécification permettant de respecter les contraintes de latence
et de surface occupée par le circuit,
- démonstration de SynDEx-IC développé à l'ESIEE sur la base de SynDEx V6.0
de l'INRIA : application des heuristiques sur un exemple de produit
matrice-vecteur, génération automatique (sans conditionnement) et simulation de
VHDL,
- perspectives : prise en compte des architectures multi-fpga (synthèse des
communications, optimisations), portage de SynDEx-IC sur base V6.5.
La version actuelle de SynDEx-IC de l'ESIEE a été développée sur la base de
SynDEx V6.0, programmée en Caml. Cette version ne permet pas de spécifier le
conditionnement, la synthèse de circuit est donc générée sans conditionnement.
Un passage à la version 6.5 de l'INRIA permettrait de disposer du
conditionnement et d'une meilleure structure interne. De plus, pour pouvoir
simuler le code VHDL généré il est actuellement nécessaire de modifier
manuellement ce code pour pouvoir l'intégrer dans un testbench. Ce travail
manuel consiste à déconnecter et retirer les composants d'entrées-sorties
générés et à les remplacer par des signaux d'entrée. Cette étape fastidieuse
pourrait être automatisée. Plutôt que de continuer les développements sur base
SynDEx V6.0 l'ESIEE a donc décidé de passer au portage de son application sur
V6.5, tout en en profitant pour ajouter ces nouvelles fonctionnalités
(conditionnement, synthèse automatique des testbench). Ce travail est confié à
Pierre Niang qui débute un stage de DEA.
Yvan Hermann, stagiaire à l'INSA et financé par Mitsubishi, a présenté ses
travaux d'utilisation de SynDEx V6.5 appliqués aux architectures mixtes sous la
forme d'un exposé powerpoint envoyé à tous les participants :
- présentation de l'architecture matérielle utilisée (une carte avec un DSP
C6x couplé à un FPGA),
- modélisation de cette carte sous SynDEx V6.5 qui n'est initialement pas
conçu pour modéliser des architectures à base de FPGA : Yvan a modélisé le FPGA
en construisant un sous-graphe composé d'un sommet routeur et deux sommets FPGA
chacun capable d'exécuter une seule opération contrainte manuellement à
s'exécuter sur lui,
- présentation des structures implantées dans le FPGA :
- module de communication C4x,
- module de calcul,
- module mémoire,
- processeur de routage.
- présentation des techniques de synchronisation entre calcul et communication,
- présentation de la structure du code VHDL généré à partir du macro code
généré par SynDEx.
Pour pouvoir implanter complètement la chaîne qu'il a développé, Yvan nous a
fait part de quatre demandes de modifications du macro code généré. Après
discussions, il s'avère que ces demandes de modifications ne seront pas
compatibles avec le macro code existant et donc incompatibles avec d'autres
noyaux d'exécutifs existant et largement utilisés (notamment les noyaux pour
powerpc MPC555 des Cycabs). Il s'avère aussi possible que ces modifications
ne soit pas nécessaires si m4 est capable de segmenter les chaînes de
caractères en utilisant le caractère ``_'' comme séparateur.
Suite à ces présentations, il semble possible après un certain nombre de
modification, de pouvoir utiliser SynDEx-IC/ESIEE dans les travaux de
l'INSA/Mitsubishi qui utilisent SynDEx-INRIA. Ceci permettrait de synthétiser
automatiquement le code VHDL des fonctions distribuées sur le FPGA. Néanmoins,
chacun ayant ses propres besoins et donc sa propre vision pour l'interfaçage et
l'utilisation de ces outils, il a été proposé que :
- chaque équipe spécifie un scénario d'utilisation des outils et diffuse ce
document aux autres équipes (ce peut être sous la forme d'un storyboard...),
- les équipes se réunissent pour décider d'un scénario commun. Ce scénario
servira de base pour la spécification des travaux à effectuer pour modifier et
enrichir les outils existant.
Pour la prochaine réunion (dont la date reste à fixer), il a donc été
décidé d'établir un document en deux parties dans lequel chaque équipe
indique :
- le vocabulaire utilisé dans le but de faire un glossaire commun (base de
travail indispensable pour une bonne communication (le terme architecture
matérielle est un problème typique : pour l'INRIA il correspond au graphe de
l'architecture alors que dans les transparents de Yvan ce terme décrit la
partie reconfigurable du graphe),
- un ou plusieurs exemple(s) de scénarios d'utilisation des outils.
L'INSA doit aussi établir un document concernant ses demandes de modifications
de SynDEx V6.5 (principalement au niveau des macros d'exécutifs), et des
propositions de modifications de l'outil (en essayant de proposer des solutions
permettant une compatibilité avec les versions existantes).
thierry Grandpierre
2003-05-12