Le design FPGA est-il de retour à la mode ?

Créé: Décembre 1, 2021
Mise à jour: Juillet 1, 2024
Conception de FPGA

Issu de la révolution des ASIC des années 1970 est venu la révolution des MCU, MPU et FPGA, où des contrôleurs hôtes étaient intégrés sur une seule puce remplie de blocs logiques et de nombreuses fonctionnalités intégrées. En 2021, certains dans l'industrie ont déclaré que les FPGA sont désormais la plateforme de choix pour les applications avancées. Voyez ce que les gens disent et où vous pourriez opter pour un FPGA dans votre conception.

Je ne suis pas assez vieux pour me souvenir des années 1970, une époque où les ASIC faisaient leur chemin sur le marché et contribuaient finalement à des niveaux plus élevés d'intégration et de réduction de facteur de forme. L'héritage des ASIC continue à ce jour, et les fabricants populaires offrent toujours une large gamme de puces qui exécutent des fonctions spécialisées avec une petite empreinte. Certaines des tâches qui auraient été très difficiles à mettre en œuvre dans une logique programmable à usage général sont soudainement devenues faciles à implémenter lorsque ces fonctions étaient intégrées dans un ASIC avec une logique spécialisée ou des fonctionnalités dédiées. Au début de la même décennie, les microcontrôleurs ont été introduits par Intel, donnant aux concepteurs tout ce dont ils avaient besoin pour construire des systèmes plus intégrés plutôt que de s'appuyer sur des circuits logiques discrets.

Après les ASIC et les MCU sont venus les réseaux de portes programmables sur site en 1984, avec le premier composant introduit par Xilinx. Au début, les concepteurs d'ASIC utilisaient des FPGA pour émuler la logique qu'ils avaient l'intention de mettre en œuvre dans leurs conceptions d'ASIC comme une sorte de plateforme de test. Avec le temps, les FPGA ont été implémentés dans plus de matériel de production, soit comme complément aux ASIC typiques, soit pour implémenter des fonctions logiques spécialisées qui n'étaient pas disponibles dans d'autres processeurs ou ASIC. Le nombre d'interfaces disponibles sur les plateformes FPGA a également augmenté au point où un FPGA peut être utilisé comme le contrôleur hôte pour tout système embarqué.

Aujourd'hui, la conception de FPGA continue d'être populaire parmi les développeurs embarqués expérimentés, et les taux de croissance projetés sur le marché mondial des FPGA varient de 6,4 % à 10 % de CAGR au cours des 6-7 prochaines années. Juste pour référence, l'estimation la plus élevée est au même niveau que le CAGR projeté de 10,1 % sur le marché mondial des MCU. La question pour le concepteur embarqué est, qu'est-ce qui motive la popularité des FPGA par rapport à d'autres plateformes, et un FPGA devrait-il être votre point de départ pour une nouvelle conception ? Nous examinerons plus en détail ces questions tout en comparant certaines options d'architecture système pour un nouveau système embarqué.

Tableau de FPGA

Qu'est-ce qui motive les nouvelles conceptions de FPGA ?

Les FPGA ont toujours été populaires dans quelques cas d'utilisation larges grâce à leur adaptabilité, comme cela a été discuté dans un article précédent sur ce blog. Voici quelques-uns des domaines de haut niveau où les FPGA ont traditionnellement réussi :

  • Mise en œuvre de logique spécialisée dans des plateformes compactes, qui nécessiteraient normalement d'être implémentées en utilisant une logique séquentielle lente dans les MCU

  • Domaines d'application ou produits où le temps de mise sur le marché est critique en raison du long temps de développement pour les ASICs

  • Toute application nécessitant une virtualisation ou une émulation matérielle

  • Tout produit qui pourrait nécessiter une reprogrammation rapide sans se connecter à un système externe

Si vous n'êtes pas familier avec la conception et la programmation des FPGA, mais que vous connaissez certaines des idées de base qui régissent le fonctionnement des FPGA, alors la liste ci-dessus ne devrait pas être surprenante. Ce sont des domaines plutôt larges à considérer, mais ils se traduisent par des applications réelles dans plusieurs industries.

FPGA vs. MPU/MCU et ASICs

Vous remarquerez ci-dessus que j'ai passé beaucoup de temps à référencer les ASICs comme le principal concurrent des FPGA. En effet, l'énorme gamme de composants permet aux développeurs embarqués de mélanger et d'assortir leur MCU, fonctions spécialisées avec des ASICs, et périphériques ou interfaces à basse vitesse. Les FPGA offrent plusieurs avantages dans différents domaines, et il vaut la peine de comparer toutes ces options telles qu'elles se rapportent à un système embarqué.

À partir de la liste ci-dessus, il devrait être clair le rôle que les FPGA peuvent jouer : des contrôleurs hôtes adaptables pour des systèmes embarqués qui sont agnostiques en termes d'application et de système d'exploitation. Une conception FPGA offre l'avantage supplémentaire de la possibilité de mise à niveau, tant que la conception de la carte et du système peut accommoder ces changements. Une fois que nous examinons certaines applications plus récentes dans l'industrie, il devrait être clair pourquoi les FPGA sont aujourd'hui plus populaires, avec une popularité qui ne devrait qu'augmenter dans un avenir proche.

Principaux utilisateurs industriels

Il n'y a pas une seule catégorie de produit qui a été traditionnellement responsable de la consommation de FPGA. Depuis leur introduction, les principaux consommateurs industriels de FPGA incluent les systèmes de télécommunications, le militaire-aérospatial, l'automobile, les produits de consommation légers, et même l'industrie du pétrole et du gaz. En fait, certaines des technologies originales qui deviendraient des FPGA ont été initialement développées sous Zilog, une filiale d'Exxon dont la propriété intellectuelle a été plus tard acquise par Xilinx.

Avec la popularité croissante des FPGA, l'accent a été mis sur d'autres industries nécessitant une logique spécialisée implémentée directement sur un seul processeur, malgré l'énorme nombre d'ASICs de nombreux fournisseurs qui pourraient couvrir les mêmes conceptions. Par exemple, de nombreux produits de cartes mezzanines et de cartes filles sur le marché militaire-aérospatial utilisent des FPGA comme plateforme de calcul embarquée adaptable qui fournit des taux de données extrêmement rapides avec accès à de multiples périphériques et cartes via un backplane. Les télécommunications et le réseau restent un domaine d'application avec une conception et un développement FPGA répandus en raison du temps de mise sur le marché plus rapide requis et de la relative facilité de mise à niveau pour accommoder les changements de normes et les déploiements technologiques.

Conception et développement de FPGA aujourd'hui

Les domaines soulignés ci-dessus n'ont pas connu de diminution de l'utilisation des FPGA. La télécommunication est un domaine à souligner ; par exemple, Huawei est l'un des plus grands consommateurs de FPGA au monde, et ils commercialisent même une plateforme "cloud FPGA", offrant le calcul en nuage accéléré comme un service. Il existe même un dépôt GitHub Huawei Cloud pour aider les utilisateurs à démarrer avec le développement d'applications. L'utilisation de FPGA dans leur infrastructure a également contribué à leur capacité à déployer des services 5G avant d'autres télécoms. Aujourd'hui, les mêmes avantages identifiés ci-dessus poussent la conception et le développement de FPGA dans deux domaines : la robotique et l'IA. Bien que les deux domaines soient profondément liés, l'IA est sans doute un moteur bien plus important de la nouvelle conception et du développement de FPGA.

L'IA stimule la conception et l'utilisation des FPGA

Les leaders dans l'espace FPGA projettent que l'implémentation de l'IA dans plus de systèmes matériels entraînera des changements majeurs dans l'utilisation du silicium sur ces composants. Cela ne veut pas dire que vous ne pouvez pas utiliser un MCU en robotique ou pour une IA légère ; la prolifération de modules d'accélération d'IA qui se connectent via USB ou un pont PCIe illustre un effort pour accommoder les développeurs MCU/MPU pour les systèmes embarqués intelligents. Cependant, les FPGA sont une plateforme beaucoup plus adaptable où les calculs d'inférence peuvent être effectués très rapidement en parallélisant le calcul ; le tissu FPGA peut être personnalisé pour s'adapter à l'algorithme, alors que la logique séquentielle dans les GPU/MCU/MPU ne le peut pas.

Un composant plus récent qui est utilisé dans les systèmes embarqués à haute capacité de calcul, y compris les systèmes mettant en œuvre l'inférence IA à bord, est le Zynq-7000 All Programmable series SoC de Xilinx. Ce composant fonctionne jusqu'à 866 MHz avec un processeur d'application basé sur un cœur ARM Cortex-A9. Des interfaces supplémentaires comme l'Ethernet gigabit, DDR, Flash, PCIe et un nombre élevé de GPIO rendent ce composant facile à intégrer dans les systèmes de calcul en périphérie. Des interfaces à basse vitesse comme I2C et SPI permettent également au Zynq de fonctionner avec des ASIC qui capturent des données à partir de capteurs analogiques ou d'autres interfaces standard (CANBus, RS-485, etc.).

Xilinx est l'un des leaders de l'IA sur FPGA, et ils fournissent de nombreuses ressources pour les développeurs. Un développement intéressant avec le processeur Zynq est l'implémentation de Python sur Zynq, ou PYNQ comme Xilinx l'appelle. D'autres fournisseurs de FPGA développent leurs gammes de produits pour concurrencer Zynq, donc les développeurs d'IA embarquée auront de nombreuses options pour le calcul IA sur appareil en utilisant une conception FPGA.

Défis de l'utilisation des FPGA

Les FPGA sont d'excellentes plateformes pour le développeur expérimenté qui travaille dans des domaines d'application plus avancés. Lorsque le paysage des normes, le paysage des solutions ASIC et les capacités des MCU/MPU sont insuffisants ou changent rapidement, un FPGA est probablement une meilleure option pour un nouveau système. Bien que les FPGA aient permis le succès dans une gamme de domaines, ils comportent leur propre ensemble de défis matériels et de développement :

  • Gestion de la chaleur : Tout comme leurs cousins les MCU/MPU, les FPGA peuvent générer beaucoup de chaleur, en fonction de la taille du composant. Ce n'est pas un nouveau défi, bien qu'il soit aggravé par les exigences de conception dans des systèmes compacts à haute capacité de calcul comme le calcul en périphérie (edge computing), ou dans des équipements 5G de haute puissance. Certains de mes clients ont examiné des stratégies de dissipation de la chaleur impliquant des dissipateurs thermiques uniques ou une liaison avec l'enceinte dans ces systèmes.

  • Placement et routage : Dans les applications à haute capacité de calcul, il y a encore un défi avec les tâches de placement et de routage, où le logiciel propriétaire du fournisseur est mappé sur le tissu FPGA. Cela prend du temps car le logiciel compilateur doit utiliser un algorithme pour trouver un mappage qui prend en charge toutes les fonctions logiques dans les applications. Les domaines d'application où cela représente un défi sont le calcul haute performance et les centres de données. Cela pourrait également poser problème dans l'IA lorsque un FPGA est utilisé pour des tâches au niveau du système en plus de l'inférence/formation.

  • Ressources de développement : La communauté des développeurs FPGA n'est pas aussi grande que celle des ASIC + MCU, ou que la communauté du logiciel open source dans son ensemble. Les MCU sont plus faciles à utiliser pour les développeurs inexpérimentés grâce à des plateformes extrêmement populaires comme Arduino et ESP32. Cependant, les fournisseurs de FPGA se sont beaucoup améliorés en fournissant des ressources aux développeurs pour qu'ils puissent rapidement mettre en œuvre des solutions sur les FPGA. Le nombre de nouveaux projets FPGA sur GitHub a également suivi le rythme des projets MCU, comme le montre le tableau ci-dessous.

À quoi ressembleront les FPGA à l'avenir ?

Les FPGA actuels allouent environ 50 % ou plus de la surface en silicium aux E/S car les produits basés sur les FPGA plus anciens nécessitaient une interface avec une vaste gamme de périphériques sur plusieurs interfaces. Alors que l'accent est de plus en plus mis sur des applications à haute capacité de calcul comme l'IA, ne soyez pas surpris lorsque plus de surface en silicium sera dédiée aux blocs de calcul IA, éventuellement avec des interconnexions évolutives et un mouvement de données flexible à l'exécution. L'intégration hétérogène filtrera également dans les SoC FPGA, où les blocs IA, les GPU/TPU, les mémoires à haute bande passante et les fronts d'onde RF sont combinés dans un seul paquet compact.

Même si les FPGA peuvent avoir des fonctionnalités ASIC implémentées et reprogrammées dans le tissu FPGA selon les besoins, ils restent un excellent complément aux systèmes basés sur ASIC. Une architecture de conception qui a du sens est de placer toutes les fonctionnalités qui peuvent nécessiter des mises à niveau dans le FPGA, tout en utilisant la standardisation des ASIC pour interfacer avec des périphériques plus simples comme les capteurs et les bus de données. Cela réduit certainement le temps de conception FPGA car les développeurs peuvent se concentrer sur la perfection des fonctionnalités à haute capacité de calcul qui sont nécessaires dans le produit final. Si vous souhaitez utiliser ce type d'architecture dans des systèmes embarqués intelligents, vous aurez probablement besoin de plusieurs autres composants :

Lorsque vous avez besoin de trouver des composants pour votre prochaine conception FPGA, utilisez les fonctionnalités de recherche avancée et de filtrage sur Octopart. Lorsque vous utilisez le moteur de recherche électronique d'Octopart, vous aurez accès aux données de prix des distributeurs à jour, à l'inventaire des pièces, et aux spécifications des pièces, et tout est librement accessible dans une interface conviviale. Jetez un œil à notre page de circuits intégrés pour trouver les composants dont vous avez besoin.

Restez à jour avec nos derniers articles en vous inscrivant à notre newsletter.

 

 

 

 

 

Ressources associées

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.