Esercitazioni su circuiti combinatori

Slides:



Advertisements
Presentazioni simili
Algebra Booleana Generalità
Advertisements

Algebra di Boole Casazza Andrea 3EA I.I.S. Maserati.
D. Menasce1 Queste trasparenze sono disponibili sul sito web dellautore: (selezionare lopzione COURSES) Queste.
Elaborazione dei segnali mediante circuiti analogici o digitali.
Informatica Generale Marzia Buscemi IMT Lucca
Mat_Insieme Lavoro di Gruppo Prodotti Notevoli
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
II° Circolo Orta Nova (FG)
(sommario delle lezioni in fondo alla pagina)
OMOLOGIA.
Determinanti del primo ordine
COORDINATE POLARI Sia P ha coordinate cartesiane
LE MATRICI.
Circuiti Combinatori Capitolo 3.
Algebra Booleana Capitolo 2.
Frontespizio Economia Monetaria Anno Accademico
La scelta del paniere preferito
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Cap. II. Funzioni Logiche
DISEGNO TECNICO INDUSTRIALE
Algebra di Boole.
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Ordini Parziali - Reticoli
EPA 01/02 VII /1 Relazioni spaziali tra i prezzi Lo spazio: produzione e consumo non avvengono nello stesso punto il prodotto deve essere spostato, con.
Analisi e sintesi di circuiti combinatori
Algebra di Boole ed elementi di logica
Algebra di Boole ed elementi di logica
Algoritmo di Ford-Fulkerson
Scuola Primaria “A.Mantegna “ – Padova -
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Alcune definizioniAlcune definizioni Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo.
A.S.E.12.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 12 Teorema di SHENNONTeorema di SHENNON Implicanti, Inclusivi, Implicanti PrincipaliImplicanti,
Corso di Informatica (Programmazione)
IFTS2002 Acq. Dati Remoti: INFORMATICA
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Reti Combinatorie: sintesi
L'algebra di Boole e le sue applicazioni
Indice: L’algebra di Boole Applicazione dell’algebra di Boole
Strutture di controllo in C -- Flow Chart --
Lezione 4 Probabilità.
Prima e Seconda Forma Canonica
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
3/29/2017 Minimizzazione.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
HAUFBAU.
TRASFORMATA DI FOURIER
Teoria dei sistemi Autore: LUCA ORRU'.
FONDAMENTI DI INFORMATICA
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Algebra di Boole.
Algebra di Boole.
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Rappresentazione dell'informazione
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
Sintesi Reti Combinatorie
Somma binaria, or logico, and logico ALU A B F C S0S0 S1S1.
Reti Logiche A Lezione 2.1 Sintesi di reti combinatorie a due livelli
La tabella delle verità è un modo per rappresentare il comportamento di una funzione combinatoria La tabella delle verità ha due tipi di colonne: colonne.
Esercizio n o 3 Si realizzi una calcolatrice a 32 bit con interfaccia “normale” (decimale) con LabView, utilizzando SOLAMENTE: –convertitore decimale (input)
Transcript della presentazione:

Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni

Algebra Booleana: funzioni logiche di base OR (somma): l’uscita è 1 se almeno uno degli ingressi è 1 A B (A + B) 0 0 0 0 1 1 1 0 1 1 1 1 AND (prodotto): l’uscita è 1 se tutti gli ingressi sono 1 A B (A · B) 0 1 0 1 0 0

Algebra Booleana: funzioni logiche di base NOT (complemento): l’uscita è il complemento dell’ingresso A ~A 0 1 1 0 NAND A B ~(A · B) NOR A B ~(A + B) 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0

Algebra booleana: equazioni Come si dimostra che due funzioni logiche sono uguali? Ci sono due metodi: Costruire la tabella di verità delle due funzioni e verificare che, per gli stessi valori dei segnali di ingresso, siano prodotti gli stessi valori dei segnali di uscita Sfruttare le proprietà dell’algebra booleana per ricavare una funzione dall’altra (tramite sequenze di equazioni)

Algebra booleana: equazioni Come si dimostra che due funzioni logiche sono uguali? Esempio: considerare le leggi di De Morgan ~(A•B) = (~A) + (~B) A B (A·B) ~(A·B) ~A ~B (~A)+(~B) 0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0

Algebra booleana: equazioni Come si dimostra che due funzioni logiche sono uguali? Esempio: considerare le leggi di De Morgan ~(A+B) = (~A) • (~B) ~A~B = ~A~B + 0 = ~A~B + [~(A+B) · (A+B)] = [~A~B + ~(A+B)] · [~A~B + (A+B)] = [~A~B + ~(A+B)] · [(~A + A) · (~B + A) + B] = [~A~B + ~(A+B)] · [ ~B + A + B] = (~A~B) + ~(A+B) ~A~B = ~A~B · 1 = ~A~B · [~(A+B) + (A+B)] = (~A~B) · ~(A+B) + (~A~B) · (A+B) = (~A~B) · ~(A+B) + [~A~B A + ~A~B B] =(~A~B) · ~(A+B) ~A~B = ~A~B + ~(A+B) = ((~A~B)· ~(A+B) ) + ~(A+B) = ~(A+B) · [ (~A~B) + 1 ] = ~(A+B)

Realizzazione di circuiti combinatori Esercizio: Dati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veri F è vera se tutti e tre gli input sono veri Intuitivamente le equazioni sono: D = A + B + C F = ABC E = ( AB + BC + AC) · ~(ABC)

Realizzazione di circuiti combinatori Esercizio: Dati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veri F è vera se tutti e tre gli input sono veri A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 Tabella di verità

Realizzazione di circuiti combinatori Esercizio: Dati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veri F è vera se tutti e tre gli input sono veri A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 Prodotti di somme (PS): D = A+B+C

Realizzazione di circuiti combinatori Esercizio: Dati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veri F è vera se tutti e tre gli input sono veri A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 Prodotti di somme (PS): D = A+B+C E = (A+B+C) (A+B+~C) (A+~B+C) (~A+B+C) (~A+~B+~C)

Realizzazione di circuiti combinatori Esercizio: Dati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veri F è vera se tutti e tre gli input sono veri Prodotti di somme (PS): D = A+B+C E = (A+B+C) (A+B+~C) (A+~B+C) (~A+B+C) (~A+~B+~C) F = (A+B+C) (A+B+~C) (A+~B+C) (A+~B+~C)(~A+B+C) (~A+B+~C)(~A+~B+C) A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1

Realizzazione di circuiti combinatori Esercizio: Dati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veri F è vera se tutti e tre gli input sono veri A B C D E F Somme di Prodotti (SP): 0 0 0 0 0 0 D = (~A~BC)+(~AB~C)+(~ABC)+ 0 0 1 1 0 0 (A~B~C)+(A~BC)+(AB~C)+(ABC) 0 1 0 1 0 0 0 1 1 1 1 0 E = (~ABC)+(A~BC)+(AB~C) 1 0 0 1 0 0 1 0 1 1 1 0 F = ABC 1 1 0 1 1 0 1 1 1 1 0 1

Realizzazione di circuiti combinatori Esercizio: Minimizzare la funzione D dell’esercizio precedente D = (~A~BC)+(~AB~C)+(~ABC)+ (A~B~C)+(A~BC)+(AB~C)+(ABC)

Realizzazione di circuiti combinatori Esercizio: Minimizzare la funzione D dell’esercizio precedente D = (~A~BC)+(~AB~C)+(~ABC)+ (A~B~C)+(A~BC)+(AB~C)+(ABC) Si può considerare un rettangolo più grande di quello a sinistra, che include anche quello selezionato

Realizzazione di circuiti combinatori Esercizio: Minimizzare la funzione D dell’esercizio precedente D = (~A~BC)+(~AB~C)+(~ABC)+ (A~B~C)+(A~BC)+(AB~C)+(ABC)

Realizzazione di circuiti combinatori Esercizio: Minimizzare la funzione D dell’esercizio precedente D = (~A~BC)+(~AB~C)+(~ABC)+ (A~B~C)+(A~BC)+(AB~C)+(ABC) Errore! si deve raccogliere un p-sottocubo (rettangolo di celle adiacenti) di 2p celle

Realizzazione di circuiti combinatori Esercizio: Minimizzare la funzione D dell’esercizio precedente D = (~A~BC)+(~AB~C)+(~ABC)+ (A~B~C)+(A~BC)+(AB~C)+(ABC) D = A + B + C

Realizzazione di circuiti combinatori Esercizio: Minimizzare la funzione E dell’esercizio precedente E = (~ABC)+(A~BC)+(AB~C) E = (~ABC)+(A~BC)+(AB~C)

Realizzazione di circuiti combinatori Esercizio: Realizzare il circuito precedente (riportato qui in figura) nei seguenti casi: 1. utilizzando porte AND e OR a due ingressi 2. utilizzando porte NAND a tre ingressi

Realizzazione di circuiti combinatori Esercizio: (continua) Realizzazione utilizzando porte AND e OR a due ingressi

Realizzazione di circuiti combinatori Esercizio: (continua) Realizzazione utilizzando porte NAND a tre ingressi E = (~ABC)+(A~BC)+(AB~C) = [applico De Morgan] ~[ ~(~ABC) • ~(A~BC) • ~(AB~C)]

Realizzazione di circuiti combinatori Esercizio: Minimizzare la funzione F dell’esercizio precedente espressa come prodotto di somme (PS) F = (A+B+C) (A+B+~C) (A+~B+C) (A+~B+~C)(~A+B+C) (~A+B+~C)(~A+~B+C) F = B • A • C p-sottocubi composti da zeri. Per ottenere le varie somme (PS), in ogni somma devono apparire solo le variabili che rimangono invariate in ogni p-sottocubo. Le variabili sono negate sono quelle valori uguali ad 1.

Realizzazione di circuiti combinatori Esercizio: Dati quattro ingressi A, B, C, D realizzare un circuito che fornisca in uscita il segnale E definito come segue: il valore di E è indifferente se gli ingressi sono tutti 0 o tutti 1 E è 1 se gli ingressi contengono un numero dispari di 1 E è 0 se gli ingressi contengono un numero pari di 1 A B C D E 0 0 0 0 X 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 X Tabella di verità

Realizzazione di circuiti combinatori A B C D E 0 0 0 0 X 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 X Mappa di Karnaugh Tabella di verità

Realizzazione di circuiti combinatori Realizzare il circuito usando porte AND e OR a due soli ingressi E = ~A~B~C + ~A~C~D + ~B~C~D + ~A~B~D + BCD + ABC + ABD + BCD

Sintesi di funzioni logiche Algoritmo di Quine McCluskey Le mappe di Karnaugh servono per la minimizzazione “a mano” delle funzioni (fini a 5 variabili) L’algoritmo di Quine McCluskey serve per sintetizzare funzioni logiche minime in maniera “automatica”

Sintesi di funzioni logiche: Algoritmo di Quine McCluskey Considerare la funzione logica rappresentata dalla tabella di verità seguente: A B C D E 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 --> 5 0 1 1 0 1 --> 6 0 1 1 1 1 --> 7 1 0 0 0 1 --> 8 1 0 0 1 1 --> 9 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 --> 12 1 1 0 1 1 --> 13 1 1 1 0 1 --> 14 1 1 1 1 0

Sintesi di funzioni logiche: Algoritmo di Quine McCluskey Prima fase: riportare le combinazioni che danno uscita “1” in tabella, suddividendole rispetto al PESO, cioè al numero di “1” presenti in ciascuna combinazione. A B C D 8 1 0 0 0 ----------- 5 0 1 0 1 6 0 1 1 0 9 1 0 0 1 12 1 1 0 0 7 0 1 1 1 13 1 1 0 1 14 1 1 1 0

Sintesi di funzioni logiche: Algoritmo di Quine McCluskey Prima fase: Confrontare poi le configurazioni di una sezione con tutte le combinazioni della sezione successiva. Individuiamo così eventuali coppie con distanza di Hamming uguale a 1 Nella nuova tabella, i bit differenti tra ogni coppia diventano DON’T CARE A B C D A B C D 8 1 0 0 0  8/9 1 0 0 _ ----------- 8/12 1 _ 0 0 5 0 1 0 1  -------------- 6 0 1 1 0  5/7 0 1 _ 1 9 1 0 0 1  5/13 _ 1 0 1 12 1 1 0 0  6/7 0 1 1 _ ----------- 6/14 _ 1 1 0 7 0 1 1 1  9/13 1 _ 0 1 13 1 1 0 1  12/13 1 1 0 _ 14 1 1 1 0  12/14 1 1 _ 0

Sintesi di funzioni logiche: Algoritmo di Quine McCluskey Prima fase: Iteriamo il procedimento sulle nuove tabelle, fino a quando non è più possibile individuare coppie di righe con distanza di Hamming uguale ad 1. A B C D A B C D A B C D 8 1 0 0 0  8/9 1 0 0 _  8/9/12/13 1 _ 0 _ ----------- 8/12 1 _ 0 0  5 0 1 0 1  -------------- 6 0 1 1 0  5/7 0 1 _ 1 9 1 0 0 1  5/13 _ 1 0 1 12 1 1 0 0  6/7 0 1 1 _ ----------- 6/14 _ 1 1 0 7 0 1 1 1  9/13 1 _ 0 1  13 1 1 0 1  12/13 1 1 0 _  14 1 1 1 0  12/14 1 1 _ 0 E = A~C + ~ABD + B~CD + ~ABC + BC~D + AB~D Solo le righe non flagged concorrono a determinare l’equazione

Sintesi di funzioni logiche: Algoritmo di Quine McCluskey Applichiamo le mappe di Karnaugh. E = A~C + ~ABD + B~CD + ~ABC + BC~D + AB~D Nell’equazione di sopra abbiamo quindi alcuni p-sottocubi ridondanti !! AB CD 00 01 11 10 00 1 1 01 1 1 1 11 1 10 1 1

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey Seconda fase: Costruzione della tabella di copertura 5 6 7 8 9 12 13 14 A~C X X X X ~ABD X X B~CD X X ~ABC X X BC~D X X AB~D X X Le colonne 8 e 9 si possono “coprire” solo usando A~C, che quindi diventa un termine indispensabile

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey Seconda fase: costruzione della tabella di copertura 5 6 7 8 9 12 13 14 A~C X X X X ~ABD X X B~CD X X ~ABC X X BC~D X X AB~D X X

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey Seconda fase: costruzione della tabella di copertura 5 6 7 8 9 12 13 14 A~C X X X X ~ABD X X B~CD X X ~ABC X X BC~D X X AB~D X X A~C copre le colonne 8 e 9, ma anche le colonne 12 e 13

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey Seconda fase: costruzione della tabella di copertura 5 6 7 8 9 12 13 14 A~C X X X X ~ABD X X B~CD X X ~ABC X X BC~D X X AB~D X X 5 6 7 14 B~CD X BC~D X X AB~D X

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey Seconda fase: costruzione della tabella di copertura 5 6 7 14 ~ABD X X le righe relative a B~CD e AB~D sono B~CD X dominate dalle righe relative a ~ABD e ~ABC X X BC~D, rispettivamente BC~D X X AB~D X

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey Seconda fase: costruzione della tabella di copertura 5 6 7 8 9 12 13 14 A~C X X X X ~ABD X X B~CD X X ~ABC X X BC~D X X AB~D X X 5 6 7 14 5 6 7 14 ~ABD X X ~ABD X X B~CD X ~ABC X X ~ABC X X BC~D X X BC~D X X AB~D X Le colonne 5 e 14 si possono rispettivamente “coprire” solo usando ~ABD e BC~D Quindi entrambi diventano termini indispensabili

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey Seconda fase: costruzione della tabella di copertura 5 6 7 8 9 12 13 14 A~C X X X X ~ABD X X B~CD X X ~ABC X X BC~D X X AB~D X X 5 6 7 14 5 6 7 14 ~ABD X X ~ABD X X B~CD X ~ABC X X ~ABC X X BC~D X X BC~D X X AB~D X E = A~C + ~ABD + BC~D