Introduzione alla progettazione di sistemi digitali complessi
Richiami di tecnologia microelettronica. Il flusso di progettazione VLSI. Esempi. Stili di progettazione, il progetto ASIC. Limiti intrinseci degli strumenti di progetto. Architetture di massima di alcuni dei sistemi più avanzati. Concetto di sintesi. Principali fasi della sintesi. Formalismo. Sintesi ad alto livello. Sintesi sequenziale. Sintesi combinatoria multilivello. Strumenti per la sintesi.
Linguaggi di descrizione dei sistemi digitali
Linguaggo VHDL: richiami ed approfondimenti. Esempi di sistemi digitali descritti in VHDL. Linguaggio Verilog. Descrizione di sistemi ad elevatissima complessità: richiami sui linguaggi C e C++. Il linguaggio SystemC. Descrizione di sistemi digitali con SystemC.
Architetture di sistemi digitali.
Richiami sulle architetture: set di istruzioni, pipelining. Memoria, memoria virtuale, caching. Input/output e periferiche. Parallelizzazione. Casi di studio: processori embedded ARM. Struttura di sistemi operativi. Casi di studio: sistema Android, sistema Linux.
Progetto combinato hardware-software
Concetti principali di hardware-software codesign. Tagged Signal Model (cenni). Cosimulazione: concetti ed esempi di sistemi per la cosimulazione. Sistemi per la descrizione di architetture digitali: il sistema PtolemyII.