Mise en oeuvre de l'auto-reconfiguration partielle et dynamique sur FPGA Xilinx Virtex-II pro( Télécharger le fichier original )par Guy WASSI Université Pierre et Marie Curie (Paris VI Jussieu) - Master informatique industrielle et systèmes automatisés 2005 |
1.2 But du stageLa problématique globale de ce stage est la mise en oeuvre de l'auto-reconfiguration partielle et dynamique sur une plateforme SOPC intégrant sur une même puce processeur(s) et FPGA. En effet, la technologie n'étant pas encore mature surtout au niveau de la mise au point d'outils permettant d'automatiser cette mise en oeuvre, notre but est de montrer la faisabilité de l'«Auto-reconfiguration partielle et dynamique » à l'aide d'outils de développement disponibles. Nous entendons ici par Auto-reconfguration partielle et dynamique le fait pour le processeur intégré1 au FPGA de reconfigurer partiellement ce dernier sans perturber le fonctionnement continu de la zone non reconfigurée. Ci-dessous2 (figure) se resument les choix faits à priori : - Configurer totalement le FPGA avec un design modulaire (developpé suivant le Modular Design Flow approprié à la reconfiguration partielle) depuis un PC par les moyens classiques et éprouves. - Générer sur PC les bitstreams partiels pour le(s) module(s) reconfigurable(s). - Dévélopper une application (srp.c) pour le processeur PPC405 intégré permettant à ce dernier de communiquer avec le PC via le port serie et l'application Hyperterminal afin de Embarquée AC! soutenue par le MESR en 1998 et 1999. www-etis.ensea.fr/Equipes/Archi 1 Chez la famille Virtex-!! Pro de Xilinx, ce processeur peut être un coeur hard (AS!C, cas du PPC405) immergé en dur dans le FPGA ou un coeur soft (cas du Microblaze) instancié dans le FPGA. 2 Vue imagée de la plateforme auto-reconfigurable charger en mémoire embarquée la version ASCII (format RBT) des bitstreams générés, et de reconfigurer dynamiquement et à la demande le(s) module(s) reconfigurable(s) du FPGA via le port ICAP. Il est à préciser qu'après chargement en mémoire embarquée, la plateforme devient autonome ; le temps de reconfiguration d'un module n'inclut pas le temps de transfert de son bitstream de l'ordinateur PC vers la mémoire embarquée. A l'issue de ce stage, si le flot de mise en oeuvre de l'auto-reconfiguration dynamique du Virtex-II Pro est parfaitement maîtrisé, il peut servir au développement d'un OS temps réels permettant de gérer la ressource FPGA, et ainsi d'évaluer l'intérêt de la reconfiguration partielle et dynamique. Nous avons choisi le FPGA Xilinx Virtex II-Pro pour cette mise en oeuvre car d'une part il est partiellement reconfigurable, et d'autre part il intègre en dur un ou plusieurs coeurs de processeur PowerPC405. 1.3 Travaux similairesLa mise en oeuvre de la reconfiguration partielle et dynamique sur FPGA Xilinx suivant un flot de conception modulaire (Modular Design Flow) fait l'objet de beaucoup d'intérêt dans plusieurs laboratoires de recherche universitaire actuellement. Pour la reconfiguration partielle et dynamique, [12] et [20] présentent chacun des exemples simples et très utiles. [6] montre un exemple appliqué à la radio-logicielle (software radio). [8] et [15] détaillent la méthodologie de mise en oeuvre. Mais dans les cas cités precedemment, la reconfiguration est contrôlée depuis l'exterieur ; il ne s'agit donc pas d'auto-reconfiguration. [3] et [5] présentent effectivement un cas d'auto-reconfiguration où le processeur PPC405 intégré reconfigure partiellement le FPGA. Mais dans le premier, le contrôle de l'ICAP1 est totalement effectué par le processeur , et non par un contrôleur instancié dans le FPGA. Dans le second, on utilise l'outil JBits pour manipuler les bitstreams de reconfiguration. |
|