Progettazione di sistemi embedded (2018/2019)



Codice insegnamento
4S02911
Crediti
6
Coordinatore
Franco Fummi
Settore disciplinare
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 4 I semestre Franco Fummi

Vai all'orario delle lezioni

Laboratorio 2 I semestre Franco Fummi

Vai all'orario delle lezioni

Obiettivi formativi

Il corso mira a fornire le seguenti conoscenze:
- Tecniche per la progettazione automatica di sistemi embedded a partire dalla loro specifica per passare attraverso la verifica, la sintesi automatica e il collaudo.
- Principali linguaggi per affrontare questo tipo di progetto e i più avanzati strumenti automatici per la loro manipolazione.
Al termine del corso lo studente dovrà dimostrare di avere le seguenti capacità di applicare le conoscenze acquisite:
- Identificare a partire dalle specifiche la miglior architettura per un sistema embedded.
- Modellare, progetatre e verificare dispositivi digitali complessi. Sviluppare software emebdded e interagire con architetture IoT e cloud.
- Partizionare una funzinalità tra hw, sw con attenzione alla rete e ai sistemi operativi.
- Costruire relazione di progetto evidenziando gli aspetti critici risolti.
- Riuscire a utilizzare ulteriori linguaggi per la progettazione di sistemi embedded a partire da quelli studiati nel corso.

Programma

* Introduzione ai sistemi embedded:
- definizione dei campi di applicazione, caratteristiche generali, caratteriste comuni.

* Modellazione di sistemi embedded:
- problematiche generali della modellazione dei sistemi embedded,
- linguaggi per la descrizione dei sistemi embedded.

* Varianti tecnologiche per la realizzazione:
- panoramica delle possibili architetture embedded,
- concetto di piattaforma, componenti di una piattaforma.

* La progettazione a livello di Sistema:
- il flusso di progettazione dal livello architetturale - comportamentale - logico – fisico.

* Il linguaggio SystemC a livello TLM e AMS:
- il modello transazionale per la descrizione di un sistema e la sua rappresentazione in linguaggio SystemC,
- le librerie AMS.

* Introduzione alla verifica funzionale basata su asserzioni (ABV):
- concetto di asserzione, la verifica delle asserzioni mediante simulazione.

* La progettazione Platform Based:
- il raffinamento di una descrizione comportamentale,
- la sintesi ad alto livello, il mapping su una piattaforma embedded.

* Il software embedded:
- la derivazione del software dal linguaggio di sistema,
- il ruolo del sistema operativo, la generazione automatica,
- interazione tra IoT e cloud.

* La cosimulazione HW/SW/NET:
- il concetto di cosimulazione,
- le architetture per la cosimulazione,
- il progetto con hardware in the loop.

* Il linguaggio VHDL/SystemC a livello RT:
- i linguaggi per la descrizione dell'hardware,
- il livello di descrizione a trasferimento tra registri.

* La sintesi dal livello RT:
- i template per la sintesi dai linguaggi,
- la sintesi automatica, la relazione con la sintesi logica.

* Il problema del collaudo:
- introduzione al problema del collaudo,
- problematiche generali e strumenti,
- ruolo dell'affidabilità nei sistemi embedded, tecniche per aumentarla e misurarla.

Modalità d'esame

L'esame è composto da due parti: teoria e laboratorio.
Per superare l'esame, gli studenti devono mostrare che:
- hanno compreso i principi delle architetture di sistemi embedded;
- sono in grado di modellare e simulare un sistema embedded complesso;
- sono in grado di progettare, verificare e testare un dispositivo digitale complesso;
- sono in grado di sviluppare software embedded che interagisce con il sistema operativo e la rete;
- sono in grado di applicare le conoscenze acquisite per risolvere scenari applicativi descritti mediante esercizi, domande e progetti.

L'esame finale consiste in una prova scritta contenente domande e esercizi.
È inoltre necessario fornire una relazione di tutte le attività di laboratorio per completare l'esame.

Testi di riferimento
Attività Autore Titolo Casa editrice Anno ISBN Note
Teoria Daniel D. Gajski Embedded system design: modeling, synthesis and verification Springer 2009 978-1-4419-0504-8
Teoria Soonhoi Ha, Jürgen Teich Handbook of Hardware/Software Codesign (Edizione 1) Springer Netherlands 2017 ISBN 978-94-017-7266-2
Materiale didattico
Titolo Formato (Lingua, Dimensione, Data pubblicazione)
Detailed program html html (it, 32 KB, 05/11/18)

Opinione studenti frequentanti - 2017/2018