Reti logiche - (9 cfu)

Prof. Stefano Caselli Tel. 0521 905724 - Fax. 0521 905723
  E-mail. stefano.caselli@unipr.it
  Home page. http://www.ce.unipr.it/people/caselli


Finalità

Obiettivo del corso è fornire le basi per l’analisi e la progettazione di sistemi digitali. Il corso presenta sia metodologie tradizionali, sia tecniche algoritmiche ed euristiche adotatte nella progettazione industriale e negli strumenti CAD di Design Automation. L'enfasi del corso è posta sulla capacità di affrontare e risolvere problemi progettuali ad alto livello, anche mediante partizionamento in sottoproblemi, avvalendosi poi di metodologie e componenti appropriati per risolvere i singoli sottoproblemi.

Programma

Introduzione ai sistemi digitali
1 - Ruolo dei sistemi digitali. La rappresentazione dell'informazione.
2 - Evoluzione delle tecnologie elettroniche.
3 - Finalità e limiti dei sistemi digitali.

Reti combinatorie
1 - Richiami: Espressioni canoniche e generali SP e PS. Analisi e sintesi di funzioni completamente specificate mediante mappe di Karnaugh.
2 - Estensione delle tecniche di analisi e sintesi per reti combinatorie a due livelli: Funzioni incompletamente specificate. Reti a più uscite (metodo degli implicanti/implicati primi multipli). Analisi e sintesi di reti a NAND e a NOR.
3 - Strumenti CAD per la sintesi di reti combinatorie: Algoritmo di Quine-McCluskey. Espresso. Simulazione logica.
4 - Reti a più livelli e progettazione con moduli integrati: Fattorizzazione e scomposizione di espressioni. Progettazione mediante composizione di moduli combinatori MSI e LSI. Multiplexer, Decoder, Demultiplexer, Encoder, Encoder Prioritario, ROM, componenti AOI.
5 - Tecnologie di interconnessione: Porte three-state, buffer, transceiver. Realizzazione di MUX e DEMUX mediante buffer three-state.
6 - Logiche programmabili semplici (ROM, PLA, PAL, GAL).
7 - Fenomeni transitori nelle reti combinatorie: alee statiche e dinamiche.

Reti sequenziali sincrone
1 - Modelli di Mealy e di Moore. Analisi di circuiti logici elementari con ritardi e retroazione. Funzionamento in modo fondamentale. Funzionamento con segnale di clock.
2 - Reti per la memorizzazione dello stato: Latch SR e D; Flip-Flop D, JK e T. Problemi di temporizzazione. Temporizzazione delle reti sincrone.
3 - Automi a stati finiti: Strumenti di definizione dell'automa (diagramma degli stati, tabelle di flusso e linguaggi di descrizione). Minimizzazione degli stati.
4 - Procedimenti di analisi e di sintesi di reti sequenziali sincrone: Codifica degli stati. Codifica ottima e codifica one-hot. Marcatura dello stato con diversi tipi di Flip-Flop e Latch.
5 - Comandi di Preset e Clear nei Flip-Flop sincroni. Reti con ingressi asincroni o impulsivi.
6 - Progettazione di contatori binari, ad anello, Johnson, con ciclo di conteggio arbitrario. Progettazione di registri paralleli e seriali. Ingressi di controllo nei contatori e nei registri.
7 - Logiche programmabili sequenziali e complesse (CPLD, FPGA).

Reti sequenziali asincrone
1 - Diagrammi degli stati e tabelle di flusso per reti asincrone. Funzionamento in modo fondamentale e temporizzazione nelle reti sequenziali asincrone.
2 - Procedimenti di analisi e di sintesi di reti sequenziali asincrone.
3 - Minimizzazione degli stati nelle reti asincrone.
4 - Codifica degli stati: Problemi di corse critiche e alee funzionali. Tecniche per l'eliminazione delle corse critiche: grafo delle adicenze, mappa di codifica, transizioni multiple, assegnamenti multipli. Assegnamenti universali.
5 - Marcatura dello stato mediante retroazioni dirette e Latch SR.
6 - Progettazione asincrona degli elementi di memoria sincroni: D-Latch e Flip-Flop SR, JK e T. Architettura Master-Slave. Problemi di alea essenziale e cattura degli uni. Architettura Edge-Triggered. Integrazione degli ingressi Preset e Clear.
7 - Unità di controllo asincrone.

Analisi e sintesi di sistemi digitali complessi
1 - Progettazione di reti sequenziali con moduli integrati (registri, contatori, registri a scorrimento, MUX, etc.).
2 - Suddivisione tra parte di controllo e datapath. Progettazione di controllori.
3 - Componenti combinatori per il datapath e dedicati: Circuiti aritmetici (sommatori, comparatori, ALU). Convertitori di codice. Circuiti per controllo di parità e codice di Hamming. Circuiti a EXOR.
4 - Pipelining.
5 - Formalismi per la descrizione dell’hardware.

Attività d'esercitazione

Saranno svolte alcune esercitazioni in laboratorio finalizzate alla progettazione di sistemi digitali con logiche programmabili mediante uso di strumenti CAD di tipo industriale per schematic entry, VHDL, simulazione digitale, mapping su logiche specifiche.

Modalità d'esame

Due prove scritte a metà e a conclusione del corso (modo suggerito) oppure una prova scritta complessiva in occasione degli appelli ufficiali d'esame. Le prove scritte sono costituite da esercizi di progettazione ed analisi di sistemi digitali, eventualmente integrati da domande di teoria.

Testi consigliati

Sono rese disponibili sul sito del corso, lezione per lezione, le diapositive utilizzate in aula e tracce di esercizi risolti. Per una trattazione organica della disciplina si può fare riferimento ai testi indicati di seguito, a cui si ispira l'impostazione didattica del corso.
F. Vahid, Digital Design, John Wiley & Sons, 2007.
J.F. Wakerly, Digital Design: Principles and Practice, 4th Edition, Prentice-Hall, 2005.

Testi d'approfondimento

C. Bolchini, C. Brandolese, F. Salice, D. Sciuto, Reti Logiche, Apogeo, 2004.
M.M. Mano, Digital Design, 3/E, Prentice Hall, 2002.
R.H. Katz, Contemporary Logic Design, 1st Edition, Addison Wesley, 1994.
R. Laschi, Reti Logiche, Esculapio, Bologna, 1994.


Ultimo aggiornamento: 01-10-2012


Chiudi la finestra