Elettronica dei sistemi digitali
A.A. 2024/2025
Obiettivi formativi
L'insegnamento introduce lo studente alla comprensione dei circuiti elettronici digitali, sia dal punto di vista teorico che con esempi pratici, ed è suddiviso in cinque parti:
1. I circuiti logici dall'algebra booleana all'implementazione fisica
2. Progettazione di circuiti logici combinatori e sequenziali
3. Sistemi di memorie a semiconduttori
4. Circuiti logici programmabili
5. Distribuzione dei segnali
Nella prima parte dell'insegnamento si introdurranno i concetti e le metodologie alla base dell'elettronica digitale, con l'esempio di semplici circuiti che sono da considerarsi gli elementi propedeutici per poter apprendere le restanti parti del corso.
Nella seconda parte dell'insegnamento si descriveranno circuiti digitali via via sempre più complessi, sia di natura combinatoria che sequenziale, con particolare attenzione agli elementi di memoria e ai criteri di sincronizzazione delle operazioni fra i molteplici elementi di un circuito complesso.
Nella terza parte dell'insegnamento si approfondirà una sottoclasse di circuiti digitali, necessari al funzionamento delle memorie a semiconduttore. I più comuni tipi di memoria verranno analizzati, sia dal punto di vista funzionale che delle loro prestazioni.
Nella quarta parte dell'insegnamento si introdurranno i dispositivi logici programmabili, ossia riconfigurati dall'utente via software, di cui sempre più apparati digitali fanno uso. Sistemi di questo genere sono in un certo senso la nuova frontiera dell'elettronica digitale, in cui hardware e software sono strettamente collegati. La complessità raggiunta dai sistemi digitali attuali necessita inoltre di tecniche automatiche di progetto attraverso linguaggi di programmazione specifici quali il VHDL. Negli anni '70 si diceva che un circuito digitale venisse progettato, a partire dagli anni '90 si dice che un circuito digitale viene "sintetizzato automaticamente" partendo da un "listato" VHDL.
Gli elementi base del linguaggio VHDL verranno brevemente illustrati.
Nella quinta parte dell'insegnamento si introdurrà il concetto di linea di trasmissione, alla luce del quale si considereranno in particolare la distribuzione di segnali digitali ad alta frequenza, segnali di clock e alimentazione. Si introdurranno infine modelli più realistici in alta frequenza per condensatori, induttori e resistori.
1. I circuiti logici dall'algebra booleana all'implementazione fisica
2. Progettazione di circuiti logici combinatori e sequenziali
3. Sistemi di memorie a semiconduttori
4. Circuiti logici programmabili
5. Distribuzione dei segnali
Nella prima parte dell'insegnamento si introdurranno i concetti e le metodologie alla base dell'elettronica digitale, con l'esempio di semplici circuiti che sono da considerarsi gli elementi propedeutici per poter apprendere le restanti parti del corso.
Nella seconda parte dell'insegnamento si descriveranno circuiti digitali via via sempre più complessi, sia di natura combinatoria che sequenziale, con particolare attenzione agli elementi di memoria e ai criteri di sincronizzazione delle operazioni fra i molteplici elementi di un circuito complesso.
Nella terza parte dell'insegnamento si approfondirà una sottoclasse di circuiti digitali, necessari al funzionamento delle memorie a semiconduttore. I più comuni tipi di memoria verranno analizzati, sia dal punto di vista funzionale che delle loro prestazioni.
Nella quarta parte dell'insegnamento si introdurranno i dispositivi logici programmabili, ossia riconfigurati dall'utente via software, di cui sempre più apparati digitali fanno uso. Sistemi di questo genere sono in un certo senso la nuova frontiera dell'elettronica digitale, in cui hardware e software sono strettamente collegati. La complessità raggiunta dai sistemi digitali attuali necessita inoltre di tecniche automatiche di progetto attraverso linguaggi di programmazione specifici quali il VHDL. Negli anni '70 si diceva che un circuito digitale venisse progettato, a partire dagli anni '90 si dice che un circuito digitale viene "sintetizzato automaticamente" partendo da un "listato" VHDL.
Gli elementi base del linguaggio VHDL verranno brevemente illustrati.
Nella quinta parte dell'insegnamento si introdurrà il concetto di linea di trasmissione, alla luce del quale si considereranno in particolare la distribuzione di segnali digitali ad alta frequenza, segnali di clock e alimentazione. Si introdurranno infine modelli più realistici in alta frequenza per condensatori, induttori e resistori.
Risultati apprendimento attesi
Al termine dell'insegnamento lo studente sarà in grado di:
1. Rappresentare i sistemi elettronici digitali in un approccio di tipo top-down
2. Comprendere il flusso di progettazione di sistemi elettronici digitali complessi
3. Comprendere il problema fisico legato alle interconnessioni dei segnali e come affrontarlo nelle varie circostanze
4. Comprendere gli elementi di base dell'algebra booleana
5. Analizzare e sintetizzare circuiti logici combinatori
6. Comprendere schemi circuitali di unità logico-aritmetiche (ALU)
7. Comprendere i principi di funzionamento dei transistori MOS
8. Comprendere e progettare schemi circuitali di porte logiche mediante dispositivi CMOS
9. Comprendere ed utilizzare i sistemi di rappresentazione dei numeri maggiormente utilizzati in elettronica digitale
10. Comprendere e progettare semplici circuiti logici sequenziali
11. Comprendere il funzionamento di elementi di memoria di base, ad esempio l'elemento bistabile, i flip-flop, ecc.
12. Comprendere e sintetizzare semplici macchine a stati
13. Comprendere e descrivere l'architettura di base del Personal Computer
14. Comprendere le caratteristiche di base e le prestazioni dei circuiti di memoria volatili e non volatili
15. Comprendere il funzionamento delle principali tipologie di memorie: registri in tecnologia CMOS, SRAM, DRAM, EPROM, FLASH, ecc.
16. Comprendere i dispositivi logici programmabili, i loro vantaggi e svantaggi rispetto a soluzioni più tradizionali
17. Comprendere i concetti di base del linguaggio VHDL, con semplici esempi pratici
1. Rappresentare i sistemi elettronici digitali in un approccio di tipo top-down
2. Comprendere il flusso di progettazione di sistemi elettronici digitali complessi
3. Comprendere il problema fisico legato alle interconnessioni dei segnali e come affrontarlo nelle varie circostanze
4. Comprendere gli elementi di base dell'algebra booleana
5. Analizzare e sintetizzare circuiti logici combinatori
6. Comprendere schemi circuitali di unità logico-aritmetiche (ALU)
7. Comprendere i principi di funzionamento dei transistori MOS
8. Comprendere e progettare schemi circuitali di porte logiche mediante dispositivi CMOS
9. Comprendere ed utilizzare i sistemi di rappresentazione dei numeri maggiormente utilizzati in elettronica digitale
10. Comprendere e progettare semplici circuiti logici sequenziali
11. Comprendere il funzionamento di elementi di memoria di base, ad esempio l'elemento bistabile, i flip-flop, ecc.
12. Comprendere e sintetizzare semplici macchine a stati
13. Comprendere e descrivere l'architettura di base del Personal Computer
14. Comprendere le caratteristiche di base e le prestazioni dei circuiti di memoria volatili e non volatili
15. Comprendere il funzionamento delle principali tipologie di memorie: registri in tecnologia CMOS, SRAM, DRAM, EPROM, FLASH, ecc.
16. Comprendere i dispositivi logici programmabili, i loro vantaggi e svantaggi rispetto a soluzioni più tradizionali
17. Comprendere i concetti di base del linguaggio VHDL, con semplici esempi pratici
Periodo: Primo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento può essere seguito come corso singolo.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Primo semestre
Programma
1. I circuiti digitali: dall'algebra booleana all'implementazione fisica
1.1. Algebra booleana
1.1.1. Le proprietà, i postulati ed i teoremi dell'algebra booleana
1.1.2. La forma canonica delle funzioni algebriche
1.2. Analisi e sintesi di circuiti logici combinatori
1.2.1. Progettazione e ottimizzazione di una funzione logica
1.2.2. Simbolismo di rappresentazione dei circuiti logici
1.2.3. Circuiti logici elementari
1.2.4. Circuiti logici complessi
1.2.5. Ritardi ed errori dei circuiti logici
1.3. Schemi circuitali di porte logiche
1.3.1. Richiami di fisica dei semiconduttori
1.3.2. Transistori ad effetto di campo (MOSFET)
1.3.3. Caratteristiche, modelli, transistori come interruttori
1.3.4. Introduzione ai circuiti integrati
1.3.5. Criteri generali di progetto
1.3.6. Le famiglie di porte logiche
1.3.7. Logiche NMOS e CMOS
2. Progettazione di circuiti logici combinatori e sequenziali
2.1. Sistemi di numerazione
2.1.1. Il sistema binario
2.1.2. Tecniche di conversione
2.1.3. Numeri con segno
2.1.4. Operazioni binarie
2.1.5. Codici binari
2.1.6. Codici a rilevazione e correzione di errore
2.2. Schemi logici di unità aritmetiche
2.2.1. Circuiti per le operazioni aritmetiche
2.2.2. Comparatori digitali
2.2.3. Circuiti per il controllo di qualità
2.2.4. Circuiti di codifica e decodifica
2.3. La funzione "memorizzazione" e l'elemento bistabile
2.3.1. Circuiti monostabili e bistabili
2.3.2. Reti di bistabili e l'equazione di applicazione
2.3.3. Modelli per circuiti di ritardo
2.3.4. Equazioni caratteristiche
2.3.5. Diagrammi a stati
2.3.6. Diagrammi temporali
2.3.7. Semplici circuiti sequenziali asincroni
2.3.8. Semplici circuiti logici sequenziali a porta
2.4. Circuiti con Flip-Flop
2.4.1. Edge-Triggered flip-flop
2.4.2. Pulse-triggered flip-flop
2.4.3. Altri tipi di flip-flop
2.4.4. Progettazione di semplici contatori sincroni con flip-flop di tipo T
2.5. Macchine a stati
2.5.1. Modelli di Moore, Mealy e modelli misti
2.5.2. Analisi di sistemi sincroni
2.5.3. Riduzioni delle "instabilità'" nei circuiti sincroni
2.5.4. Progettazione di macchine a stati con flip-flop di tipo D
2.5.5. Progettazione di macchine a stati con flip-flop di tipo T
2.5.6. Progettazione di macchine a stati con flip-flop di tipo J-K
2.5.7. Metodi per la progettazione di macchine a stati
2.5.8. Esempi di macchine a stati
3. Sistemi di memorie a semiconduttore
3.1. Breve introduzione all'architettura del Personal Computer
3.2. Generalità sulle memorie
3.3. Classificazione delle memorie
3.4. Caratteristiche generali dei sistemi di memoria
3.5. RAM (Random Access Memory)
3.6. ROM - memorie di sola lettura
3.7. PROM, EPROM ed E2PROM - Memorie di sola lettura programmabili
3.8. Memorie associative CAM
3.9. Memorie seriali
4. Circuiti logici programmabili
4.1. Generalità
4.1.1. Definizioni base
4.1.2. Vantaggi e svantaggi rispetto alla tecnologia tradizionale
4.1.3. Tipi di logiche programmabili
4.2. Tipologie di PLD
4.2.1. Operazioni possibili
4.2.2. Boundary scan
4.2.3. Architettura delle PLD
4.2.4. Metodologia di programmazione di semplici PLD
4.2.5. Le principali architetture di PLD
4.3. Tipologie di FPGA
4.3.1. Architettura di una FPGA
4.3.2. Configurazione e sequenze di programmazione
4.4. Sistemi di sviluppo di logiche programmabili
4.4.1. Regole e tecniche di progetto
4.4.2. Design entry e design verification
4.4.3. Software di sviluppo integrato
4.4.4. Progettare con le PLD e con le FPGA
4.5. Cenni di VHDL
4.5.1. Concetti base della sintesi
4.5.2. Oggetti di un file VHDL
4.5.3. Verifica di un codice VHDL
4.5.4. Codici VHDL per semplici circuiti a logica combinatoria
4.5.5. Codici VHDL per semplici circuiti sincroni sequenziali
4.6. Sistemi complessi
4.6.1. Tecnologie costruttive disponibili
4.6.2. Sistemi riprogrammabili
4.6.3. Microprocessori e logiche programmabili
5. Distribuzione di segnali
5.1. Modello di linea di trasmissione per segnali
5.1.1. Distribuzione di segnali digitali ad alta frequenza
5.1.2. Distribuzione di segnali di clock
5.1.3. Distribuzione dell'alimentazione
5.1.4. Modellizzazione di condensatori, induttori e resistori reali
1.1. Algebra booleana
1.1.1. Le proprietà, i postulati ed i teoremi dell'algebra booleana
1.1.2. La forma canonica delle funzioni algebriche
1.2. Analisi e sintesi di circuiti logici combinatori
1.2.1. Progettazione e ottimizzazione di una funzione logica
1.2.2. Simbolismo di rappresentazione dei circuiti logici
1.2.3. Circuiti logici elementari
1.2.4. Circuiti logici complessi
1.2.5. Ritardi ed errori dei circuiti logici
1.3. Schemi circuitali di porte logiche
1.3.1. Richiami di fisica dei semiconduttori
1.3.2. Transistori ad effetto di campo (MOSFET)
1.3.3. Caratteristiche, modelli, transistori come interruttori
1.3.4. Introduzione ai circuiti integrati
1.3.5. Criteri generali di progetto
1.3.6. Le famiglie di porte logiche
1.3.7. Logiche NMOS e CMOS
2. Progettazione di circuiti logici combinatori e sequenziali
2.1. Sistemi di numerazione
2.1.1. Il sistema binario
2.1.2. Tecniche di conversione
2.1.3. Numeri con segno
2.1.4. Operazioni binarie
2.1.5. Codici binari
2.1.6. Codici a rilevazione e correzione di errore
2.2. Schemi logici di unità aritmetiche
2.2.1. Circuiti per le operazioni aritmetiche
2.2.2. Comparatori digitali
2.2.3. Circuiti per il controllo di qualità
2.2.4. Circuiti di codifica e decodifica
2.3. La funzione "memorizzazione" e l'elemento bistabile
2.3.1. Circuiti monostabili e bistabili
2.3.2. Reti di bistabili e l'equazione di applicazione
2.3.3. Modelli per circuiti di ritardo
2.3.4. Equazioni caratteristiche
2.3.5. Diagrammi a stati
2.3.6. Diagrammi temporali
2.3.7. Semplici circuiti sequenziali asincroni
2.3.8. Semplici circuiti logici sequenziali a porta
2.4. Circuiti con Flip-Flop
2.4.1. Edge-Triggered flip-flop
2.4.2. Pulse-triggered flip-flop
2.4.3. Altri tipi di flip-flop
2.4.4. Progettazione di semplici contatori sincroni con flip-flop di tipo T
2.5. Macchine a stati
2.5.1. Modelli di Moore, Mealy e modelli misti
2.5.2. Analisi di sistemi sincroni
2.5.3. Riduzioni delle "instabilità'" nei circuiti sincroni
2.5.4. Progettazione di macchine a stati con flip-flop di tipo D
2.5.5. Progettazione di macchine a stati con flip-flop di tipo T
2.5.6. Progettazione di macchine a stati con flip-flop di tipo J-K
2.5.7. Metodi per la progettazione di macchine a stati
2.5.8. Esempi di macchine a stati
3. Sistemi di memorie a semiconduttore
3.1. Breve introduzione all'architettura del Personal Computer
3.2. Generalità sulle memorie
3.3. Classificazione delle memorie
3.4. Caratteristiche generali dei sistemi di memoria
3.5. RAM (Random Access Memory)
3.6. ROM - memorie di sola lettura
3.7. PROM, EPROM ed E2PROM - Memorie di sola lettura programmabili
3.8. Memorie associative CAM
3.9. Memorie seriali
4. Circuiti logici programmabili
4.1. Generalità
4.1.1. Definizioni base
4.1.2. Vantaggi e svantaggi rispetto alla tecnologia tradizionale
4.1.3. Tipi di logiche programmabili
4.2. Tipologie di PLD
4.2.1. Operazioni possibili
4.2.2. Boundary scan
4.2.3. Architettura delle PLD
4.2.4. Metodologia di programmazione di semplici PLD
4.2.5. Le principali architetture di PLD
4.3. Tipologie di FPGA
4.3.1. Architettura di una FPGA
4.3.2. Configurazione e sequenze di programmazione
4.4. Sistemi di sviluppo di logiche programmabili
4.4.1. Regole e tecniche di progetto
4.4.2. Design entry e design verification
4.4.3. Software di sviluppo integrato
4.4.4. Progettare con le PLD e con le FPGA
4.5. Cenni di VHDL
4.5.1. Concetti base della sintesi
4.5.2. Oggetti di un file VHDL
4.5.3. Verifica di un codice VHDL
4.5.4. Codici VHDL per semplici circuiti a logica combinatoria
4.5.5. Codici VHDL per semplici circuiti sincroni sequenziali
4.6. Sistemi complessi
4.6.1. Tecnologie costruttive disponibili
4.6.2. Sistemi riprogrammabili
4.6.3. Microprocessori e logiche programmabili
5. Distribuzione di segnali
5.1. Modello di linea di trasmissione per segnali
5.1.1. Distribuzione di segnali digitali ad alta frequenza
5.1.2. Distribuzione di segnali di clock
5.1.3. Distribuzione dell'alimentazione
5.1.4. Modellizzazione di condensatori, induttori e resistori reali
Prerequisiti
L'insegnamento "Elettronica dei Sistemi Digitali" non richiede particolari conoscenze pregresse e può essere di interesse per:
· gli studenti del III anno della laurea triennale in Fisica con indirizzo elettronico
· gli studenti di Fisica di altri indirizzi che, pur non avendo scelto l'indirizzo elettronico, desiderano acquisire conoscenze per comprendere componenti, circuiti e sistemi dell'elettronica digitale
· gli studenti della laurea magistrale in Fisica
· gli studenti del III anno della laurea triennale in Fisica con indirizzo elettronico
· gli studenti di Fisica di altri indirizzi che, pur non avendo scelto l'indirizzo elettronico, desiderano acquisire conoscenze per comprendere componenti, circuiti e sistemi dell'elettronica digitale
· gli studenti della laurea magistrale in Fisica
Metodi didattici
L'insegnamento consiste in lezioni frontali, in modalità tradizionale, durante le quali vengono svolti anche esempi ed esercizi, che hanno un ruolo importante, dati l'obiettivo del corso e le modalità d'esame.
Materiale di riferimento
R.S. Sandige, "Digital Design Essentials", Prentice-Hall
J.F. Wakerly, "Digital design: principles and practices", Prentice-Hall Int. Ed.
F.Fummi, M.G.Sami, C.Silvano, "Progettazione Digitale", McGraw-Hill Italia
P. Spirito, "Elettronica digitale II edizione", McGraw-Hill Italia
C. A. De Rosa, "Introduzione alle Logiche Programmabili", Ed. Dell'Ambrosino
U. Pellegrini, "Elettronica dei Sistemi Digitali", Libreria Clup
R. C. Jaeger, "Microelettronica", Mc Graw-Hill
A.S.Sedra, K.C.Smith, "Microelectronics Circuits", Saunders College Publ.
J.F. Wakerly, "Digital design: principles and practices", Prentice-Hall Int. Ed.
F.Fummi, M.G.Sami, C.Silvano, "Progettazione Digitale", McGraw-Hill Italia
P. Spirito, "Elettronica digitale II edizione", McGraw-Hill Italia
C. A. De Rosa, "Introduzione alle Logiche Programmabili", Ed. Dell'Ambrosino
U. Pellegrini, "Elettronica dei Sistemi Digitali", Libreria Clup
R. C. Jaeger, "Microelettronica", Mc Graw-Hill
A.S.Sedra, K.C.Smith, "Microelectronics Circuits", Saunders College Publ.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste in un colloquio, della durata tipica di 45 minuti, in cui si verificherà, anche attraverso lo svolgimento di semplici esercizi, la comprensione da parte dello studente dei principi dell'elettronica dei sistemi digitali e la loro applicazione a casi eterogenei.
Siti didattici
Docente/i
Ricevimento:
Su appuntamento
Edificio LITA; II piano