Sei sulla pagina 1di 82

Circuito MAPPE DI KARNAUGH Combinatorio

Le mappe di Karnaugh consentono di rappresentare e minimizzare funzioni logiche fino Cella o casella ad un massimo di sei variabili. Sono costituite da celle o caselle di cui due lati sono contrassegnati dai valor i delle variabili. Le colonne e le righe presentano un ordine ciclico in modo che due celle adiacen ti differiscano tra loro solo per una variabile; Supponiamo di conoscere la tabella di verit relativa ad un certo circuito combina torio:

A B Z 0 0 1 0 1

0 1 0 1 1 1 0

La mappa di Karnaugh a due variabili la seguente:

B A 0 1 0

Dopo aver inserito sia i mintermini(1) che i maxtermini(0) la mappa di Karnaugh diventa:

B A 0 1 0 1 0 1 1 0

Nota: Per minimizzare una funzione logica bisogna prima scegliere la forma stand ard da utilizzare: a) Se utilizziamo la forma SP(Somma logica di Prodotti logici) bisogna consider are solo le righe in cui la funzione Z vale 1 e cio i mintermini:

A B

Z 0 0 1 0 1 0 1 0 1 1 1 0

_ _ _ Z = AB + AB

mintermini

La corrispondente mappa di Karnaugh, una volta inseriti i due mintermini(1), div enta:

B A 0 1 0 1

1 1

b) Se utilizziamo la forma PS(Prodotto logico di Somme logiche) bisogna consider are solo le righe in cui la funzione Z vale 0 e cio i maxtermini:

A B Z 0 0 1 0 1 0 1 0 1 1 1 0

_ _ _ Z = (A + B)(A + B)

maxtermini

La corrispondente mappa di Karnaugh, una volta inseriti i due maxtermini(0), div enta:

B A 0 1 0

0 1

Nota: Per non creare confusione, in seguito useremo le mappe di Karnaugh solo co n i mintermini(1) cio utilizzando la forma SP;

Circuito Combinatorio

Esempio 1

Data la seguente tabella di verit:

A B C Z 0 0 0 1 0 0 1 1 0 1 0 1 0

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

andiamo a disegnare il corrispondente circuito combinatorio:

l espressione della funzione Z nella forma SP la seguente:

_ _ _ _ _ _ _ _ _ _ Z = ABC + A BC + ABC + A B C + A B C + A B C

Z3645981011112213364598101112112213345612983465123ABC Il circuito combinatorio corrispondente il seguente:

Le mappe di Karnaugh ci consentono, quando possibile, di minimizzare i circuiti combinatori, cio di utilizzare circuiti combinatori equivalenti che per utilizzano meno porte logiche ; Nota: Utilizzare meno porte logiche comporta costi minori, minore ingombro nell in tegrato ed una maggiore velocit di propagazione dei segnali applicati in ingresso dovend o questi attraversare un numero inferiore di porte logiche;

Nel nostro caso, una volta inseriti i mintermini(1) della funzione di partenza Z , la corrispondente mappa di Karnaugh a tre variabili la seguente:

BC A 00 01 11 10 0 1 1

1 1 1

1 1

Nota: Le celle o caselle sono disposte in modo tale che si abbia la variazione d i una sola variabile fra una qualsiasi coppia di celle adiacenti(due caselle sono adiacenti se hanno un lato in comune);

Una volta riempita la mappa di Karnaugh, bisogna determinare il numero minimo di blocchi massimali che possono avere solo le seguenti dimensioni:

Nota: Le celle o caselle adiacenti si possono prendere sia in orizzontale che in verticale;

Nel nostro caso, i blocchi massimali che si possono prendere sono i seguenti:

1) blocco da quattro caselle(colore blu):

BC A 00 01 11 10 0 1 1

1 1

1 1 1

2) blocco orizzontale da due caselle(colore rosso):

BC A 00 01 11 10 0 1 1

1 1 1 1 1

3) blocco orizzontale ai lati opposti da due caselle(colore verde):

BC A 00 01 11 10 0 1 1

1 1 1 1 1

Nota: Le caselle che stanno ai lati opposti della mappa sono fra loro adiacenti;

1234561298CBAZ123456 Non essendoci pi mintermini(1) liberi bisogna andare a considerare un blocco mass imale alla volta, incolonnare i corrispondenti mintermini e prendere solo le variabili che non cam biano cio che rimangono sempre uguali:

_ _ _ _ _ _ _ A B C A B C A B C _ _ _ _ A B C A B C A B C _ _ A C _ _ A B C A C _ A B C Blocco orizzontale da 2 caselle(rosso) _ B Blocco orizzontale da 2 caselle ai lati opposti(verde)

Blocco da 4 caselle(blu)

La funzione Z di partenza: _ _ _ _ _ _ _ _ _ _ Z = ABC + ABC + ABC + ABC + ABC + ABC

una volta minimizzata diventa: _ _ _ Z = B + AC + AC i l cui circuito combinatorio corrispondente il seguente:

123123456CBAZ123

oppure il seguente:

essendo:

_ _______ Z = B + A XOR C

Nota: Come si pu facilmente constatare il circuito combinatorio(logico) di parten za stato notevolmente ridotto con i vantaggi elencati in precedenza;

Circuito Combinatorio

Esempio 2

Data la seguente tabella di verit:

A B C D Z 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0

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

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

1 1 1 1

andiamo a disegnare il corrispondente circuito combinatorio:

l espressione della funzione Z nella forma SP la seguente:

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Z = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

983456123BAC56D61245Z89101213612458910121361245891012136124589101213612458910121 312981298346511121013 i l cui circuito combinatori o corrispondente il seguente:

Nota: Utilizzare meno porte logiche comporta costi minori, minore ingombro nell in tegrato ed una maggiore velocit di propagazione dei segnali applicati in ingresso dovend o questi attraversare un numero inferiore di porte logiche;

Una volta inseriti i mintermini(1) della funzione di partenza, la corrispondente mappa di Karnaugh a quattro variabili la seguente:

CD AB 00 01 11 10 00 1

1 1 01 1 1

1 11 1

10 1

Nota: Le celle o caselle sono disposte in modo tale che si abbia la variazione d i una sola variabile fra una qualsiasi coppia di celle adiacenti;

Una volta riempita la mappa di Karnaugh, bisogna determinare il numero minimo di blocchi massimali che possono avere solo le seguenti dimensioni:

Nota: Le celle o caselle adiacenti si possono prendere sia in orizzontale che in verticale;

Nel nostro caso i blocchi massimali che possiamo prendere sono i seguenti:

1) blocco verticale da quattro caselle(colore rosso):

CD AB

00 01 11 10 00 1

1 1 01 1 1

1 11 1

10 1

2) blocco orizzontale da quattro caselle ai lati opposti(colore blu):

CD AB 00 01 11 10 00 1

1 1 01 1 1

1 11 1

10 1

3) blocco orizzontale da due caselle(colore nero):

CD AB 00 01 11 10 00 1

1 1 01 1 1

1 11 1

10 1

4) blocco verticale in basso da due caselle(colore viola):

CD AB 00 01 11 10 00 1

1 1 01 1

1 11 1

10 1

5) blocco verticale ai lati opposti da due caselle(colore verde):

CD AB 00 01 11 10 00

1 1 01 1 1

1 11 1

10 1

Ora bisogna andare a considerare un blocco massimale alla volta, incolonnare i c orrispondenti mintermini e prendere solo le variabili che non cambiano cio che rimangono sempre uguali:

_ _ _ _ _ _ _ _ _ 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 B C D _ _ _ A B C D _ _ C D Blocco orizzontale da 2 caselle(nero)

Blocco verticale da 4 caselle(rosso) Blocco verticale ai lati opposti da 2 case lle(verde)

_ _ _ _ A B C D A B C D _ _ _ _ A B C D A B C D _ _ _ A B C D A C D _ _ A B C D _ _

A D Blocco verticale in basso da 2 caselle(viola)

Blocco ai lati opposti da 4 caselle(blu)

La funzione Z di partenza:

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Z = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

Z9810111122139810119834561298123BAC56D123456123

una volta minimizzata diventa:

_ _ _ _ _ _ _ Z = CD + ABC + BCD + AD + ACD

i l cui circuito combinatorio corrispondente il seguente:

Nota: Come si pu facilmente constatare il circuito combinatorio di partenza stato notevolmente ridotto con i vantaggi elencati in precedenza;

Circuito Combinatorio

Esempio 3

Data la seguente tabella di verit:

A B C Z 0 0 0 -0 0 1 1 0 1 0 1 0 1 1 0

1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 --

Andiamo a disegnare il corrispondente circuito combinatorio:

L espressione della funzione Z nella forma standard SP la seguente:

_ _ _ _ _ _ _ Z = ABC + ABC + ABC + ABC

Nota: La funzione Z non completamente specificata nel senso che ci sono due righ e(--) della tabella di verit dove la funzione pu assumere indistintamente sia il livello logico alto(1) che basso(0);

Z36459810111122133645983456123BAC4569108 Il circuito combinatorio (logico) corrispondente il seguente:

Una volta inseriti i mintermini(1) della funzione Z, la corrispondente mappa di Karnaugh a tre variabili assume la seguente forma:

BC A 00 01 11 10 0 X 1

1 1 1 1 X

Nota: Le X, considerate come mintermini(1), si inseriscono per poter eventualmen te aumentare le dimensioni dei blocchi e quindi ridurre il numero di porte logiche utilizzate;

Nel nostro caso i blocchi massimali che si possono prendere sono i seguenti:

1) blocco da quattro caselle(colore rosso):

BC A 00 01 11 10 0 X 1

1 1 1 1 X

2) blocco orizzontale ai lati opposti da due caselle(colore verde):

BC A 00 01 11 10 0 X 1

1 1 1 1 X

Nota: Le caselle che stanno ai lati opposti della mappa sono fra loro adiacenti;

Andiamo ora a considerare un blocco massimale alla volta, incolonnando i corrisp ondenti mintermini e prendendo solo le variabili che non cambiano cio che rimangono sempre uguali:

_ _ _ _ _ _ A B C A B C _ _ _ _ A B C A B C _ _ _ _ A B C A C _ A B C _ B Blocco orizzontale da 2 caselle ai lati opposti(verde)

Blocco da 4 caselle(rosso)

La funzione di partenza:

_ _ _ _ _ _ _ Z = ABC + ABC + ABC + ABC

una volta minimizzata diventa:

_ _ _ Z = B + A C

123456ACBZ123123 i l cui circuito combinatorio corrispondente il seguente:

Nota: Come si pu facilmente constatare il circuito combinatorio di partenza stato notevolmente ridotto con i vantaggi elencati in precedenza;

Nota: Se non avessimo usato le x come mintermini(1) sicuramente la funzione di p artenza sarebbe stata ridotta di meno;

Infatti:

BC A 00 01 11 10 0

1 1

1 1

In questo caso, i blocchi massimali che possiamo prendere sono i seguenti:

1) blocco orizzontale da due caselle(colore blu):

BC A 00 01 11 10 0

1 1 1 1

2) blocco verticale da due caselle(colore rosso):

BC A 00 01 11 10 0

1 1 1 1

3) blocco da una casella(colore verde):

BC A

00 01 11 10 0

1 1 1 1

Andiamo ora a considerare un blocco massimale alla volta, incolonnando i corrisp ondenti mintermini e prendendo solo le variabili che non cambiano cio che rimangono sempre uguali:

_ _ _ _ A B C A B C _ _ _ _ A B C A B C A B C _ _ _ _ A B B C A B C

Blocco orizzontale da 2 caselle(blu) Blocco da 1 casella(verde) Blocco verticale da 2 caselle(rosso)

La funzione Z di partenza: _ _ _ _ _ _ _ Z = ABC + ABC + ABC + ABC

una volta minimizzata diventa:

_ _ _ _ Z = AB + BC + ABC

Z112213983456ABC1234561298 i l cui circuito combinatorio corrispondente il seguente:

Nota: Il circuito combinatorio minimizzato ottenuto senza tenere conto delle non specificazioni(x) presenta un numero maggiore di porte logiche utilizzate;

Esercizio 1

Minimizza la seguente funzione booleana e poi disegna il corrispondente circuito logico:

_ _ _ _ _ Z = AC + ABC + AC + ABC

Soluzione:

La funzione logica di partenza presenta due termini che non sono mintermini, cio non contengono tutte e tre le variabili: _ _ _ AC e AC

Per poter iniziare a riempire la corrispondente mappa di Karnaugh, dobbiamo prim a far in modo che tutti i termini della funzione da minimizzare siano mintermini. Noi sappiamo dall algebr a booleana che: _ B + B = 1

ed essendo:

_ _ _ _ AC 1 = AC

allora possiamo scrivere anche che:

_ _ _ _ _ _ _ _ _ _ _ _ AC _ _ cio abbiamo trasformato AC in un mintermine aggiungendogli la variabile mancante B ma senza modificare la funzione logica di partenza; 1 = AC (B + B) = ABC + ABC = AC

La nostra funzione di partenza Z pu quindi essere riscritta, senza essere modific ata, nel seguente modo:

_ _ _ _ _ Z = AC + ABC + AC + ABC _ _ _ _ _ _ _ Z = AC(B + B) + ABC + AC(B + B) + ABC

Ora dobbiamo semplicemente eseguire le moltiplicazioni:

_ _ _ _ _ _ _ _ _ _ Z = ABC + ABC + ABC + ABC + ABC + ABC

A questo punto andiamo a inserire i mintermini(1) nelle rispettive caselle della mappa di Karnaugh:

BC A 00 01 11 10 0 1

1 1 1 1 1

Ora bisogna determinare il numero minimo di blocchi massimali di dimensioni cons

entite:

1) blocco da quattro caselle ai lati opposti(colore rosso):

BC A 00 01 11 10 0 1

1 1 1 1 1

2) blocco orizzontale da due caselle in basso(colore verde):

BC A 00 01 11

10 0 1

1 1 1 1 1

3) blocco orizzontale da due caselle in alto(colore viola):

BC A 00 01 11 10 0 1

1 1 1 1

Z983456CBA1234561298

A questo punto dobbiamo considerare un blocco massimale alla volta, incolonnare i corrispondenti mintermini e prendere solo le variabili che non cambiano cio che rimangono sempre uguali:

_ _ _ _ _ _ A B C A B C A B C _ _ _ _ _ A B C A B C A B C _ _ _ _ A B C A B A B _ A B C _ C Blocco da 2 caselle in basso(verde)

Blocco da 4 caselle(rosso) Blocco da 2 caselle in alto(viola)

La funzione di partenza

_ _ _ _ _ Z = AC + ABC + AC + ABC

una volta minimizzata diventa:

_ _ _ Z = C + A B + A B i

l cui circuito combinatorio corrispondente il seguente:

123456CBAZ123123

o ancora meglio il seguente:

essendo:

_ Z = C + A XOR B

Esercizio 2

Minimizza la seguente funzione booleana e poi disegna il corrispondente circuito logico:

_ _ _ _ _ _ _ _ _ _ Z = ABD + ABCD + ABC + ABCD + ACD + ABCD

Soluzione:

La funzione logica di partenza presenta tre termini che non sono mintermini, cio non contengono tutte e quattro le variabili:

_ _ _ _ _ ABD, ABC e ACD

Per poter iniziare a riempire la corrispondente mappa di Karnaugh dobbiamo prima far in modo che tutti i termini della funzione Z da minimizzare siano mintermini.

La nostra funzione di partenza:

_ _ _ _ _ _ _ _ _ _ Z = ABD + ABCD + ABC + ABCD + ACD + ABCD

in quanto detto in precedenza, pu essere riscritta senza essere modificata nel se guente modo: _ _ _ _ _ _ _ _ _ _ _ _ _ Z = ABD(C + C) + ABCD + ABC(D + D) + ABCD + ACD(B + B) + ABCD

Ora dobbiamo semplicemente eseguire le moltiplicazioni:

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Z = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

A questo punto andiamo a inserire i mintermini(1) nelle rispettive caselle della mappa di Karnaugh:

CD AB 00 01 11 10 00 1

1 01

1 1 11

1 10 1

1 1

Ora bisogna determinare il numero minimo di blocchi massimali di dimensioni cons entite:

1) blocco da quattro caselle poste agli angoli(colore rosso):

CD AB 00 01 11 10 00 1

1 01

1 1 11

1 10 1

1 1

2) blocco verticale da quattro caselle(colore blu):

CD AB 00 01 11

10 00 1

1 01

1 1 11

1 10 1

1 1

3) blocco orizzontale da due caselle in alto(colore verde):

CD AB 00 01 11 10 00 1

1 01

1 1 11

1 10 1

1 1

4) blocco orizzontale da due caselle in basso(colore nero):

CD AB 00 01 11 10 00 1

1 01

1 11

1 10 1

1 1

5) blocco da una sola casella(colore viola):

CD AB 00 01 11 10 00

1 01

1 1 11

1 10 1

1 1

A questo punto dobbiamo considerare un blocco massimale alla volta, incolonnare i corrispondenti mintermini e prendere solo le variabili che non cambiano cio che rimangono sempre uguali:

_ _ _ _ _ _ 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 A B C _ _ A B C D _ _ B D Blocco da 2 caselle in alto(verde)

Blocco da 4 caselle agli angoli(rosso) Blocco da 2 caselle in basso(nero)

_ _ _ 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 Blocco da 1 casella(viola)

Blocco da 4 caselle in verticale(blu)

La funzione di partenza: _ _ _ _ _ _ _ _ _ _ Z = ABD + ABCD + ABC + ABCD + ACD + ABCD

61245Z9810111122139834561298123BAC56D123456123

una volta minimizzata diventa:

_ _ _ _ _ _ Z = BD + ABC + ABC + CD + ABCD

i l cui circuito combinatorio (logico) corrispondente il seguente: