Matlab FPGA : solutions basées sur des modèles

Vérification FPGA dans l'environnement MATLAB

L'outil System in the Loop d'Intel vous permet d'exécuter votre conception FPGA en temps réel à partir d'un environnement MATLAB. La capacité de fonctionner en temps réel peut être critique pour les algorithmes avec des taux de traitement élevés. Les simulations MATLAB traditionnelles pour de tels algorithmes peuvent entraîner de longs délais de calcul. L'outil System in the Loop qui est fourni avec les outils DSP Builder for Intel® FPGAs, vous permet d'accélérer le traitement du signal numérique (DSP) complexe à haut débit à virgule fixe ou flottante dans le matériel FPGA. Cet outil vous permet également de contrôler, déboguer, visualiser et vérifier vos conceptions FPGA, le tout dans l'environnement MATLAB.

Une interface de programmation d'application (API), utilisée par le logiciel MATLAB exécuté sur votre ordinateur pour communiquer avec la carte FPGA, permet aux données d'être traitées en temps réel par le matériel FPGA plutôt que par le logiciel MATLAB. Les paramètres et les données de stimuli sont transmis de l'espace de travail MATLAB au FPGA, et les résultats du matériel FPGA sont lus par le logiciel MATLAB pour une analyse et un affichage plus approfondis.

La figure 1 montre un exemple de visualisation MATLAB dans le traitement radar et de formation de faisceau.

Figure 1. Visualisation MATLAB dans le traitement radar et de formation de faisceaux

Vérification FPGA dans MATLAB à l'aide des outils de débogage au niveau système d'Intel

System in the Loop fait partie du portefeuille d'outils de débogage au niveau du système d'Intel, qui comprend le Transceiver Toolkit, le External Memory Interface Toolkit, ainsi que des outils plus génériques, tels que System Console et Platform Designer (anciennement Qsys). Platform Designer (anciennement Qsys) utilise les interfaces de mappage de mémoire Avalon® (Avalon-MM) ou de streaming Avalon (Avalon-ST) pour créer des réseaux dans une variété de topologies et de hiérarchies.

System Console est un outil qui peut être utilisé pour surveiller et instrumenter une conception FPGA. Il peut être utilisé pour vérifier les opérations de pointage ou réinitialiser les réseaux. Il peut également effectuer des tâches plus sophistiquées, telles que des modèles d'accès mappés en mémoire spécifiques au lecteur et vérifier les réponses. Il est utile à la fois pour la mise en place de la carte ainsi que pour l'automatisation des tests de production. Vous pouvez créer des tableaux de bord interactifs pour une tâche spécifique, comme le montre la figure 2.

Figure 2 Tableau de bord de System Console

System Console peut également effectuer un débogage matériel de bas niveau pour n'importe quel concepteur de plate-forme (anciennement Qsys). L'API MATLAB permet d'accéder aux appels de fonction à l'aide de la console système, qui à son tour donne accès au matériel FPGA. Cinq commandes MATLAB simples sont utilisées pour actualiser, ouvrir, lire, écrire et fermer un canal de communication entre la conception MATLAB et le matériel FPGA.

L'interface matérielle du FPGA peut être connectée via une interface JTAG héritée ou une interface USB 2.0, comme illustré à la figure 3. USB Debug Master offre des vitesses allant jusqu'à 480 Mbit/s, permettant des taux élevés de traitement accéléré dans le matériel FPGA. La figure 4 montre que vous pouvez facilement connecter les signaux JTAG ou USB à l'appareil testé (DUT) à l'aide de Platform Designer (anciennement Qsys).

Figure 3, Pile de protocoles matériels MATLAB vers FPGA

Figure 4, Accès JTAG et USB debug master

Dans la figure 5, le DSP Builder pour les FPGA Intel® (Advanced Blockset) est utilisé pour créer la conception du FPGA. Cet outil crée des codes de niveau de transfert de registre (RTL) à virgule fixe et flottante de haute qualité, avec fMAX et une utilisation des ressources à égalité avec le langage de description matérielle codé à la main (HDL) hautement optimisé. Vous pouvez également concevoir en Verilog ou VHDL traditionnel, puis ajouter les ports d'interface Avalon® sur les interfaces pour connecter votre conception via Platform Designer (anciennement Qsys).

Figure 5, Connexion de la conception FPGA à JTAG ou USB debug master

Toutes les ressources FPGA peuvent être connectées à l'aide de Platform Designer (anciennement Qsys), et la conception FPGA est ajoutée en tant que composant Platform Designer (anciennement Qsys). Voir figure 6,.

Figure 6, Diagramme Design platform

Les données d'entrée et de sortie sont mises en mémoire tampon sur la puce, permettant au matériel FPGA de fonctionner à pleine vitesse du système sur les données mises en mémoire tampon. Les interfaces illustrées à la figure 7 sont des interfaces Avalon-ST.

Figure 7, DUT FPGA de haut niveau

Le système de tampon d'entrée est illustré à la figure 8. Notez que le registre utilise des déclencheurs pour écrire les adresses lorsque les données sont chargées à l'aide de la commande d'écriture MATLAB. Le système de tampon de sortie est similaire au système de tampon d'entrée.

Figure 8, Système dans le tampon de données d'entrée de boucle

Après cela, la plate-forme de conception est ajoutée au projet logiciel Intel® Quartus® Prime et la conception est compilée, comme le montre la figure 9.

Figure 9, Ajout de Platform Designer au projet logiciel Quartus Prime

Enfin, le FPGA est programmé avec la conception compilée. Vous pouvez désormais contrôler l'ensemble du système via les commandes MATLAB, comme illustré à la figure 10 :

Figure 10, Contrôler le système FPGA via MATLAB

Pour vous permettre de vérifier encore plus facilement vos conceptions FPGA, des modèles de conception System in the Loop prêts à l'emploi sont disponibles pour diverses cartes de développement Intel® FPGA, telles que celles avec les FPGA Stratix® IV, Stratix® V et Cyclone® V.