en
Politecnico di Torino
Anno Accademico 2012/13
01NWNOQ, 01NWNOV
Modeling and optimization of embedded systems
Corso di Laurea Magistrale in Ingegneria Elettronica (Electronic Engineering) - Torino
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Lavagno Luciano ORARIO RICEVIMENTO PO IINF-01/A 48 0 12 0 14
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/01 6 C - Affini o integrative A11
Presentazione
The course is taught in English.


L’insegnamento introduce modelli matematici e metodi di sintesi e verifica per l’hardware e il software dei sistemi embedded. Suppone una buona conoscenza del progetto hardware digitale (in VHDL o Verilog) e dello sviluppo di software (in C, C++ o Java) per sistemi embedded, incluse nozioni di base sui sistemi operativi real-time. Fornisce la capacità di scegliere e usare gli strumenti e i metodi migliori per la co-progettazione dell’hardware e del software, come pure per la simulazione e l’analisi delle prestazioni. Fornisce conoscenze sul linguaggio SystemC, i linguaggi sincroni e le reti dataflow.
Risultati di apprendimento attesi
• Conoscenza dei principali modelli formali e linguaggi di specifica basati su macchine a stati finiti estese e reti dataflow.
• Conoscenza dei metodi di sintesi hardware e software dei linguaggi sincroni e delle reti dataflow.
• Conoscenza dei metodi di analisi delle prestazioni del software embedded.
• Capacità di analizzare ad alto livello le caratteristiche di computazione e comunicazione di un’applicazione embedded
• Capacità di scegliere linguaggi e strumenti di progetto e un’architettura realizzativa di un sistema embedded.
• Capacità di creare un modello simulativo di un sistema embedded usando un appropriato linguaggio (p.es. SystemC).
Prerequisiti / Conoscenze pregresse
• Progetto di hardware digitale usando il linguaggio verilog o VHDL.
• Programmazione in C, C++ o java.
• Architettura di una CPU, di una gerarchia di memoria e di un micro-controllore.
• Programmazione delle periferiche di un micro-controllore.
• Elementi di teoria della schedulazione in tempo reale.
Programma
Argomenti (1/2 credito per ciascuno circa):
• Caratteristiche, architetture hardware e flusso di progetto per sistemi embedded.
• Sistemi dominati dal controllo e dalle decisioni e sistemi dominati dai dati e dai calcoli aritmetici.
• Linguaggio SystemC: sintassi e semantica. Esempi di utilizzo.
• Progetto usando SystemC a livello transazionale (TLM) e di trasferimento tra registri (RTL).
• Macchine a stati finiti estese. Composizione sincrona (Mealy e Moore) ed asincrona.
• Linguaggi sincroni: StateCharts, Esterel ed ECL. Costrutti di controllo (emit, await, abort, parallel). Esempi di utilizzo.
• Tecniche di sintesi hardware e software per il linguaggio Esterel. Interfacciamento con sistema operativo e periferiche.
• Verifica di proprietà formali (safety e liveness) usando linguaggi sincroni.
• Reti dataflow: reti di Kahn, determinatezza e schedulabilità. Esempi di utilizzo.
• Schedulazione statica software di reti dataflow, minimizzando dimensione del codice e uso di memoria dati.
• Sintesi hardware di reti dataflow.
• Metodi base di schedulazione in tempo reale. Analisi del tempo di esecuzione del software: simulazione e analisi formale.
Organizzazione dell'insegnamento
Le esercitazioni in aula riguardano esempi di utilizzo dei concetti spiegati a lezione, e prevedono semplici esercizi da risolvere individualmente, poi discussi alla lavagna con il docente.
Le esercitazioni in laboratorio prevedono l’uso del linguaggio SystemC per modellare la funzionalità e le prestazioni di un sistema embedded, considerando sia aspetti dominati da controllo sia aspetti dominati dai dati.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Peter Marwedel, "Embedded System Design", Kluwer Academic Publishers, 2003.
Maurizio Tranchero e Luciano Lavagno, "Ottimizzazione e modellizzazione di sistemi elettronici", www.lulu.com, 2009
Trasparenze utilizzate durante le lezioni.
Guida per i laboratori.
Criteri, regole e procedure per l'esame
L’esame tipicamente e’ costituito da uno scritto (di un’ora circa), durante il quale si possono consultare testi o appunti, che copre l’intero contenuto del corso, seguito da un orale. Il docente si riserva di prevedere solamente un esame orale in occasione di appelli con pochi iscritti, o solamente uno scritto (di circa due ore) in alcune occasioni (annunciate in precedenza).
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2012/13
Indietro