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

Preview:

Citation preview

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.

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.

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

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

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

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

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

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

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

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

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.

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

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:

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

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

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

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

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

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

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

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à

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

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

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)

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)

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

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

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)

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 …

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

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

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

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)

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

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

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

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

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

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

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.

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.

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.

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.

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.

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

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.

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

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

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

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)

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

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

53

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

ABC

B

NOTCOR

CACAND

F

AND

A

C

BC

ABC

BCCAF

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

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à

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

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.

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

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)

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

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

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 )

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 )

64

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

( A ) ( B D ) ( C D )

NOR

NOR

NOR

C

D

AB F

Recommended