Qu’est-ce qu’un FPGA ?
FPGA est l’abréviation de Field Programmable Gate Array. Il désigne un dispositif qui intègre des circuits logiques pouvant être programmés par le concepteur pour configurer des circuits logiques sur le terrain.
Les circuits intégrés logiques dédiés ont des circuits fixes et nécessitent une reconception/reproduction de masques pour en modifier des parties. En revanche, les FPGA se caractérisent par des circuits logiques qui peuvent être librement modifiés par le concepteur.
Les FPGA ont été développés par Xilinx aux États-Unis.
Utilisations des FPGA
Les FPGA sont utilisés dans l’équipement automobile, les capteurs de données, l’apprentissage en profondeur (Deep Learning), etc. Les circuits logiques à grande échelle servent à effectuer des opérations logiques à grande vitesse qui ne peuvent pas être programmées par l’unité centrale. Une solution consiste à concevoir et à fabriquer des LSI dédiés (par exemple des ASIC), mais il est difficile de modifier les circuits des LSI dédiés.
En revanche, les FPGA permettent aux concepteurs de circuits de concevoir librement des circuits d’application et facilitent la modification des circuits. Cela permet de réduire considérablement le coût de développement des circuits logiques. Ces caractéristiques ont permis aux FPGA d’être largement utilisés dans divers domaines.
1. Équipements automobiles
Les raisons de leur utilisation dans l’équipement automobile sont notamment la réduction des cycles de développement, la flexibilité face aux changements et l’émergence de dispositifs répondant aux exigences de qualité. Un exemple concret est l’analyse vidéo pour les systèmes d’aide à la conduite.
Ces derniers doivent analyser instantanément les signaux vidéo en temps réel provenant des caméras embarquées afin d’aider le conducteur dans ses opérations de conduite. Ils nécessitent donc d’algorithmes à faible latence et à haute précision, ainsi que d’un traitement arithmétique à grande vitesse Les FPGA conviennent à ces systèmes car ils répondent à ces exigences et permettent de modifier les fonctions de contrôle électronique à l’intérieur du dispositif en fonction des besoins.
2. Centres de données
Les FPGA sont de plus en plus utilisés dans les centres de données. Ils remplacent notamment les CPU et sont chargés du traitement de l’IA, de la sécurité, de l’authentification, de l’analyse en temps réel, de l’apprentissage en profondeur, etc. On s’en sert également pour améliorer les performances des grands systèmes de données. En effet, ils fournissent une connectivité à large bande passante et à faible latence aux systèmes de réseau/stockage, accélérant ainsi le traitement des données. De plus, ils prennent en charge la compression des données et le traitement de remplissage.
3. Apprentissage en profondeur
Dans le monde de l’apprentissage en profondeur (ou en anglais Deep Learning), la flexibilité des FPGA pour modifier les circuits est extrêmement utile car la modélisation optimale change tous les jours. Les FPGA sont des dispositifs idéaux pour des applications telles que celle-ci, où le système doit être amélioré fréquemment.
Principe des FPGA
Un FPGA est un LSI (Large Scale Integration) basé sur un réseau de blocs logiques programmables relativement petits avec des fils verticaux et horizontaux entre eux. Bien que chaque bloc logique soit de petite taille, de nombreux blocs peuvent être combinés pour réaliser des circuits à grande échelle.
Un bloc logique de base se compose d’un LUT (Look Up Table), de bascules et de circuits supplémentaires. Ces blocs peuvent être connectés de manière arbitraire au moyen de matrices de commutation (portes de transfert) dans les chemins de câbles.
Les LUT utilisent de la SRAM. La matrice de commutation est également contrôlée par les données écrites dans la SRAM. Comme les données contenues dans celle-ci sont perdues lorsque l’alimentation électrique est coupée, le FPGA lit les informations du circuit (données de configuration) de manière externe lorsque l’alimentation électrique est rétablie.
La structure interne d’un FPGA comprend les blocs logiques de base, les fils internes et d’horloge dédiés, les multiplicateurs (DSP), les sections E/S, les PLL ainsi que les blocs RAM. Ces éléments sont disposés en mailles pour faciliter l’acheminement de n’importe quel type de circuit.
Autres informations sur les FPGA
1. Outils de conception
Traditionnellement, le RTL (Register Transfer Level) est utilisé comme langage de conception pour les FPGA. Sur la base du RTL du concepteur, un fichier de téléchargement à écrire dans le FPGA était généré à partir des outils fournis par le vendeur.
Toutefois, des outils connus sous le nom de “compilateurs de synthèse de haut niveau” ont été récemment mis à disposition par les fournisseurs de FPGA. Leur utilisation permet une conception efficace et réduit en même temps le temps nécessaire à la vérification du circuit. Il contribue ainsi à réduire les délais de développement des produits.
Actuellement, les fournisseurs de FPGA proposent les trois compilateurs de synthèse de haut niveau suivants :
- Compilateurs basés sur des modèles (DSP)
- Compilateurs HLS
- Compilateurs OpenCL
Les cartes d’évaluation sont généralement utilisées pour étudier les circuits utilisant des FPGA. Elles sont vendues par diverses sociétés, notamment des fournisseurs de semi-conducteurs, des fabricants de cartes d’évaluation et des sociétés de conception sous contrat. Il en existe donc un très grand nombre de types et il est nécessaire de choisir la bonne carte en fonction du niveau technique et de l’objectif. Les six fabricants suivants sont les plus courants :
- HiTech Global
- BittWare
- TUL
- IOxOS
- Portwell Japon
- ANVENT
2. Marché
Un rapport publié en avril 2020 par Global Information prévoit que le marché des FPGA représentera 8 milliards d’euros en 2025, contre 5.5 milliards d’euros en 2020. Le taux de croissance annuel composé (CAGR) devrait être de 7.6%. Bien que des chiffres détaillés ne soient pas disponibles, lorsque le marché des FPGA est classé par nœud technologique, il apparaît que le plus grand pourcentage de la gamme de produits se situe en dessous de 28nm en 2019.
En raison de l’émergence de produits à faible consommation d’énergie et d’autres facteurs, le rapport prévoit aussi une forte croissance pour les produits inférieurs à 28nm vers 2025. De plus, les applications qui stimulent le marché des FPGA de 2020 à 2025 comprennent les ordinateurs à haute performance pour l’informatique en nuage et les réseaux 5G.