Test benches Verilog et VHDL

Vérification de designs FPGA et ASIC créés dans MATLAB et Simulink

Dans un test bench VHDL® ou Verilog® classique, le code HDL est utilisé pour décrire le stimulus à un design de logique et vérifier si les sorties du design correspondent aux spécifications. Cependant, de nombreux ingénieurs utilisent MATLAB® et Simulink® pour faciliter la création de test benches VHDL ou Verilog, car ces logiciels proposent une notation productive et compacte pour décrire des algorithmes, ainsi que des outils de visualisation pour examiner leur comportement.

Les ingénieurs qui utilisent MATLAB et Simulink de cette manière ont différentes options pour vérifier que les réalisations HDL des algorithmes sont correctes.

Vérification avec la cosimulation HDL

Utilisez un test bench MATLAB ou Simulink en combinaison avec un simulateur HDL pour vérifier le Design Under Test (DUT). HDL Verifier™ automatise ce processus de cosimulation et assure la communication et la synchronisation entre MATLAB ou Simulink et le simulateur HDL. Le test bench MATLAB ou Simulink peut comparer les valeurs de sortie du simulateur HDL avec les valeurs attendues d'un modèle de référence et signaler les erreurs de comparaison.

Vérification avec la simulation FPGA-in-the-Loop

Utilisez un test bench MATLAB ou Simulink avec un DUT qui a été programmé sur une carte de développement FPGA Xilinx®, Intel® ou Microsemi® avec la simulation FPGA-in-the-Loop. HDL Verifier peut être utilisé en combinaison avec les outils fondeur FPGA pour compiler le code HDL, créer un fichier de programmation, le charger sur la carte de développement et effectuer la communication entre la session MATLAB ou Simulink et la carte. Avec la simulation FPGA-in-the-Loop, il n'est pas nécessaire de générer un test bench Verilog ou VHDL puisque MATLAB ou Simulink s'en charge.

Vérification avec le test bench SystemVerilog DPI

SystemVerilog est une extension de Verilog utilisée pour le développement de test benches et supportée par tous les simulateurs HDL courants. Grâce à l'interface SystemVerilog Direct Programming Interface (DPI), vous pouvez intégrer du code C/C++ à des simulateurs tels que Synopsys® VCS®, Cadence® Incisive® ou Xcelium™ et Mentor Graphics® ModelSim® ou Questa®. En utilisant HDL Verifier en combinaison avec MATLAB Coder™ ou Simulink Coder™, vous pouvez générer des test benches SystemVerilog DPI pour une utilisation dans des environnements de vérification de la production.

HDL Verifier peut générer des test benches SystemVerilog DPI sous deux formes différentes :

  • Test bench d’un composant : si vous générez un composant C à partir d'un sous-système Simulink pour l'utiliser comme composant DPI, vous pouvez en option générer un test bench SystemVerilog. Le test bench vérifie le composant DPI généré à partir des vecteurs de données de votre modèle Simulink.
  • Test bench du code HDL : si vous générez du code HDL à partir d'un sous-système Simulink en utilisant HDL Coder, vous pouvez éventuellement générer un test bench SystemVerilog. Ce test bench compare la sortie de l'implémentation HDL et les résultats du modèle Simulink.

Vérification avec la méthodologie UVM (Universal Verification Methodology)

HDL Verifier peut également générer des composants UVM directement à partir de modèles Simulink. HDL Verifier génère des composants UVM SystemVerilog scoreboards ou séquences à partir de modèles de test benches. Cet outil produit également des fichiers SystemVerilog pour un Design Under Test (DUT) comportemental. Le DUT comportemental peut alors être remplacé par un RTL codé manuellement ou généré avec HDL Coder.

Les composants générés peuvent être exécutés en tant qu'environnement UVM complet dans Siemens EDA ModelSim® ou Questa®, Cadence® Xcelium™, ou Synopsys® VCS®.


Voir aussi: MATLAB pour le développement FPGA, ASIC et SoC, HDL Coder, HDL Verifier, Vision HDL Toolbox, MATLAB Coder, Simulink Coder