FPGA et SoC Zynq de AMD

Modéliser, vérifier et programmer vos algorithmes sur des cartes AMD 

Les experts domaine et les ingénieurs hardware utilisent MATLAB et Simulink pour développer des prototypes et des applications de production destinés à être déployés sur des FPGA AMD®, des SoC Zynq®-7000, des RFSoC/MPSoC Zynq UltraScale+, et des SoC adaptatifs Versal®.

Avec MATLAB et Simulink, vous pouvez :

  • Modéliser l'architecture hardware au niveau système
  • Programmer votre FPGA ou SoC sans écrire de code
  • Simuler et débugger votre FPGA ou SoC avec les produits MATLAB et Simulink
  • Générer du code HDL et C de production pour une intégration dans des FPGA ou SoC

« Nous disposons d'une grande expérience dans notre domaine, mais de connaissances limitées en matière d'intégration FPGA. Simulink et HDL Coder nous ont permis de nous focaliser sur le design d'algorithmes intelligents pour notre produit plutôt que sur la manière de les exécuter sur un FPGA spécifique. »

Boris Van Amerongen, Orolia

Modélisation et simulation

Simulink pour l'approche Model-Based Design vous permet de réduire le temps de développement de vos applications FPGA et Soc Zynq AMD en modélisant l'implémentation hardware à un haut niveau et en la simulant dans le contexte du système. Vous pouvez également quantifier en virgule fixe (30:45) pour utiliser plus efficacement les ressources, ou bien générer du HDL en virgule flottante native (9:19) synthétisable afin de programmer des FPGA plus simplement.

HDL Coder génère du code VHDL® ou Verilog® synthétisable directement depuis les blocs Simulink et les fonctions MATLAB compatibles HDL, pour des applications telles que le traitement du signal, les télécommunications, le contrôle de moteur et d'électronique de puissance et le traitement d'images/de vidéos.

AMD System Generator for DSP et AMD Model Composer ajoutent à Simulink des blocs spécifiques à AMD pour la simulation au niveau système et le déploiement hardware. Vous pouvez intégrer les blocs System Generator aux blocs natifs de Simulink pour la génération de code HDL.

SoC Blockset vous permet d'analyser les performances de l'interaction hardware-software des cartes Zynq UltraScale+ MPSoC et RFSoC, notamment l'utilisation de la mémoire et les effets de l'ordonnancement/de l'OS.

Modélisation et simulation

Combiner des opérations en virgule flottante et fixe dans un même design. Cette opération trigonométrique est implémentée en virgule flottante grâce à des ressources FPGA AMD standard.


Prototype d'une application de télécommunications exécutée sur une plateforme radio logicielle SoC Zynq AMD avec une analyse temps réel dans MATLAB et Simulink.

Prototype d'une application de télécommunications exécutée sur une plateforme radio logicielle SoC Zynq AMD avec une analyse temps réel dans MATLAB et Simulink.

Prototypage sur des plateformes basées sur des FPGA et SoC Zynq

Pour commencer avec le prototypage, vous pouvez télécharger des support packages pour cibler des plateformes d'évaluation préconfigurées, basées sur des FPGA et des SoC Zynq de AMD, pour la radio logicielle over-the-air temps réel, le contrôle de moteur BLDC, le traitement de vidéos et d'images avec une entrée caméra temps réel ou encore le traitement des inférences de Deep Learning. HDL Coder vous guide ensuite tout au long des étapes de programmation de votre FPGA ou SoC directement depuis Simulink et sans que vous ayez besoin d'écrire de code HDL.

Vous avez le choix entre plusieurs techniques pour débugger votre prototype FPGA directement depuis MATLAB et Simulink. Vous pouvez insérer une IP pour : lire ou écrire dans des registres AXI (5:40) et transférer des fichiers de signaux ou d'images volumineux entre MATLAB et des emplacements mémoire embarqués , capturer des données de signaux internes au FPGA pour les analyser dans MATLAB , ou tester votre algorithme sur un kit d'évaluation en mode FPGA-in-the-loop (2:52) avec votre test bench MATLAB ou Simulink.


Génération de code HDL et de cœurs IP pour l'intégration en production

La plupart des blocs qui supportent la génération de code HDL font figurer les propriétés du bloc HDL qui vous permettent d'indiquer des options d'implémentation hardware personnalisées telles que l'insertion de pipeline, le partage des ressources et le mapping en RAM. Les paramètres de génération de code HDL vous donnent les moyens de personnaliser les optimisations, les styles de reset, les clock enable, les conventions de nommage, etc. En plus d'être en capacité de concevoir des architectures d'implémentation dans Simulink, vous disposez d'un contrôle total sur l'optimisation de la vitesse et de la surface pour les cartes FPGA et SoC Zynq de AMD.

Vous pouvez générer du code RTL synthétisable lisible en vue d'une intégration dans le contenu non algorithmique dans Vivado®. Si vous installez le support package HDL Coder pour Zynq, vous pouvez générer un wrapper de cœur IP compatible avec divers protocoles AXI pour la communication avec le processeur Arm® et d'autres dispositifs IP. Vous pouvez utiliser le support package Embedded Coder pour Zynq pour générer le software des drivers et de l'application afin de programmer le processeur d'application Arm.

Rapports issus du code HDL et du cœur IP générés

Rapports issus du code HDL et du cœur IP générés. Le rapport de génération de cœur IP présente le mapping des entrées et sorties du design aux registres et protocoles AXI.


Définir un design de référence personnalisé contenant un espace réservé pour le mapping des E/S dans lequel vous pouvez générer du code HDL.

Extension du support de la plateforme cible

Si vous devez effectuer un déploiement vers une plateforme basée sur des FPGA ou SoC qui n'est pas comprise dans un support package proposé par MathWorks, vous pouvez créer ou télécharger un design de référence et l'intégrer à HDL Coder. Vous pouvez développer le design de référence avec SoC Blockset ou Vivado. Les designs de référence tiers pour les plateformes basées sur des FPGA ou des SoC de AMD sont disponibles sur File Exchange auprès de fournisseurs tels que Analog Devices®, Avnet®, Speedgoat et Trenz Electronics.