Salta ai contenuti. | Salta alla navigazione

Strumenti personali

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