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.



Catégories :

Circuit intégré logique - Électronique numérique - Électronique - Traitement numérique du signal

Recherche sur Google Images :


Source image : directindustry.fr
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • Les circuits logiques programmables, qui ont permis de renouveler les méthodes de ... suivant une complexité croissante : mémoire, PLD, CPLD et FPGA.... (source : eyrolles)
  • Introduction aux circuits logiques programmable. •. Méthode et procédure pour réaliser un dispositif à base d'un circuit logique de type. " FPGA "... (source : webcal.claurendeau.qc)
  • Circuits logiques programmables : Mémoires PLD, CPLD et FPGA, informatique industrielle neuf, 21, 85 €, N. C., 21, 85 €, Habituell.... (source : wikio)
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 se compose de nombreuses cellules logiques élémentaires librement assemblables.

Ce type de composant électronique est couramment désigné par les sigles anglais :

Bien que principalement synonymes, ces termes ne sont le plus souvent pas interchangeables dans le vocabulaire commercial des fabricants : FPGA sert à désigner plutôt des composants à technologie RAM, EPLD des composants à technologie FLASH, PAL des composants à technologie fusible (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, pour réaliser l'ou les fonctions numériques voulues. L'intérêt est qu'une même puce est parfois utilisée dans de nombreux dispositifs électroniques différents.

Certains modèles peuvent aussi comporter : de la mémoire d'usage général, des blocs «DSP» câblés, des boucles à verrouillage de phase pour la génération d'horloge.

FPGA

La plupart des grands FPGA modernes sont basés sur des cellules SRAM autant pour le routage du circuit que pour les blocs logiques à interconnecter.

Un bloc logique est généralement constitué d'une table de correspondance (LUT ou Look-Up-Table) et d'une bascule (Flip-Flop en anglais). La LUT permet de implémenter des équations logiques ayant le plus souvent 4 à 6 entrées et une sortie. Elle peut cependant être reconnue comme une petite mémoire, un multiplexeur ou un registre à décalage. Le registre sert à mémoriser un état (machine séquentielle) ou de synchroniser un signal (pipeline).

Les blocs logiques, présents en grand 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 et justifie le coût élevé des composants FPGA. La topologie est dite «Manhattan», en référence aux rues à angle droit de ce quartier de New York.

Les densités actuelles ne permettent plus un routage manuel, c'est par conséquent un outil de placement-routage automatique qui fait correspondre le schéma logique voulu par le concepteur et les ressources matérielles de la puce. Comme les temps de propagation dépendent de la longueur 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 à l'autre. L'utilisation des ressources est par contre particulièrement bonne, et des taux d'occupation des blocs logiques supérieures à 90 % sont envisageables.

Comme la configuration (routage et LUTs) est faite par des points mémoire volatiles, il est indispensable de sauvegarder le design du FPGA dans une mémoire non volatile externe, le plus souvent une mémoire Flash série, compatible «JTAG». Certains fabricants se distinguent cependant 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 élevée fait «claquer» un diélectrique, créant un contact). Cette dernière technologie n'est cependant pas reconfigurable.

Quelques fonctionnalités spécifiques disponibles sur certains composants :

CPLD

Les PAL, GAL, CPLD et EPLD, de conception plus ancienne, utilisent des «macrocellules» logiques, composées d'un réseau combinatoire de portes ET et OU afin d'implémenter des équations logiques. Des bascules sont disponibles uniquement 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 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 logique équivaut à des portes perdues), avec des taux d'utilisation d'environ 25 %.

On peut distinguer 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 (télécommunications, aéronautique, transports…). Ils sont aussi utilisés pour le prototypage d'ASIC.

Les FPGA sont le plus souvent 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 :

Il est quelquefois envisageable 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 quand 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 suivant les 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. Actuellement, les fabricants de FPGA intègrent même un ou plusieurs cœurs de processeur «hard-core» sur un même composant pour conserver les ressources logiques configurables du composant. Ceci n'exclut pas l'utilisation de processeur softcore possédant de nombreux avantages. On tend par conséquent 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 tous derniers FPGA est toujours insuffisante pour exécuter des logiciels embarqués légèrement 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

Pour pouvoir finaliser un FPGA, il est indispensable d'utiliser un 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 communs.

Procédés technologiques

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

Dans le cas des technologies à mémoires (SRAM, EEPROM, flash), la mémoire est localisée à côté du circuit logique lui-même 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 fréquemment 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.

Fabricants

Parmi les fabricants de tels circuits programmables, on trouve Actel, Altera, Achronix, Atmel, BlueSilicon, Cypress, Lattice Semiconductor, Nallatech, QuickLogic et Xilinx.

Voir aussi

Liens externes

Recherche sur Amazone (livres) :



Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Circuit_logique_programmable.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu