FPGA
Anglais: field-programmable gate array
Un réseau de portes logiques conçu pour être configuré par le client ou le concepteur après la fabrication sur le terrain, c'est-à-dire après sa production.
FPGA: la logique silicium que vous reprogrammez sans remplacer
Un FPGA (Field-Programmable Gate Array) est une puce contenant des milliers de blocs logiques non configurés et d'interconnexions que vous câblez après la fabrication en chargeant un bitstream dans sa mémoire. Contrairement aux circuits intégrés spécifiques à une application (ASIC), qui sont câblés en usine, un FPGA vous permet de définir quels blocs communiquent avec quels autres sans toucher au matériel. Ceci est extrêmement important lorsque vous devez déployer une logique qui changera, déboguera ou s'adaptera à de nouvelles spécifications sans commander une nouvelle série de silicium personnalisé.
Les blocs logiques eux-mêmes sont généralement des tables de correspondance (LUT), généralement à 4 ou 6 entrées, combinées à des bascules et des multiplexeurs. Ceux-ci sont disposés en grille, entourés de canaux de routage programmables. Vous configurez tout en utilisant des langages de description matérielle comme VHDL ou Verilog. Les outils de synthèse compilent votre code en un bitstream, un fichier binaire qui règle chaque interrupteur dans le réseau. Le bitstream se charge dans des cellules de RAM statique, ou parfois de mémoire flash, qui contrôlent le routage et la fonction de chaque bloc.
Où les FPGA s'intègrent dans la production et le prototypage
Dans les environnements industriels, les FPGA apparaissent dans le contrôle de mouvement, le traitement du signal en temps réel et les protocoles d'E/S personnalisés où la latence ou la bande passante sont trop critiques pour un logiciel sur un CPU. Un FPGA industriel typique peut avoir quelques milliers de LUT et fonctionner à 100 à 400 mégahertz. Les dispositifs plus grands de la même famille peuvent atteindre des centaines de milliers de LUT. Vous échangez le coût unitaire (les puces FPGA coûtent plus cher que les ASIC équivalents en volume) contre la flexibilité et un délai de mise sur le marché rapide. La reconfiguration se produit soit au démarrage, soit, dans les dispositifs avancés, à l'exécution pendant que le reste du système fonctionne.
Les principaux modes de défaillance sont la corruption de la mémoire de configuration due aux radiations ou aux pannes de courant, les violations de synchronisation logique qui surviennent lorsque les conceptions reconfigurées dépassent les délais de propagation, et l'emballement thermique si la dissipation de puissance pendant la reconfiguration n'est pas gérée. Les conceptions industrielles incluent souvent des circuits de surveillance (watchdog) et des rechargements périodiques du bitstream pour détecter les inversions de bits de mémoire. Des fournisseurs comme Xilinx et Intel Altera dominent le marché; des acteurs plus petits servent des applications de niche.
Le terme « programmable sur le terrain » souligne que vous configurez le composant en place, après qu'il ait quitté l'usine et soit entré sur le terrain, plutôt qu'avant l'expédition. Cela contraste avec les réseaux de portes programmables par masque, qui nécessitaient une intervention en usine pour définir les masques métalliques, et avec la logique basée sur ROM ou EPROM, qui sont plus lentes et moins flexibles. Le FPGA inventé en 1985 a éliminé cette contrainte et est devenu la plateforme silicium flexible standard pour la logique personnalisée qui ne justifie pas une production d'ASIC.
Sources
- Source de la définitionWiktionary