Projet DICC/ARC 1999-2000:
Évaluation de stratégies d'interfacage pour le co-design processeur/FPGA avec la carte Labomat3


Résumé: Il s'agit de tester différentes stratégie d'interface entre un processeur et un FPGA à partir d'une carte  contenant les deux. Le projet se passera à l'irisa dans l'équipe COSI

les architectures reconfigurables (FPGA) permettent d'envisager l'utilisation de la synthèse de circuits pour beaucoup de nouveaux domaines. En particulier, l'utilisation couplée d'un processeur standard et d'un coprocesseur FPGA qui serait dédié à l'accélération des portions de code très coûteuses en calcul semble une voie très prometteuse.
Cette solution nécessitera d'une part des "compilateurs de silicium" qui permettront d'obtenir un circuit rapidement à partir de code C, et d'autre part une interface rapide entre le processeur et le FPGA pour pouvoir profiter efficacement de la rapidité de calcul du FPGA.

L'équipe COSI de l'IRISA travaille activement à la résolution du premier problème et à récemment réussi, grâce au système MMAlpha (/cosi/ALPHA/), à générer une configuration exécutable par un FPGA, en partant d'une description haut niveau du problème. Reste le problème de l'interfacage. Des études ont été menées dans l'équipe pour proposer un modèle générique d'interface, mais l'implémentation pose des problèmes pratiques qu'il est difficile de prévoir. La carte Labomat3 (http://lslwww.epfl.ch/labomat) a été construite par le laboratoire LSL de l'EPFL à Lausanne. Cette carte comprend un processeur 68000 et deux FPGA (Xilinx XC4013 et XC6126). Initialement dédiée à l'enseignement de la synthèse VLSI et du codesign, cette carte se révèle utile pour comparer des stratégie d'interfacage entre le processeur et les FPGA car elle autorise plusieurs protocoles d'interfacage.

Le travail du stage consistera en l'étude et la réalisation de différentes interfaces pour des des circuits générés par le logiciel MMAlpha. On pourra étudier la possibilité de communiquer par un registre implémenté sur le FPGA ainsi que celle d'utiliser un FPGA comme "contrôleur" de l'autre pour l'alimenter plus rapidement. Ce travail consistera d'abord en la prise en main de plusieurs outils: les outils permettant de programmer la carte labomat3, les outils de Xilinx permettant de configurer les FPGA à partir d'une netlist, les outils permettant d'obtenir une netlist à partir de VHDL (ou peut-etre JHDL qui est utilise en sortie de MMAlpha). Dans un second temps, les étudiants proposeront des architectures d'interfaces dans l'optique de comparer les efficacités de ces différentes possibilités. enfin ils réaliseront et testeront l'efficacité de ces interfaces. Le stage aura lieu dans l'équipe COSI sous l'encadrement de Tanguy Risset (risset@irisa.fr, 02 99 84 74 60)

photo de la carte labomat3:


Tanguy Risset home page