Circuit logique programmable - Définition et Explications

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

Introduction

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é (Le circuit intégré (CI), aussi appelé puce électronique, est un composant électronique...) logique (La logique (du grec logikê, dérivé de logos (λόγος),...) 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...) 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...) de portes programmables in situ),
  • PLD (programmable logic device, circuit logique programmable),
  • EPLD (erasable programmable logic device, circuit logique programmable (Un circuit logique programmable, ou réseau logique programmable, est un circuit...) et effaçable),
  • 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édés technologiques).

Architecture 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...), 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'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...) pour la génération d'horloge.

FPGA

La plupart des grands FPGA modernes sont fondé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...) du circuit que pour les blocs logiques à interconnecter.

Un bloc logique est de manière générale constitué d'une table de correspondance (La correspondance est un échange de courrier généralement prolongé sur une longue période. Le...) (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...) (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...) 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...) (pipeline).

Les blocs logiques, présents en grand nombre (La notion de nombre en linguistique est traitée à l’article « Nombre...) 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 (Le silicium est un élément chimique de la famille des cristallogènes, de symbole Si...) et justifie le coût élevé des composants FPGA. La topologie (La topologie est une branche des mathématiques concernant l'étude des déformations spatiales par...) est dite « Manhattan », en référence aux rues à angle (En géométrie, la notion générale d'angle se décline en plusieurs concepts...) droit de ce quartier de New York (New York , en anglais New York City (officiellement, City of New York) pour la distinguer de...).

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...) de placement-routage automatique (L'automatique fait partie des sciences de l'ingénieur. Cette discipline traite de la...) 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...) 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...) de propagation dépendent de la longueur (La longueur d’un objet est la distance entre ses deux extrémités les plus...) 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 un FPGA sont variables d'un design (Le design (la stylique en français) est un domaine visant à la création d'objets,...) à 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 volatils, il est nécessaire de sauvegarder le design du FPGA dans une mémoire non volatile (Une mémoire non volatile est une mémoire qui conserve ses données en l'absence...) externe, généralement une mémoire Flash (La mémoire flash est une mémoire de masse à semi-conducteurs ré-inscriptible,...) 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éant 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 (Un microprocesseur est un processeur dont les composants ont été suffisamment...) enfoui (dit hard core),
  • blocs PLL pour synthétiser ou resynchroniser les horloges,
  • reconfiguration partielle, même en cours de fonctionnement,
  • chiffrement (En cryptographie, le chiffrement (parfois appelé à tort cryptage) est le procédé grâce auquel...) des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...) 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...), 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...) 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...) 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...) 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.

Page générée en 0.027 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
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique