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)