+1 500 000 produits offerts
7000 colis expédiés chaque jour
+300 000 clients de 150 pays
Date de publication: 19-11-2025 🕒 8 min de lecture
Les systèmes FPGA sont commercialement disponibles depuis de nombreuses années, mais ils ne sont pas très connus parmi les concepteurs électroniques. On pourrait risquer d'affirmer que certains en savent quelque chose, mais généralement, cette connaissance est très générale et plutôt décourageante pour leur utilisation dans les dispositifs qu'ils construisent. Ce texte fournit des réponses aux questions les plus fréquemment posées concernant les systèmes FPGA et leurs applications, ce qui permettra une première connaissance de ce groupe de systèmes et une prise de décision plus éclairée concernant les composants utilisés.
Il existe de nombreuses opinions communes sur les systèmes FPGA qui découragent leur utilisation. Pendant ce temps, ces systèmes sont indispensables dans de nombreux domaines, et il est bon d'avoir au moins des connaissances de base à leur sujet pour prendre des décisions éclairées concernant les applications en cours de construction et évaluer de manière réaliste leurs capacités.
Acheter des dispositifs logiques FPGA
Les systèmes FPGA sont utilisés dans des applications différentes de celles des microcontrôleurs, donc la réponse à cette question dépend du cas spécifique. Le cœur d'un microcontrôleur se compose de nombreux circuits logiques qui peuvent également être créés à l'aide de langages de description matérielle. De plus, les systèmes FPGA peuvent contenir de la mémoire Flash et de la RAM (ou les avoir connectés de manière externe), donc on pourrait risquer d'affirmer que la plupart des cœurs de microcontrôleurs populaires peuvent être émulés à l'aide de FPGA. Cependant, il faut considérer le coût significativement plus élevé tant de l'achat de la puce elle-même que de la mise en œuvre de son application matérielle et de sa configuration.
Les systèmes FPGA et les microcontrôleurs fonctionnent différemment. Les premiers sont très rapides et configurés à l'aide de langages de description matérielle. Ils peuvent effectuer de nombreuses opérations simultanément, ce qui est un avantage significatif dans les applications nécessitant une grande puissance de calcul. La facilité de changement de configuration matérielle en fait d'excellents outils pour tester et prototyper des circuits avant leur mise en production. Leur inconvénient est l'application complexe et le prix élevé de la puce elle-même – souvent plusieurs fois supérieur à celui d'un microcontrôleur.
Le principal avantage des microcontrôleurs est leur faible coût d'achat et leur application peu compliquée. En général, dans l'environnement d'un microcontrôleur, il y a des éléments d'un générateur d'horloge et ceux qui lui permettent de coopérer avec l'environnement (le plus souvent en adaptant les paramètres électriques des interfaces aux broches I/O du microcontrôleur). Ils sont programmés à l'aide de langages de programmation de haut niveau bien connus tels que C, C++ ou Python. Bien qu'ils ne soient pas aussi rapides et flexibles dans les applications que les systèmes FPGA, ils sont significativement moins chers en production de masse ainsi que dans les applications unitaires. L'application matérielle est également moins compliquée et donc plus facile à mettre en œuvre et beaucoup moins chère.
En répondant à la question de savoir si un FPGA peut remplacer un microcontrôleur, il ne faut pas seulement considérer la possibilité elle-même, car il est presque certain qu'on peut trouver un FPGA capable d'émuler le cœur d'un microcontrôleur et ses blocs périphériques ou d'effectuer une application fonctionnellement équivalente, mais plutôt réfléchir au coût d'une telle solution. Dans des applications peu compliquées, telles que le contrôle de dispositifs, il est certainement plus rentable et plus facile de mettre en œuvre des microcontrôleurs.
On peut supposer que la faible popularité des systèmes FPGA est déterminée par leur prix élevé, leur application matérielle difficile (par exemple, les systèmes FPGA complexes nécessitent des circuits d'alimentation compliqués et un séquençage de tension, ainsi que des protections appropriées en cas de perte de puissance), et la complexité de la programmation avec une familiarité relativement faible avec les langages de description matérielle.
En raison de leurs paramètres, les systèmes FPGA sont souvent utilisés dans des applications spécialisées, telles que le traitement du signal, les télécommunications ou le prototypage de circuits numériques, où le coût de la solution finale n'est pas aussi important que la fiabilité et la performance. Sinon, lorsque le prix de la solution finale commence à compter plus que la vitesse de traitement, les microcontrôleurs ou les circuits intégrés dédiés (ASIC) sont plus rentables et suffisants. De plus, les FPGA peuvent être moins efficaces sur le plan énergétique par rapport aux ASIC, qui sont optimisés pour une utilisation dans une application spécifique.
Les exigences des applications modernes, où un microcontrôleur rapide ou un ASIC est insuffisant, peuvent entraîner une baisse significative des prix des FPGA et leur utilisation généralisée dans les dispositifs grand public. Les systèmes FPGA ont certainement un potentiel énorme pour trouver des applications plus larges à l'avenir, en particulier dans les applications nécessitant une grande vitesse de traitement des données, de la flexibilité et de la reconfigurabilité. Dans les applications professionnelles, cela peut impliquer la construction de prototypes de circuits numériques et d'ASIC avant leur production, tandis que dans les dispositifs grand public, cela peut impliquer le traitement d'images pour les jeux vidéo et l'imagerie VR.
Dans l'industrie, la demande croissante de dispositifs qui traitent de grandes quantités de données en temps réel dans des applications liées à l'IA, à l'apprentissage automatique ou au traitement du signal rend les systèmes FPGA, qui peuvent effectuer de nombreuses opérations simultanément à grande vitesse, de plus en plus attractifs.
Dans les télécommunications, avec l'expansion des réseaux 5G, de l'IoT ou de la transmission de données pour les véhicules autonomes, le besoin de circuits logiques avancés qui peuvent être rapidement adaptés à des exigences spécifiques va croître, et les systèmes FPGA pourraient jouer un rôle clé dans ces domaines. Notamment, en utilisant le FPGA, on peut construire un circuit matériel pour chiffrer et déchiffrer la communication, avec la possibilité de reconfigurer et de mettre à jour les algorithmes sans avoir besoin de remplacer le matériel. Bien que les FPGA soient moins efficaces sur le plan énergétique que les ASIC, la demande pour eux pourrait conduire au développement de nouvelles technologies de production entraînant une compétitivité accrue en termes de consommation d'énergie.
Utiliser un FPGA dans une application n'a pas toujours de sens. Cela s'applique particulièrement aux applications où un microcontrôleur ou un ASIC beaucoup moins cher peut remplir la fonctionnalité. Par exemple, si l'application nécessite uniquement des fonctionnalités de base, telles qu'un contrôleur, un compteur ou un comparateur, il est certainement plus rentable d'utiliser un microcontrôleur ou un ASIC. Cependant, si le compteur doit servir de minuteur pour mesurer avec précision le temps d'un faisceau lumineux se réfléchissant sur un obstacle, alors une telle tâche ne peut être gérée que par un FPGA très rapide.
Si le dispositif doit être produit en masse, une autre raison d'éviter d'utiliser un FPGA peut être le coût potentiellement élevé de la solution finale. Les puces FPGA sont généralement plusieurs fois plus chères que les microcontrôleurs ou les ASIC, et de plus, les plus avancées nécessitent des applications matérielles compliquées. Par conséquent, si le budget est limité, d'autres solutions peuvent être plus économiques.
Les systèmes FPGA peuvent être moins efficaces sur le plan énergétique par rapport aux ASIC, qui sont optimisés pour des applications spécifiques. Dans les applications où la faible consommation d'énergie est cruciale, il est préférable de choisir un microcontrôleur ou un ASIC.
La programmation des systèmes FPGA nécessite des connaissances en langages de description matérielle et peut être plus chronophage que la programmation des microcontrôleurs. Dans les projets où un court délai de réalisation est critique, les microcontrôleurs ou les ASIC peuvent être un meilleur choix. De plus, dans les applications où la fiabilité est cruciale, les ASIC, qui sont optimisés et testés par le fabricant pour une fonctionnalité spécifique, peuvent être un meilleur choix.
En général, la configuration d'un FPGA est stockée dans une mémoire externe. Le contenu de cette mémoire est envoyé au FPGA lors de la mise sous tension. Changer la configuration du FPGA nécessite la capacité de modifier le contenu de la mémoire de configuration externe, donc tant qu'il ne s'agit pas d'une mémoire non volatile, le FPGA peut être facilement reprogrammé. La capacité de reprogrammer (changer la configuration) le FPGA est utilisée, entre autres, dans les algorithmes d'apprentissage automatique, où la configuration du FPGA change dynamiquement pendant le fonctionnement de l'application.
Les systèmes FPGA jouent un rôle significatif dans la technologie de l'Industrie 4.0. En raison de leur haute performance et de leur reconfigurabilité, ils sont bien adaptés à la mise en œuvre de systèmes SCADA et de contrôleurs PLC avec reconfigurabilité, qui est utilisée dans les systèmes d'apprentissage automatique. De plus, l'analyse de signal très rapide permet un contrôle précis en temps réel des entraînements et la mise en œuvre d'algorithmes de contrôle vectoriel.
La haute performance des FPGA facilite la gestion des dispositifs en périphérie : traitement et évaluation des données, gestion des protocoles de communication avec un chiffrement matériel fort, intégration avec des dispositifs cloud et des systèmes IoT. L'avantage d'utiliser des FPGA dans ces applications est la possibilité de reconfiguration après déploiement, permettant l'application de nouveaux algorithmes de chiffrement ou des mises à jour de ceux utilisés sans avoir besoin de remplacer le matériel.
Les avantages des FPGA seront également utiles dans la maintenance prédictive impliquant l'analyse de données en temps réel provenant de capteurs. La capacité d'analyser des signaux en temps réel est utile pour détecter des anomalies et réagir rapidement aux pannes. Par la suite, le FPGA permet l'intégration avec des systèmes d'IA et la mise en œuvre d'algorithmes d'apprentissage automatique.
Indépendamment des changements associés à l'Industrie 4.0, les systèmes FPGA sont utilisés depuis longtemps dans des dispositifs d'évaluation de la qualité et de robotique. Ce sont le plus souvent des capteurs de vision fonctionnant dans le spectre visible ou d'autres, effectuant l'analyse et l'évaluation d'images. Ils trouvent de larges applications dans l'inspection de qualité, la reconnaissance d'objets, le positionnement des pinces dans l'automatisation et les robots industriels. Dans les dernières applications, ces capteurs sont couplés avec des algorithmes d'IA, permettant une précision et une rapidité d'opération encore plus grandes.
Exemples :
Les systèmes FPGA disposent de divers types de mémoire, à la fois intégrés et externes, qui peuvent être utilisés dans des applications. Ceux-ci incluent :
Mémoires intégrées (sur puce) :
Mémoires externes (hors puce) :
Le traitement du signal numérique nécessite un accès rapide aux données. Ici, la Block RAM (BRAM) sera utilisée comme tampon de données d'entrée/sortie, la RAM distribuée pour mettre en œuvre des filtres et des fonctions DSP, FIFO pour synchroniser et transmettre des données entre les modules DSP, RAM DDRx externe dans les calculs nécessitant une bande passante plus élevée.
Dans le contrôle industriel et l'automatisation, une petite quantité de données est généralement transmise, mais une sécurité accrue de leur intégrité est requise. Dans ce domaine, les types de mémoire suivants seront utilisés : ROM / EEPROM pour stocker des paramètres et des configurations de dispositifs, SRAM pour stocker des configurations et des variables, Registres à décalage / FIFO pour tamponner des données dans des interfaces de communication, par exemple, UART, SPI.
Le traitement d'image est une application qui nécessite de stocker de grandes quantités de données tout en garantissant un accès rapide et une facilité de modification. Ici, les mémoires dynamiques (RAM) sont principalement utilisées : DDRx externe pour tamponner des images vidéo, BRAM pour des opérations locales et des tables LUT, FIFO + DMA pour assurer une transmission efficace des données entre les modules.
Transfer Multisort Elektronik (TME) est l’un des plus grands distributeurs mondiaux de composants électroniques, de pièces électrotechniques, d’équipements d’atelier et d’automatisation industrielle. Le catalogue comprend plus de 1 500 000 de produits provenant de 1 300 fabricants leaders. Les centres logistiques modernes de TME à Łódź et Rzgów (Pologne), avec une superficie totale de plus de 40 000 m², expédient près de 6 000 colis par jour à des clients dans plus de 150 pays.
TME investit également dans le développement des connaissances et compétences des jeunes ingénieurs et passionnés d’électronique grâce au projet TME Education et soutient la communauté technologique en organisant la série d’événements TechMasterEvent, promouvant l’innovation et l’échange d’expériences.