Présentation
EnglishRÉSUMÉ
Les circuits FPGA (Field Programmable Gate Arrays) sont programmables, ou configurables, par l'utilisateur après fabrication. Cet article s’attache à détailler leur architecture générique (blocs, interconnexions, processeurs, configuration). Il donne également des exemples de familles de FPGA (Altera, Xilinx, Actel/Microsemi, ou encore Achronix) et fournit des outils de développement comme les langages de description, la synthèse logique, la synthèse de haut niveau, le placement/routage.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Olivier SENTIEYS : Professeur à l'École nationale supérieure des sciences appliquées et de technologie (ENSSAT) de l'Université de Rennes 1 à Lannion - Chercheur et responsable du département architecture et de l'équipe-projet CAIRN commune au laboratoire IRISA et au Centre de recherche INRIA Rennes – Bretagne Atlantique
-
Arnaud TISSERAND : Chercheur au Centre national de la recherche scientifique (CNRS) dans le laboratoire IRISA et l'équipe-projet CAIRN à Lannion - Enseignant vacataire à l'École nationale supérieure des sciences appliquées et de technologie (ENSSAT) et l'École normale supérieure de Rennes
INTRODUCTION
Les FPGA (Field Programmable Gate Arrays) sont des circuits intégrés dont la fonctionnalité est entièrement programmable par l'utilisateur après fabrication. Ils constituent une alternative aux circuits ASIC (Application Specific Integrated Circuits) dont la fonctionnalité est totalement figée en fonderie.
Les FPGA sont un type particulier d'architecture reconfigurable. On parle de configuration pour leur processus de programmation. Différents types d'architectures reconfigurables se distinguent par le niveau de granularité des éléments programmables internes. Dans les FPGA, les éléments ont une fonctionnalité programmable à grain fin, c'est-à-dire pour chaque bit individuellement. Il existe des architectures reconfigurables à grain épais où la fonctionnalité est programmable au niveau des mots (par exemple 16 ou 32 bits).
Les FPGA utilisent les technologies les plus avancées disponibles à un moment donné (gravure 28 nm en 2012). Concevoir un ASIC dans ces technologies permettrait d'obtenir un système extrêmement performant, mais au prix d'un investissement colossal. Il faut, en effet, une équipe de conception importante, des outils coûteux et complexes, plusieurs mois de conception et enfin un budget important pour la fabrication. De plus, les délais de fabrication chez le fondeur peuvent être importants (quelques mois). Le temps de conception et vérification d'une solution FPGA est beaucoup plus court qu'en ASIC et nécessite moins d'efforts et de personnel. Bon nombre de détails techniques sont réglés par le fabricant du FPGA.
Les FPGA sont fabriqués en grands volumes, ce qui permet de partager les coûts de conception par tous les clients. Un FPGA coûte quelques euros, pour les plus simples, à quelques centaines (voire milliers) pour les plus complexes. Pour des petites séries, les FPGA sont bien plus accessibles que des ASIC. Bien entendu, pour des grands volumes, une solution ASIC est plus rentable.
Les mécanismes de configuration des FPGA réduisent les performances par rapport à des solutions ASIC. La vitesse est moindre et la consommation d'énergie supérieure. Mais le caractère reconfigurable permet d'optimiser le système dans le temps. On peut imaginer de mettre rapidement sur le marché une première solution, puis de l'améliorer dans le temps (Time-To-Market réduit) ou bien de supporter des nouveaux standards dans le temps sans devoir les « émuler » en logiciel.
Les FPGA fournissent les très hautes performances du matériel mais avec une utilisation simple et rapide par configuration logicielle. Ainsi, on les retrouve dans de nombreux domaines d'applications : calcul à hautes performances, systèmes embarqués, télécommunications, routeurs de réseaux, réseaux sans fil, traitement du signal et des images, imagerie médicale, vision par ordinateur, cryptologie, dispositifs de sécurité, capteurs biomédicaux, bioinformatique, prototypage de circuits, etc. Les FPGA sont devenus le support matériel de base de systèmes sur puce complets ou SoC (System on Chip). Toutes les fonctionnalités sont alors intégrées dans le FPGA.
MOTS-CLÉS
circuit intégré numérique circuit programmable architecture reconfigurable haute performance flexibilité
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Électronique - Photonique > Électronique > Architecture et tests des circuits numériques > Architectures reconfigurables FPGA > Conclusion
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
6. Conclusion
Dans les années 1980, les premiers circuits FPGA étaient limités à des tâches d'interfaçage entre différents circuits intégrés sur une même carte imprimée. Les évolutions technologiques importantes des années 1990 ont permis la mise sur le marché de FPGA avec de nombreuses ressources configurables. Dès ce moment, les FPGA sont devenus des alternatives aux circuits intégrés ASIC dans bon nombre d'applications pour des petites séries et dans le prototypage. L'intégration massive de nombreuses ressources configurables, de blocs de mémoire, d'opérateurs de calcul optimisés et de processeurs embarqués dans les années 2000 a permis l'explosion de l'utilisation des FPGA dans le monde de l'électronique. Un FPGA actuel permet de réaliser des fonctionnalités de plusieurs millions de portes logiques. Il est donc possible aujourd'hui de réaliser en FPGA des systèmes sur puce complets, ou SoC, pour des applications très complexes et qu'il serait beaucoup plus coûteux ou risqué de faire en ASIC et sans la garantie de pouvoir concevoir un circuit totalement fonctionnel à la fin.
Il semble qu'une tendance est l'utilisation conjointe de cœurs de calcul de processeurs (potentiellement parallèles) avec des zones reconfigurables de FPGA. Il n'est pas impossible que dans un avenir proche des circuits avec plusieurs cœurs, des zones reconfigurables et des accélérateurs dédiés soient disponibles. Les FPGA deviendront très certainement des supports pour concevoir des MPSoC (Multi-Processor System on Chip ) et des systèmes Many Core (avec de très nombreux cœurs de processeur sur une même puce). La flexibilité offerte par les FPGA a révolutionné le monde des circuits électroniques. Il est certain que cela ne s'arrêtera pas aux structures actuelles.
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Conclusion
BIBLIOGRAPHIE
-
(1) - HAUCK (S.), DEHON (A.), KAUFMANN (M.) - Reconfigurable computing. The theory and practice of FPGA-Based Computation. - Systems on Silicon (2007).
-
(2) - TESSIER (R.), ROSE (J.), KUON (I.) - FPGA architecture : survey and challenges. - Now Publishers Inc. (2008).
-
(3) - JOAO (M.P.), CARDOSO, DINIZ (P.C.) - Compilation techniques for reconfigurable architectures. - Springer-Verlag, 2e éd. (2010).
-
(4) - BETZ (V.), ROSE (J.), MARQUARDT (A.) - Architecture and CAD for deep-submicron FPGAs. - Kluwer Academic Publishers (1999).
-
(5) - WESTE (N.), HARRIS (D.) - CMOS VLSI design : a circuits and systems perspective. - Addison Wesley, 4e éd. (2010) http://www.cmosvlsi.com/
-
(6) - FANET (H.) - Micro et nano-électronique : bases, composants, circuits. - Dunod (2006).
- ...
ANNEXES
VPR : ensemble d'outils de CAO pour FPGA fait par l'Université de Toronto. Initialement spécialisés sur les phases de placement/routage. Aujourd'hui disponibles pour d'autres phases du flot de conception FPGA http://www.eecg.utoronto.ca/vpr/
Synplify : outil de synthèse logique pour circuits FPGA commercialisé par la société Synopsys capable d'effectuer des synthèses pour différents FPGA de différents fabricants http://www.synopsys.com
ISE : environnement de conception de la société Xilinx, permettant d'effectuer toutes les phases du flot de conception (synthèse, placement, routage, programmation, debug) pour les circuits FPGA Xilinx. Version limitée (webpack) disponible en téléchargement gratuit pour les petits circuits http://www.xilinx.com
Quartus : environnement de conception de la société Altera, permettant d'effectuer toutes les phases du flot de conception (synthèse, placement, routage, programmation, debug) pour les circuits FPGA Altera. Version limitée disponible en téléchargement gratuit pour une utilisation pendant 30 jours http://www.altera.com
OpenCores : blocs IP en open source http://opencores.org
Xilinx...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive