Présentation
En anglaisRÉ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’articleABSTRACT
The Field Programmable Gate Arrays (FPGAs) circuits are programmable or configurable by the user after fabrication. This article details their generic architecture (blocs, interconnection, processors, configuration). It also provides examples of FPGA families ( (Altera, Xilinx, Actel/Microsemi and even Achronix) and development tools such as description languages, logic synthesis, high-level synthesis and placement/routing.
Auteur(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é
KEYWORDS
digital integrated circuit | programmable circuit | reconfigurable architecture | high performance | flexibility
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Technologies de l'information > Technologies logicielles Architectures des systèmes > Architectures matérielles > Architectures reconfigurables FPGA > Architecture générique d'un FPGA
Cet article fait partie de l’offre
Électronique
(227 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
2. Architecture générique d'un FPGA
Un FPGA est un circuit intégré dont la fonctionnalité peut être « imprimée » dans le matériel grâce à une configuration chargée dans une mémoire.
Cette mémoire, qu'elle soit de type volatile ou non-volatile, peut être programmée directement par l'utilisateur (d'où le terme Field Programmable ) sans nécessiter un passage coûteux en fonderie. D'une façon générale, un FPGA peut être vu comme un tableau d'éléments logiques élémentaires (d'où le terme Gate Array ) dont la fonctionnalité d'un élément et sa connexion avec un sous-ensemble d'éléments, voisins ou distants, dépendent de la configuration chargée dans le plan mémoire. La figure 2 donne une vue générique de l'architecture d'un FPGA. On y voit une zone homogène prenant la forme d'une large matrice connectant :
-
des blocs logiques (BL) ;
-
des blocs d'entrée/sortie (E/S) ;
-
des blocs de routage (R) selon des motifs variant selon les familles et les fabricants (§ 3).
La taille de cette matrice dépasse maintenant facilement les 105 BL. À cette architecture très régulière s'ajoutent depuis quelques années différents éléments permettant de rendre le système implanté dans le FPGA beaucoup plus efficace en termes de performance ou d'énergie consommée. On trouve par exemple :
-
des blocs mémoire (RAM) de tailles diverses ;
-
des blocs arithmétiques optimisés pour les principales fonctions du traitement du signal ou de l'image (DSP) ;
-
des blocs de génération d'horloges programmables par l'utilisateur (horloge) ;
-
des blocs contenant un périphérique spécifique (PERI) ;
-
ou, de plus en plus, des processeurs...
Cet article fait partie de l’offre
Électronique
(227 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
Architecture générique d'un FPGA
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
Électronique
(227 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