RETI LOGICHE
cod. 05611

Anno accademico 2012/13
3° anno di corso - Primo semestre
Docente
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Tipologia attività formativa
Caratterizzante
63 ore
di attività frontali
9 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

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.

Prerequisiti

Conoscenza elementare dell'algebra di Boole, delle porte logiche, dell'uso delle mappe di Karnaugh per la sintesi di semplici reti combinatorie. Questi argomenti verranno comunque ripresi velocemente nel corso. E' inoltre presupposta la conoscenza di un linguaggio di programmazione (C o C++).

Contenuti dell'insegnamento

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.


Esercitazioni in laboratorio
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.

Programma esteso

- - -

Bibliografia

Sul sito del corso, riservato agli studenti iscritti, sono disponibili le diapositive utilizzate in aula e altro materiale didattico.

Libri di testo:
F. Vahid, Digital Design, John Wiley & Sons, 2007.
J.F. Wakerly, Digital Design: Principles and Practice, 4th Edition, Prentice-Hall, 2005.

Metodi didattici

Lezioni ed esercitazioni in aula, con ampio uso della lavagna a gesso integrata da diapositive presentate con il computer. Alcune ore di esercitazione 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à verifica apprendimento

Esame scritto.
Possibilità di sostenere due prove scritte parziali in corso d'anno per chi frequenta il corso.

Altre informazioni

Portale per il sito del corso: http://lea.unipr.it

Il corso prevede almeno 72 ore di lezione in aula con il docente.