Recherchez sur tout Techno-Science.net
       
Techno-Science.net : Suivez l'actualité des sciences et des technologies, découvrez, commentez
Catégories
Techniques
Sciences
Encore plus...
Techno-Science.net
Partenaires
Organismes
 CEA
 ESA
Sites Web
Photo Mystérieuse

Que représente
cette image ?
 A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | +
Circuit logique programmable
FPGA de Xilinx (modèle Spartan XC3S400) avec 400 000 portes et une fréquence de 50 Mhz
FPGA de Xilinx (modèle Spartan XC3S400) avec 400 000 portes et une fréquence de 50 Mhz

Un circuit logique programmable, ou réseau logique programmable, est un circuit intégré logique qui peut être reprogrammé après sa fabrication.

Il est composé de nombreuses cellules logiques élémentaires librement assemblables.

Ce type de composant électronique (Un composant électronique est un élément destiné à être assemblé avec d'autres afin de réaliser une ou plusieurs fonctions électroniques. Les composants forment de très nombreux types et catégories, il répondent à divers...) est communément désigné par les sigles anglais:

  • FPGA (field-programmable gate array, réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire un petit...) de portes programmables in-situ),
  • PLD (programmable logic device, circuit logique (La logique (du grec logikê, dérivé de logos (λόγος), terme inventé par Xénocrate signifiant à la fois raison,...) programmable),
  • EPLD (electrically erasable programmable logic device, circuit logique programmable (Un circuit logique programmable, ou réseau logique programmable, est un circuit intégré logique qui peut être reprogrammé après sa fabrication.) effaçable électriquement),
  • CPLD (complex programmable logic device, circuit logique programmable complexe),
  • PAL (programmable array logic, réseau logique programmable),
  • PLA (programmable logic array, réseau logique programmable),
  • etc.

Bien que fondamentalement synonymes, ces termes ne sont généralement pas interchangeables dans le vocabulaire commercial (Un commercial (une commerciale) est une personne dont le métier est lié à la vente.) des fabricants : FPGA désigne plutôt des composants à technologie (Le mot technologie possède deux acceptions de fait :) RAM, EPLD des composants à technologie FLASH, PAL des composants à technologie fusible (Fusible signifie « qui peut fondre » : voir Fusion (physique).) (voir § procédes technologiques).

Architecture (L’architecture peut se définir comme l’art de bâtir des édifices.) matérielle

Les réseaux logiques programmables sont des circuits composés de nombreuses cellules logiques élémentaires librement assemblables.

Celles-ci sont connectées de manière définitive ou réversible par programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf. VHDL).), afin de réaliser la ou les fonctions numériques voulues. L'intérêt est qu'une même puce peut être utilisée dans de nombreux systèmes électroniques différents.

Certains modèles peuvent aussi comporter : de la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) d'usage (L’usage est l'action de se servir de quelque chose.) général, des blocs "DSP" câblés, des boucles à verrouillage de phase (Le mot phase peut avoir plusieurs significations, il employé dans plusieurs domaines et principalement en physique :) pour la génération d'horloge.

FPGA

La plupart des grands FPGA modernes sont basés sur des cellules SRAM aussi bien pour le routage (En informatique, le terme routage désigne le mécanisme par lequel les données d'un équipement expéditeur sont acheminées jusqu'à leur destinataire en examinant les informations situées au...) du circuit que pour les blocs logiques à interconnecter.

Un bloc logique est de manière générale constituée d'une table de correspondance (La correspondance est un échange de courrier généralement prolongé sur une longue période. Le terme désigne des échanges de courrier personnels plutôt qu'administratifs.) (LUT ou Look-Up-Table) et d'une bascule (Une bascule ou un basculeur est un circuit intégré logique doté d'une sortie et d'une ou plusieurs entrées. La sortie peut être au niveau logique 0 ou 1. Les changements d'état de la...) (Flip-Flop en anglais). La LUT sert à implémenter des équations logiques ayant généralement 4 à 6 entrées et une sortie. Elle peut toutefois être considérée comme une petite mémoire, un multiplexeur (Un multiplexeur est un circuit permettant de concentrer sur une même voie de transmission différents types de liaisons (informatique, télécopie, téléphonie, télétex) en sélectionnant une entrée...) ou un registre à décalage. Le registre permet de mémoriser un état (machine séquentielle) ou de synchroniser un signal ( Termes généraux Un signal est un message simplifié et généralement codé. Il existe sous forme d'objets ayant des formes particulières. Les signaux lumineux sont employés depuis la nuit des temps par les hommes...) (pipeline).

Les blocs logiques, présents en grand nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) sur la puce (de quelques milliers à quelques millions en 2007) sont connectés entre eux par une matrice de routage configurable. Ceci permet la reconfiguration à volonté du composant, mais occupe une place importante sur le silicium et justifie le coût élévé des composants FPGA. La topologie (La topologie est une branche des mathématiques concernant l'étude des déformations spatiales par des transformations continues (sans arrachages ni recollement des structures).) est dite "Manhattan (Manhattan est l'une des cinq circonscriptions (borough) de la ville de New York (les quatre autres étant The Bronx, Queens, Brooklyn et Staten Island). La circonscription de Manhattan se superpose avec le comté de...)", en référence aux rues à angle (En géométrie, la notion générale d'angle se décline en plusieurs concepts apparentés.) droit de ce quartier de New York (New York , en anglais New York City (officiellement, City of New York) pour la distinguer de l’État de New York, est la principale ville des États-Unis, elle compte a...).

Les densités actuelles ne permettent plus un routage manuel, c'est donc un outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son efficacité naturelle dans l'action. Cette augmentation se traduit par la simplification des actions entreprises, par une plus grande rentabilisation de ces...) de placement-routage automatique (L'automatique fait partie des sciences de l'ingénieur. Cette discipline traite de la modélisation, de l'analyse, de la commande et, de la régulation des systèmes dynamiques. Elle a pour fondements...) qui fait correspondre le schéma logique voulu par le concepteur (Un concepteur est une personne qui imagine et réalise quelque chose. Ce mot vient du verbe concevoir.) et les ressources matérielles de la puce. Comme les temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) de propagation dépendent de la longueur (La longueur d’un objet est la distance entre ses deux extrémités les plus éloignées. Lorsque l’objet est filiforme ou en forme de lacet, sa longueur est celle de...) des liaisons entre cellules logiques, et que les algorithmes d'optimisation des placeurs-routeurs ne sont pas déterministes, les performances (fréquence max) obtenues dans une FPGA sont variables d'un design (Le design (la stylique en français) est un domaine visant à la création d'objets, d'environnements ou d'œuvres graphiques, à la fois fonctionnels,...) à l'autre. L'utilisation des ressources est par contre très bonne, et des taux d'occupation des blocs logiques supérieures à 90% sont possibles.

Comme la configuration (routage et LUTs) est faite par des points mémoire volatiles, il est nécessaire de sauvegarder le design du FPGA dans une mémoire non volatile externe, généralement une mémoire Flash (La mémoire flash est une mémoire de masse à semi-conducteurs ré-inscriptible, c'est-à-dire une mémoire possédant les caractéristiques d'une mémoire vive...) série, compatible JTAG. Certains fabricants se distinguent toutefois par l'utilisation de cellules EEPROM pour la configuration, éliminant le recours à une mémoire externe, ou par une configuration par anti-fusibles (la programmation par une tension (La tension est une force d'extension.) élevée fait "claquer" un diélectrique, créeant un contact). Cette dernière technologie n'est toutefois pas reconfigurable.

Quelques fonctionnalités particulières disponibles sur certains composants :

  • blocs de mémoire supplémentaires (hors des LUT), souvent double-port, parfois avec mécanisme de FIFO,
  • multiplieurs câblés (coûteux à implémenter en LUT), voire blocs multiplieur-accumulateur pour traitements DSP,
  • cœur de microprocesseur enfoui (dit hard core),
  • blocs PLL pour synthétiser ou resynchroniser les horloges,
  • reconfiguration partielle, même en cours de fonctionnement,
  • cryptage (En cryptographie, le chiffrement (parfois appelé à tort cryptage) est le procédé grâce auquel on peut rendre la compréhension d'un document impossible à toute personne qui n'a pas la clé de (dé)chiffrement.) des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) de configuration,
  • sérialiseurs/désérialiseurs dans les entrées-sorties, permettant des liaisons série haut-débit,
  • impédance (Le terme Impédance est utilisé dans plusieurs domaines:) contrôlée numériquement dans les entrées-sorties, évitant de nombreux composants passifs sur la carte.

CPLD

Les PAL, GAL (Le gal (symbole Gal) est une unité CGS d'accélération égale à 1 cm/s2 = 0,01 m/s2, utilisé pour exprimer l'accélération de...), CPLD et EPLD, de conception plus ancienne, utilisent des "macrocellules" logiques, composées d'un réseau combinatoire (En mathématiques, la combinatoire, appelée aussi analyse combinatoire, étudie les configurations de collections finies d'objets ou les combinaisons d'ensembles finis,...) de portes ET et OU afin d'implémenter des équations logiques. Des bascules sont disponibles seulement dans les blocs d'entrée-sortie. Un composant contient de quelques dizaines à quelques centaines de macrocellules.

Comme le routage est fixe, les temps de propagations sont bornés et permettent une fréquence (En physique, la fréquence désigne en général la mesure du nombre de fois qu'un phénomène périodique se reproduit par unité de temps. Ainsi...) de fonctionnement élevée et indépendante du design. Par contre, l'utilisation des ressources n'est pas optimale (tout terme non utilisé dans une équation (En mathématiques, une équation est une égalité qui lie différentes quantités, généralement pour poser le problème de leur identité. Résoudre l'équation consiste à déterminer toutes les façons de donner à certaines des quantités qui y...) logique équivaut à des portes perdues), avec des taux d'utilisation d'environ 25%.

On distingue les CPLD des autres PLD car ils contiennent l'équivalent de plusieurs composants PLD, reliés par une matrice d'interconnexion.

Applications

Les FPGA sont utilisés dans diverses applications nécessitant de l'électronique numérique (Une information numérique (en anglais « digital ») est une information ayant été quantifiée et échantillonnée, par opposition à une information dite...) (télécommunications, aéronautique (L'aéronautique inclut les sciences et les technologies ayant pour but de construire et de faire évoluer un aéronef dans l'atmosphère terrestre.), transports (Le transport, du latin trans, au-delà, et portare, porter, est le fait de porter quelque chose, ou quelqu'un, d'un lieu à un autre.)...). Ils sont également utilisés pour le prototypage d'ASIC.

Les FPGA sont généralement plus lents, plus chers à l'unité et consomment davantage d'énergie (Dans le sens commun l'énergie désigne tout ce qui permet d'effectuer un travail, fabriquer de la chaleur, de la lumière, de produire un mouvement.) que leur équivalent en ASIC (Application Specific Integrated Circuit). Cependant, ils ont plusieurs avantages :

  • délai (Un délai est d'après le Wiktionnaire, « un temps accordé pour faire une chose, ou à l’expiration duquel on sera tenu de faire une certaine chose....) de mise sur le marché plus court, car ce sont des composants standard,
  • 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é (La quantité est un terme générique de la métrologie (compte, montant) ; un scalaire, vecteur, nombre d’objets ou d’une autre manière de dénommer la valeur d’une collection ou un groupe de choses.) tend à augmenter : en effet, le prix d'une puce est proportionnel à sa surface (Une surface désigne généralement la couche superficielle d'un objet. Le terme a plusieurs acceptions, parfois objet géométrique, parfois...), 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 (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de l'ordinateur qui exécute...) ou un DSP, afin d'exécuter un logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de...). 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 resources logiques configurables du composant. Ceci n'exclut pas l'utilisaton de processeur softcore possédant de nombreux avantages. On tend donc vers des "Systems On Chip", comme pour le microcontrôleur (Un microcontrôleur est un circuit intégré rassemblant dans un même boitier un microprocesseur, plusieurs types de mémoires et des périphériques de communication (Entrées-Sorties).) il y a quelques décénies, avec en plus de la logique configurable selon l'utilisateur. La mémoire des tous 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.

Conception du schéma logique

Afin de pouvoir finaliser un FPGA, il est nécessaire d'utiliser un langage de description matériel (HDL) ou bien un outil de saisie graphique. Après compilation de cette description, on obtient un fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par exemple : ...) de configuration pour le FPGA choisi. VHDL et Verilog sont les deux langages de description les plus répandus.

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) - (Electrically 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 Eraseable 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é (La densité ou densité relative d'un corps est le rapport de sa masse volumique à la masse volumique d'un corps pris comme référence. Le corps de référence est l'eau pure à...) supérieure (donc avec un coût inférieur pour une complexité (La complexité est une notion utilisée en philosophie, épistémologie (par exemple par Anthony Wilden ou Edgar Morin), en physique, en biologie (par exemple par Henri Atlan), en sociologie, en informatique ou...) 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 (Un interrupteur (dérivé de rupture) est un dispositif ou organe, physique ou virtuel, permettant d'interrompre ou d'autoriser le passage d'un flux. Il ne faut pas...) (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 (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) 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 premier composants gravés avec une finesse de 90nm ont été les FPGA Spartan3 de Xilinx (Xilinx, Inc. est une société américaine spécialisée dans la logique programmable.), en 2003.

Fabricants

Parmi les fabriquants de tels circuits programmables, on trouve Xilinx, Altera (Altera NASDAQ : ALTR est un fabricant de composants reprogrammables comme les FPGA. Dans ce domaine, il tient tête à Xilinx et Atmel. Altera...), Lattice Semiconductor, Actel, Cypress, Atmel et QuickLogic.

Source: Wikipédia publiée sous licence CC-BY-SA 3.0.

Vous pouvez soumettre une modification à cette définition sur cette page. La liste des auteurs de cet article est disponible ici.