1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori...

64
1 . Funzioni logiche binarie . Operatori logici elementari AND, OR, . Operatori logici universali NAND, NOR . Mappe di Karnaugh . Progetto logico pi ed Esercizi ndice Cap. II. Funzioni Logiche .- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2

Transcript of 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori...

Page 1: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

1

II.1. Funzioni logiche binarie

II.2. Operatori logici elementari AND, OR, NOT

II.3. Operatori logici universali NAND, NOR

II.4. Mappe di Karnaugh

II.5. Progetto logico

Esempi ed Esercizi

Appendice

Cap. II. Funzioni Logiche

G.- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2.

Page 2: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

2

II.1. Funzioni logiche binarie

Le cifre binarie 0 e 1 possono venire associate a operazioni logiche1 vero 0 falso (logica positiva)

Funzione logica binaria: ,....),,( CBAFF il valore F dipende da un insieme ordinato di variabili binarie A,B,C,..dove A, B, C, … possono assumere i valori 0 od 1.

Ad n variabili binarie corrispondono 2n possibili combinazioni per F

La funzione logica F è rappresentabile tramite la Tabella della Verità:ad ogni possibile combinazione dei valori 0 ed 1 delle variabili binarie

indipendenti di ingresso viene associato il valore binario dipendentedella funzione F di uscita.

In alternativa, la funzione logica F è rappresentabile mediante una espressione contenente le variabili e le operazioni primitive di somma logica, prodotto logico e complementazione.

Page 3: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

3

Esempio 1: rappresentare la tabella della verità della funzione logica F=F(A,B) che assume valore 1 (vero)solo quando A=B

n=2 variabili binarie22=4 combinazioni

Soluzione:A

FB

0

10

0

01

1

00

1

11

Esempio 2: rappresentare la tabella della verità della funzione logica F=F(A,B,C) che assume valore 1 (vero)solo quando A=B e BC

n=3 variabili binarie23=8 combinazioni

Soluzione: AB

FC

00

00

00

11

01

00

10

00

01

01

10

01

11

10

11

01

Page 4: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

4Funzioni incomplete o non completamente specificate Il valore dell’uscita non risulta definito per alcune configurazioni di ingresso. Ciò può accadere per due diversi motivi:

1) Il codice di ingresso alla rete non impiega tutte le configurazioni disponibili.

2) Particolari valori di alcune variabili tolgono ogni significato ai valori contemporanemente presenti in uscita.

Le funzioni incomplete possono essere rappresentate da Tabelle della Verità ricorrendo all’impiego di un nuovo simbolo (-) per le condizioni di indifferenza.

EsempioAB

FC

00

00

00

-1

01

00

10

00

01

-1

10

-1

11

10

11

-1

Page 5: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

5

Funzioni logiche binarie• esprimibili tramite Tabella della Verità• sintetizzabili tramite operatori logici elementari, OR, AND e NOT, traducibili in circuiti elettronici digitali (porte logiche) immediatamente realizzabili in forma integrata.

II.2. Operatori logici elementari

Esistono quattro diverse funzioni di una variabile binaria

u1 = 0, u4 = 1 costantii u1 u2 u3 u4

0 0 0 1 1

1 0 1 0 1

i u2

Buffer

Page 6: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

6Operatore logico NOT (invertitore)convenzionalmente rappresentato dal simbolo di figurasvolge la funzione logica evidenziata dalla tabella

A A

A A

0 1

1 0NOT

Tabella della Verità(Truth Table)

Significato logico:

Se A è vero, A è falso

X= complemento di X o X negato

Page 7: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

7

Esistono sedici diverse funzioni di due variabili binarie

i1 i2 u5 u6 u7 u8 u9 u10 u11 u12 u13 u14 u15 u16 u17 u18 u19 u20

0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

AND OR NOR NAND

XOR SAME

Page 8: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

8Operatore logico OR (somma logica)convenzionalmente rappresentato dal simbolo di figurasvolge la funzione logica evidenziata dalla tabella

A

BA+B A B A+B

0 0 00 1 11 0 11 1 1

OR

Tabella della Verità(Truth Table)Significato logico:

Se o A o B o entrambi sono veri, anche A+B è vero

Page 9: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

9Operatore logico AND (prodotto logico)convenzionalmente rappresentato dal simbolo di figurasvolge la funzione logica evidenziata dalla tabella

A A·B

A B

0 0 0

0 1 01 0 01 1 1

AND

Tabella della VeritàTruth Table

Significato logico:

Se e A e B sono veri, anche A·B è vero

B

A·B

Page 10: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

10Leggi elementari della logica binaria

1) 0 + X = X2) 1 + X = 13) X + X = X4) X + X = 1

5) 0·X = 0

6) 1·X = X

7) X·X = 0

8) X·X = X

9) X = X

10) X + Y = Y + X11) X·Y = Y·X

12) X + (Y + Z) = (X + Y) + Z13) X·(Y·Z) = (X·Y)·Z

14) X·(Y + Z) = (X·Y) + (X·Z)

15) X + X·Y = X

16) X·(X + Y) = X

17) (X + Y)·(X + Z) = X + Y·Z

18) X + X·Y = X + Y

19) X·Y + Y·Z + X·Z = X·Y + X·Z

proprietà commutativa

proprietà associativa

proprietà distributiva

identitàausiliarie

• Dimostrabili mediante ragionamento deduttivo• Consentono di semplificare le funzioni logiche complesse

Postulati

Page 11: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

11Esempio 1: semplificare la seguente funzione logica

DCADCBDBADBAF Soluzione:

regola 14regola 4regola 14regole 14 e 18regola 14regola 14 regole 2 e 6

Funzione logica binaria in forma minima

N.B. La minimizzazione della funzione logica binaria ne consente la sintesi con un numero minimo di operatori logici fondamentali.

Page 12: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

12Leggi di De Morgana) prima legge di De Morgan

(X+Y) = X·Y

b) seconda legge di De Morgan

(X·Y) = X + Y

Ne consegue che una qualsiasi funzione logica può essere implementata utilizzando:o sole porte logiche OR e NOTo sole porte logiche AND e NOTLa scelta ottimale dipende dalla tecnologia con cui vengono integrate le porte logiche elementari

Page 13: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

13Dimostrazione prima legge di De Morgan:

X Y X+Y0 0 00 1 11 0 11 1 1

X+Y

1000

Z = X + Y; Z = X + Y = X · Y ?

X + Y + X · Y = X + Y + X = 1 + Y = 1

(X + Y) · (X · Y) = X · X · Y + Y · Y · X = 0

Z + Z = 1

Z · Z = 0

Dimostriamo che soddisfa le due proprieta’del complemento:

X · Y

1000

X Y1 11 00 10 0

Oppure:

Page 14: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

14

Una qualsiasi funzione logica binariadi cui sia nota la Tabella della verità, può essere espressa da:

a) somma di prodotti delle variabili binarie di ingresso

b) prodotto di somme delle variabili binarie di ingresso

,....),,( CBAFF

Tali espressioni costituiscono le cosidette Forme canoniche della funzione

Forme canoniche

Page 15: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

15

Esempio 1: esprimere come somma di prodotti fondamentali la funzione logica a tre variabili binarie definita dalla Tabella della Verità:

CBACBACBACBAF ········

AB

FC

00

00

00

11

01

10

10

10

01

01

10

01

11

10

11

01

Si considerino le sole combinazioni delle variabili binarie di ingresso corrispondenti ad una uscita F di valore 1, e per queste sole si scrivano i prodotti delle variabili (se 1) o dei loro negati (se 0).

Forma canonica della funzione logica definita dalla tabella della verità.

a) somma di prodotti

Page 16: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

16

Esempio 2: esprimere come prodotto di somme fondamentali la funzione logica a tre variabili binarie definita dalla Tabella della Verità:

AB

FC

00

00

00

11

01

10

10

00

01

11

10

11

11

10

11

01

Si considerino le sole combinazioni delle variabili binarie di ingressocorrispondenti ad una uscita F di valore 0, e per queste sole si scrivano le somme delle variabili (se 0) o dei loro negati (se 1).

b) prodotto di somme

Forma canonica della funzione logica definita dalla tabella della verità

CBACBACBAF

Page 17: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

17

II.3 Operatori logici universali

NAND = AND negato = AND con NOT in cascata

Altri operatori di conveniente impiego:

Tutti disponibili in forma integrata (Porte logiche)

NOR = OR negato = OR con NOT in cascata

XOR OR esclusivo

SAME OR esclusivo negato

Page 18: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

18Operatore logico NOR(somma logica complementare o negata)convenzionalmente rappresentato dal simbolo di figura svolge la somma logica negata delle variabili binarie evidenziata dalla tabella

B

AA+B

A B

0 0 10 1 01 0 01 1 0

A+B

Equivalente a:

NOTB

AA+B

NOR

OR

Page 19: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

19Operatore logico NAND (prodotto logico complementare o negato)convenzionalmente rappresentato dal simbolo di figura svolge il prodotto logico negato delle variabili binarie evidenziato dalla tabella

NANDB

AA·B

A B

0 0 10 1 11 0 11 1 0

A·B

Equivalente a:

AND NOTB

AA·B

Page 20: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

20NAND e NOR sono operatori logici universaliUna qualsiasi funzione logica F(A,B,C,…) è implementabile tramite opportune combinazioni:

• o di soli operatori logici NAND

• o di soli operatori logici NOR

Dimostrazione:Tramite soli operatori logici NAND (o analogamente NOR) è possibile implementare i tre operatori logici fondamentaliAND, OR, NOT

Segue verifica per gli operatori NAND. Analoga procedura si applica per gli operatori NOR

Page 21: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

21

Esempio 1: implementare l’operatore NOT mediante operatori NAND

A B=A

0 0 01 1 0

A·B

1

A·B

soluzione

NANDB=A

AA·A=A

1

Tabella della Verità

Page 22: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

22

A B

0 0 10 1 11 0 11 1 0

A·B

0001

A·B

Esempio 2: implementare l’operatore AND mediante operatori NAND

Soluzione

NAND A·B

Tabella della Verità

NANDA

BA·B

Page 23: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

23

A B0 0 10 1 01 0 01 1 0

A·B0111

A+B

Esempio 3: implementare l’operatore OR mediante operatori NAND Soluzione

A·B= A+B

Tabella della Verità

NAND

A

BB

A

0111

A·B

De MorganNAND

NAND

Page 24: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

24

Sintesi a NAND ( )

A partire da un’espressione del tipo somme di prodotti (SP) oppure somme di prodotti di somme (SPS), ecc.:1) inserire tutte le parentesi sottintese dalla espressione SP (priorità al prodotto logico);2) complementare tutte le variabili che risultano direttamente operate dal simbolo di somma logica;3) sostituire tutti i simboli + e · con

Esempio (SP) :

F = a + b · c

= (a + (b · c) )

( a + (b · c) )

= ( a (b c) )

Caso particolare F = b · c

F = b c = b · c + 0

= ((b · c) + 0 )

( (b · c) + 1)

= ( (b c) 1)

Page 25: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

25

Sintesi a NOR ( )

A partire da un’espressione del tipo prodotti di somme (PS) oppure prodotti di somme di prodotti (PSP), ecc.:1) inserire tutte le parentesi sottintese dalla espressione PS; 2) complementare tutte le variabili che risultano direttamente operate dal simbolo di prodotto logico;3) sostituire tutti i simboli + e · con

Esempio (PSP):

F= c · (a + d ) · (a + c · d)

= c · (a + d ) · (a + ( c · d )) c · (a + d ) · (a + ( c · d ))

= c (a d ) (a ( c d ))

Caso particolare F = b + c

F = b c = (b + c) · 1

= ((b + c) · 1 )

( (b + c) · 0)

= ( (b c) 0)

Page 26: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

26Operatore logico XOR (Exclusive OR) convenzionalmente rappresentato dal simbolo di figuraconfronta le variabili in ingresso e fornisce uscita 1 solo quando gliingressi sono fra loro differenti

B

A A B0 0 00 1 11 0 1

1 0

XOR

1

Significato logico:

Se o A o B (non entrambi!) sono veri, anche F è vero

Funzione logica XOR

BAF

BA BA

Page 27: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

27Operatore logico SAME (Exclusive OR negato) convenzionalmente rappresentato dal simbolo di figuraconfronta le variabili in ingresso e fornisce uscita 1 solo quando gliingressi sono fra loro uguali

B

A A B

0 0 10 1 01 0 0

1 1

SAME

1

Significato logico:

Se entrambi A e B sono o veri o falsi, anche F è vero

Funzione logica SAME

FSAME

Page 28: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

28

II.4. Mappe di KarnaughMetodo alternativo di rappresentazione delle funzioni logiche binarieFunzione logica binaria: ,....),,( CBAFF

Alle n variabili binarie di ingresso A, B, C,… corrispondono 2n possibili combinazioni (minterms) per F

B A B

A·B

A·B

A·B

A

B

A

C

A B C

A B C

A B

C A B C

A B C

A B C

A B C

A B A BA B

A B C

A B C

Esempio: n=2 (22=4 minterms)

Esempio: n=3 (23=8 minterms)

Page 29: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

29

A B C D

A B C D

A B

C D A B C D

A B C D

A B C D

A B C D

A B A BA B

A B C D

A B C D

Esempio: n=4 (24=16 minterms)

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

C D

C D

C D

N.B. La sequenza delle variabili di ingresso in caselle adiacenti si diversifica sempre per un solo bit.

Per n>4 introduco un’adiacenza nella terza dimensione …

Page 30: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

30

A B C D

A B C D

A B

C D A B C D

A B C D

A B C D

A B C D

A B A BA B

A B C D

A B C D

Esempio: n=5 (25=32 minterms)

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

C D

C D

C D

E

A B C D

A B C D

A B

C D A B C D

A B C D

A B C D

A B C D

A B A BA B

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

A B C D

C D

C D

C D

E

Page 31: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

31

ABCD

A B

C D

A B A BA B

Esempio: n=6 (26=64 minterms)

C D

C D

C D

E F

ABCD ABCD ABCD

ABCD

ABCD

ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

ABCD

A B A B A BA B

E F

ABCD ABCD ABCD

ABCD

ABCD

ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

ABCD

A B

C D

A B A BA B

C D

C D

C D

E F

ABCD ABCD ABCD

ABCD

ABCD

ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

ABCD

A B A B A BA B

E F

ABCD ABCD ABCD

ABCD

ABCD

ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

ABCD ABCD ABCD

Page 32: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

32

Rappresentazione della funzione logica binaria: ,....),,( CBAFF

AB

FC

00

00

00

11

01

10

01

01

10

10

10

01

11

10

11

01

Tabella della verità Mappa di Karnaugh

1

0

1

0 0

0 1

0

1

0

0 1 1 1 1 0

1

0

AB

In ognuna delle 2n caselle della Mappa di Karnaugh si riporta il valore assunto dalla funzione F corrispondente alla combinazione delle n variabili di ingresso relativa alla casella stessa (valore del mintermine).

C

CBACBACBACBAF

Page 33: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

33

Rete combinatoria di costo minimo

Criteri di ottimalitàUna R.C. si dice di costo minimo se soddisfa in ordine gerarchico i seguenti obiettivi:• minimo transitorio (massima velocità di elaborazione)• minimo numero di gates• minimo numero di interconnessioni tra i gates

La corrispondente espressione minima ha le seguenti proprietà:• è di tipo S.P. o P.S. (due stadi in cascata di AND/OR o OR/AND)• impiega il minimo numero di AND, OR, NOT• i prodotti e le somme elaborano il minimo numero di letterali (raggruppamenti di massima dimensione)

Page 34: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

34

Procedura di minimizzazione di funzioni logiche binarie rappresentate mediante mappa di Karnough

• Sintesi di F minima come somma di prodotti logici.

Procedura:a) raggruppare gli 1 contigui (in orizzontale o in verticale) in sottogruppi di 1, 2, 4, 8, …b) identificare il numero minimo di sottogruppi distinti, partendo dai sottogruppi maggiorib) con riferimento al sottogruppo: escludere le variabili binarie che cambiano considerare le sole variabili binarie che rimangono invariate come variabile stessa se 1, variabile negata se 0c) trascrivere il prodotto logico per ciascun sottogruppod) rappresentare la F come somma dei prodotti logici suddetti

Page 35: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

35

F = BC

Esempio 1

1

0

0

0 0

0 1

0

0

0

0 1 1 01 1

1

0

ABC

AB

FC

00

00

00

01

01

10

01

01

10

00

10

01

11

10

11

01

Tabella della verità Mappa di Karnaugh

Individuo il sottogruppo (1 sottogruppo da 2)individuo la variabile che cambia: Atrascrivo il prodotto delle variabili che rimangono invariate: BC

Funzione logica minima:

Procedura convenzionale: applico le regole della logica binaria CABCBAF Forma canonica:

CBAACBCABCBAF assendo: 1 AA

Page 36: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

36Esempio 2

1

1

0

0 0

0 0

0

1

0

0 1 1 01 1

0

0

ABC

Mappa di Karnaugh

Funzione logica minima:

CBF

Esempio 3

1

0

0

0 0

0 1

1

0

0

0 1 1 01 1

1

0

ABC

Mappa di Karnaugh

Funzione logica minima:

BABCF

due sottogruppi da 2 celle, di cui uno verticale ed uno orizzontale

N.B.: le celle al bordo orizzontale o verticale si considerano fra loro contigue

Page 37: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

37

0 1

1

1

0 0

0 0 1

1

0

1

0 1 1 01 1

0

0

ABCD

0

0

0

0

0

1

0

0

1 1

1 0

Esempio 4Mappa di Karnaugh

F= A C + B C D + A B C DFunzione logica minima:

1 sottogruppo da 4: CA

1 sottogruppo da 2:

1 sottogruppo da 1: DCBA

B C D

Page 38: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

38

0 1

1

1

0 0

0 0 1

1

-

-

0 1 1 01 1

0

-

ABCD

0

0

-

0

0

1

0

0

1 1

1 0

Esempio 5 (comprese condizioni indifferenza)Mappa di Karnaugh

F= A C + A B DFunzione logica minima:

1 sottogruppi da 4: A C

1 sottogruppo da 2: A B D

Page 39: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

39Mappe di Karnaugh con variabili riportate• Sono mappe che contengono variabili al loro interno e si possono ottenere come “compressione” di mappe ordinarie.• Possono essere considerate una forma intermedia tra l’espressione booleana e la mappa di una funzione logica.

1

X

0

0 0

0 -

0

1

0

0 1 1 01 1

0

Y

ABC

Esempio

Page 40: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

40

Procedura di sintesi di una mappa a variabili riportate

a) Si azzerano tutte le variabili riportate nella mappa e si esegue una normale sintesi degli 1 contigui

b) Si pongono uguali ad indifferenza gli 1 appena sintetizzati e si sceglie poi una variabile ponendola uguale a 1 lasciando le rimanenti a 0. Si sintetizza la mappa cosi’ ottenuta e si pone il risultato in AND con la variabile scelta (le altre si tralasciano !).

c) Si ripete l’operazione precedente per tutte le variabili riportate sulla mappa considerando una variabile e la sua negata come variabili indipendenti da sintetizzare in due passi distinti.

d) L’espressione booleana finale e’ l’OR di tutti gli AND trovati.

N.B. Le condizione di indifferenza restano immutate e possono essere usate per ottimizzare la copertura.

• Sintesi basata su somma di prodotti logici.

Page 41: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

41

1

D

0

0 0

0 - 1

0

0 1 1 01 1

D

0

ABC

Esempio 1

D

1

0

0

0 0

0 - 1

0

0 1 1 01 1

0

0

ABC

0CBA

Azzero le variabili e sintetizzo gli 1.

Sintetizzare la seguente mappa a una variabile riportata.

Page 42: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

42

1

0

0

0 0

0 - -

0

0 1 1 01 1

0

0

ABC

1BAD

Pongo D=0, D=1, 1=indifferenza.

Calcolo F come OR dei tre AND.

BADCDCBAF

1

1

0

0 0

0 - -

0

0 1 1 01 1

1

0

ABC

0CD

Pongo D=1, D=0, 1=indifferenza.

Page 43: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

43

1

-

E

0 0

0 D 1

0

0 1 1 01 1

0

ABC

Esempio 2

E

1

-

0

0 0

0 0 1

0

0 1 1 01 1

-

0

ABC

0CA

Azzero le variabili e sintetizzo gli 1.

Sintetizzare la seguente mappa a due variabili riportate.

-

1

-

0

0 0

0 1 -

0

0 1 1 01 1

-

0

ABC

0CD

Pongo D=1, E=0, E=0, 1=indifferenza.

Page 44: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

44

1

-

1

0 0

0 0 -

0

0 1 1 01 1

-

0

ABC

1BAE

Pongo D=0, E=1, E=0, 1=indifferenza.

Calcolo F come OR dei tre AND.

BAEBAECDCAF

1

-

0

0 0

0 0 -

1

0 1 1 01 1

-

0

ABC

1BAE

Pongo D=0, E=0, E=1, 1=indifferenza.

Page 45: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

45

Esempio 3Sintetizzare la seguente mappa con caselle contenenti espressioni

booleane di due variabili riportate.

1

0

D · E

0 0

0 0 D+E

-

0 1 1 01 1

1

ABC

1

D

Metodo 1: ogni operazione booleana distinta va trattata come una variabile “indipendente” (cosi’ come in precedenza si e’ fatto per una variabile e la sua negata).

1

0

0

0 0

0 0 0

-

0 1 1 01 1

1

ABC

1

0

Azzero le variabili e sintetizzo gli 1.

CBBA

Page 46: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

46

1

0

0

0 0

0 0 0

1

0 1 1 01 1

-

-

ABC

-CAD

Pongo D=1, DE=0, D+E=0, 1=indifferenza.

1

0

1

0 0

0 0 0

0

0 1 1 01 1

-

-

ABC

-CAED

Pongo D=0, DE=1, D+E=0, 1=indifferenza.

1

0

0

0 0

0 0 1

0

0 1 1 01 1

-

-

ABC

- CAED

Pongo D=0, DE=0, D+E=1, 1=indifferenza.

Page 47: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

47Calcolo infine F come OR delle diverse sottoespressioni.

CAEDCAEDCADCBBAF N.B. L’espressione cosi’ ottenuta non e’ minima!

Metodo 2: per ottenere una sintesi migliore devo considerare le come variabili le singole variabili e non le celle.

1

0

0

0 0

0 0 0

-

0 1 1 01 1

1

ABC

1

0

Azzero le variabili e sintetizzo gli 1.

CBBA

1

0

0

0 0

0 0 1

1

0 1 1 01 1

-

-

ABC

-AD

Pongo D=1, E=0, 1=indifferenza, implicazioni D+E=1, DE=0

Page 48: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

48

1

0

0

0 0

0 0 1

0

0 1 1 01 1

-

-

ABC

-CAE

Pongo D=0, E=1, 1=indifferenza, implicazioni D+E=1, DE=0

1

0

1

0 0

0 0 1

1

0 1 1 01 1

-

-

ABC

-CED

Pongo D=1, E=1, 1=indifferenza, implicazioni D+E=1, DE=1

Gia’ coperta !

Calcolo infine F come OR delle diverse sottoespressioni.

CEDCAEADCBBAF

Page 49: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

49

II.5. Progetto logico

Data una funzione logica binaria, determinare una possibile combinazione di Operatori logici che la implementino

• Operatori logici elementari AND; OR; NOT

• Operatori logici universali NAND; NOR

La soluzione non è univoca: esiste una soluzione ottimale:

vincoli tecnologici ed economici

Page 50: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

50

Progetto logico: procedura

• Descrizione funzionale della rete combinatoria

definizione della relazione logica fra l’uscita F e le variabili

binarie di ingresso A, B, C,...

• Rappresentazione tramite Tabella della verità

• Deduzione della funzione logica F(A, B, C,…) in forma canonica

(o somma di prodotti o prodotti di somme)

• Minimizzazione della funzione logica

o tramite le leggi elementari della logica binaria

o tramite le Mappe di Karnaugh

• Sintesi della funzione tramite Operatori logici

elementari (AND, OR, NOT) e/o universali (NAND, NOR)

Page 51: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

51• Descrizione funzionale della rete combinatoria

Esempio: date tre variabili binarie in ingresso A, B, C, si abbia:F=A per C=0; F=B per C=1

• Rappresentazione tramite Tabella della verità

AB

FC

00

00

00

01

01

00

01

11

10

10

10

01

11

10

11

11

• Deduzione della funzione logica F(A, B, C,…) in forma canonicaSomma di prodotti:

Prodotto di somme:

CBACBACBACBAF

CBACBACBACBAF

Page 52: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

52

BCCAAABCBBCA

ABCCABBCACBAF

• Minimizzazione della funzione logicao tramite le leggi elementari della logica binaria

o tramite le Mappe di Karnaugh

1

0

0

0 0

0 0

1

1

0

0 1 1 01 1

1

1

ABC

Mappa di Karnaugh

Funzione logica minima:

BCCAF

2 sottogruppi orizzontali da 2: AC, BC

Equivalente (ma meno conveniente): 1 sottogruppo verticale da 2: 2 sottogruppi singoli da 1:

ABBACBACF AB

;BAC ;BAC

Page 53: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

53

• Sintesi della funzione tramite operatori logici elementari (AND; OR; NOT)

ABC

B

NOTCOR

CACAND

F

AND

A

C

BC

ABC

BCCAF

Page 54: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

54

• Sintesi della funzione tramite operatori logici universali (NAND oppure NOR)

In questo esempio parto da forma SP, quindi uso il NAND:

ABC

NAND

ACNAND

FNAND

BC

ABC

Page 55: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

55

Esempio: dimostrazione della identità ausiliaria X·(X + Y) = X

X Y X+Y0 0 00 1 11 0 11 1 1

X·(X+Y)

0011

Applico le regole dell’algebra binaria per la verifica “a posteriori”della identità. X·(X + Y) = X ·X + X ·Y = X + X ·Y = X

Tutte le leggi elementari della logica binaria sono dimostrabilimediante analoga procedura

Appendice

Verifica mediante tabella della verità

Page 56: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

56

Esempio: dimostrazione della identità ausiliaria

X·Y + Y·Z + X·Z = X·Y + X·Z

mediante diagrammi di Venn (teoria degli insiemi)

XX

X Y

Z

X·Y

X·Z

Y·Z = X· Y· Z +X· Y· Z

Page 57: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

57Esercizio

“Cinque astronauti A, B, C, D, E sono stati addestrati per partecipare ad una missione spaziale. Individuare gli equipaggi possibili tenendo conto che prove psico-fisiche impongono di soddisfare contemporaneamente i seguenti vincoli:

- A o B devono essere sicuramente inclusi, ma non insieme; - C o E devono essere sicuramente inclusi, anche insieme;- qualora D sia incluso, lo deve essere anche B; - A e C possono essere o entrambi inclusi o entrambi esclusi;- qualora E sia incluso, lo devono essere anche C e D.

Soluzione - ???

Risposta - Devono partire A e C.

Page 58: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

58

Dimostrazione seconda legge di De Morgan:

X Y X·Y0 0 00 1 01 0 01 1 1

X·Y

1110

Z = X · Y ; Z = X · Y = X + Y ?

X · Y + X + Y = Y + X + Y = 1 + X = 1

(X · Y) · (X + Y) = X · Y · X + X ·Y ·Y = 0

Z + Z = 1

Z · Z = 0

complemento ?

X + Y

1110

X Y1 11 00 10 0

Page 59: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

59Forme algebriche compatte

Esempio:

a) somme di prodottiF m(a, b, c, ...), dove a, b, c rappresentano il corrispondente decimale dei valori delle variabili d’ingresso per cui l’uscita vale 1.

b) prodotti di sommeF M(A, B, C, ...) dove A, B, C rappresentano il corrispondente decimale dei valori delle variabili d’ingresso per cui l’uscita vale 0

Nel caso di funzioni incomplete si aggiunge un termine d(x, y, z, ...) dove x, y, z rappresentano il corrispondente decimale dei valori delle variabili d’ingresso per cui l’uscita è indeterminata)

AB

FC

00

00

00

11

01

-0

01

11

10

00

10

-1

11

10

11

01

F m(1, 3, 6)+d(2, 5)

F M(0, 4, 7)+d(2, 5)

Page 60: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

60

Procedura di minimizzazione di funzioni logiche binarie rappresentate mediante mappa di Karnough

• Sintesi di F minima come prodotto di somme logiche

Procedura:a) raggruppare gli 0 contigui (in orizzontale o in verticale) in sottogruppi di 1, 2, 4, 8, …b) identificare il numero minimo di sottogruppi distinti, partendo dai sottogruppi maggiorib) con riferimento al sottogruppo: escludere le variabili binarie che cambiano considerare le sole variabili binarie che rimangono invariate come variabile stessa se 0, variabile negata se 1c) trascrivere la somma logica per ciascun sottogruppod) rappresentare la F come prodotto delle somme logiche suddette

Page 61: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

61

1

1

1

0 0

0 0

0

1

1

0 1 1 01 1

1

1

ABC

AB

FC

00

10

00

11

01

00

01

01

10

10

10

11

11

10

11

11

Tabella della verità Mappa di Karnaugh

Individuo il sottogruppo (1 sottogruppo da 2)

individuo la variabile che cambia:

trascrivo la somma delle variabili che rimangono invariate:

Funzione logica minima:

BAC

BAF

Esempio 1

Page 62: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

62

Esempio 2

0 1

1

1

0 0

0 0 1

0

1

1

0 1 1 01 1

1

1

ABCD

0

1

0

1

0

1

0

1

1 1

1 0

Mappa di Karnaugh

Funzione logica minima:

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

Page 63: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

63

EsercizioRealizzare la sintesi a NOR della funzione logica espressa dalla

seguente Mappa di Karnaugh:

0 1

0

-

0 0

0 0 0

0

1

0

0 1 1 01 1

1

0

ABCD

0

0

-

0

1

1

0

1

1 1

1 0

Funzione logica minima di tipo PS:

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

Page 64: 1 II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5.

64

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

( A ) ( B D ) ( C D )

NOR

NOR

NOR

C

D

AB F