Circuit logique programmable - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Conception du schéma logique

Afin de pouvoir finaliser un FPGA, il est nécessaire d'utiliser un langage de description matériel ou bien un outil de saisie graphique. Après compilation de cette description, on obtient un fichier de configuration pour le FPGA choisi. VHDL et Verilog sont les deux langages de description les plus répandus.

Applications

Les FPGA sont utilisés dans diverses applications nécessitant de l'électronique numérique (télécommunications, aéronautique, transports…). Ils sont également utilisés pour le prototypage d'ASIC.

Les FPGA sont généralement plus lents, plus chers à l'unité et consomment d'avantage d'énergie que leur équivalent en ASIC (Application Specific Integrated Circuit). Cependant, ils ont plusieurs avantages :

  • délai de mise sur le marché plus court, car ce sont des composants standards,
  • temps de développement plus court, car on réutilise des fonctions de base et la reconfigurabilité autorise une validation préalable moins stricte,
  • coût inférieur pour de petites séries (moins de 10 000 unités). Avec l'évolution technologique, cette quantité tend à augmenter : en effet, le prix d'une puce est proportionnel à sa surface, qui diminue avec la finesse de gravure, tandis que les coûts initiaux pour fabriquer un ASIC (conception, tests, masques de gravure) sont en forte augmentation.

Il est parfois possible de transformer directement un FPGA en une version ASIC plus rapide, moins chère et consommant moins (car les matrices de routage sont remplacées par une couche de métallisation fixe).

Plusieurs FPGA modernes possèdent la possibilité d'être reconfigurés (on parle de configuration lorsqu'il s'agit de programmation du matériel) partiellement à la volée. Ceci permet d'obtenir des systèmes reconfigurables - par exemple une unité centrale dont les instructions changent dynamiquement en fonction des besoins.

Les FPGA modernes sont assez vastes et contiennent suffisamment de mémoire pour être configurés pour héberger un cœur de processeur ou un DSP, afin d'exécuter un logiciel. On parle dans ce cas de processeur softcore, par opposition aux microprocesseurs hard-core enfouis dans le silicium. Aujourd'hui, les fabricants de FPGA intègrent même un ou plusieurs cœurs de processeur « hard-core » sur un même composant afin de conserver les ressources logiques configurables du composant. Ceci n'exclut pas l'utilisation de processeur softcore possédant de nombreux avantages. On tend donc vers des « Systems On Chip », comme pour le microcontrôleur il y a quelques décennies, avec en plus de la logique configurable selon l'utilisateur. La mémoire des tout derniers FPGA est encore insuffisante pour exécuter des logiciels embarqués un peu complexes et on doit avoir recours à des mémoires externe (ROM, RAM). Cependant, la loi de Moore n'est pas encore à bout de souffle et celles-ci devraient être intégrées dans quelques années et suffiront à une grande partie des applications embarquées.

Fabricants

Parmi les fabricants de tels circuits programmables, on trouve Abound Logic, Achronix, Actel, Altera, Atmel, Cypress, Lattice Semiconductor, Nallatech, QuickLogic, SiliconBlue, Tabula Inc., Tier Logic et Xilinx. D'autres sociétés sont probablement encore à l'état de développement initial et n'ont pas publiquement annoncé de produits.

Procédés technologiques

Les procédés technologiques de base pour les composants programmables sont les suivants :

  • SRAM - (Static Random Access Memory). Programmables à volonté et in situ. Habituellement en technologie CMOS.
  • EPROM (UVPROM) - (Erasable Programmable Read-Only Memory). Peuvent être effacés (et reprogrammés) par exposition aux rayons ultra-violets. Technologie CMOS, en cours de disparition au profit de l'EEPROM.
  • EEPROM - (Electrically Erasable Programmable Read-Only Memory). Peuvent être effacés et reprogrammés à volonté. Quelques-uns peuvent être programmés in situ (souvent par une connexion JTAG). Technologie CMOS.
  • Flash - (Flash-erase EPROM). Mêmes propriétés que EEPROM mais avec une densité supérieure (donc avec un coût inférieur pour une complexité donnée). Technologie CMOS.
  • Fusible - Programmables une seule fois. Technologie bipolaire.
  • Anti-fusible - Ne sont programmables qu'une seule fois. Technologie CMOS.

Dans le cas des technologies à mémoires (SRAM, EEPROM, flash), la mémoire est située à côté du circuit logique proprement dit et chacun de ses bits pilote un interrupteur (en fait, un transistor) de configuration du réseau logique. Dans le cas des technologies à (anti-)fusibles, ceux-ci sont directement dans le réseau logique et ont à la fois la fonction de mémoire non-volatile et d'interrupteur.

Les FPGA haut de gamme sont à la pointe de la technologie : les sauts technologiques, comme la finesse de gravure, sont souvent réalisés sur ces composants avant de passer aux microprocesseurs. En effet, la structure répétitive de la matrice logique est propice au réglage des machines de gravure microélectronique. Ainsi, les premiers composants gravés avec une finesse de 90 nm ont été les FPGA Spartan3 de Xilinx, en 2003.

Page générée en 0.042 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise