La technologie des FPGA (Field-programmable gate array) n’est pas nouvelle. L’idée de disposer de puces composées d’une grille d’unités logiques programmables remonte aux années 1980. Elle consiste à littéralement «flasher» le schéma d’un circuit intégré sur une puce générique. Cette approche se veut bien plus rapide que celle qui implique de concevoir et de faire produire à un fondeur un circuit spécifique à une application, dite ASIC (Application-specific integrated circuit). Elle s’est montrée particulièrement intéressante dans des secteurs comme le spatial et la défense, où le faible nombre de puces à produire ne justifiait pas d’opter pour un ASIC. Néanmoins, pendant les années 1990 et 2000, les usages de ces composants se sont limités à quelques niches du fait des contraintes des premiers FPGA.
« Faire des mises à jour à distance est très précieux pour un industriel. Il n'est plus nécessaire de démonter et remplacer le composant pour upgrader un équipement. » ARNAUD DANIEL, Directeur technique d'Elsys Design
L’évolution des semi-conducteurs va totalement rebattre les cartes. La technologie Fuse-Antifuse des premiers FPGA a fait place aux EPROM/EEPROM et SRAM, ce qui a tout changé car ces nouvelles générations de FPGA peuvent être reprogrammées à la demande. «La reconfigurabilité est un atout important du FPGA», souligne Arnaud Daniel, le directeur technique d’Elsys Design, un bureau d’études spécialisé en électronique. «Certains composants ne pouvaient être flashés qu’une seule fois. C’était très courant pour ceux dédiés au spatial, poursuit-il. Or, pouvoir reconfigurer un FPGA a grandement amélioré la maintenabilité des équipements. Il y a aujourd’hui beaucoup d’équipements électroniques embarqués dans l’aéronautique, l’automobile et le ferroviaire. Disposer de la capacité de faire des mises à jour à distance est extrêmement précieux pour un industriel. Il n’est plus nécessaire de démonter et remplacer le composant pour upgrader un équipement. »
Un accompagnement du phénomène des SoC
Depuis l'essor des smartphones et autres objets connectés, les SoC (System on a chip) connaissent une envolée qui fait notamment la fortune d'ARM, Qualcomm ou encore Apple. En témoigne le succès des MacBook reposant sur l'énorme puce Apple M1, qui cumule énormément de fonctionnalités généralement réparties surtout un jeu de composants. Les FPGA jouent un rôle dans cette évolution de l'électronique embarquée en aidant les concepteurs à mettre au point leur SoC. Ils permettent en effet de simuler le fonctionnement de leur puce avant d'en produire les premiers prototypes. Si le SoC compte beaucoup de transistors, il est possible d'agréger plusieurs FPGA pour simuler l'ensemble. L'approche logicielle du FPGA permet de placer relativement simplement différentes IP (design propriétaire). La start-up française Menta propose même un eFPGA, c'est-à-dire l'IP d'un composant FGPA prêt à être intégré à un SoC complet. « L'industriel va intégrer notre eFPGA à son SoC avec des cœurs de processeur, de la mémoire, des contrôleurs d'entrées-sorties, explique Yoan Dupret, le CTO de Menta. Une fois l'eFPGA intégré au SoC, cette partie de la puce devient reprogrammable au même titre qu'un FPGA classique. Cela donne la capacité de programmer cette partie du SoC selon les besoins du client, d'en faire un accélérateur de calcul ou d'IA par exemple. »
Des millions de cellules logiques
En parallèle, l’amélioration continuelle de la finesse de gravure du silicium permet de créer des FPGA disposant de plus en plus de cellules logiques, jusqu’à plusieurs millions sur une même puce. Il est devenu possible de créer des circuits intégrés plus complexes, notamment pour simuler des cœurs de processeur sur un FPGA, un SoC (system on a chip) complet, si besoin. « Une plus grande finesse de gravure permet d’embarquer de plus en plus de composants dans un FPGA, ce qui donne beaucoup plus de souplesse en termes de cas d’usage», explique Stéphane Guez, High performance computing ASIC/FPGA logic design R&D manager chez Atos. « Il est possible d’apporter régulièrement des modifications au design du composant, de l’adapter aux demandes du client et de corriger les bugs sans devoir recréer des masques d’un ASIC et produire une nouvelle série à chaque fois. » Le fait de pouvoir reprogrammer le FPGA a rendu le composant extrêmement précieux en phase de prototypage. Alors qu’il était responsable chez Nokia, Stéphane Guez a mis en oeuvre des puces FPGA pour travailler sur les nouvelles stations de base 5G de l’équipementier: « Nous avions recours à plusieurs FPGA en phase de prototypage de ces stations, notamment pour la démodulation et la transmission du signal 5G. Aujourd’hui, chez Atos, nous travaillons à placer ce que l’on appelle le NIC (Network interconnect controller) dans un FPGA. Il s’agit d’un composant qui gère le réseau au cœur d’un supercalculateur et nous étudions la possibilité d’utiliser un FPGA plutôt qu’un circuit ASIC. » Pour un industriel, l’équation économique consiste à faire un choix entre le délai et les coûts de production élevés d’un ASIC et une disponibilité plus rapide mais un coût supérieur sur les grandes séries pour un FPGA dont les performances sont de deux à dix fois inférieures à l’ASIC. Il est indispensable de bien estimer le volume de production du composant avant de décider.
« Pour sécuriser les FPGA, il faut chiffrer leurs communications »

En quoi avoir des composants FPGA reprogrammables in situ pose-t-il un risque en matière de cybersécurité ?
S’il est possible de reprogrammer à distance le FPGA du système de freinage d’un véhicule ou celui d’un avion de ligne, cela présente le risque de voir ce flux de mise à jour intercepté. Le FGPA est généralement connecté à d’autres composants au sein d’un système plus complexe, notamment par ethernet. On trouve ce type de liaisons au sein de l’équipement, mais aussi d’objet à objet. La possibilité que ce lien de mise à jour puisse être intercepté rend l’ensemble du système vulnérable.
Comment réduire ce risque ?
Les fabricants de FPGA et certains éditeurs d’IP pour ASIC et FPGA proposent des solutions pour sécuriser cette liaison de reconfiguration à distance. Il faut notamment empêcher un éventuel attaquant de réaliser la rétro-ingénierie du bitstream chargé dans le FPGA afin d’en faire une version défectueuse ou portant un backdoor, une porte d’entrée dérobée, qui lui donnera accès à l’intégralité du système.
Comment améliorer la sécurité des FPGA ?
Cela passe par un durcissement du lien de communication avec lequel on va échanger des données avec le composant. Aujourd’hui, les FPGA sont embarqués dans une grande variété de produits et sont interconnectés. Ces échanges doivent être chiffrés. Les FPGA embarquent de plus en plus de fonctions de sécurité, avec notamment le stockage de clés de chiffrement au niveau du composant et l’implémentation d’algorithmes de chiffrement pour les communications liées aux mises à jour.
Baisse du coût des circuits intégrés
Cette nouvelle façon de mettre au point un circuit intégré a notoirement abaissé le coût d’entrée sur ce marché pour les startup. Ainsi, Bernard Goossens, professeur émérite à l’université de Perpignan et auteur de l’ouvrage «Architecture et micro-architecture des processeurs», souligne: «Jusqu’à récemment, vouloir concevoir un nouveau microprocesseur était un projet extrêmement coûteux et réservé à quelques très gros industriels des semi-conducteurs. Aujourd’hui, il n’est même plus nécessaire de produire une puce: une start-up peut prendre des outils logiciels open source pour créer la Netlist de son composant [sa description détaillée, ndlr] et tester son design de puce sur un FPGA. Cela permet à la start-up de valider son design avant de se tourner vers un fondeur pour produire le composant ou même vendre directement son IP [Intellectual property, ici un design propriétaire de circuit, cellule ou unité logique, ndlr] à un industriel qui va l’intégrer à ses offres.» Avec une telle approche, n’importe quelle entreprise peut commercialiser des composants innovants, ce qui était encore impossible il y a quelques années. De fait, il existe aujourd’hui de nombreuses briques d’électronique, notamment des cœurs de microprocesseur baptisés «softcore» disponibles sous forme d’IP logicielle, prêtes à être déployées sur un FPGA ou un ASIC.

Un autre facteur clé dans cet essor des FPGA réside dans l’extrême diversité des composants disponibles sur le marché. Si les géants des microprocesseurs ont fait main basse sur les leaders du secteur – Intel réalisant l’acquisition d’Altera en 2015 et AMD celle de Xilinx en 2022 –, il existe encore une vive concurrence. Ainsi avec des petits FPGA dédiés à l’IoT, des composants très bon marché et consommant peu d’énergie, mais aussi des FPGA adaptés au monde de l’embarqué, avec la capacité de fonctionner dans des environnements sévères. À l’autre bout du spectre, les fabricants proposent des puces extrêmement puissantes destinées aux datacenters. Yoan Dupret, le CTO de Menta, une start-up française spécialisée dans ce domaine, résume cette profusion d’offres: «Il existe des FPGA adaptés à des usages très différenciés, pour chaque secteur. Sur le haut du marché, une évolution majeure fut l’utilisation de FPGA par Microsoft en tant qu’accélérateurs pour l’intelligence artificielle. De nombreux fournisseurs cloud ont suivi et proposent des services en ligne qui s’appuient sur de très gros composants FGPA. Ceux-ci comptent plusieurs millions d’unités logiques et leur coût peut dépasser 10000 dollars pièce. De l’autre côté de l’offre, on trouve Lattice qui propose de tout petits FPGA, à partir de quelques centaines de cellules logiques, plutôt dédiées aux applications de faible consommation avec un prix compris entre 1 et 10 dollars l’unité.»
Fonctionnalités additionnelles
Cette richesse du marché permet aux concepteurs d’équipements électroniques d’opter pour le composant qui offre le nombre d’unités logiques optimal, la consommation énergétique et le coût le plus adapté à leur cas d’usage. Pour faciliter leur intégration dans les produits, les fournisseurs de FPGA ajoutent des fonctionnalités à leurs puces (IP hardware): il peut s’agir de ports de communication type ethernet ou UART, de mémoire ou même d’un microprocesseur.
Une dernière raison qui explique le regain d’intérêt des industriels pour les FPGA: leur capacité à pouvoir être mises à jour à distance. L’équipementier automobile qui opte pour un FPGA à la place d’un circuit ASIC peut corriger un bug alors que son système de freinage ou de son système anticollision équipe déjà des milliers de véhicules. Cette possibilité est encore plus critique pour le constructeur de satellites qui doit faire évoluer son composant sur des appareils déjà en orbite. Pour les équipements télécoms, mettre à jour régulièrement les programmes des FPGA leur permet d’accompagner les évolutions régulières de la norme 5G sans devoir changer les cartes électroniques des stations de base.
Le recours aux composants FPGA permet d’accélérer le cycle de développement des équipements et de se garder la possibilité d’apporter des améliorations incrémentales, une démarche en phase avec les approches agiles de plus en plus en vogue dans les entreprises. «Le temps de développement d’un composant ASIC spécifique est très long et il faut fixer très tôt quelles seront les fonctionnalités intégrées à la puce», souligne Stéphane Guez. En outre, le coût de fabrication des masques nécessaires au fondeur pour produire le composant est très élevé si bien que, à chaque fois que l’industriel veut ajouter des fonctionnalités ou simplement corriger des erreurs, il lui faut revoir ses calques et relancer la production d’une série de composants avant de pouvoir les intégrer à son produit. Une approche de moins en moins adaptée alors que les clients imposent désormais des rythmes de développement rapides et des produits qui peuvent être maintenus.



