Politecnico di Torino | |||||||||||||||||
Anno Accademico 2016/17 | |||||||||||||||||
02MIVOQ Digital Electronics |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Elettronica (Electronic Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Esclusioni: 01NWM; 01NNI |
Presentazione
Il corso e' 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.Conoscenza della struttura interna di microprocessori dedicati: Digital Signal Processors, coprocessori, DMA, microprocessori riconfigurabili. • Capacità di integrare in un’unità di processo funzioni aggiuntive con modifica dell’ISA 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 . • Conoscenza deele metodologie di schedulingdei task in sistemi operanti in tempo reale. |
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 semplici e complesse (Algorithmic State Machine); • Circuiti aritmetici elementari, • Memorie (struttura e architettura), • Elementi di Archiettura di Calcolatori, • tecniche di programmazione in C • Linguaggi di descrizione dell’hardware (VHDL), • FPGA. |
Programma
Il corso è approssimativamente diviso in 4 parti principali:
1. Architetture di elaborazione per sistemi embedded ( 3 CFU) a. Architetture di microprocessori b. Interfacciamentio di periferici, DMA e interrupts c. Digital Signal Processors 2. Strutture di memoria (2 CFU) a. Tecnologie delle memorie b. Strutture di memoria statiche e dinamiche c. Memorie cache 3. Strutture di interconnessione e di interfacciamento (3 CFU) a. Propagazioni, Ritardi e skew b. Cicli sincroni e asincroni c. Transazioni, Arbitrazione ed indirizzamento d. Strutture di comunicazione parallele, bus e. Strutture di comunicazioni seriali. Bus periferici. 4. Ingegnerizzazione di un sistema digitale ( 2 CFU) a . Packages e Circuiti stampati b. Alimentazioni e clocks c. Interfacce digitali ed analogiche d. Compatibilità elettromagnetica |
Organizzazione dell'insegnamento
I laboratori (in linea di massima 6) verteranno sull'uso di circuiti FPGA programmabili per la realizzazione di sistemi embedded comprendenti soft processors 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 sul Portale della Didattica copie parzialmente annotate dei lucidi utilizzati nel corso |
Criteri, regole e procedure per l'esame
La verifica dell'apprendiemnto avrà luogo attraverso il lavoro di laboratorio, un esame scritto ed un esame orale.
Lesame scritto ha una durata approssimativa di 2 ore ed è in genere compostao da 5-6 quesiti che sono o esercizi o domande a risposta chiusa. Il massimo punteggio dell'esame scritto è di 20/30. Gli studenti possono sostenere l'esame orale se la somma del punteggio dell'esame scritto e del lavoro di laboratorio è superiore a 13/30. L'esame orale è costituiito da una domanda su argomento teorico o descrittivo del corso. Il punteggio finale è la somma di quello dell'esame scritto, dell'orale e del punteggio di laboratorio. |
Orario delle lezioni |
Statistiche superamento esami |
|