MATLAB pour le design et la vérification dans la production de cartes FPGA, ASIC et SoC

Affiner les algorithmes avec l'architecture hardware et générer du code et des modèles de vérification avec MATLAB et Simulink

Les membres des projets FPGA, ASIC ou SoC peuvent collaborer sur des décisions initiales importantes à un haut niveau d'abstraction, puis générer le code et les modèles pour démarrer l'implémentation.

Avec MATLAB® et Simulink®, vous pouvez :

  • Modéliser et simuler de nombreux choix d'architecture
  • Affiner des algorithmes en suivant une approche top-down en vue de l'implémentation
  • Converger sur la quantification en virgule fixe
  • Générer du code RTL et du code C embarqué de production
  • Générer des modèles de vérification pour des environnements de simulation numériques ou analogiques
  • Adhérer à des workflows de certification de sécurité fonctionnelle

« 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. »

Marcel van Bakel, Philips Healthcare

Utiliser MATLAB pour le design et la vérification en production

Architecture SoC et design top-down

Les développeurs d'algorithmes peuvent collaborer avec les architectes système et les ingénieurs de systèmes numériques, analogiques/à signaux mixtes et de vérification pour explorer les options d'architecture à un haut niveau d'abstraction. Vous et votre équipe pouvez ainsi expérimenter des stratégies de partitionnement, puis perfectionner progressivement les partitions avec des détails d'implémentation comme la microarchitecture hardware et la quantification en virgule fixe. Plus de 300 blocs sont compatibles avec la génération de code HDL, notamment des blocs et des sous-systèmes IP hardware éprouvés en production.

Au cours de ce processus top-down, vous pouvez continuellement intégrer des modèles plus détaillés pour la simulation dans le contexte du système afin d'éliminer rapidement les problèmes de fonctionnement et de performances. Le processus vous permet de créer et de gérer des cas de tests au niveau système et de mesurer la couverture du modèle pour que vous puissiez être certain que votre implémentation est réussie.

Découvrez les compromis d'implémentation à haut niveau en vérifiant chaque étape de l'élaboration en comparaison avec la version correcte précédente.


Générer des composants SystemVerilog DPI ou UVM pour accélérer la création d'un environnement de vérification.

Génération de modèles de vérification

Vous pouvez générer des modèles pour accélérer la création d'un environnement de vérification RTL directement depuis des fonctions MATLAB ou des modèles Simulink compatibles avec la génération de code C. De cette façon, vous pouvez capturer précisément le comportement de haut niveau des modèles de référence et des stimuli pour la simulation RTL. Si le design de haut niveau change, vous pouvez générer à nouveau les modèles.

Ces composants de vérification utilisent SystemVerilog Direct Programming Interface (DPI), vous avez donc la possibilité de les utiliser dans n'importe quel simulateur compatible avec le SystemVerilog. Vous pouvez, si vous le souhaitez, générer un composant UVM (Universal Verification Methodology) depuis Simulink si votre environnement de vérification RTL utilise UVM.


Génération de code de production

Les processus réutilisant du code existant introduisent souvent des bugs au cours des processus manuels que sont la rédaction d'un document de spécifications et l'écriture de code basé sur ce document. Une fois que vous avez terminé une vérification au niveau système avec MATLAB et Simulink, vous pouvez générer du code HDL et C directement depuis ces modèles d'implémentation vérifiés.

Le code HDL généré est lisible, traçable jusqu'à son modèle source et indépendant de la cible. Vous pouvez contrôler des optimisations de vitesse telles que l'insertion de pipeline, les optimisations de surface comme le partage des ressources, ainsi que de nombreux styles de codage et options de structure. Alors que les outils de synthèse de Xilinx® et d'Intel® peuvent s'exécuter automatiquement depuis le menu de génération de code, vous pouvez générer des scripts pour exécuter n'importe quel outil de synthèse FPGA ou ASIC.

Code HDL lisible, comprenant les commentaires du modèle, avec une traçabilité au niveau ligne entre le code et le modèle.


Vérifier la conformité aux normes de modélisation DO-254 d'un sous-système hardware.

Sécurité fonctionnelle

Si votre projet doit être conforme à une norme de sécurité fonctionnelle, alors les workflows pour le développement de FPGA, ASIC et SoC sont inclus dans des kits pour les normes DO-254, ISO 26262 et IEC 61508. Ces workflows comprennent l'exécution de Model Advisor qui contient des vérifications prédéfinies permettant d'assurer la conformité de votre modèle aux exigences de la norme appropriée.

Le code HDL et C généré est lisible et traçable jusqu'au modèle et aux exigences pour faciliter la revue du code. Vous pouvez utiliser différentes techniques comme des tests comparatifs avec la cosimulation ou le mode FPGA-in-the-loop pour permettre de satisfaire les exigences de vérification.