Il corso presenta le tecniche più innovative nel campo della progettazione automatica di sistemi digitali embedded. I concetti di base della progettazione di dispositivi digitali presentati nel corso di Architettura degli Elaboratori e, in parte, nel corso di Sistemi di Elaborazione dell'Informazione, vengono rapportati in questo corso al mondo reale della progettazione digitale Il flusso di progettazione proposto si basa sull'utilizzo di linguaggi per specifica dello hardware che permettono di effettuare verifica formale delle specifiche, sintesi automatica e gestione delle problematiche relative all'affidabilità. Di ogni tecnica presentata vengono descritti i fondamenti teorici e le applicazioni pratiche che vengono esemplificate con l'utilizzo dei più moderni strumenti di CAD. La teoria presentata nel corso verrà esemplificata attraverso la progettazione di un sistema embedded composto da HW, SW e dispositivi di rete che verrà implementato su board reali.
* I linguaggi di descrizione dell'hardware:
o Sintassi e semantica del VHDL
o Simulazione VHDL temporale
o Simulazione integrata VHDL e C
* Sintesi automatica di dispositivi digitali:
o Sintesi dal livello strutturale
o VHDL per la sintesi
o Sintesi comportamentale
+ scheduling
+ allocation
o Progettazione platform-based
o La cosimulazione HW/SW
* L'affidabilità:
o Difetti / guasti / errori
o Generazione del collaudo combinatoria
o Generazione del collaudo sequenziale
o Sintesi per la collaudabilità
o Tolleranza ai guasti
o Built-in Self Test
* Verifica formale di Hw:
o Equivalence checking
o Property checking
o Strumenti per la verifica:
+ Diagrammi di decisione binaria (BDD)
+ Soddisfacibilità Booleana (SAT)
* Esperienze Industriali:
o La progettazione platform-based in STMicroelectronics
* Laboratorio:
o Compilazione/simulazione VHDL
o Simulazione VHDL con tempo
o Modellazione di FSM e FSMD con HDL Designer
o Sintesi automatica con Leonardo
o Cosimulazione HW/SW con Seamless
o Analisi e aumento della collaudabilità con dftadvisor
o La generazione del test con flextest
o Verifica formale con Cadence SMV
Le competenze teoriche vengono verificate con una prova scritta scomposta in due prove intermedie durante il corso che portano ad un voto compreso tra 16 e 30/30. Le attività di laboratorio mettono lo studente in grado di realizzare un progetto basato sull'implementazione di un dispositivo embedded HW/SW a partire da una specifica. Gli elaborati vengono di norma completati entro la fine del corso. La valutazione dell'elaborato porta ad un voto, compreso tra 1 e 4/30, che si somma al voto dello scritto.
******** CSS e script comuni siti DOL - frase 9957 ********p>