Passer au contenu principal

Actu+ 4 : Les FPGA

Page 2 de 4

Qu’est-ce qu’un FPGA ?

Le FPGA (Field Programmable Gate Array) est un composant électronique numérique standard hautement intégré. Il fait partie de la famille des circuits logiques programmables. Il allie la densité et les performances des circuits numériques spécialisés sans nécessiter le passage chez le fondeur, d’où des gains substantiels en coûts de développement et en délais de mise sur le marché.

A la différence des microprocesseurs ou microcontrôleurs, le FPGA n’exécute pas une séquence d’instructions élémentaires mémorisée (le logiciel), même s’il est possible de configurer le FPGA pour qu’il fonctionne comme un processeur mais ça, c’est une autre histoire.

Le FPGA est un ensemble de portes ou blocs logiques, de registres et d’interfaces d’entrée/sortie dont il est possible de configurer la matrice d’interconnexion pour réaliser toutes les fonctions de logique combinatoire ou séquentielle désirées. Les FPGA sont reconfigurables à volonté, très rapidement et sans limitation du nombre de cycles. La programmation se fait directement sur la carte électronique, dans son système.

Il existe un très large choix de tailles, de performances, de boîtiers pour s’adapter à toutes les applications, y compris aux plus exigeantes.

Pour faciliter le développement des applications, un large éventail de solutions est disponible, que ce soit en matière de langage de programmation , de simulation, de vérification ou de test. Leur grande souplesse d’utilisation associée à leurs performances font des FPGA des éléments de choix dans les conceptions critiques ou innovantes.

La technologie :

La « technologies » des FPGA concerne essentiellement la façon dont sont établies les
connexions configurées dans les matrices d’interconnexion des blocs logiques.
Il en existe 3 majeures : Anti-fuse, SRAM et EEPROM / FLASH

Anti-fuse:

la connexion est réalisée par un
microélément fusible. Par défaut
toutes les connexions sont
réalisées. La configuration
consiste à « fondre » les fusibles
là où la connexion n’est pas
requise. Avec cette technologie,
la reprogrammation est
impossible.

SRAM :

chacune des connexions est
réalisée par un transistor piloté
par l’état d’une case mémoire.
Cette mémoire de type SRAM
(mémoire statique volatile)
constitue une surcouche à la
matrice d’interconnexions. Elle
contient le fichier de
configuration et elle doit être
chargée à chaque mise sous
tension du FPGA.

EEPROM / FLASH :

fonctionne de la même façon
que la SRAM avec une mémoire
non volatile en techno EEPROM
ou Flash selon les fabricants.
Dans ce cas, il n’est pas
nécessaire de reprogrammer le
FPGA systématiquement à
chaque mise sous tension.

Au-delà de la façon d’établir les interconnexions, il existe de nombreuses variantes de FPGA
intégrant, en plus des blocs logiques de base, des fonctions avancées telles que des ports de
communication, des cœurs de microprocesseurs, des ADC et DAC, de la mémoire, …

  • Publié le 19/02/2025