Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta...

38
Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni

Transcript of Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta...

Page 1: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 1

Esercitazioni sucircuiti combinatori

Salvatore Orlando&

Marta Simeoni

Page 2: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 2

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 0 0 0 1 0 1 0 0 1 1 1

Page 3: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 3

Algebra Booleana: funzioni logiche di baseNOT (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

Page 4: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 4

Algebra booleana: equazioniCome 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)

Page 5: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 5

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 10 1 0 1 1 0 11 0 0 1 0 1 11 1 1 0 0 0 0

Page 6: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 6

Algebra booleana: equazioniCome si dimostra che due funzioni logiche sono uguali?

Esempio: considerare le leggi di De Morgan

(A+B) = (A) • (B)

AB = AB + 0 = AB + [(A+B) · (A+B)] = [AB + (A+B)] · [AB + (A+B)] = [AB + (A+B)] · [(A + A) · (B + A) + B] = [AB + (A+B)] · [ B + A + B] = (AB) + (A+B)AB = AB · 1 = AB · [(A+B) + (A+B)] = (AB) · (A+B) + (AB) · (A+B) = (AB) · (A+B) + [AB A + AB B] =(AB) · (A+B)AB = AB + (A+B) = ((AB)· (A+B) ) + (A+B) = (A+B) · [ (AB) + 1 ] = (A+B)

Page 7: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 7

Realizzazione di circuiti combinatori

Esercizio: Dati tre ingressi A, B, C realizzare un circuito chefornisca in uscita tre segnali

D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veriF è vera se tutti e tre gli input sono veri

Intuitivamente le equazioni sono:D = A + B + CF = ABCE = ( AB + BC + AC) · (ABC)

Page 8: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 8

Realizzazione di circuiti combinatoriEsercizio: Dati tre ingressi A, B, C realizzare un circuito chefornisca in uscita tre segnali

D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veriF è 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 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1

Tabella di verità

Page 9: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 9

Realizzazione di circuiti combinatoriEsercizio: Dati tre ingressi A, B, C realizzare un circuito chefornisca in uscita tre segnali

D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veriF è 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 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1

Prodotti di somme (PS):

D = A+B+C

Page 10: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 10

Realizzazione di circuiti combinatoriEsercizio: Dati tre ingressi A, B, C realizzare un circuito chefornisca in uscita tre segnali

D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veriF è 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 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 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)

Page 11: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 11

Realizzazione di circuiti combinatoriEsercizio: Dati tre ingressi A, B, C realizzare un circuito chefornisca in uscita tre segnali

D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veriF è 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 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 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)

F = (A+B+C) (A+B+C) (A+B+C) (A+B+C)(A+B+C) (A+B+C)(A+B+C)

Page 12: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 12

Realizzazione di circuiti combinatoriEsercizio: Dati tre ingressi A, B, C realizzare un circuito chefornisca in uscita tre segnali

D è vera se almeno uno degli ingressi è vero E è vera se esattamente due input sono veriF è 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 = (ABC)+(ABC)+(ABC)+0 0 1 1 0 0 (ABC)+(ABC)+(ABC)+(ABC)0 1 0 1 0 0 0 1 1 1 1 0 E = (ABC)+(ABC)+(ABC) 1 0 0 1 0 01 0 1 1 1 0 F = ABC1 1 0 1 1 0 1 1 1 1 0 1

Page 13: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 13

Realizzazione di circuiti combinatori

Esercizio: Minimizzare la funzione D dell’esercizio precedente

D = (ABC)+(ABC)+(ABC)+ (A~BC)+(ABC)+(ABC)+(ABC)

Page 14: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 14

Realizzazione di circuiti combinatori

Esercizio: Minimizzare la funzione D dell’esercizio precedente

D = (ABC)+(ABC)+(ABC)+ (A~BC)+(ABC)+(ABC)+(ABC)

Si può considerare un rettangolo più grande di quello a sinistra,che include anche quello selezionato

Page 15: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 15

Realizzazione di circuiti combinatori

Esercizio: Minimizzare la funzione D dell’esercizio precedente

D = (ABC)+(ABC)+(ABC)+ (A~BC)+(ABC)+(ABC)+(ABC)

Page 16: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 16

Realizzazione di circuiti combinatori

Esercizio: Minimizzare la funzione D dell’esercizio precedente

D = (ABC)+(ABC)+(ABC)+ (A~BC)+(ABC)+(ABC)+(ABC)

Errore!si deve raccogliere un p-sottocubo (rettangolo di celle adiacenti)di 2p celle

Page 17: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 17

Realizzazione di circuiti combinatori

Esercizio: Minimizzare la funzione D dell’esercizio precedente D = (ABC)+(ABC)+(ABC)+ (A~BC)+(ABC)+(ABC)+(ABC)

D = A + B + C

Page 18: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 18

Realizzazione di circuiti combinatori

Esercizio: Minimizzare la funzione E dell’esercizio precedente

E = (ABC)+(ABC)+(ABC)

E = (ABC)+(ABC)+(ABC)

Page 19: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 19

Realizzazione di circuiti combinatori

Esercizio: Realizzare il circuito precedente (riportatoqui in figura) nei seguenti casi: 1. utilizzando porte AND e OR a due ingressi

2. utilizzando porte NAND a tre ingressi

Page 20: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 20

Realizzazione di circuiti combinatori

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

Page 21: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 21

Realizzazione di circuiti combinatori

Esercizio: (continua)Realizzazione utilizzando porte NAND a tre ingressi

E = (ABC)+(ABC)+(ABC) = [applico De Morgan][ (ABC) • (ABC) • (ABC)]

Page 22: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 22

Realizzazione di circuiti combinatoriEsercizio: Minimizzare la funzione F dell’esercizio precedenteespressa 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.

Page 23: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 23

Realizzazione di circuiti combinatoriEsercizio: 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 10 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 01 0 1 1 11 1 0 0 01 1 0 1 11 1 1 0 11 1 1 1 X

Tabella di verità

Page 24: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 24

Realizzazione di circuiti combinatori

A B C D E 0 0 0 0 X 0 0 0 1 10 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 01 0 1 1 11 1 0 0 01 1 0 1 11 1 1 0 11 1 1 1 X

Tabella di veritàMappa di Karnaugh

Page 25: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 25

Realizzazione di circuiti combinatori

E = ABC + ACD + BCD + ABD + BCD + ABC + ABD + BCD

Realizzare il circuito usando porte AND e OR a due soliingressi

Page 26: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 26

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”

Page 27: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 27

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 00 0 1 0 0 0 0 1 1 00 1 0 0 0 0 1 0 1 1 --> 50 1 1 0 1 --> 60 1 1 1 1 --> 71 0 0 0 1 --> 81 0 0 1 1 --> 91 0 1 0 01 0 1 1 01 1 0 0 1 --> 12 1 1 0 1 1 --> 13 1 1 1 0 1 --> 14 1 1 1 1 0

Page 28: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 28

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

Page 29: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 29

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 1Nella 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 _ 19 1 0 0 1 5/13 _ 1 0 112 1 1 0 0 6/7 0 1 1 _ ----------- 6/14 _ 1 1 07 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

Page 30: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 30

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 D8 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 _ 19 1 0 0 1 5/13 _ 1 0 112 1 1 0 0 6/7 0 1 1 _ ----------- 6/14 _ 1 1 07 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 = AC + ABD + BCD + ABC + BCD + ABD

Solo le righe non flagged concorrono a determinare l’equazione

Page 31: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 31

Sintesi di funzioni logiche: Algoritmo di Quine McCluskey

Applichiamo le mappe di Karnaugh.

E = AC + ABD + BCD + ABC + BCD + ABD

Nell’equazione di sopra abbiamo quindi alcuni p-sottocubi ridondanti !!

AB

CD 00 01 11 10

1 1 1

1

1 1

1 100

01

11

10

Page 32: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 32

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey

Seconda fase: Costruzione della tabella di copertura

5 6 7 8 9 12 13 14

AC X X X X ABD X X BCD X X ABC X XBCD X X ABD X X

Le colonne 8 e 9 si possono “coprire” solo usando AC, che quindidiventa un termine indispensabile

Page 33: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 33

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey

Seconda fase: costruzione della tabella di copertura

5 6 7 8 9 12 13 14

AC X X X X ABD X X BCD X X ABC X XBCD X X ABD X X

Page 34: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 34

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey

Seconda fase: costruzione della tabella di copertura

5 6 7 8 9 12 13 14

AC X X X X ABD X X BCD X X ABC X XBCD X X ABD X X

AC copre le colonne 8 e 9, ma anche le colonne 12 e 13

Page 35: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 35

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey

Seconda fase: costruzione della tabella di copertura

5 6 7 8 9 12 13 14

AC X X X X ABD X X BCD X X ABC X XBCD X X ABD X X

5 6 7 14 ABD X X BCD X ABC X X BCD X X ABD X

Page 36: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 36

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 BCD e ABD sono BCD X dominate dalle righe relative a ABD e ABC X X BCD, rispettivamente BCD X X ABD X

Page 37: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 37

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey

Seconda fase: costruzione della tabella di copertura

5 6 7 8 9 12 13 14

AC X X X X ABD X X BCD X X ABC X XBCD X X ABD X X

5 6 7 14 5 6 7 14 ABD X X ABD X X BCD X ABC X X ABC X X BCD X XBCD X X ABD X

Le colonne 5 e 14 si possono rispettivamente“coprire” solo usando ABD e BCD Quindi entrambi diventano termini indispensabili

Page 38: Arch. Elab. - S. Orlando - 1 Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni.

Arch. Elab. - S. Orlando - 38

Sintesi di funzioni logiche: Algoritmo di Quine-McCluskey

Seconda fase: costruzione della tabella di copertura

5 6 7 8 9 12 13 14

AC X X X X ABD X X BCD X X ABC X XBCD X X ABD X X

5 6 7 14 5 6 7 14 ABD X X ABD X X BCD X ABC X X ABC X X BCD X XBCD X X ABD X

E = AC + ABD + BCD