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 | AULAWEB |
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.
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.
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
Ricevimento: Su appuntamento, tramite e-mail
Ricevimento: su appuntamento, tramite e-mail
DAVIDE ANGUITA (Presidente)
LUCA ONETO (Presidente)
DOMENICO PONTA (Presidente)
GIULIANO DONZELLINI
TULLIO VERNAZZA
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.
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.
Data | Ora | Luogo | Tipologia | Note |
---|---|---|---|---|
09/06/2017 | 09:30 | GENOVA | Scritto | martedì 10 gennaio 2017 - Aula E3+E4 lunedì 6 febbraio 2017 - Aula G2a+G2b venerdì 9 giugno 2017 - Aula G1+B2 lunedì 4 settembre 2017 - Aula E1 |
11/07/2017 | 14:00 | GENOVA | Scritto | Aula E1 |
04/09/2017 | 09:30 | GENOVA | Scritto | martedì 10 gennaio 2017 - Aula E3+E4 lunedì 6 febbraio 2017 - Aula G2a+G2b venerdì 9 giugno 2017 - Aula G1+B2 lunedì 4 settembre 2017 - Aula E1 |