Les tableaux de portes programmables sur le terrain (FPGA) fournissent un substrat en silicium reconfigurable qui permet aux ingénieurs de mettre en œuvre une logique numérique personnalisée. L'une des capacités les plus transformatrices des FPGA modernes est la capacité d'inoccader les processeurs de noyau souple – les cœurs d'unité centrale de traitement (CPU) décrits dans les langages de description matérielle (HDL) comme VHDL ou Verilog et synthétisés directement dans le tissu FPGA. Contrairement aux processeurs fixes intégrés au silicium, les processeurs de noyau souple peuvent être configurés, étendus et optimisés pour des applications spécifiques.

Qu'est-ce que les processeurs Soft-core?

Un processeur soft-core est un noyau de microprocesseur qui existe sous forme de HDL synthésisable. Lorsqu'il est chargé dans un FPGA, il occupe des blocs logiques programmables – tables de recherche (LUT), flower-flops, bloc RAM (BRAM), tranches de traitement numérique de signal (DSP) et ressources de routage – pour implémenter le datapath du processeur, l'unité de contrôle, la logique de récupération d'instructions et les interfaces mémoire.

Contrairement aux cœurs de processeurs durs (par exemple, le ARM Cortex-A ou Cortex-R intégré dans Xilinx Zynq ou Intel SoC FPGA), les processeurs à noyau souple offrent une flexibilité complète. Les concepteurs peuvent choisir des paramètres tels que la profondeur du pipeline (trois étapes, cinq étapes ou plus), la taille du cache (données et caches d'instructions de 0 KB à des dizaines de kilooctets), l'inclusion d'unités flottantes (FPU), le multiplicateur/diviseur, les interfaces de débogage du matériel et même les extensions de jeux d'instructions personnalisées. Le processeur est ensuite synthétisé avec le reste de la conception de FPGA, permettant un système sur puce (SoC) étroitement intégré dans un seul appareil programmable.

Processeurs durs ou soft-core

FeatureHard ProcessorSoft-core Processor
PerformanceHigh clock speeds (0.5-2+ GHz)Moderate (50-400 MHz typical)
Resource usageNone (pre-fabricated silicon)Consumes LUTs, BRAM, DSP
FlexibilityFixed architectureConfigurable, extensible
Design effortUse proven IPRequires HDL and toolchain expertise
CostHigher upfront for SoC FPGAsLower BOM, no external CPU

Avantages de l'utilisation de processeurs Soft-core

Personnalisation inégalée

La force première des processeurs soft-core réside dans leur configurabilité. Les développeurs peuvent adapter le processeur exactement aux exigences informatiques de leur application. Par exemple, une tâche orientée vers le contrôle peut nécessiter un petit noyau de faible puissance avec des étapes de pipeline minimales, tandis qu'un algorithme de traitement de signal numérique peut bénéficier d'un FPU et d'extensions multi-accumulables personnalisées. De nombreuses architectures soft-core permettent aux concepteurs d'ajouter des instructions personnalisées qui s'exécutent en un seul cycle, accélérant les algorithmes critiques sans le survol d'un accélérateur matériel. Ce niveau de personnalisation est impossible avec les processeurs durs fixes sans ajouter de logique externe.

Intégration profonde avec le matériel personnalisé

Les processeurs à noyau souple résident dans le même tissu que le reste du système numérique. L'architecture du bus (par exemple AXI4, Avalon, Wishbone) peut être partagée entre tous les blocs IP, éliminant les problèmes de latence et d'intégrité des signaux hors puce qui affectent les conceptions multipuces. Un seul FPGA peut contenir des tâches de contrôle de la manipulation de processeur à noyau souple, un accélérateur semblable à GPU pour les maths matriciaux et une interface radio à haute vitesse, sans trace externe de PCB au-delà des broches FPGA.

Réduction des coûts et de la superficie du conseil

En éliminant la nécessité d'un microcontrôleur ou d'un microprocesseur distinct, les processeurs à noyau souple réduisent le coût des billets de matériel (BOM), la surface de la planche et la consommation d'énergie. Dans la production à volume faible ou moyen, les économies réalisées par l'élimination d'un processeur externe et de ses composants de support (oscillateurs, décalages de niveau, puces de mémoire) peuvent compenser le coût d'un FPGA plus grand.

Prototypage et itération rapides

Les outils de fournisseurs FPGA fournissent des cœurs IP prêts à l'emploi pour les processeurs souples, ainsi que des cartes de mémoire configurables, des contrôleurs d'interruption et des blocs périphériques. Les ingénieurs peuvent activer un noyau de processeur en quelques minutes à l'aide d'outils tels que Xilinx Vivado IP Integrator ou Intel Platform Designer. Modifier la configuration du processeur – dire, augmenter la taille du cache ou ajouter un FPU – ne nécessite qu'une resynthèse, qui peut se terminer en quelques heures.

Amélioration et adaptabilité des champs

La logique du processeur Soft-core est entièrement définie par le bitstream FPGA. Si un nouveau protocole émerge, une vulnérabilité de sécurité est découverte, ou une exigence du système change, le processeur tout entier peut être mis à jour simplement en chargeant un nouveau bitstream. Cette adaptabilité permet d'économiser les coûts matériels et logistiques des systèmes déployés dans des endroits éloignés ou dans des applications à long cycle de vie comme l'infrastructure de télécommunications, l'automatisation industrielle et l'aérospatiale.

Écailabilité et parallélisme

Chaque cœur peut être configuré individuellement – certains avec FPU, d'autres sans – et connecté via une mémoire partagée ou des liens point à point dédiés. Cette approche permet de calculer le débit linéaire avec le nombre de cœurs, tant que l'application est parallélisante. Pour les systèmes en temps réel intégrés, un groupe de processeurs en douceur à deux ou quatre cœurs peut gérer de façon déterministe les tâches de contrôle et de traitement des données.

Gestion de l'énergie et de la chaleur

Les processeurs Soft-core permettent une gestion de l'énergie à grain fin. Les instances de processeurs non utilisées peuvent être alimentées par des îlots de gate ou d'alimentation; les étapes spécifiques de pipeline peuvent être désactivées lorsque ce n'est pas nécessaire. Parce que le processeur est construit à partir de tissu FPGA, la consommation d'énergie dynamique est proportionnelle à l'utilisation logique et à la fréquence de l'horloge.

Débogue et analyse avancées

De nombreux processeurs soft-core comprennent des modules de débogage sophistiqués accessibles via JTAG ou USB. Des fonctionnalités telles que trace en temps réel, profilage précis du cycle, points de rupture matériels et moniteurs de bus AXI permettent aux développeurs de vérifier le comportement du système bien avant l'arrivée de la carte. Certains outils peuvent même corréler les instructions exécutées avec les formes d'onde de signal HDL, fournissant un niveau de visibilité qui rivalise avec les débogueurs logiciels traditionnels.

Valeur de l'éducation et de la recherche

Les processeurs Soft-core sont largement utilisés dans les cours universitaires pour enseigner l'architecture informatique et le design numérique.Les étudiants peuvent modifier la microarchitecture d'un processeur – ajouter un prédicteur de branche, modifier la politique de remplacement du cache ou mettre en place une nouvelle instruction – et voir les effets sur la performance et l'utilisation des ressources immédiatement sur le matériel réel.

Applications communes dans les systèmes numériques

Contrôle intégré et automatisation industrielle

Les processeurs Soft-core excellent dans les applications qui nécessitent un contrôle déterministe en temps réel, comme les moteurs, les contrôleurs robotiques et les contrôleurs logiques programmables (PLC). Le processeur peut gérer le séquençage de haut niveau pendant que les accélérateurs matériels personnalisés mettent en place des interlocks de sécurité, la modulation de la largeur de l'impulsion ou le contrôle de conversion analogique-numérique.

Radio à définition logicielle (SDR)

Dans les systèmes SDR, un processeur soft-core gère l'accès dynamique au spectre, la sélection des canaux et les piles de protocole, tandis que des blocs DSP dédiés effectuent le filtrage et la modulation/démodulation. La capacité de reconfigurer le processeur pour gérer différentes formes d'onde (par exemple, Wi-Fi, LTE, Bluetooth) sans changer de matériel est critique pour les radios multi-standards.

Traitement numérique des signaux et des images

Les instructions personnalisées permettent aux processeurs de noyau souple d'accélérer les boucles internes pour les FFT, convolution ou compression. Par exemple, un noyau MicroBlaze peut être étendu avec un multiplicateur-accumulateur matériel (MAC) et une unité vectorelle pour exécuter des pipelines de traitement d'images à des débits de streaming. Combinés avec des moteurs d'accès direct à la mémoire (DMA), ces systèmes atteignent des débits auparavant seulement possibles avec des ASIC dédiés.

Internet des objets (IdO) Calcul des bords

Les FPGA à faible coût avec processeurs soft-core permettent des nœuds de bord intelligents. Le processeur gère l'encapsulation des protocoles (MQTT, CoAP) et la fusion des capteurs, tandis que les interfaces logiques programmables directement avec des capteurs analogiques, la mémoire flash et les émetteurs-récepteurs sans fil.

Systèmes automobiles et aérospatials

Les applications critiques pour la sécurité bénéficient du déterminisme et de la tolérance aux défauts que peuvent atteindre les processeurs à cœur souple. Plusieurs cœurs redondants peuvent être mis en place pour le fonctionnement en étape de verrouillage; les circuits de code de correction d'erreurs (ECC) peuvent être enveloppés autour du processeur.

Instruments scientifiques et équipements d'essai

In high-speed data acquisition and instrumentation, a soft-core processor coordinates multiple parallel ADC/DAC channels, triggers, and data storage. The processor's configurable bus width and low-latency interfaces allow it to process streaming data with minimal jitter, while the FPGA's reconfigurable front-end adjusts to different measurement modes.

Défis et considérations

Limites de performance

Les processeurs à cœur souple fonctionnent généralement à des vitesses d'horloge comprises entre 50 MHz et 400 MHz, bien en deçà de celles des processeurs durs (0,5-2 GHz). Chaque opération logique entraîne un retard par plusieurs UTL et par routage, ce qui limite la fréquence.

Utilisation des ressources

La mise en œuvre d'un processeur consomme une part importante des ressources d'un FPGA. Un noyau RISC-V 32 bits peut utiliser 2 000-4 000 LUT et 4-8 blocs RAM, tandis qu'un MicroBlaze avec cache et FPU peut dépasser 10 000 LUT et 100 blocs RAM. Cela laisse moins de ressources pour le reste de la conception.

Chaîne d'outils et dépendance des écosystèmes

Chaque processeur de noyau souple est lié à la chaîne d'outils de son fournisseur. Les conceptions MicroBlaze nécessitent Xilinx Vivado ou ISE; Nios II nécessite Intel Quartus. Les cœurs RISC-V open-source offrent plus de liberté mais nécessitent toujours des outils de synthèse (par exemple Yosys) et des paquets de support de carte qui peuvent ne pas être aussi matures.

Échanges de la consommation d'énergie

Bien que les processeurs à noyau souple puissent être gérés par puissance, leur puissance dynamique par MIPS est généralement plus élevée que celle d'un processeur dur parce que le tissu FPGA est moins efficace que le silicium dédié. Pour les appareils alimentés par batterie ou soumis à des contraintes thermiques, un MCU externe de faible puissance pourrait être plus approprié.

Point flottant et complexe arithmétique

De nombreux processeurs de noyau souple offrent des processeurs FPU optionnels, mais les performances restent en retard par rapport aux processeurs de noyau dur. Pour les applications nécessitant des mathématiques intensives à double précision, un processeur dur ou un accélérateur de point flottant personnalisé est recommandé.

Perspectives d'avenir

L'essor de l'architecture RISC-V open source a revigoré le paysage des processeurs soft-core. Les cœurs RISC-V sont maintenant disponibles en de nombreuses variantes, allant de minuscules microcontrôleurs à 2 étapes, aux processeurs multifilés hors-commande, tous exempts de droits de licence. Cette démocratisation permet même aux petites équipes de construire des systèmes de processeurs personnalisés. De plus, les fournisseurs de FPGA devraient continuer à améliorer leurs flux de synthèse, permettant aux processeurs soft-core d'atteindre des fréquences d'horloges plus élevées grâce à un meilleur placement et une meilleure routabilité.

Conclusion

Les processeurs à cœur souple représentent un outil puissant pour les ingénieurs qui conçoivent des systèmes numériques basés sur le FPGA. Leur personnalisation inégalée, leur intégration matérielle profonde, leur rentabilité et leur mise à niveau sur le terrain les rendent idéaux pour une large gamme d'applications, du contrôle industriel et de la radio définie par logiciel à l'informatique de pointe et à l'instrumentation scientifique.

Pour plus d'informations, se reporter à la documentation officielle pour Xilinx MicroBlaze et Intel Nios II, ou étudier l'écosystème RISC-V pour les processeurs à noyau souple librement disponibles.