HDL-Codeverifikation und Debugging mit MATLAB und Simulink
Termin vereinbarenKursbeschreibung
Dieses zweitägige Modul bietet eine Einführung in die Workflows zur Verifizierung und zum Debugging von HDL-Designs mit MathWorks Tools. Dieser Kurs richtet sich an MATLAB- und Simulink-Anwender, die entweder ausschließlich an der HDL-Verifikation interessiert sind oder solche, die an der Verifikation und dem Debugging auf Hardware interessiert sind oder solche, die auch HDL-Code generieren möchten.
Themen sind unter anderem:
- Erstellung von Testumgebungen
- Co-Simulation
- FPGA-in-the-Loop
- FPGA-Datenerfassung
- AXI Manager
Tag 1 von 2
Workflows für Verifikation und Debugging in FPGA- und ASIC-Designs
Ziel: Überblick über die Arbeitsabläufe beim Verifizieren und Debuggen mit MathWorks Tools.
- Verstehen der Bedeutung einer robusten Testbench
- Erkunden von Workflows zur Verifizierung von generiertem und handgeschriebenem HDL-Code
- Hardware-Debugging und Optionen beim Prototyping
- Installieren der erforderlichen Add-ons und Hardware-Support-Pakete
Erstellung einer Testbench
Ziel: Einführung fortgeschrittener Techniken für eine gründliche HDL-Verifikation mittels Model-Based Design, Simulation, Codeabdeckung und automatischer Generierung einer Testbench.
- Entwickeln von Teststimuli auf der Grundlage des Testplans unter Nutzung der Modellabdeckung, um die Vollständigkeit des Tests sicherzustellen
- Durchführen einer Verifikation des generierten HDL-Codes mit einem HDL-Simulator und einer generierten Testbench
- Verwenden von Codeabdeckung, um ungetestete Teile des Codes zu identifizieren und die Testvollständigkeit zu verbessern
- Verifizieren des generierten HDL-Codes in Simulink durch Co-Simulation
- Automatische Generierung einer SystemVerilog-DPI-Testbench aus dem vollständigen Simulink-Modell und Ausführung zur Verifikation
Co-Simulation
Ziel: Verifizieren und Analysieren von HDL-Code durch Integration von MATLAB und Simulink in Workflows zur Co-Simulation von HDL- und Simulink-Modellen.
- Verifizieren von bestehendem HDL-Code mit MATLAB und Simulink durch Co-Simulation
- Integrieren von Co-Simulationsmodellen in simulationsbasierte Testumgebungen mit Simulink Test
- Aufruf von MATLAB-Funktionen direkt aus einem HDL-Simulator
- Simulieren von HDL-Code zusammen mit Simulink-Blöcken mithilfe von Co-Simulations-Blöcken.
Tag 2 von 2
FPGA-in-the-Loop
Ziel: Vorbereiten der erforderlichen Tools zum Verifizieren von Designs auf einem FPGA-Board. Verwenden von FPGA-in-the-Loop zur Validierung implementierter Designs, unabhängig davon, ob diese aus generiertem oder manuell geschriebenem HDL-Code stammen.
- Identifizieren geeigneter Anwendungsfälle für die FPGA-in-the-Loop-Simulation (FIL)
- Einrichten der Hardware- und Softwareumgebungen für FIL
- Verwenden des HDL Workflow Advisors zur FIL-Verifikation von automatisch generiertem HDL-Code
- Erstellen eines FIL-Blocks mit dem FIL Wizard und ihn in MATLAB oder Simulink verwenden.
- Beschleunigen der FIL-Simulation mittels Frame-Processing
- Vergleichen des auf dem Board ausgeführten Designs mit einem „goldenen Referenzmodell“.
FPGA Data Capture
Ziel: Erfassen von Live-Daten aus einem laufenden FPGA-Design zum Anzeigen und Debuggen interner Signale. Importieren der erfassten Daten in MATLAB oder Simulink für umfassendes Debugging und umfassende Analyse.
- Integrieren von Funktionen zur Datenerfassung in HDL-IP und Bereitstellung auf FPGA-Hardware
- Erfassen und Analysieren von Live-Daten von FPGA-Boards mit der FPGA Data Capture App
- Konfigurieren von Auslöse- und Erfassungsbedingungen zur Optimierung der Datenerfassung
- Automatisieren des Workflow zur FPGA-Datenerfassung mit MATLAB
- Generieren und konfigurieren der FPGA-Data-Capture-IP-Cores für vorhandene HDL-Entwürfe
- Verwenden des FPGA-Data-Capture-Blocks in Simulink zum Sammeln und Visualisieren von Daten aus FPGAs
Zugriff auf AXI-Register auf FPGA mit MATLAB und Simulink
Ziel: Zugriff auf On-Chip-Speicherplätze auf einem FPGA von MATLAB oder Simulink aus mithilfe des AXI Manager, um Lese- und Schreibvorgänge durchzuführen.
- Zugriff auf FPGA-On-Chip-Speicherplätze aus MATLAB oder Simulink mit AXI Manager zum Lesen und Schreiben
- Unterscheiden zwischen den Rollen des AXI Manager und des AXI Subordinate und deren Anwendungen
- Erstellen und implementieren eines AXI Manager IP-Cores in einem FPGA-Design
- Verwenden des AXI Manager Objekts in MATLAB zum Ausführen von Lese- und Schreibvorgängen auf dem On-Chip-Speicher des FPGA
Stufe: Fortgeschrittenenkurse
Voraussetzungen:
Dauer: 2 Tag