Politecnico di Torino | |||||||||||||||||
Anno Accademico 2011/12 | |||||||||||||||||
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 |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
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 |
|