Principes de base des FPGA – 3e partie : premiers pas avec les FPGA de Microchip Technology
Avec la contribution de Rédacteurs nord-américains de DigiKey
2020-01-30
Note de l'éditeur : Les solutions de traitement optimales reposent généralement sur la combinaison de processeurs RISC, de microprocesseurs CISC, de processeurs graphiques et de FPGA, sur des FPGA seuls ou sur des FPGA intégrant des cœurs de processeurs matériels dans leur structure. Cependant, beaucoup de concepteurs ne connaissent ni les capacités des FPGA, ni leur évolution, ni leur utilisation. La 1re partie de cette série en plusieurs parties a présenté en détail les FPGA. La 2e partie s'est concentrée sur les offres FPGA de Lattice Semiconductor. Ici, la 3e partie met l'accent sur les gammes de FPGA et les outils de conception de Microchip Technology (via sa filiale Microsemi Corporation). Les 4e et 5e parties étudieront les FPGA et les outils proposés par Altera et Xilinx.
Comme indiqué dans la 1re partie, les réseaux de portes programmables par l'utilisateur (FPGA) offrent de nombreuses caractéristiques qui en font une ressource informatique inestimable, autonome ou intégrée dans une architecture hétérogène. Cependant, de nombreux concepteurs ne connaissent pas bien les FPGA et ne savent pas comment les intégrer à leurs conceptions.
Pour surmonter cet obstacle, il est possible d'examiner plus en détail les architectures FPGA et les outils associés proposés par les principaux fournisseurs. Cet article s'intéresse à la ligne de produits de Microchip Technology.
Présentation détaillée des options FPGA
Il existe de nombreux types de FPGA différents sur le marché, chacun intégrant différentes combinaisons de capacités et de fonctions. Au cœur de tout FPGA se trouve sa structure programmable. Elle est présentée sous forme d'un réseau de blocs logiques programmables, également appelés « éléments logiques » (LE) (Figure 1a). L'étape suivante de la conception de la structure FPGA consiste à inclure des composants, comme des blocs SRAM, appelés RAM bloc (BRAM), des boucles à verrouillage de phase (PLL) et des gestionnaires d'horloge (Figure 1b). Des blocs de traitement des signaux numériques (DSP) (appelés « tranches DSP ») et des blocs de sérialiseur/désérialiseur (SERDES) haute vitesse peuvent également être ajoutés (Figure 1c).
Figure 1 : Les FPGA les plus simples contiennent uniquement une structure programmable et des E/S à usage général (GPIO) configurables (a) ; différentes architectures étendent cette structure principale avec des blocs SRAM, des PLL, des gestionnaires d'horloges (b), des blocs DSP et des interfaces SERDES (c), ainsi que des cœurs de processeurs matériels et des périphériques (d). (Source de l'image : Max Maxfield)
Les fonctions d'interfaces périphériques comme CAN, I2C, SPI, UART et USB peuvent être implémentées sous forme de cœurs logiciels dans la structure programmable, mais beaucoup de FPGA les incluent sous forme de cœurs matériels dans la puce. De même, les microprocesseurs peuvent être implémentés sous forme de cœurs logiciels dans la structure programmable ou de cœurs matériels dans la puce (Figure 1d). Les FPGA dotés de cœurs de processeurs matériels sont appelés FPGA SoC (système sur puce). D'autres FPGA offrent différents ensembles de fonctions, fonctionnalités, possibilités et capacités adaptés à différents marchés et applications.
Il existe un certain nombre de fournisseurs de FPGA, notamment Altera (qui a été racheté par Intel), Atmel (qui a été racheté par Microchip Technology), Lattice Semiconductor, Microsemi (qui a également été racheté par Microchip Technology) et Xilinx.
Tous ces fournisseurs proposent plusieurs gammes de FPGA. Certains proposent des FPGA SoC et d'autres proposent des dispositifs tolérant les rayonnements, destinés à des environnements à rayonnement élevé comme l'espace. Le choix du meilleur dispositif pour une tâche donnée peut s'avérer difficile, car il existe beaucoup de types de composants, chacun offrant des ressources différentes.
Présentation des FPGA de Microchip Technology
Les offres FPGA de Microchip Technology s'étendent de l'entrée de gamme au milieu de gamme, et se concentrent sur des dispositifs basse consommation et haute sécurité, avec une fiabilité exceptionnelle. Largement déployés dans les communications filaires et sans fil, la défense et l'aviation, et les applications embarquées industrielles, les FPGA de Microchip offrent de solides ressources DSP et mémoire, et sont très utiles dans les applications telles que l'accélération matérielle, l'intelligence artificielle, le traitement d'images et l'edge computing.
Microchip propose trois gammes principales de FPGA :
- FPGA IGLOO®2 : dispositifs à faible densité dotés de ressources considérables
- FPGA SoC SmartFusion®2 : dispositifs à faible densité dotés de ressources considérables et d'un cœur de processeur matériel 32 bits
- FPGA SoC et FPGA PolarFire™ : dispositifs hautes performances optimisés en termes de coût, implémentés sur une technologie 28 nanomètres (nm)
Tous les FPGA ont des cellules de configuration qui déterminent les fonctionnalités de chaque bloc logique programmable, ainsi que la manière dont les blocs logiques sont connectés les uns aux autres et au monde extérieur. Ces cellules sont également utilisées pour configurer la norme d'interface des GPIO, l'impédance d'entrée, la vitesse de balayage de sortie, etc.
Certains FPGA utilisent des cellules de configuration basées sur SRAM, mais celles-ci sont volatiles, ce qui signifie qu'elles perdent leur contenu lorsque le système est mis hors tension. Cela implique donc que les données de configuration doivent être chargées à partir d'une source externe (typiquement un dispositif de mémoire Flash) lors de la mise sous tension du système. Ces FPGA sont les plus longs à démarrer et à être opérationnels.
Certains FPGA utilisent une mémoire Flash intégrée pour stocker les données de configuration, mais ont quand même des cellules de configuration basées sur SRAM. Dans ce cas, à la mise sous tension, un contrôleur intégré copie les données de configuration depuis la mémoire de configuration Flash vers les cellules de configuration SRAM. Ces FPGA démarrent plus vite que leurs cousins SRAM purs.
Les FPGA IGLOO2 et les FPGA SoC SmartFusion2 de Microchip utilisent un mécanisme différent, dans lequel la mémoire de configuration intégrée et les cellules de configuration intégrées sont toutes implémentées à l'aide de la technologie Flash. Dans le cas des dispositifs PolarFire, les cellules de configuration sont basées sur la technologie de mémoire non volatile (NVM) SONOS (silicium-oxyde-nitrure-oxyde-silicium), qui peut être résumée comme suit : « semblable à la technologie Flash, mais en mieux ».
Étant donné que les données de configuration sont stockées dans des cellules Flash non volatiles (ou SONOS), les FPGA et les FPGA SoC de Microchip sont « instantanés ». Ils démarrent en effet plus vite que n'importe quel autre type de FPGA. La raison pour laquelle ces dispositifs incluent également une mémoire de configuration Flash est que cela permet de charger une nouvelle configuration alors que le FPGA continue de fonctionner à l'aide de la configuration existante dans ses cellules de configuration. Une fois que le téléchargement de la nouvelle configuration est terminé et a été vérifié (la configuration peut être cryptée et accompagnée d'un contrôle par redondance cyclique [CRC]), le dispositif peut passer dans un état sécurisé tandis que la nouvelle configuration stockée dans la mémoire de configuration est utilisée pour remplacer la configuration d'origine stockée dans les cellules de configuration.
Dispositifs traditionnels : FPGA IGLOO2
Les FPGA IGLOO2 sont de bons FPGA polyvalents d'entrée de gamme à milieu de gamme. Ils constituent ce que de nombreux concepteurs considèrent comme des FPGA « traditionnels ». Ces dispositifs FPGA Flash sont parfaits pour les fonctions à usage général comme les plans de contrôle Gigabit Ethernet ou PCI Express doubles, les fonctions de pontage, l'extension et la conversion d'entrées/sorties (E/S), le traitement d'images et de vidéos, la gestion système et la connectivité sécurisée. Les applications couvrent une gamme très variée, notamment les communications, la défense, l'aviation, ainsi que les applications industrielles et médicales.
Figure 2 : Les FPGA IGLOO2 sont parfaits pour les fonctions à usage général comme les plans de contrôle Gigabit Ethernet ou PCI Express doubles, les fonctions de pontage, l'extension et la conversion d'entrées/sorties (E/S), le traitement d'images et de vidéos, la gestion système et la connectivité sécurisée. (Source de l'image : Microchip Technology)
Les FPGA IGLOO2 offrent 5000 à 150 000 LE avec un sous-système mémoire hautes performances, jusqu'à 512 kilo-octets (Ko) de mémoire Flash embarquée, 2 x 32 Ko de mémoire vive statique (SRAM) embarquée, deux moteurs d'accès direct à la mémoire (DMA) et deux contrôleurs à double débit de données (DDR). Ces dispositifs incluent également jusqu'à 16 voies d'émetteur-récepteur, des blocs de processeur DSP intégrés et des mémoires protégées contre les perturbations par une particule isolée (SEU) ou qui les tolèrent. Pour la sécurité, ils sont renforcés grâce à l'analyse de puissance différentielle (DPA) et ils utilisent le cryptage AES256 et SHA256, ainsi que le contrôle d'intégrité des données NVM à la demande.
Le M2GL025-FGG484I, avec ses 27 696 LE, ses 1 130 496 bits de RAM et ses 267 E/S, est un bon exemple de dispositif IGLOO2. Pour permettre aux concepteurs d'étudier et de tester les fonctionnalités de la gamme de FPGA IGLOO2, Microchip propose également un kit d'évaluation IGLOO2 correspondant, le M2GL-EVAL-KIT (Figure 3).
Figure 3 : Le M2GL-EVAL-KIT est un kit d'évaluation pour IGLOO2, offrant une haute intégration des fonctionnalités, une basse consommation, une très grande fiabilité et une sécurité avancée. (Source de l'image : Microchip Technology)
Le M2GL-EVAL-KIT simplifie le développement d'applications embarquées impliquant une commande moteur, une gestion système, une automatisation industrielle et des E/S série haute vitesse, ainsi que PCI Express et Gigabit Ethernet. Le kit offre un degré élevé d'intégration des fonctionnalités, une basse consommation, une très grande fiabilité et une sécurité avancée. La carte est également conforme au format compact PCIe, ce qui permet aux développeurs de réaliser un prototypage rapide à l'aide de n'importe quel ordinateur de bureau ou portable avec connecteur PCIe.
Systèmes sur puce d'entrée de gamme : FPGA SoC SmartFusion2
Les FPGA SoC SmartFusion2 sont basés sur la structure programmable traditionnelle des dispositifs IGLOO2, améliorée avec un cœur de processeur matériel 32 bits. Étant donné que le processeur fait partie de la famille Arm® Cortex® bien connue, la gamme SmartFusion2 offre une formidable porte d'entrée dans le monde des FPGA SoC.
Ces FPGA SoC offrent 5000 à 150 000 LE, avec un processeur Arm Cortex-M3 de 166 mégahertz (MHz) qui inclut un macrobloc de traçage embarqué (ETM) et un cache d'instructions avec eSRAM intégrée et NVM embarquée (eNVM), l'ensemble combiné à un sous-système complet de microcontrôleur amélioré grâce à une suite étendue de périphériques, notamment CAN, TSE et USB.
Figure 4 : Les FPGA SoC SmartFusion2 offrent 5000 à 150 000 LE, avec un processeur Arm Cortex-M3 de 166 MHz qui inclut un macrobloc de traçage embarqué et un cache d'instructions avec eSRAM et eNVM intégrées, l'ensemble combiné à un sous-système complet de microcontrôleur amélioré grâce à une suite étendue de périphériques, notamment CAN, TSE et USB. (Source de l'image : Microchip Technology)
Ces dispositifs FPGA SoC Flash sont parfaits pour les fonctions à usage général comme les plans de contrôle Gigabit Ethernet ou PCI Express doubles, les fonctions de pontage, l'extension et la conversion E/S, le traitement d'images/de vidéos, la gestion système et la connectivité sécurisée. Là encore, les applications sont variées et s'étendent des communications à la défense et à l'aviation, en passant par les applications industrielles et médicales.
Le M2S025-FCSG325I, avec ses 25 000 LE, ses 256 Ko de Flash, ses 64 Ko de RAM et son sous-système de processeur Arm Cortex-M3 32 bits fonctionnant à 166 MHz, est un bon exemple de dispositif SmartFusion2. Pour permettre aux concepteurs d'étudier et de tester les fonctionnalités de la gamme de FPGA SoC SmartFusion2, Microchip propose également la carte SmartFusion2 Maker correspondante M2S010-MKR-KIT (Figure 5).
Figure 5 : La carte SmartFusion2 Maker est un kit d'évaluation économique pour le FPGA SoC SmartFusion2, qui combine un processeur Arm Cortex-M3 avec structure FPGA basée Flash sur une seule puce, ainsi que de nombreux périphériques attendus par les utilisateurs SoC, notamment la mémoire RAM et les blocs DSP. (Source de l'image : Microchip Technology)
La carte SmartFusion2 Maker économique, vendue exclusivement par DigiKey Electronics, permet aux concepteurs d'accéder à la gamme SmartFusion2. Ce dispositif particulier offre une structure FPGA basée Flash avec 12 000 LE, un processeur Arm Cortex-M3 32 bits et 166 MHz, des blocs DSP, des mémoires SRAM et eNVM, et des interfaces GPIO, et ce sur une seule puce.
La carte SmartFusion2 Maker ajoute également une interface Ethernet, un capteur de lumière ambiante, une mémoire Flash SPI, huit LED utilisateur et deux boutons-poussoirs utilisateur. La carte présente deux connexions non équipées qui prennent en charge les modules Wi-Fi/Bluetooth ESP32 et ESP8266 (non inclus). Elle prend en charge un port USB pour la programmation JTAG, les communications UART et l'alimentation de la carte. La carte inclut également une mémoire Flash SPI, une source d'horloge de 50 MHz et la couche physique (PHY) VSC8541 de Microchip pour Ethernet 100 mégabits par seconde (Mbit/s) ou 1 gigabit par seconde (Gbit/s).
Dispositifs hautes performances aux coûts optimisés : FPGA SoC et FPGA PolarFire
Les FPGA PolarFire sont des dispositifs hautes performances et optimisés en termes de coût, implémentés dans une technologie 28 nm. Ils sont conçus pour consommer le moins d'énergie possible à des densités moyennes, avec un degré élevé de sécurité et de fiabilité.
Cette gamme de produits couvre de 100 000 à 500 000 LE, inclut des émetteurs-récepteurs 12,7 Gbits et est conçue pour consommer jusqu'à 50 % d'énergie en moins que les autres FPGA milieu de gamme. Ces dispositifs sont parfaitement adaptés à un large éventail d'applications dans les marchés des réseaux d'accès filaires et des infrastructures cellulaires, de l'aviation civile et de la défense, de l'automatisation industrielle et de l'Internet des objets (IoT).
Figure 6 : Les FPGA PolarFire couvrent de 100 000 à 500 000 LE, incluent des émetteurs-récepteurs 12,7 Gbits et sont conçus pour consommer jusqu'à 50 % d'énergie en moins que les autres FPGA milieu de gamme. (Source de l'image : Microchip Technology)
La raison principale pour laquelle les FPGA PolarFire consomment jusqu'à 50 % d'énergie totale en moins que les autres FPGA est qu'ils utilisent la technologie NVM à la fois pour la mémoire de configuration intégrée et pour les cellules de configuration intégrées. Cela permet d'obtenir une fuite intrinsèquement faible entre les cellules de configuration et cela signifie également que ces dispositifs démarrent vraiment « instantanément », ce qui entraîne une absence de courant d'appel et un courant de configuration nul.
La cybersécurité constitue la préoccupation majeure pour les dispositifs connectés en périphérie du réseau. Les développeurs ne peuvent pas se contenter de répondre aux exigences fonctionnelles de leur conception : ils doivent le faire de manière sécurisée. La sécurité commence lors de la fabrication de la puce et se poursuit lors du déploiement du système et de son fonctionnement. Les FPGA PolarFire sont présentés par Microchip comme étant les FPGA programmables sécurisés les plus avancés du secteur.
De nombreuses applications pour les équipements électroniques complexes impliquent un certain degré d'exigences de sécurité dans leur conception. Les FPGA PolarFire sont conçus pour offrir une haute fiabilité, une haute disponibilité et des systèmes stratégiques et de sécurité pour les applications comme l'aviation, les communications et les applications industrielles et militaires. La gamme PolarFire est adaptée à ces applications grâce aux fonctionnalités suivantes :
- Configuration des FPGA avec intensité de défaillance (FIT) nulle
- Mémoires protégées contre les perturbations par une particule isolée
- Contrôleurs mémoire avec correction d'erreur simple et détection d'erreur double (SECDED)
- BIST (auto-test intégré)
- Aucun dispositif de configuration externe requis
Le MPF100T-FCSG325I, avec ses 109 000 LE, ses 7 782 400 bits de RAM et ses 170 E/S, est un bon exemple de dispositif PolarFire. Pour permettre aux concepteurs d'étudier et de tester les fonctionnalités de la gamme de FPGA PolarFire, Microchip propose également un kit d'évaluation de FPGA PolarFire correspondant, le MPF300-EVAL-KIT (Figure 7).
Figure 7 : Pour permettre aux concepteurs d'étudier et de tester les fonctionnalités de sa gamme de FPGA PolarFire, Microchip propose également le kit d'évaluation de FPGA MPF300-EVAL-KIT correspondant. (Source de l'image : Microchip Technology)
Le kit MPF300-EVAL-KIT offre une évaluation hautes performances pour un large éventail d'applications. Il est parfaitement adapté à l'évaluation des émetteurs-récepteurs haute vitesse, 10 Gbit Ethernet, IEEE1588, JESD204B, SyncE et CPRI, entre autres. Les connexions du kit incluent une carte mezzanine FPGA (FMC) à nombre de broches élevé (HPC), de nombreux connecteurs SMA, PCIe, Dual Gigabit Ethernet RJ45, SFP+ et USB. Un FPGA PolarFire à 300 000 LE avec DDR4, DDR3 et Flash SPI permet le développement d'un large éventail de conceptions hautes performances.
La ligne PolarFire continue d'évoluer. Tandis que nous rédigions cet article, Microchip Technology a dévoilé des détails concernant sa gamme de FPGA SoC PolarFire à venir, qui sera dotée d'un sous-système de microprocesseur en temps réel renforcé, basé sur RISC-V, 64 bits, open-source et compatible avec Linux.
Conception et développement avec les FPGA de Microchip Technology
L'une des techniques les plus couramment utilisées pour le développement avec des FPGA est celle de la conception basée sur le langage (LDD). Cela implique de capturer l'intention de conception à un niveau d'abstraction connu sous le nom de RTL (Register Transfer Level) à l'aide d'un langage de description de circuit (HDL), comme Verilog, VHDL ou SystemVerilog. Après vérification par simulation logique, cette représentation est ensuite chargée dans un moteur de synthèse, avec des informations supplémentaires comme le type de FPGA cible, les affectations de broches et les contraintes temporelles (par exemple, les retards entrée-sortie maximum). La sortie du moteur de synthèse est un fichier de configuration, qui est chargé directement dans le FPGA dans le cas d'un FPGA ou d'un FPGA SoC de Microchip, ou dans un dispositif de mémoire externe dans le cas des dispositifs basés SRAM (Figure 6).
Figure 8 : Après vérification par simulation logique, la description de conception RTL est chargée dans un moteur de synthèse avec des détails de conception supplémentaires comme le type de FPGA, les affectations de broches et les contraintes temporelles. La sortie du moteur de synthèse est un fichier de configuration, qui est chargé directement dans le FPGA. (Source de l'image : Max Maxfield)
La suite de conception Libero SoC de Microchip fait partie de cette catégorie d'outils. Ce logiciel offre une suite complète d'outils de développement intégrés faciles à assimiler et à adopter pour la conception avec les FPGA IGLOO2 et PolarFire, et les FPGA SoC SmartFusion2 et PolarFire de Microchip. La suite inclut le logiciel de synthèse Synopsys Synplify Pro et l'environnement de simulation ModelSim de Mentor Graphics, tous les deux des normes du secteur, ainsi que des outils de gestion des contraintes, de programmation et de débogage, et la prise en charge de la programmation de production sécurisée.
Outre la capture des conceptions au format textuel à l'aide de Verilog, VHDL ou SystemVerilog, la suite inclut également une entrée graphique qui permet de définir le système comme une hiérarchie de blocs connectés, dans laquelle les blocs de niveau inférieur sont représentés à l'aide du langage HDL défini par l'utilisateur ou d'une propriété intellectuelle tierce.
L'outil System Builder est également un outil de conception convivial qui guide les utilisateurs tout au long d'une série de questions pointues permettant de définir le système voulu. Cet outil commence par poser des questions au sujet de l'architecture système souhaitée, ajoute ensuite les périphériques supplémentaires à implémenter en tant que cœurs logiciels dans la structure programmable, puis finit par créer un système complet à la conception adaptée.
Enfin et surtout, l'environnement de développement intégré (IDE) SoftConsole facilite le développement rapide de logiciels C/C++ sans système d'exploitation et avec système d'exploitation en temps réel (RTOS) pour les processeurs logiciels 32 bits instanciés dans les FPGA et les FPGA SoC de Microchip, avec les cœurs de processeurs matériels 32 bits et 64 bits présents dans les FPGA SoC SmartFusion2 et PolarFire, respectivement.
Conclusion
Les solutions de conception de traitement optimales reposent généralement sur des combinaisons de processeurs et de FPGA, sur des FPGA seuls ou sur des FPGA intégrant des cœurs de processeurs matériels dans leur structure. En tant que technologie, les FPGA ont évolué rapidement au fil des années et sont capables de répondre à de nombreuses exigences de conception en matière de flexibilité, de vitesse de traitement et de puissance, ce qui les rend très utiles pour une vaste gamme d'applications s'étendant des interfaces intelligentes à la vision artificielle et à l'IA.
Comme illustré ici, les FPGA et les FPGA SoC de Microchip Technology s'étendent de l'entrée de gamme au milieu de gamme, et mettent l'accent sur des dispositifs basse consommation et haute sécurité avec une fiabilité exceptionnelle. Les FPGA offrent de solides ressources de mémoire et de traitement des signaux, et ils constituent une excellence plateforme pour le développement d'applications telles que l'accélération matérielle, l'intelligence artificielle, le traitement d'images et l'edge computing dans des domaines s'étendant des communications à l'aviation, en passant par l'industrie et le secteur militaire.

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.