LINGUAGGI DI DESCRIZIONE DELL'HARDWARE
Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita a un anno accademico precedente?
Ecco come fare >>
- English course description
- Anno accademico
- 2022/2023
- Docente
- MICHELE FAVALLI
- Crediti formativi
- 6
- Percorso
- Ingegneria informatica - Sistemi di elaborazione
- Periodo didattico
- Primo Semestre
- SSD
- ING-INF/05
Obiettivi formativi
- Introdurre alcuni concetti fondamentali nella progettazione automatica e verifica dei sistemi digitali.
Conoscenze
Conoscenze di base relative alla progettazione e verifica dei sistemi digitali e livelli di descrizione di tali sistemi. Ruolo degli strumenti di progettazione automatica. Sintassi e semantica del linguaggio VHDL. Prestazioni dei sistemi digitali. Sintesi ad alto livello dei sistemi digitali con riferimento all'ottimizzazione di costi e prestazioni.
Abilità
Capacità di descrivere tramite il linguaggio VHDL componenti digitali di media complessità descritti a diversi livelli di astrazione (gate, RTL, architettura).
Capacità di verificare tali descrizioni tramite la simulazione logica.
Capacità di analizzare semplici algoritmi e di implementarli via hardware ottimizzando costi e prestazioni. Prerequisiti
- Conoscenza dei componenti fondamentali dei componenti digitali ("Analisi e sintesi dei circuiti digitali"). Conoscenza dei concetti base inerenti ai linguaggi di programmazione ("Fondamenti di informatica"). Conoscenza dei principi di funzionamento di un microprocessore ("Calcolatori elettronici").
Contenuti del corso
- 1) Introduzione alla progettazione dei sistemi digitali:
1.1) livelli di descrizione
1.2) sintesi e verifica
2) Il linguaggio VHDL
2.1) sintassi e semantica
2.2) il ruolo del VHDL nella simulazione e nella sintesi
2.3) realizzazione e simulazione di modelli di componenti digitali
3) Prestazioni dei sistemi digitali
3.1) metriche
3.2) determinazione della frequenza di clock per reti sincrone
3.3) static timng analysis
3.4) tecniche per il miglioramento delle prestazioni a livello gate e architetturale
4) Sintesi ad alto livello
4.1) estrazione di Data Flow Graph e Control Flow Graph dalla descrizione di un algoritmo
4.2) scheduling e allocazione
4.3) algoritmi di scheduling per l'ottimizzazione di costo o prestazioni
5) Introduzione alle tecnologie FPGA Metodi didattici
- Il corso consiste di lezioni teoriche ed esercitazioni guidate nelle quali vengono utilizzati strumenti automatici di progettazione.
Modalità di verifica dell'apprendimento
- L'esame consiste di 3 parti:
1) una piccola relazione su una delle ''attività'' di laboratorio svolte durante il corso
(punteggio da 0 a 2) il cui scopo è quello di verificare la comprensione delle esercitazioni svolte (da consegnare prima dell'inizio della sessione estiva dell'a.a. in cui si è svolto il corso);
2) una prova scritta durante la quale vengono svolti semplici esercizi che verificano sia i contenuti teorici del corso che le metodologie di modellazione e ottimizzazione di semplici moduli digitali (punteggio da 0 a 15). In particolare, in una prima tipologia di esercizi viene verificata, mediante la realizzazione del modello di componenti VHDL, la comprensione del modello timing del VHDL o la capacità di descrivere componenti digitali combinatori e sincroni. Nella seconda tipologia, viene invece verificata la comprensione delle metodologie di valutazione e ottimizzazione delle prestazioni dei sistemi digitali mediante l'applicazione di algorimi di scheduling a semplici data-flow graph.
3) un progettino su un tema specifico assegnato dal docente (punteggio da 0 a 15). I progettini sono organizzati in modo da richiedere la comprensione teorica di uno degli argomenti trattati durante il corso, il suo approfondimento e la sua applicazione a un problema specifico.
Il superamento della prova d'esame richiede la sufficenza (punteggio >= 9/15) sia nello scritto 1) che nel progettino 2), provando in questo modo di aver acquisito le conoscenze e le abilità specificate negli obiettivi formativi dell'insegnamento. Il progettino e lo scritto possono essere svolti in qualsiasi ordine ed un eventuale valutazione positiva non ha limiti di tempo. Testi di riferimento
- Dispense fornite dal docente sul sito del corso.
Testo consigliato come riferimento per il linguaggio VHDL:
Zwolinski M. , VHDL - progetto di sistemi digitali, Pearson - Prentice-Hall