Dettagli dei corsi
Elenco degli argomenti:
- Preparazione di modelli Simulink per la generazione di codice HDL
- Generazione di codice HDL e testbench per un modello Simulink compatibile
- Esecuzione di ottimizzazioni di velocità e di area
- Modellazione di architetture di streaming utilizzando segnali di controllo espliciti
- Integrazione di codice e IP esistenti
- Verifica del codice HDL generato utilizzando testbench e cosimulazione
Giorno 1/2
Preparazione di modelli Simulink per la generazione di codice HDL
Obiettivo: Preparare un modello Simulink per la generazione di codice HDL. Generare codice HDL e testbench per modelli semplici che non richiedono alcuna ottimizzazione.
- Preparazione di modelli Simulink per la generazione di codice HDL
- Generazione di codice HDL
- Generazione di un testbench
- Verifica del codice HDL generato con un simulatore HDL
Controllo di precisione a virgola fissa
Obiettivo: Stabilire la corrispondenza tra il codice HDL generato e specifici blocchi Simulink nel modello. Utilizzare lo strumento in virgola fissa per definire l'architettura in virgola fissa del modello.
- Scalatura in virgola fissa ed ereditarietà
- Workflow di Fixed-Point Designer
- Strumento Fixed-Point
- Interfaccia a riga di comando
Generazione di codice HDL per modelli multi-rate
Obiettivo: Generare codice HDL per progetti multi-rate. Comprendere le diverse strategie di modellizzazione per implementare progetti multi-rate.
- Preparazione di un modello multi-rate per la generazione di codice HDL
- Generazione di codice HDL con pin di clock singoli o multipli
- Verifica dei progetti multi-rate tramite cosimulazione
- Progettazione di un'interfaccia di streaming semplificata per applicazioni multi-rate
Giorno 2/2
Ottimizzazione del codice HDL generato
Obiettivo: Usare le pipeline per soddisfare i requisiti di timing del progetto. Utilizzare implementazioni hardware specifiche e condividere le risorse per l'ottimizzazione dell'area.
- Generazione di codice HDL con l'HDL Workflow Advisor
- Soddisfacimento dei requisiti di timing attraverso il pipelining
- Scelta di implementazioni hardware specifiche per blocchi Simulink compatibili
- Condivisione di risorse FPGA/ASIC in sottosistemi
- Verifica che il codice HDL ottimizzato sia accurato al bit e al ciclo
- Mappatura dei blocchi Simulink alle risorse hardware dedicate sul FPGA
Modellizzazione e ottimizzazione delle architetture di streaming
Obiettivo: Modellare architetture di streaming utilizzando segnali di controllo espliciti. Includere manualmente le ottimizzazioni relative ai tempi e all'area e garantire la propagazione della contropressione.
- Modellazione di un'architettura di streaming completamente parallela
- Inserimento di registri di pipeline in un modello a clock rate
- Informazioni sulle fasi della modellazione nel passaggio da un'architettura parallela a una seriale
- Stallo corretto con handshake valid/ready
Uso della virgola mobile nativa
Obiettivo: Implementare valori e operazioni in virgola mobile nel codice HDL.
- Perché e quando usare la virgola mobile nativa
- Generazione di codice HDL indipendente dal target con HDL Coder
- Confronto tra virgola fissa e virgola mobile
- Ottimizzazione delle implementazioni in virgola mobile
Interfaccia tra il codice HDL esterno e l'HDL generato
Obiettivo: Incorporare il codice HDL esistente nel progetto utilizzando l'interfaccia black-box. Parametrizzare il codice HDL per aumentarne la riusabilità e la leggibilità.
- Interfaccia dell’HDL generato
- Aumento della riusabilità e della leggibilità del codice
Livello: Avanzato
Prerequisiti:
- Elaborazione dei Segnale in Simulink o esperienza equivalente utilizzando Simulink
Durata: 2 giorni
Lingue: English, 中文, 日本語, 한국어