Il corso presenta le principali tecniche algoritmiche alla base delle metodologie di progettazione automatica di sistemi embedded. Si analizzano le più importanti strutture dati per rappresentare e ottimizzare descrizioni di sistemi digitali, e si descrivono gli algoritmi utilizzati per la sintesi, verifica e collaudo di sistemi embedded.
Rappresentazioni di funzioni logiche, logica a piu' valori, diagrammi di decisione binaria, reti a piu' livelli, ottimizzazione di reti logiche rispetto ad area, tempo e consumo energetico. Macchine a stati e circuiti sequenziali, ottimizzazione micro-architetturale.
Definizione dei difetti, caratterizzazione dei difetti, modellazione dei guasti, simulazione dei guasti, modellazione degli errori, simulazione degli errori. Generazione delle sequenze di collaudo per circuiti combinatori e per circuiti sequenziali, circuiti autocollaudanti, tolleranza ai guasti, circuiti di tolleranza ai guasti.
Verifica dinamica basata su asserzioni. Tecniche per la valutazione della qualità delle asserzioni: copertura delle asserzioni, identificazione di asserzioni vacue. Tecniche per la generazione automatica di asserzioni.
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
Gary D.Hachtel, Fabio Somenzi | Logic Synthesis and Verification Algorithms (Edizione 1) | Kluwer Academic Publishers | 1996 | 0792397460 |
.L'esame consiste in:
- una prova scritta contenente domande ed esercizi;
- un elaborato relativo a una delle tre tematiche trattate nel corso da svolgere con la supervisione di uno dei tre docenti del corso a scelta dello studente.
Il voto finale sara' ottenuto dallo dalla seguente formula: 1/2 * voto scritto + 1/2 voto progetto.