Prototypage FPGA avec MATLAB

Développer, déployer et débugger des prototypes avec MATLAB et Simulink.

Vous pouvez prototyper vos algorithmes sur du hardware équipé de FPGA, que vous ayez ou non de l'expérience en matière de design FPGA.

Avec MATLAB® et Simulink®, vous pouvez :

  • Élaborer un design orienté hardware avec des blocs et des sous-systèmes IP éprouvés
  • Simuler un comportement hardware au niveau système pour éliminer les bugs avant le déploiement sur FPGA
  • Générer du code HDL et C capable de cibler n'importe quelle carte FPGA ou SoC
  • Déployer automatiquement sur des cartes et des kits FPGA et SoC de Xilinx® et Intel®
  • Sonder et capturer des signaux s'exécutant sur le hardware

« 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

Utiliser MATLAB pour le prototypage FPGA

Applications pour les télécommunications

Vous pouvez ajouter progressivement des éléments hardware à votre design, de la simulation de votre algorithme avec des entrées/sorties over-the-air temps réel au déploiement complet sur une plateforme radio logicielle (SDR) ou sur une carte personnalisée FPGA ou SoC.

Les blocs et sous-systèmes IP de Wireless HDL Toolbox™ pour le design de systèmes de télécommunications éprouvés sur du hardware vous permettent de démarrer rapidement. L'IP comprend des exemples vous expliquant comment passer progressivement du design d'algorithmes avec MATLAB à des modèles d'implémentation de systèmes de télécommunications dans Simulink. Toute l'IP a été quantifiée en virgule fixe. Cela vous permet par la suite d'utiliser Fixed-Point Designer™ pour gérer la quantification de la logique personnalisée que vous ajoutez avant le déploiement avec HDL Coder™.

Concevoir et simuler au niveau système, puis ajouter progressivement les aspects hardware en vue d'un déploiement complet pour des tests sur terrain.


Déployer des algorithmes de contrôle de moteur et d'électronique de puissance sur du hardware FPGA et accélérer des modèles physiques hardware-in-the-loop sur des accélérateurs FPGA tels que les modules d'E/S Speedgoat.

Applications de contrôle de moteur et d'électronique de puissance

Vous pouvez explorer les performances d'algorithmes de contrôle s'exécutant sur du hardware équipé de FPGA, ou accélérer des modèles physiques avec des simulations hardware-in-the-loop sur FPGA. Avec le support étendu de la génération de code HDL pour les fonctions mathématiques et trigonométriques en virgule fixe ou en virgule flottante native, HDL Coder vous propose une manière simple de passer d'un modèle Simulink au hardware.

Si vous souhaitez explorer les différentes façons de partitionner votre algorithme pour un déploiement sur SoC, vous pouvez rechercher et simuler des stratégies de partitionnement afin d'en évaluer les performances avant le déploiement sur une plateforme prototype. Ciblez ensuite des kits préconfigurés, du Introduction à la technologie FPGA de Speedgoat (7:53) ou votre propre carte personnalisée.


Applications de traitement de vidéos et d'images

Vous pouvez prototyper des algorithmes de vision sur des plateformes équipées de FPGA connectées à MATLAB et Simulink en générant automatiquement du code HDL et C. Vous pouvez également utiliser des blocs de traitement de la vision éprouvés sur hardware pour créer un modèle d'implémentation simulant le comportement du hardware tel que le streaming des pixels, les algorithmes basés sur le voisinage, l'accès à la mémoire externe et les signaux de contrôle.

Un support pour le déploiement de vos modèles sur des kits d'évaluation FPGA avec caméras du commerce est disponible. Alternativement, votre équipe hardware peut développer le support de votre plateforme afin que vous puissiez développer des prototypes directement depuis MATLAB et Simulink.

Un algorithme de suppression de l'effet brouillard s'exécutant sur un prototype de carte FPGA.


Exécuter une inférence de Deep Learning basée sur FPGA sur un hardware de prototypage directement depuis MATLAB, puis générer un cœur IP HDL de Deep Learning en vue d'un déploiement sur n'importe quel FPGA ou ASIC.

Inférence de Deep Learning

Avec quelques commandes MATLAB, vous pouvez accélérer l'inférence de Deep Learning en prototypant des réseaux sur des cartes FPGA et SoC. Vous pouvez ensuite itérer sur votre réseau depuis MATLAB. Il vous suffit d'analyser les performances des inférences sur le FPGA, d'ajuster le réseau, de quantifier en virgule fixe et de redéployer. Enfin, vous pouvez générer un cœur IP HDL indépendant de la cible à transférer à l'équipe hardware afin qu'elle procède à son implémentation.


Débuggage de prototype FPGA

Le prototypage de FPGA avec des entrées réelles vous aide à repérer des bugs qui n'ont pas été décelés ni corrigés au cours de la simulation initiale. Vous pouvez insérer dans votre prototype FPGA ou SoC de la logique vous permettant d'utiliser les commandes MATLAB pour lire et écrire de manière interactive sur des registres accessibles via AXI, ou vous servant à capturer des données de points de test internes du FPGA.

Si vous préférez exécuter votre prototype FPGA avec votre test bench MATLAB ou Simulink, le mode FPGA-in-the-loop automatise la configuration et gère l'interface de simulation afin d'envoyer des données au FPGA et de les retransmettre à votre test bench.

Ces techniques sont compatibles immédiatement avec de nombreuses cartes Xilinx, Intel et Microsemi. Vous pouvez également définir votre propre carte personnalisée.

Insérer automatiquement de la logique pour débugger et interagir avec votre prototype FPGA depuis MATLAB.