HDL Coder

 

HDL Coder

Générer du code Verilog, SystemVerilog et VHDL pour les designs FPGA et ASIC

La vidéo dure 2:10
Diagramme d'architecture hardware pour un algorithme de détection d'impulsions.

Design hardware de haut niveau

Concevez votre sous-système en choisissant parmi plus de 300 blocs Simulink et fonctions MATLAB utilisables avec HDL. Ajoutez des diagrammes Stateflow, des modèles Simscape et des réseaux de Deep Learning. Simulez le comportement hardware de votre design, explorez des architectures alternatives et générez du code Verilog, SystemVerilog ou VHDL synthétisable, utilisant des types de données à virgule fixe ou flottante, ou une combinaison des deux. 

Diagramme illustrant les workflows synthétisables de HDL vers FPGA et ASIC.

Ciblage indépendant du fournisseur

Générez du RTL synthétisable optimisé pour les FPGA des principaux fournisseurs et utilisez-le également pour les ASIC. Réutilisez les mêmes modèles pour la génération de code de prototypage et de production.

Schéma présentant des architectures entièrement parallèles et en pipelines pour un filtre FIR.

Optimisation du design

Explorez une grande variété d'architectures hardware et d'options de quantification en virgule fixe avant de vous engager dans une implémentation RTL. Utilisez des optimisations de synthèse de haut niveau telles que le partage des ressources, le pipelining et l'équilibrage des retards, qui se mappent efficacement sur les ressources de l'équipement telles que la logique, les DSP et les RAM.

Cartes de développement avec des FPGA.

Cartes basées sur des FPGA

Générez du code RTL qui se mappe efficacement sur des cartes FPGA et SoC. Mappez les entrées et les sorties avec les registres d'E/S et AXI au niveau carte en utilisant les support packages hardware pour les cartes les plus courantes, ou définissez votre propre design de référence personnalisé.

Étapes du processus de ciblage des algorithmes MATLAB et Simulink sur des ASIC.

Workflows ASIC

Concevez et vérifiez votre architecture et vos fonctionnalités hardware de haut niveau dans le contexte de votre système mixte analogique, numérique et logiciel. Générez du RTL avec une qualité de résultat (QoR) élevée ou générez du SystemC synthétisable à utiliser avec Cadence® Stratus HLS.

Une image fixe d'une caméra de tableau de bord avec un modèle Simulink pour le traitement vidéo et un analyseur logique.

Développement d'applications

Concevez des algorithmes de communication avec des sous-systèmes et des blocs issus de Wireless HDL Toolbox, ou développez des implémentations en streaming d'algorithmes de traitement de la vision avec Vision HDL Toolbox. Implémentez des systèmes de contrôle moteur complexes à faible latence. 

Diagramme d'un workflow de haut niveau pour la conversion trames/échantillons automatisée.

Design pour le hardware

Développez des algorithmes qui fonctionnent efficacement sur des données en streaming. Ajoutez les détails de l'architecture hardware grâce à des blocs Simulink, des blocs de MATLAB Function personnalisés et des diagrammes Stateflow compatibles avec le HDL.

Cartes d'E/S FPGA Speedgoat superposées à un modèle Simulink représentant un bloc FPGA.

Simulation et test temps réel

Ciblez les modules d'E/S FPGA programmables Speedgoat en utilisant l'outil HDL Workflow Advisor. Effectuez des simulations avec Simulink Real-Time ou utilisez des modules d'E/S FPGA supplémentaires de dSPACE et NI. Générez du code HDL à virgule flottante native afin de simplifier les workflows pour le prototypage de haute précision. 

Diagramme illustrant les fonctionnalités de HDL Verifier et de son module complémentaire ASIC Testbench.

Vérification anticipée

Vérifiez le code HDL généré grâce à des bancs d'essai MATLAB et Simulink en utilisant la cosimulation avec les principaux simulateurs HDL (nécessite HDL Verifier). 

« Simulink aide les architectes système et les designers hardware à communiquer. Il représente un langage commun qui nous permet d'échanger des informations, des idées et des designs. Simulink et HDL Coder nous permettent de nous concentrer sur le développement des algorithmes et l'élaboration de notre design par la simulation, plutôt que sur la vérification de la syntaxe VHDL et des règles de codage. »

FAQ sur HDL Coder

HDL Coder est un outil de génération de code qui génère du code Verilog, SystemVerilog et VHDL portable et synthétisable à partir de fonctions MATLAB, de modèles Simulink et Simscape, et de diagrammes Stateflow pour la programmation FPGA, le prototypage ASIC et le design de production. HDL Coder génère également du code SystemC synthétisable pour l'intégration avec Cadence Stratus HLS.

HDL Coder permet le design de haut niveau pour les FPGA, les SoC et les ASIC.

HDL Coder supporte plus de 300 blocs Simulink et fonctions MATLAB utilisables avec HDL, ainsi que des diagrammes Stateflow et des modèles Simscape.

Oui, HDL Coder peut générer du code HDL synthétisable utilisant des types de données à virgule fixe ou flottante, ou une combinaison des deux.

HDL Coder vous permet d'optimiser la vitesse et la surface, de mettre en évidence les chemins critiques, de générer des estimations de l'utilisation des ressources avant la synthèse, et d'utiliser des optimisations de synthèse de haut niveau telles que le partage des ressources, le pipelining et l'équilibrage des retards.

HDL Coder assure la traçabilité entre les modèles Simulink et le code Verilog, SystemVerilog et VHDL généré, ce qui permet de vérifier le code pour les applications hautement critiques répondant à des normes telles que DO-254.

Oui, HDL Coder génère du code RTL tenant compte des contraintes PPA (Power-Performance-Area) pour les workflows ASIC. Il peut également générer du code SystemC synthétisable destiné à être utilisé avec Cadence Stratus HLS.

Oui, HDL Coder comprend un outil de conseil pour ce type de workflow, qui automatise le prototypage du code généré sur les cartes FPGA et génère des cœurs IP pour les workflows ASIC et FPGA.

Vous souhaitez en savoir plus sur le produit  HDL Coder ?