RETI LOGICHE

RETI LOGICHE

_
iten
Codice
86768
ANNO ACCADEMICO
2016/2017
CFU
9 cfu al 1° anno di 8713 INGEGNERIA BIOMEDICA (L-8) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
ING-INF/05
LINGUA
Italiano
SEDE
GENOVA (INGEGNERIA BIOMEDICA )
periodo
2° Semestre
materiale didattico

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Il corso introduce le categorie e le metodologie per lo studio ed il progetto di sistemi digitali. Contenuti: algebra di Boole, descrizione, sintesi e ottimizzazione di reti combinatorie, progettazione di macchine a stati finiti asincrone e sincrone, analisi e sintesi di sottosistemi complessi (contatori, sommatori, unità aritmetiche, memorie,..). Per la descrizione dei sistemi digitali verrà insegnato e utilizzato il linguaggio VHDL.

PROGRAMMA/CONTENUTO

Introduzione:

Rappresentazione dell’informazione, segnali analogici e digitali, trattamento digitale dei segnali

Algebra di Boole e circuiti logici combinatori:

Algebra Booleana: definizioni, operazioni fondamentali, tabella di verità, proprietà. Teorema di DeMorgan. NAND, NOR, EXOR. Teoremi di Shannon. Prodotti e somme fondamentali. Sintesi di reti combinatorie nelle due forme canoniche. Esempio: multiplexer a due canali. Insiemi funzionalmente completi. Minimizzazione di reti combinatorie con l'uso delle mappe di Karnaugh. Funzioni booleane non completamente specificate. Circuiti combinatori con architetture regolari e scalabili: decodificatori, multiplexer e demultiplexer, controllori di parità, comparatori. Estensione di reti di decodifica.

Circuiti logici a livello fisico:

Livelli logici, logica positiva e negativa. Tempo di propagazione di una porta logica. Ritardo di trasporto e ritardo inerziale. Alee nelle reti combinatorie. Eliminazione delle alee nelle reti AND-OR a due livelli.

Codici ed aritmetica binaria:

Informazione binaria. Numerazione binaria. Conversione decimale-binario e binario-decimale. Numerazione ottale ed esadecimale. Codici binari per la rappresentazione di cifre decimali. Codice Gray. Aritmetica BCD. Rappresentazione dei numeri negativi in binario: codici modulo e segno, complemento a uno e complemento a due. Overflow. Codici alfanumerici. Circuiti aritmetici. Sommatore. Circuiti per la somma di più bit, sommatori in cascata.  EXOR  e controllo di parità.  Unità Logico Aritmetiche (ALU)

Circuiti logici sequenziali:

Introduzione alle Reti Sequenziali. Flip-Flop. Tipi logici e tipi di comando dei Flip-Flop. Flip-Flop a comando diretto: tipi SR, D, JK. Inizializzazione di una rete sequenziale. Flip-Flop abilitati a livello. Sincronizzazione delle reti sequenziali. La struttura Master-Slave. Flip-Flop abilitati sul fronte (PET). Tempi caratteristici dei Flip-Flop.

Analisi di Reti Sequenziali e introduzione a Reti Sequenziali standard:

Reti Sequenziali sincrone. Equazioni di una rete sequenziale. Analisi nel tempo di reti sincrone di FF. Esempi di reti standard: registri a scorrimento e contatori. Contatori "full synchronous" e "ripple carry". Contatori asincroni. Equazioni descrittive di una rete sequenziale e descrizione della rete mediante tabella degli stati

Macchine a Stati Finiti e Diagrammi ASM

Modello generale di Macchina a Stati Finiti (MSF). MSF Sincrone e Asincrone, MSF di Moore e di Mealy. MSF sincrone: esempio di rete sequenziale, equazioni dello stato successivo e delle uscite. Diagrammi ASM. Blocchi di stato e decisionali. Esempio di progetto: un rivelatore di fronti. Blocchi di uscita condizionata. Sincronizzazione degli ingressi con l'uso del FF D. Descrizione della MSF mediante tabella degli stati. Sintesi da tabella degli stati

Sistemi digitali con MSF

Progettazione di sistemi basati su MSF agente come controllore di un’architettura esterna (controller-datapath). Acquisizione e generazione di dati seriali. Pilotaggio di FF esterni con Clock di sistema o generato dalla MSF. Misure di durata di segnali in ingresso. Generatori di impulsi controllabili. Sistemi di controllo. Sistemi formati da più MSF interagenti. Stabilita' delle MSF sincrone. Criteri per l’assegnazione degli stati nelle MSF.

Cenni ai dispositivi logici programmabili (PLD):

ROM, PAL, PLA. Dispositivi FPGA (Field Programmable Gate Array): struttura, impiego, metologie di progettazione (cenni). Cenni a tecniche di progetto RTL (Register Transfer Logic) ed ai linguaggi per la descrizione dell’hardware (HDL)

Dispositivi di memoria:

Struttura delle celle ed indirizzamento. Sistemi a Bus: indirizzi, dati, segnali di controllo. Memorie di lettura/scrittura statiche e dinamiche, memorie a sola lettura. Memorie Flash. Progettazione di semplici sistemi di memoria

Il microprocessore

Architettura di un microprocessore: registri, unità di calcolo, sequenziatore. Programmi e istruzioni: fasi di fetch, decode, execute. Linguaggio macchina e linguaggio assembly. Modi di indirizzamento. Insieme delle istruzioni e loro classificazione funzionale. La struttura a catasta, chiamata e ritorno da sottoprogramma. Stesura, esecuzione e debug di semplici programmi. Struttura hardware: collegamento di memorie e dispositivi di ingresso/uscita.

TESTI/BIBLIOGRAFIA

Dispense del corso (disponibili sul sito Aulaweb del corso)

Sito Aulaweb di riferimento: per la gestione delle esercitazioni; con informazioni e materiale didattico.

Riferimenti bibliografici: Frank Vahid,  Digital Design, J. Wiley and Sons, 2nd edition

DOCENTI E COMMISSIONI

Ricevimento: Su appuntamento, tramite e-mail

Ricevimento: su appuntamento, tramite e-mail

Commissione d'esame

DOMENICO PONTA (Presidente)

DAVIDE ANGUITA (Presidente)

LUCA ONETO (Presidente)

TULLIO VERNAZZA

GIULIANO DONZELLINI

LEZIONI

ORARI

L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

Vedi anche:

RETI LOGICHE

ESAMI

Modalità d'esame

L’esame consiste in una prova scritta intermedia (intorno alla fine di Aprile, 0-10 punti), una prova finale (Giugno, 0-20 punti) ed una prova orale facoltativa (+/- 3 punti).

In alternativa, prova scritta  (0-20 punti) e prova orale obbligatoria, a cui si accede con voto minimo pari a 10 nella prova scritta. Ogni anno accademico avranno luogo cinque appelli in Giugno, Luglio, Settembre, Gennaio e Febbraio.

Modalità di accertamento

Al termine del corso lo studente che lo ha seguito con successo sarà in grado di capire, analizzare e progettare, a livello funzionale, semplici sistemi digitali basati su Macchine a Stati Finiti ed architetture digitali standard. Sarà inoltre in grado di comprendere nei dettagli il funzionamento di un semplice microcalcolatore.