Politecnico di Torino | |||||||||||||||||
Anno Accademico 2017/18 | |||||||||||||||||
02MIVOQ Digital Electronics |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Elettronica (Electronic Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Esclusioni: 01NWM; 01NNI |
Presentazione
Il corso è erogato in lingua Inglese.
L’insegnamento è obbligatorio (in alternativa con Sistemi Digitali Integrati) per la Laurea Magistrale ed è collocato al 1° periodo didattico del 1° anno. Si propone di fornire conoscenze approfondite sulle metodologie di progetto di sistemi complessi digitali per i quali è indispensabile una visione di insieme di tutto il contesto progettuale e di integrabilità dei vari componenti. Verranno analizzati sistemi composti da microcontrollori/microprocessori, logiche programmabili, memorie, e interfacce col mondo esterno, ponendo particolare enfasi su come collegare, interfacciare, programmare e gestire i vari blocchi, e sul "flusso di progetto" cioè quali strumenti e quali metodologie utilizzare. |
Risultati di apprendimento attesi
• Conoscenza della struttura di un sistema di elaborazione generico: processore, memoria, I/O, rete di interconnessione, alimentazione e temporizzazione.
• Conoscenza delle caratteristiche di microprocessori per uso generale: organizzazione interna, classificazione, modello di programmazione. • Capacità di integrare in un’unità di elaborazione funzioni aggiuntive e di interfacciare un coprocessore con un’unità di elaborazione convenzionale. • Conoscenza dei tipi di memorie esistenti: tipologia, metodo di accesso, modello fisico, interfacciamento, scelta in base a costo/area/prestazioni. • Conoscenza della gerarchia di memorie in un sistema di elaborazione: cache, memoria virtuale. • Conoscenza della struttura delle principali periferiche utilizzabili: I/O digitale, I/O analogico, strategie di buffering, sistemi di temporizzazione, sistemi di comunicazione sincrona/asincrona, metodologie di realizzazione e interfacciamento. • Capacità di integrare periferiche custom all’interno di strutture di elaborazione esistenti. • Conoscenza dell'uso di componenti logici programmabili (PLD, FPGA) nei sistemi embedded: flusso di progetto, ottimizzazioni per area occupata, velocità; • Conoscenza delle tecnologie di interconnessione a livello fisico: tecnologie, linee di trasmissione, diafonia, cenni di compatibilità elettromagnetica, interfacciamento in sistemi multitensione. • Conoscenza delle architetture di interconnessione a livello logico: topologie, indirizzamento, gestione di connessioni non affidabili, esempi di standard. • Conoscenza delle problematiche relative alla distribuzione dell'alimentazione. • Conoscenza delle tecniche di generazione e distribuzione del clock. • Conoscenze dell’analisi delle specifiche e dei vincoli nel progetto di sistemi digitali complessi . • Capacità di interpretare specifiche e vincoli nel progetto di sistemi digitali complessi. Analisi critica delle scelte algoritmiche (basate su complessità computazionale, banda di interconnessione e rappresentazione dei dati, sia in termini di formato che di parallelismo). • Conoscenza delle tecniche di progetto di unità di controllo in sistemi digitali complessi. • Capacità di progetto di unità di esecuzione sia in forma sequenziale che parallela. |
Prerequisiti / Conoscenze pregresse
Sono necessarie conoscenze di base e capacità di operare con:
• Porte logiche elementari sia a livello combinatorio che sequenziale; • Macchine a stati finiti; • Circuiti aritmetici elementari; • Memorie (struttura e architettura); • Elementi di Architettura di Calcolatori; • Tecniche di programmazione in C; • Linguaggi di descrizione dell’hardware (VHDL/Verilog); • Rudimenti di utilizzo e programmazione di FPGA. |
Programma
Il corso è approssimativamente diviso in 4 parti principali:
1. Architetture di elaborazione per sistemi embedded ( 3 CFU) a. Architetture di microprocessori b. Interfacciamento di periferici, DMA e interrupts c. Dispositivi programmabili 2. Strutture di memoria (3 CFU) a. Tecnologie delle memorie b. Strutture di memoria volatili e non volatili c. Memorie cache 3. Strutture di interconnessione e di interfacciamento (2 CFU) a. Propagazioni, Ritardi e skew b. Cicli sincroni e asincroni c. Transazioni, arbitraggio ed indirizzamento d. Strutture di comunicazione parallele, bus e. Strutture di comunicazioni seriali. Bus periferici. 4. Sistemi di elaborazione integrati: ( 2 CFU) a. Analisi specifiche e vincoli di progetto b. Analisi della temporizzazione nei sistemi digitali complessi c. Unità di controllo e di esecuzione |
Organizzazione dell'insegnamento
I laboratori (in linea di massima 6) verteranno sull'uso di circuiti FPGA programmabili per la realizzazione di sistemi embedded comprendenti processori e periferici standard o progettati ad hoc. Richiederanno sia la progettazione di parti hardware sia la scrittura di moduli software. Ogni laboratorio, svolto in gruppo (3-4 studenti) corrisponde allo realizzazione di un semplice progetto e richiede la stesura di un report entro il tempo limite di una settimana. La valutazione globale dei laboratori è la media delle valutazioni dei singoli report, è comune a tutto il gruppo di studenti e viene riportata in trentesimi per un massimo di 5/30.
|
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Il testo di riferimento, che copre circa il 30% del corso è il libro "Embedded system design" di F. Vahid.
Sono disponibili copie dei lucidi utilizzati nelle lezioni, ed i manuali dei componenti analizzati durante le lezioni. Inoltre è disponibile tutto il materiale ed i testi relativi alle esercitazioni di laboratorio. Tutto il materiale didattico è' scaricabile attraverso il portale della didattica. |
Criteri, regole e procedure per l'esame
La verifica dell'apprendimento avrà luogo attraverso il lavoro di laboratorio, un esame scritto ed un esame orale.
L’esame scritto ha una durata approssimativa di 2 ore ed è in genere composto da 2 esercizi di progetto. Non è permesso consultare alcun tipo di documento (libri, appunti, ...) durante l’esame. Gli studenti possono sostenere l'esame orale se l'esame scritto risulta essere sufficiente. L'esame orale è costituito da più domande relative agli argomenti teorici o descrittivi del corso. Il punteggio finale è la media pesata dello scritto, dell'orale e del punteggio di laboratorio. Sono disponibili progetti di approfondimento su base volontaristica, che possono dare fino ad un massimo di 3 punti sul voto finale. |
Orario delle lezioni |
Statistiche superamento esami |
|