PROGETTAZIONE DI SISTEMI DIGITALI

canale GZ
Docente
Prof.ssa Annalisa Massini
Dipartimento di Informatica

Ricevimento per appuntamento (da prendere per email)

email massini@diNOSPAM.uniroma1.it (togliere NOSPAM)

News

Voti ed esami orali appello di febbraio

  • Voti dello scritto: Voti scritto 1 febbraio 2024
  • Gli orali si terranno i giorni 13, 14, 15 e 16 gennaio nelle aule S1 o T1 in viale Regina Elena 295, edif. E (vedere Calendario orali)
  • Convocazione orale: Calendario orali - aggiornato
  • Gli studenti che vogliono visionare il proprio compito, possono venire in una delle date degli orali, in aula S1 o T1, viale Regina Elena 295, edif. E, specificate nel file Calendario orali.

Voti scritti

Prossimi incontri tutoraggio

  • Il prossimo incontro di tutoraggio si terrà il 7 dicembre (l'8 è festa) in Aula T1 Edificio E, viale Regina Elena 295
  • L'incontro di tutoraggio del 15 dicembre si terrà in Aula T1 Edificio E, viale Regina Elena 295

AULA tutoraggio

  • Il tutoraggio si terrà in Aula 101 Edificio D, viale Regina Elena 295

AVVISO INIZIO tutoraggio

  • Il tutoraggio si terrà il venerdì dalle 10 alle 12:30
  • Il tutoraggio comincia il 3 novembre

  • Verranno proposti e svolti esercizi utili alla preparazione dell'esame scritto.

Inizio lezioni

  • Le lezioni cominceranno il 25 settembre 2023.

Corso

Il corso di Progettazione di Sistemi Digitali tratta argomenti preliminari alla descrizione dell'organizzazione di un calcolatore: rappresentazione dell'informazione, progettazione di reti combinatorie e sequenziali, registri e loro interconnessione.

Il corso fornisce quindi gli strumenti necessari alla comprensione del funzionamento e delle problematiche di progetto di un calcolatore, argomenti trattati nel corso di Architettura degli Elaboratori.

Orario
Le lezioni si terranno secondo il seguente orario:
  • lunedì dalle 16 alle 18
  • venerdì dalle 15 alle 18
  • Aula III, Edificio Castelnuovo - Matematica - Citta' universitaria (Codice Edificio: CU 006)

Testi

Il testo consigliato è:

  • Reti logiche M. Morris Mano, C. R. Kime, T. Martin, Pearson Ed.
In alternativa è possibile usare:
  • S. L. Harris, D. M. Harris Sistemi digitali e architettura dei calcolatori Zanichelli

E' inoltre utile consultare:


Varie
  • Date esami
Data appello Data inizio prenotazione Data fine prenotazione
16/01/2024 02/01/2024 11/01/2024
01/02/2024 20/01/2024 27/01/2024
04/06/2024 20/05/2024 30/05/2024
02/07/2024 17/06/2024 26/06/2024
12/09/2024 26/08/2024 08/09/2024

  • Codice OPIS per la valutazione del corso: QMLU6WRP
  • Trovate l'orario delle lezioni (di tutti i corsi) alla pagina: Orario Informatica

Lezioni

Lezione 1 - 25 settembre 2023
Presentazione del corso. Rappresentazione dell'informazione, definizione di codice e di codifica, codifiche ridondanti e ambigue, requisiti di una codifica. Definizione e proprietà dei sistemi di numerazione posizionali. Numero di valori rappresentabili e intervallo di rappresentazione con numero di cifre fissato. Numero di cifre necessarie per rappresentare k valori. Sistemi binario, ottale ed esadecimale.
Riferimenti: Capitolo 1 - Morris Mano, Kime, Martin

Lezione 2 - 29 settembre 2023
Conversione da binario a ottale ed esadecimale e viceversa. Conversioni di base per i numeri naturali: conversioni da decimale a base b, conversioni da base b a decimale.
Addizione e sottrazione in binario. Riconoscimento dell'overflow. Moltiplicazione in binario.
Rappresentazione degli interi: modulo e segno, complemento a 1, complemento a 2. Proprietà e caratteristiche della rappresentazione in complemento a due: intervallo di rappresentazione, procedura per trovare l'opposto di un numero, estensione della lunghezza della rappresentazione. Addizione e sottrazione nella rappresentazione in complemento a due, riconoscimento di overflow.
Riferimenti: Capitolo 1, Paragrafo 3.10 - Morris Mano, Kime, Martin

Lezione 3 - 2 ottobre 2023
Conversione di numeri con la virgola: procedura di conversione da decimale a base b e da base b a decimale. Rappresentazione in virgola fissa. Rappresentazione in virgola mobile. Lo standard IEEE 754. Conversione di numeri in base 10 nello standard IEEE 754 a 16 bit e viceversa.
Riferimenti: Standard IEEE 754 - Wikipedia in italiano Standard IEEE 754 - Wikipedia in inglese

Lezione 4 - 6 ottobre 2023
Le operazioni nella rappresentazione in virgola mobile: addizione e sottrazione, moltiplicazione e divisione. Overflow.
Esercizio: conversione di A=26,42 e somma con B=-37,68 (convertire per esercizio) nello standard IEEE 754 a 16 bit.
BCD (Binary coded decimal). Codice ASCIII. Bit di parità pari e dispari.

Operatori booleani NOT, AND e OR: definizione, tavola di verità e porte logiche corrispondenti. Diagramma temporale di un segnale e sua discretizzazione. Diagramma temporale per porte logiche e ritardo di propagazione. Definizione di algebra di commutazione o booleana (assiomi - associatività, commutatività, distributività, elemento neutro, complemento - e proprietà - involuzione, idempotenza, elemento nullo, assorbimento, leggi di De Morgan).
Riferimenti: Capitolo 1, Capitolo 2 - Morris Mano, Kime, Martin

Lezione 5 - 9 ottobre 2023
Variabili booleane ed espressioni booleane. Funzioni booleane e tavola di verità di una funzione ricavata a partire da espressioni diverse. Dualità negli assiomi e proprietà nell'algebra di Boole. Espressione duale di una espressione data. Tavola di verità della duale di una funzione. Espressione complementare (con De Morgan e con il metodo della duale). Espressioni equivalenti, verifica di identità e metodo di induzione perfetta. Espressioni booleane in forma normale SOP (somma di prodotti) e in forma normale POS (prodotto di somme). Passaggio da espressione a circuito. Semplificazione di espressioni e verifica di identità. Teorema del consenso e sua dimostrazione.
Riferimenti: Capitolo 2 - Morris Mano, Kime, Martin

Lezione 6 - 13 ottobre 2023
Procedura di trasformazione di espressioni in forma normale SOP e in forma normale POS. Reti AND-to-OR e OR-to-AND. Mintermini e maxtermini. Forma canonica SOP e forma canonica POS. Trasformazione da forma normale a forma canonica SOP e POS.
Esercizio: Data un'espressione booleana: 1) portarla in forma normale SOP/POS, 2) portarla in forma canonica SOP/POS, 3) stendere la tavola di verità usando la forma canonica SOP/POS, 4) ottenere la forma la forma canonica POS/SOP dalla tavola di verità.
Obiettivi della minimizzazione di reti combinatorie e di espressioni booleane. Definizione di rete minimale e di espressione minimale. Definizione di mappa di Karnaugh. Rappresentazione di funzioni di 2, 3, 4 variabili tramite mappe di Karnaugh. Mintermini e termini prodotto su mappe di Karnaugh. Procedura per ottenere espressioni minimali SOP e POS dalla mappa di Karnaugh. Esempi di espressione minimale SOP/POS dalla mappa di Karnaugh.
Riferimenti: Capitolo 2 - Morris Mano, Kime, Martin

Lezione 7 - 16 ottobre 2023
Stesura della tavola di verità a partire dalla specifica verbale. Tavole di verità per funzioni a più uscite: esempio del Full-Adder.
L'operatore XOR. Il complemento XNOR. Associatività dello XOR.
Funzioni non completamente specificate.
Riferimenti: Capitolo 2 - Morris Mano, Kime, Martin

Lezione 8 - 20 ottobre 2023
Svolgimento esercizi per casa ed esercizi sugli argomenti passati.
Uso dei simboli don't care per la minimizzazione con le mappe di Karnaugh.
Descrizione del procedimento di analisi e sintesi di reti combinatorie. Ricavare espressioni sfruttando relazioni tra le variabili di ingresso. Esercizio: Es. 7 Esonero 10/11/2016.
Operatori NAND e NOR. Universalità di NAND e NOR: realizzazione degli operatori AND, OR e NOT con soli NAND e con soli NOR. Realizzazione di espressioni SOP (reti AND-to-OR) con sole porte NAND e di espressioni POS (reti OR-to-AND) con sole porte NOR. Realizzazione di porte NOR (e NAND) a più ingressi con porte a due ingressi.
Riferimenti: Capitolo 2 - Morris Mano, Kime, Martin

Lezione 9 - 23 ottobre 2023
Progettazione gerarchica tramite moduli.
Half-Adder, Full-Adder e addizionatore a propagazione di riporto (Ripple-Carry Adder). Full-Adder ottenuto da due Half-Adder. Addizionatore a propagazione di riporto per la sottrazione con valori in Ca2.
Uso delle porte and per il controllo (gating). Moduli combinatori notevoli. Decodificatore e codificatore: funzione e realizzazione con porte logiche.
Riferimenti: Capitolo 3 - Morris Mano, Kime, Martin

Lezione 10 - 27 ottobre 2023
Decodificatore e codificatore non standard. Schemi con matrice di AND e di OR. Multiplexer: definizione. Realizzazione di funzioni tramite multiplexer con diverso numero di segnali di controllo. ROM: definizione e realizzazione di funzioni booleane. PLA: definizione e realizzazione di funzioni booleane.
Riferimenti: Capitolo 3 - Morris Mano, Kime, Martin

Lezione 11 - 30 ottobre 2023
VERILOG (Lezione con Diego Bellani) Introduzione e primi comandi per la realizzazione di circuiti combinatori. Testbench. Verilog: introduzione. Circuiti combinatori. Testbench.
Esempi di moduli e dei relativi testbench. Verilog Esempi di moduli e testbench
File .sv per moduli e testbench. lesson1.sv

Lezione 12 - 3 novembre 2023
VENERDI 3h Realizzazione di funzioni booleane con insieme di mux a più livelli. Demultiplexer.
Transcodificatore per display a sette segmenti da BCD (decimale codificato in binario): realizzazione con decodificatore standard e codificatore e con un insieme di 7 mux.
Transcodificatore per display a sette segmenti da codice 2-su-5 con decodificatore ad hoc.
Comparatore logico. Comparatore aritmetico con addizionatore. Realizzazione dei quattro bit del condition code: C, W, Z, N.
Esempio di una semplice ALU con addizionatore e tre bit di controllo (c0 annullatore di A, c1 complemento di B, r incremento di 1).
Riferimenti: Capitolo 3 - Morris Mano, Kime, Martin

Lezione 13 - 6 novembre 2023
Introduzione alle reti sequenziali: memorizzazione e feedback. Cella elementare di memoria: latch SR. Comportamento del latch SR in funzione dei valori degli ingressi s e r e tavola di verità. Latch D (delay): definizione e tavola di verità. Latch sincrono (gated latch). Segnale orologio. Flip-Flop: definizione tramite latch master-slave. Definizione e tavola di verità dei Flip-Flop JK e T (toggle)
Riferimenti: Capitolo 4 - Morris Mano, Kime, Martin

Lezione 14 - 10 novembre 2023
Definizione di rete sequenziale e sue componenti. Procedimento di analisi di reti sequenziali sincrone: 1) espressioni booleane delle funzioni di eccitazione e delle uscite 2) costruzione della tabella degli stati futuri 3) diagramma di stato (automa) di una rete sequenziale e diagramma con valori simbolici per stati, ingressi e uscite 4) descrizione verbale della funzione della rete sequenziale.
Esercizi di analisi di una rete sequenziale: 1) rete con un input e due flip-flop 2) rete con due input e un flip-flop SR
Rappresentazione di automi tramite tabella.
Definizione di automa a stati finiti con output: modello di Mealy e modello di Moore. Disegno dell'automa secondo il modello di Mealy e secondo il modello di Moore a partire dalla tabella tabella dell'automa.
Tabelle inverse dei FF.
Riferimenti: Capitolo 4 - Morris Mano, Kime, Martin

Lezione 15 - 13 novembre 2023
Procedura di sintesi di reti sequenziali: 1) diagramma di stato della macchina sequenziale 2) codifica binaria di stati, ingressi e uscite 3) tabella degli stati futuri 4) espressioni booleane minime 5) schema circuitale della rete sequenziale.
Esempio: sintesi del riconoscitore della sequenza 1101 con sovrapposizioni con FF JK e con FF D.
Esercizio per casa: ripetere la procedura a partire da una codifica diversa degli stati dell'automa.
Riferimenti: Capitolo 4 - Morris Mano, Kime, Martin

Lezione 16 - 17 novembre 2023
Esempio di progettazione di un automa a stati finiti: realizzazione della tabella dell'automa dalle specifiche verbali per una macchina distributrice di prodotti e relativo disegno secondo Mealy.
Progettazione dell'automa che riceve in ingresso i simboli O, S e T e produce in uscita 1 se riconosce le sequenze STO e OTO con eventuali sovrapposizioni. Definizione di equivalenza tra stati di un automa. Minimizzazione dell'automa e progetto della rete sequenziale con un FF di tipo SR e uno di tipo JK.
Diagramma temporale di un automa a fronte di una sequenza di ingresso data. Definizione ed esempio sull'automa precedente. Riferimenti: Capitolo 4 - Morris Mano, Kime, Martin

Lezione 17 - 20 novembre 2023
VERILOG (Lezione con Diego Bellani): delay, moduli sequenziali (FF e latch) e altri moduli combinatori. Verilog: delay, moduli sequenziali e moduli combinatori.
File .sv per moduli e testbench. lesson2.sv

Lezione 18 - 24 novembre 2023
Test di verifica. Correzione esercizi 1-3 del test.

Lezione 19 - 27 novembre 2023
Correzione esercizi 4-5 del test del 24 novembre.
Equivalenza tra automi. Procedura di minimizzazione di automi: tabella delle implicazioni (tabella triangolare) ed esempio.

Lezione 20 - 1 dicembre 2023
VERILOG (Lezione con Diego Bellani bellani.1838645@studentiNOSPAM.uniroma1.it): Macchine a stati finiti e circuiti sequenziali. Esempi ed esercizi. Testbench.

Minimizzazione di automi: tabella delle implicazioni, grafo delle equivalenze con esempio e disegno dell'automa secondo Mealy e secondo Moore.
Realizzazione dell'automa e del circuito per un addizionatore sequenziale: tabella automa, tavola stati futuri, espressioni e disegno delcircuito con diversi tipi di FF.

Lezione 21 - 4 dicembre 2023
Registri di memorizzazione. Ingressi asincroni (PRE)SET e CLEAR per FF con clock. Registri a caricamento e scaricamento parallelo con FF di tipo D e di tipo SR. Registri a caricamento seriale con FF di tipo D e di tipo SR.
Riferimenti: Capitolo 6 - Morris Mano, Kime, Martin

Lezione 22 - 11 dicembre 2023
Registri a scorrimento destra e sinistra, rotazione a destra e a sinistra. Registri universali: tutti i tipi di caricamento e scaricamento, scorrimento, rotazione.
Sintesi del contatore di impulsi di clock mod 8. Generalizzazione al contatore mod 2^n.
Riferimenti: Capitolo 6 - Morris Mano, Kime, Martin

Lezione 23 - 18 dicembre 2023
Contatore alla rovescia e contatore bidirezionale (mod 2^n).
Contatori mod m con m diverso da 2^n usando gli ingressi asincroni CLEAR dei Flip-Flop. Contatori preselezionabili. Diagramma temporale del contatore mod 8.
Riferimenti: Capitolo 6 - Morris Mano, Kime, Martin

Lezione 24 - 22 dicembre 2023
Test di verifica. Svolgimento degli esercizi del test alla lavagna. Test 22 dicembre 2023

Modalità d'esame

Per superare l'esame bisogna:

  • superare lo scritto o gli esoneri
  • sostenere l'esame orale (su tutti gli argomenti svolti a lezione).
Le date degli esami sono reperibili al link:
https://www.studiareinformatica.uniroma1.it/appelli-d-esame

Testi compiti scritti

Lezioni anni precedenti
Lezioni svolte negli anni precedenti:

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf Esercitazione_n._1_-_Parte_1_-_02-10-14.pdf r1 manage 31.9 K 2014-10-02 - 12:29 StefanoCiavarella Esercitazione n. 1 - Parte 1 del 02/10/14
PDFpdf Esercitazione_n._1_-_Parte_2_-_02-10-14.pdf r1 manage 39.4 K 2014-10-02 - 12:30 StefanoCiavarella Esercitazione n. 1 - Parte 2 del 02/10/14
PDFpdf Esercitazione_n._1_-_Parte_3_-__02-10-14.pdf r1 manage 51.9 K 2014-10-02 - 12:30 StefanoCiavarella Esercitazione n. 1 - Parte 3 del 02/10/14
PDFpdf Esercitazione_n._3_-_Parte_1_-_16-10-14.pdf r1 manage 79.5 K 2014-10-16 - 13:38 StefanoCiavarella Esercitazione n. 3 - Parte 1 del 16/10/14
PDFpdf Esercitazione_n._3_-_Parte_2_-_16-10-14.pdf r1 manage 37.9 K 2014-10-16 - 13:39 StefanoCiavarella Esercitazione n. 3 - Parte 2 del 16/10/14
PDFpdf Esercitazione_n._4_-_Esercizio_extra_su_Forme_Canoniche_-_23-10-14.pdf r1 manage 48.8 K 2014-10-23 - 11:40 StefanoCiavarella Esercitazione n. 4 - Esercizi extra su Forme Canoniche - 23-10-14
PDFpdf Esercitazione_n._4_-_Parte_1_-_23-10-14.pdf r1 manage 52.2 K 2014-10-23 - 11:36 StefanoCiavarella Esercitazione n. 4 - Parte 1 - 23-10-14
PDFpdf Esercitazione_n._4_-_Parte_2_-_23-10-14.pdf r1 manage 279.7 K 2014-10-23 - 11:38 StefanoCiavarella Esercitazione n. 4 - Parte 2 - 23-10-14
PDFpdf Esercitazione_n._4_-_Parte_3_-_23-10-14.pdf r1 manage 73.4 K 2014-10-23 - 11:38 StefanoCiavarella Esercitazione n. 4 - Parte 3 - 23-10-14
PDFpdf Esercitazione_n._5_-_Parte_1_-_30_-10-14.pdf r1 manage 208.8 K 2014-10-30 - 13:11 StefanoCiavarella Esercitazione n. 5 - Parte 1 del 30/10/14
PDFpdf Esercitazione_n._5_-_Parte_2_-_30_-10-14.pdf r1 manage 315.7 K 2014-10-30 - 13:12 StefanoCiavarella Esercitazione n. 5 - Parte 2 del 30/10/14
PDFpdf Esercitazione_n._6_-_Parte_1_-_20-11-14.pdf r1 manage 121.9 K 2014-11-20 - 14:54 StefanoCiavarella Esercitazione n. 6 - Parte 1 del 20/11/14
PDFpdf Esercitazione_n._7_-_Parte_1_-_27-11-14.pdf r1 manage 151.1 K 2014-11-28 - 14:57 StefanoCiavarella Esercitazione n. 7 - Parte 1 - 27-11-14
PDFpdf Esercitazione_n._7_-_Parte_2_-_27-11-14.pdf r1 manage 171.0 K 2014-11-28 - 15:00 StefanoCiavarella Esercitazione n. 7 - Parte 2 - 27-11-14
PDFpdf Esercitazione_n._7_-_Parte_3_-_27-11-14.pdf r1 manage 178.4 K 2014-11-28 - 15:04 StefanoCiavarella Esercitazione n. 7 - Parte 3 - 27-11-14
PDFpdf Esercitazione_n._8_-_Parte_1_-_01-12-14.pdf r1 manage 217.2 K 2014-12-01 - 14:29 StefanoCiavarella Esercitazione n. 8 - Parte 1 - 01-12-14
Edit | Attach | Watch | Print version | History: r580 < r579 < r578 < r577 < r576 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r580 - 2024-02-12 - AnnalisaMassini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback