Viviamo in un mondo che è sempre più orientato generazione, trasmissione e manipolazione di segnali digitali. In questo corso gli studenti impareranno i fondamenti della progettazione, interfacciamento, configurazione e programmazione di sistemi digitali basati sia su GPP che ASIP(DSP). Spazio sarà anche dato ai blocchi di conversione AD e DA e all'interfacciamento verso il mondo analogico. Infine, sarà discusso l'uso dei dispositivi logico programmabili, data la loro sempre maggior adozione. Durante le esercitazioni di laboratorio, gli studenti avranno modo di "toccare con mano" diverse piattaforme hardware largamente usate sia nel mondo accademico che in quello industriale.
Programma esteso:
- Introduzione al corso. I sistemi embedded. Tecniche di progetto. Hw e Sw codesign. Il productivity gap
- I Sistemi campionati. Sample e block processing. I sistemi di elaborazione Numerica. Il teorema del campionamento. Il campionamento coerente. Errore e rumore di quantizzazione
- ADC e DAC: architetture e implementazioni.
- Il condizionamento analogico.
- I filtri numerici: filtri FIR. e IIR. Rumore di calcolo e implementazione di filtri in aritmetica finita. La quantizzazione dei coefficienti.
- La generazione di segnali in numerico. Il DDS: sorgenti di errore
- DSP & GPP.
- Introduzione alle PLD: SPLD, CPLD e FPGA. Design flow per PLD. Introduzione al problema della metastabilità
- Il VHDL - logica combinatoria e logica sequenziale, FSM. Procedure e funzioni.
- Softcore: progetto ed implementazione.
- Attività di progetto.