Conoscenza e capacità di comprensione: acquisire conoscenza e capacità di comprensione delle principali metodologie di modellazione, progettazione e realizzazione ottimale di sistemi di elaborazione dedicati a una specifica applicazione.
Capacità di applicare conoscenza e comprensione: acquisire capacità di uso di strumenti harware e software, quali piattaforme di sviluppo di sistemi dedicati, per progettare e realizzare sistemi dedicati ad applicazioni con alte prestazioni .
Autonomia di giudizio: essere in grado di valutare la qualità di soluzioni a problemi di progetto di sistemi dedicati, ad alto grado di specializzazione, in termini di diversi parametri di prestazione, quali velocità computazionale, impiego di risorse hardware, efficienza energetica, costo, tempo di sviluppo.
Abilità comunicative: acquisire abilità comunicative e proprietà di linguaggio utili alla comunicazione, con interlocutori non esperti, di problematiche inerenti il funzionamento, la progettazione, la realizzazione e la valutazione di sistemi dedicati.
Capacità di apprendimento: sviluppare capacità di adattamento delle proprie conoscenze alla rapida evoluzione della disciplina e di aggiornamento mediante la consultazione di fonti specialistiche del settore.
Elementi di architettura degli elaboratori, programmazione I, sistemi operativi, reti di calcolatori.
Per una piena comprensione degli argomenti dell'insegnamento e delle tecniche presentate, è fortemente consigliata la frequenza delle lezioni e delle esercitazioni orientate al laboratorio.
L'insegnamento si articola in 12 lezioni (24 ore) e 12 esercitazioni orientate al laboratorio (24 ore). I contenuti dettagliati sono pubblicati in versione preliminare come segue:
Si accede al materiale didattico attraverso la Guida rapida all'insegnamento (Quick learning guide). Il materiale didattico consta di:
Il materiale didattico è pubblicato, durante lo sviluppo dell'insegnamento, in parte attraverso collegamenti nella Guida rapida dell'insegnamento, forniti nelle suddette pagine del programma delle lezioni e delle esercitazioni, e per la parte restante nell'area di esercitazione e di consultazione e discussione dei materiali didattici, realizzata nel servizio dipartimentale Moodle, ad accesso riservato ai partecipanti all'insegnamento (ciò è necessario perché buona parte del materiale è protetto da copyright, con permesso di distribuzione limitata agli studenti dell'insegnamento).
* | Argomenti | Riferimenti testi | |
1 | * | L01. Finalità e organizzazione dello studio. Introduzione al codesign di sistemi dedicati. | 1: 1.1.4-1.4,1.6; 3: 1.1-1.4 |
2 | * | E01. Introduzione al codesign e alla cosimulazione in Gezel. | 1: 1.1-1.1.3, 5.1-5.2, A.1-A.2 |
3 | * | L02. Architetture e progettazione di sistemi dedicati. | 1: 1.5,1.7; 2: 1.1; 3: 1.5-1.6 |
4 | * | E02. Introduzione al progetto di sistemi hardware con FPGA. | 2: 1.3 |
5 | * | L03. Modelli dataflow, flusso del controllo. | 1: 2; 4: 2.5 |
6 | * | E03. Linguaggi di descrizione dell'hardware: VHDL, Verilog, SystemC. | 2: 3.1-3.7; 4: 2.7 |
7 | * | E04. Esempi di reti combinatorie in VHDL. | 2: 4.1-4.6 |
8 | * | L04. Realizzazioni software di modelli dataflow. | 1: 3.1-3.3 |
9 | * | E05. Esempi di reti sequenziali in VHDL. | 2: 6.1-6.5.1 |
10 | * | L05. Sistemi sincroni come macchine a stati finiti con datapath (FSMD). | 1: 5.1-5.4.3,5.6 |
11 | * | E06. Esempi di FSMD in Gezel e in VHDL. | 1: 5.4.4-5.5; 2: 7.1-7.2 |
12 | * | L06. Microprogrammazione: architetture, controllo, interpreti microprogrammati. | 1: 6.1-6.4,6.6 |
13 | * | E07. Esempio di progetto di un microprocessore in VHDL. | 2: 7.3-7.5 |
14 | * | L07. Progetto e analisi di programmi per sistemi dedicati. | 1: 7.1,7.3-7.5 |
15 | * | E08. Esempi di analisi di programmi e uso di simulatori di processori. | 1: 7.6 |
16 | * | L08. Progettazione di System-on-Chip (SoC). | 1: 8.1-8.3 |
17 | * | E09. Uso di un sistema di sviluppo di SoC con FPGA. | 2: 9.1-9.3 |
18 | * | L09. Comunicazione HW/SW, sistemi di bus on-chip. | 1: 9.1-9.4, 10.1 |
19 | * | E10. Pianificazione di seminari degli studenti. | |
20 | * | L10. Interfacce di microprocessore. | 1: 11.1-11.3 |
21 | * | L11. Interfacce hardware. | 1: 12.1-12.4 |
22 | E11. Progetto di coprocessori e di ASIP su sistema di sviluppo di SoC con FPGA. | ||
23 | L12. Progetto di coprocessori per machine learning. | ||
24 | E12. Codesign in OpenCL di rete neurale su FPGA. |
Esame orale, progetto (opzionale).
Obiettivi della valutazione:
Colloqui orali:
non previste
consegna di relazioni sulle esperienze di laboratorio compiute