Verifica e debug del codice HDL con MATLAB e Simulink
Contattaci per prendere un appuntamentoDettagli dei corsi
Questo modulo di due giorni introduce i workflow per la verifica e il debug dei progetti HDL utilizzando gli strumenti MathWorks. È pensato per gli utenti di MATLAB e Simulink interessati esclusivamente alla verifica HDL, alla verifica e al debug su hardware o per coloro che desiderano anche generare codice HDL.
Elenco degli argomenti:
- Generazione del testbench
- Cosimulazione
- FPGA-In-the-Loop
- Acquisizione di dati FPGA
- AXI Manager
Giorno 1/2
Workflow di verifica e debug per progetti FPGA e ASIC
Obiettivo: Acquisire una panoramica dei workflow di verifica e debug da utilizzare con gli strumenti di MathWorks.
- Revisione dell'importanza di un testbench robusto.
- Analisi dei workflow per la verifica sia del codice HDL generato che di quello scritto a mano.
- Informazioni sulle opzioni di debug e prototipazione su hardware.
- Installazione dei prodotti complementari e dei pacchetti di supporto hardware necessari.
Generazione del testbench
Obiettivo: Introdurre tecniche avanzate per una verifica approfondita dell'HDL utilizzando la progettazione Model-Based, la simulazione, la coverage del codice e la generazione automatica di testbench.
- Sviluppo di stimoli di test basati sul piano di test, sfruttando la coverage del modello per garantire la completezza.
- Esecuzione della verifica del codice HDL generato utilizzando un simulatore HDL e un testbench generato.
- Utilizzo della coverage del codice per identificare le parti di codice non testate e migliorare la completezza dei test.
- Verifica del codice HDL generato in Simulink tramite cosimulazione.
- Generazione automatica di un testbench SystemVerilog DPI dal modello completo di Simulink ed esecuzione dello stesso a scopo di verifica.
Cosimulazione
Obiettivo: Verificare e analizzare il codice HDL integrando MATLAB e Simulink nei workflow di co-simulazione, abilitando la simulazione combinata di modelli HDL e Simulink.
- Verifica del codice HDL esistente utilizzando MATLAB e Simulink tramite co-simulazione.
- Integrazione dei modelli di co-simulazione in ambienti di test basati sulla simulazione con Simulink Test.
- Chiamata diretta delle funzioni di MATLAB da un simulatore HDL.
- Simulazione del codice HDL insieme ai blocchi Simulink utilizzando blocchi di co-simulazione.
Giorno 2/2
FPGA-In-the-Loop
Obiettivo: Preparare gli strumenti necessari per la verifica dei progetti su una scheda FPGA. Utilizzare FPGA-In-the-Loop per la validazione dei progetti implementati, sia che provengano da codice HDL generato o scritto manualmente.
- Identificazione dei casi d'uso appropriati per la simulazione FPGA-In-the-Loop (FIL).
- Impostazione degli ambienti hardware e software per FIL.
- Utilizzo di HDL Workflow Advisor per eseguire una verifica FIL del codice HDL generato automaticamente.
- Creazione di un blocco FIL utilizzando la procedura guidata FIL e utilizzo dello stesso in MATLAB o Simulink.
- Accelerazione del tempo di simulazione FIL tramite frame-processing.
- Confronto del progetto in esecuzione sulla scheda con un “golden reference model”.
FPGA Data Capture
Obiettivo: Acquisire dati in tempo reale da uan progettazione FPGA in esecuzione per visualizzare ed eseguire il debug dei segnali interni. Importare i dati acquisiti in MATLAB o Simulink per eseguire debug e analisi complete.
- Integrazione delle funzionalità di acquisizione dati nell'IP HDL e distribuzione nell'hardware FPGA.
- Acquisizione e analisi dei dati in tempo reale dalle schede FPGA utilizzando l'app FPGA Data Capture.
- Configurazione delle condizioni di attivazione e raccolta per ottimizzare l'acquisizione dati.
- Automazione del workflow FPGA Data Capture utilizzando MATLAB.
- Generazione e configurazione di IP core FPGA Data Capture per progetti HDL esistenti.
- Utilizzo del blocco FPGA Data Reader in Simulink per acquisire e visualizzare i dati provenienti dagli FPGA.
Accesso ai registri AXI su FPGA utilizzando MATLAB e Simulink
Obiettivo: Accedere alle posizioni della memoria su chip di un FPGA da MATLAB o Simulink, utilizzando AXI Manager per eseguire operazioni di lettura e scrittura.
- Accesso alle posizioni della memoria su chip di un FPGA da MATLAB o Simulink, utilizzando AXI Manager per la lettura e la scrittura.
- Definizione delle differenze tra i ruoli AXI Manager e AXI Subordinate e le rispettive applicazioni.
- Creazione e distribuzione di un IP core AXI Manager all'interno di una progettazione FPGA.
- Utilizzo dell'oggetto AXI Manager in MATLAB per eseguire operazioni di lettura e scrittura sulla memoria integrata su chip di un FPGA.
Livello: Avanzato
Prerequisiti:
Durata: 2 giorno