Carte de développement pour FPGA
Transcription
Carte de développement pour FPGA
OUTILSdeDÉVELOPPEMENT Carte de développement pour FPGA Entrée en matière facile grâce à Xilinx Gunther May, DL3ABQ Bien que les FPGA aient vu leur coût diminuer très sensiblement, les cartes de développement pour FPGA de taille importante à prix abordable restent très rares. La société australienne BurchEd fait une proposition qui, comparée à ce qui se fait sur le marché actuellement, est littéralement irrésistible. Comme le dit leur acronyme, les FPGA (Field Programmable Gate Array) sont des circuits intégrés logiques programmables. L’utilisateur a 2 options pour la conception de son circuit numérique, soit un langage de description matériel, soit par le biais d’un éditeur graphique, le résultat de cette opération étant téléchargé dans le FPGA. Ceci fait, le composant se comporte, pour l’extérieur, comme le ferait le circuit électronique qui y a été programmé. Les FPGA intègrent à cet effet un nombre important de structures universelles qui se composent chacune, en fonction du type de FPGA auquel on a affaire, en plusieurs portes et bascules. Ces blocs sont interconnectés par le biais d’éléments programmables de sorte qu’il devient possible d’en influencer le comportement. Les FPGA modernes sont, la plupart du temps, à base de technologie SRAM. Ceci explique qu’en l’absence de tension d’alimentation elles perdent leur configuration. De manière à ce que, lors de la réapparition de la tension d’alimentation, les FPGA soient à nouveau opérationnelles, on fait appel à des EPROM spéciales dites de configuration dans lesquelles les FPGA peuvent récupérer, de façon autonome, leurs données de configuration. Le programmateur Xilinx décrit dans le numéro de novembre convient à merveille pour de telles applications. Il existe également des FPGA non-volatiles (attention cela 64 Figure 1. La carte de développement pour FPGA B5-X300. ne signifie pas qu’elles ne peuvent pas se volatiliser, mais que leur contenu de mémoire ne peut pas s’effacer même en cas de disparition de la tension d’alimentation), telles que les modèles dits « antifuse », qu’il n’est d’ailleurs possible de programmer qu’une seule et unique fois. Les fabricants les plus connus de FPGA sont Xilinx, Altera et Actel. Les CPLD (Complex Programmable Logic Device) constituent une autre famille de circuits intégrés de logique programmable. Les CPLD comportent plusieurs blocs de structures logiques complexes qui ressemblent à celles dont sont constituées les GAL (Gate Array Logic). En principe, on peut dire qu’une CPLD est en fait une matrice de GAL. Les CPLD ont, comme élément programmable majeur, des cellules d’EEPROM non-volatiles. Xilinx, Lattice et Altera sont les fabricants les plus connus de ce type de composant. Il devient possible, en fonction de la taille de la FPGA ou CPLD concer- Elektor 11/2003 OUTILSdeDÉVELOPPEMENT – Platine de connexion pour RS-232, souris, clavier et VGA – Interface CompactFlash – Interface IDE – Platine de configuration Flash Figure 2. Logiciel de programmation Xilinx au travail. née, de réaliser un processeur complet ou un autre circuit complexe similaire à l’aide d’un tel composant. Dans l’industrie on les utilise principalement pour la réalisation de prototypes, mais on les retrouve également dans ce que l’on appelle des automates reprogrammables. Le traitement du signal est l’un des domaines d’application les plus importants des FPGA et CPLD. La puissance d’un circuit intégré de ce type est souvent exprimé sous la forme de « portes équivalentes », valeur qui donne le nombre théorique de portes utilisables à l’intérieur du FPGA. Il faut prendre ces valeurs avec un grain de sel, vu que souvent, pour des raisons de publicité commerciale, les fabricants donnent des chiffres très optimistes. Dans le cas des CPLD, les tailles typiques vont de 1 000 à 50 000 portes équivalentes, alors qu’avec les FPGA cela va de 10 000 à plusieurs millions. Les versions à faible nombre de portes deviennent de plus en plus abordables. Dès que l’intégration devient importante, ces circuits logiques coûtent rapidement cher. Pour l’électronicien concepteur-développeur, ces circuits constituent une alternative attrayante à l’approche multi-circuits intégrés logiques. De même, lorsqu’il s’avère que la vitesse de traitement d’un microcontrôleur 11/2003 Elektor n’est pas suffisante, la logique programmable peut constituer une solution à ce problème. Carte de développement Burched, la société australienne évoquée plus haut, propose un kit de développement pour FPGA (figure 1). Le B5-X300 repose sur un FPGA de la série Spartan2E de Xilinx de pas moins de 300 000 portes équivalentes. Cette carte est accompagnée d’un adaptateur de téléchargement qui pourra être branché directement sur le port parallèle d’un PC. Cette interconnexion sert au transfert des données de configuration de la FPGA. La carte comporte un oscillateur d’horloge dont la fréquence se laisse paramétrer par l’implantation de cavaliers. La carte dispose en outre d’un support dans lequel pourra prendre place une EPROM de configuration et des embases donnant accès aux lignes de la FPGA. Outre la carte de développement FPGA, il est proposé d’autres modules qui peuvent faire partie d’une application. Voici les modules additionnels disponibles : – Platine de commutateurs – Platine de LED – Afficheurs 7 segments – Extension de mémoire L’environnement de développement logiciel accompagnant la carte est le Webpack de Xilinx, mis gratuitement à disposition par cette société et grâce auquel il devient possible de programmer le circuit de différentes façons (figure 2). On trouvera, en référence [2], un lien où télécharger ce logiciel. La mise en oeuvre de la carte est étonnamment facile. Une fois que l’on a pris connaissance du manuel décrivant les premiers pas téléchargé depuis le site de BurchEd, un amateur même débutant en la matière sera en mesure de transférer son premier programme vers la FPGA pour faire clignoter une LED présente sur la carte de développement. La carte B5-X300 est disponible en France auprès de Hi Tech Tools [5]. Le coût de la carte est de 192 €, ce prix comprenant le câble de programmation. Exemples d’application Elektor a utilisé l’occasion des circuits intégrés programmables, tels que GAL et CPLD en particulier. Sur sa page d’accueil [1] BurchEd propose des programmes d’exemple au téléchargement, le nombre de ces exemples étant cependant encore relativement restreint, mais Mr Burch nous a assuré que le nombre de ces programmes devrait augmenter très sensiblement dans les prochains mois. S’il est un thème très intéressant ayant trait aux FPGA, c’est indubitablement celui du développement de petits processeurs. On trouvera, sur le site donné en référence [3], une collection impressionnante de matériel concernant ce thème. À noter que des développeurs ont mis sur FPGA l’un ou l’autre jeu pour ordinateur datant déjà d’un certain temps, Pacman par exemple. On trouvera en [4] un très beau site Internet traitant du sujet. On pourra y télécharger la totalité des fichiers. (030216) Liens Internet [1] www.burched.biz [2] www.xilinx.com/xlnx/xil prodcat landingpage.jsp?title=ISE+WebPack [3] www.fpgacpu.org/ [4] www.fpgaarcade.com/ [5] www.hitechtools.com 65