Sei sulla pagina 1di 49

CALCOLATORI

ELETTRONICI

RETI LOGICHE

METODO DI
QUINE-MCCLUSKEY

Corso di Laurea in
Ingegneria Informatica e
delle Telecomunicazioni

Anno Accademico 2016/17


RETI LOGICHE Metodo di Quine-McCluskey 2

Sintesi di funzioni con molti ingressi


Per funzioni con quattro-cinque variabili di ingresso, la
sintesi pu essere effettuata utilizzando le mappe di
Karnaugh

Limitazioni nelluso delle K-map


La loro applicabilit ridotta a funzioni Booleane con meno di
cinque variabili
Non forniscono informazioni utili ad identificare il minimo numero
di primi implicanti non essenziali necessari per la copertura della
funzione
Sono di difficile applicabilit alle funzioni Booleane multi uscita
Non sono un metodo algoritmico
RETI LOGICHE Metodo di Quine-McCluskey 3

Metodo di Quine-McCluskey
Metodo tabellare che supera le limitazioni delle k-map
per la sintesi di funzioni con pi di cinque variabili di
ingresso

Si applica (con alcune variazioni) tanto alle funzioni


completamente specificate quanto a quelle non
completamente specificate

Appartiene ai metodi basati sulla topologia algebrica

Il metodo si divide in due fasi


Prima fase identificazione di tutti i primi implicanti
Seconda fase determinazione della copertura minima
RETI LOGICHE Metodo di Quine-McCluskey 4

Notazione cubica
Si consideri un funzione boolena a n variabili

Un termine prodotto un prodotto booleano in cui ogni


compare ogni variabile appare in (1) forma diretta o in (2)
forma negata oppure (3) non compare del tutto.
RETI LOGICHE Metodo di Quine-McCluskey 5

Notazione cubica
Si consideri un funzione boolena a n variabili

Un termine prodotto un prodotto booleano in cui ogni


compare ogni variabile appare in (1) forma diretta o in (2)
forma negata oppure (3) non compare del tutto.

Quanti possibili prodotti si possono avere per n


variabili?
RETI LOGICHE Metodo di Quine-McCluskey 6

Notazione cubica
Si consideri un funzione boolena a n variabili

Un termine prodotto un prodotto booleano in cui ogni


compare ogni variabile appare in (1) forma diretta o in (2)
forma negata oppure (3) non compare del tutto.

Si possono avere 3n prodotti con n variabili


RETI LOGICHE Metodo di Quine-McCluskey 7

Notazione cubica
Si consideri un funzione boolena a n variabili

Un termine prodotto un prodotto booleano in cui ogni


compare ogni variabile appare in (1) forma diretta o in (2)
forma negata oppure (3) non compare del tutto.

Si possono avere 3n prodotti con n variabili

Ma allora i prodotti sono pi o meno dei mintermini?


RETI LOGICHE Metodo di Quine-McCluskey 8

No. Prodotti vs No. di mintermini


RETI LOGICHE Metodo di Quine-McCluskey 9

No. Prodotti vs No. di mintermini


Si noti: 104
RETI LOGICHE Metodo di Quine-McCluskey 10

No. Prodotti vs No. di mintermini


Scala logaritmica
RETI LOGICHE Metodo di Quine-McCluskey 11

Calcolo cubico
Una prodotto pu essere descritto come una congiunzione
(AND) di letterali e unicamente rappresentato da un cubo

Un cubo un insieme ordinato di n simboli appartenenti


allinsieme {1, 0, -}

Ogni simbolo indica se la corrispondente variabile negata


(0) , diretta (1) o non appare nel prodotto (-)

Esempio: sia n=3 (X,Y,Z), il prodotto XZ rappresentato dal


cubo 0-1
RETI LOGICHE Metodo di Quine-McCluskey 12

Quine-McCluskey prima fase


Si parte dalla specifica della funzione espressa come somma di
mintermini

Costruzione della tabella di partenza, ottenuta riordinando tutti i


mintermini in base al numero di 1 presenti, raggruppandoli per gruppi
con egual numero di 1

Costruzione della tabella dei primi implicanti primo passo


1. Si confrontano tutte le righe di un gruppo con tutte le righe del
gruppo immediatamente successivo
2. Per ogni coppia di configurazioni adiacenti (che differiscono per
una sola variabile) si costruisce una nuova riga, riportando nella
prima colonna lelenco dei mintermini che hanno contribuito
alla riga, e nella parte destra la configurazione
corrispondente, fatta a partire dalle configurazioni dei mintermini
costituenti, in cui la variabile che cambia sostituita da un
3. Le righe della tabella sono ordinate e raggruppate sulla base del
numero di 1 presenti
4. Nella tabella di partenza si marcano con i mintermini che
hanno contribuito alla riga
RETI LOGICHE Metodo di Quine-McCluskey 13

Quine-McCluskey prima fase


Costruzione della tabella dei primi implicanti
secondo passo e successivi
Usando la tabella dei primi implicanti del primo passo, si ripetono i
passi 1-4, avendo cura di indicare una volta sola eventuali prodotti
ottenuti a partire da pi primi implicanti, ma marcando tutti i primi
implicanti costituenti

Tutte le righe non marcate nelle tabelle via via costruite


rappresentano tutti e soli i primi implicanti della
funzione data
RETI LOGICHE Metodo di Quine-McCluskey 14

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)
Tutti i mintermini sono:
=A
0001
0100
0101
0110
0111
1001
1101
1110
1111
RETI LOGICHE Metodo di Quine-McCluskey 15

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)
=A+B+C+D+E+F

m x y z v
1 0 0 0 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
9 1 0 0 1
7 0 1 1 1
11 1 0 1 1
14 1 1 1 0
15 1 1 1 1
RETI LOGICHE Metodo di Quine-McCluskey 16

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)
=A+B+C+D+E+F

m x y z v
1 0 0 0 1
4 0 1 0 0 Numero di 1: 1
5 0 1 0 1
6 0 1 1 0
9 1 0 0 1
7 0 1 1 1
11 1 0 1 1
14 1 1 1 0
15 1 1 1 1
RETI LOGICHE Metodo di Quine-McCluskey 17

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)
=A+B+C+D+E+F

m x y z v
1 0 0 0 1
4 0 1 0 0 Numero di 1: 1
5 0 1 0 1
6 0 1 1 0 Numero di 1: 2
9 1 0 0 1
7 0 1 1 1
11 1 0 1 1
14 1 1 1 0
15 1 1 1 1
RETI LOGICHE Metodo di Quine-McCluskey 18

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)
=A+B+C+D+E+F

m x y z v
1 0 0 0 1
4 0 1 0 0 Numero di 1: 1
5 0 1 0 1
6 0 1 1 0 Numero di 1: 2
9 1 0 0 1
7 0 1 1 1
11 1 0 1 1 Numero di 1: 3
14 1 1 1 0
15 1 1 1 1
RETI LOGICHE Metodo di Quine-McCluskey 19

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)
=A+B+C+D+E+F

m x y z v
1 0 0 0 1
4 0 1 0 0 Numero di 1: 1
5 0 1 0 1
6 0 1 1 0 Numero di 1: 2
9 1 0 0 1
7 0 1 1 1
11 1 0 1 1 Numero di 1: 3
14 1 1 1 0
15 1 1 1 1 Numero di 1: 4
RETI LOGICHE Metodo di Quine-McCluskey 20

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)

m x y z v m x y z v
1 0 0 0 1 x 1(4) 1,5 0 - 0 1 A X ZV
4 0 1 0 0 x 1(8) 1,9 - 0 0 X1ZVB+Y ZV + XYV +
4(1) 4,5 0 1 0 - x
5 0 1 0 1 x 4(2) 4,6 0 1 - 0 x
6 0 1 1 0 x 5(2) 5,7 0 1 - 1 x
9 1 0 0 1 x 6(1) 6,7 0 1 1 - x
7 0 1 1 1 x 6(8) 6,14 - 1 1 0 x
11 1 0 1 1 x 9(2) 9,11 1 X0ZV- +Y1 ZVC + XYV + XVZ +
14 1 1 1 0 x 7(8) 7,15 - 1 1 1 x
15 1 1 1 1 x 11(4) 11,15 1 - 1 1 D XZV
14(1) 14,15 1 1 1 - x
RETI LOGICHE Metodo di Quine-McCluskey 21

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)

m x y z v m x y z v
1 0 0 0 1 x 1(4) 1,5 0 - 0 1 A X ZV
4 0 1 0 0 x 1(8) 1,9 - 0 0 X1ZVB+Y ZV + XYV +
4(1) 4,5 0 1 0 - x
5 0 1 0 1 x 4(2) 4,6 0 1 - 0 x
6 0 1 1 0 x 5(2) 5,7 0 1 - 1 x
9 1 0 0 1 x 6(1) 6,7 0 1 1 - x
7 0 1 1 1 x 6(8) 6,14 - 1 1 0 x
11 1 0 1 1 x 9(2) 9,11 1 X0ZV- +Y1 ZVC + XYV + XVZ +
14 1 1 1 0 x 7(8) 7,15 - 1 1 1 x
15 1 1 1 1 x 11(4) 11,15 1 - 1 1 D XZV
14(1) 14,15 1 1 1 - x

m x y z v
4(1,2) 4,5,6,7 0 +1XYV
X ZV + Y ZV - +- XVZ
E + XY + YZ
6(1,8) 6,7,14,15 - 1 1 - F Y Z
RETI LOGICHE Metodo di Quine-McCluskey 22

Esempio prima fase


F(x,y,z,v) = m(1,4,5,6,7,9,11,14,15)
= A + B + C + D + E + F=
= X ZV +Y ZV + XYV + XVZ + XY +YZ
m x y z v m x y z v
1 0 0 0 1 x 1(4) 1,5 0 - 0 1 A X ZV
4 0 1 0 0 x 1(8) 1,9 - 0 0 X1ZVB+Y ZV + XYV +
4(1) 4,5 0 1 0 - x
5 0 1 0 1 x 4(2) 4,6 0 1 - 0 x
6 0 1 1 0 x 5(2) 5,7 0 1 - 1 x
9 1 0 0 1 x 6(1) 6,7 0 1 1 - x
7 0 1 1 1 x 6(8) 6,14 - 1 1 0 x
11 1 0 1 1 x 9(2) 9,11 1 X0ZV- +Y1 ZVC + XYV + XVZ +
14 1 1 1 0 x 7(8) 7,15 - 1 1 1 x
15 1 1 1 1 x 11(4) 11,15 1 - 1 1 D XZV
14(1) 14,15 1 1 1 - x

m x y z v
4(1,2) 4,5,6,7 0 +1XYV
X ZV + Y ZV - +- XVZ
E + XY + YZ
6(1,8) 6,7,14,15 - 1 1 - F Y Z
RETI LOGICHE Metodo di Quine-McCluskey 23

Quine-McCluskey seconda fase


1. Costruzione della tabella di copertura
E una tabella con tante righe quanti sono i mintermini della funzione e tante
colonne quanti sono i primi implicanti
La posizione i, j della tabella conterr un 1 se il PIj copre il mintermine mi,
ovvero se tale mintermine tra quelli che hanno generato Pij

m A B C D E F
1 1 1
4 1
5 1 1
6 1 1
7 1 1
9 1 1
11 1 1
14 1
15 1 1
RETI LOGICHE Metodo di Quine-McCluskey 24

Quine-McCluskey seconda fase


Semplificazione della tabella
1. Individuazione delle colonne essenziali (primi implicanti essenziali)
Si cercano le righe che hanno un solo 1
La colonna in corrispondenza di tale 1 essenziale, ed il primo implicante che le
associato essenziale
Tutte le righe che hanno un 1 in corrispondenza di una colonna essenziale sono
coperte dalla colonna essenziale

2. Riduzione della tabella di copertura per eliminazione delle colonne


essenziali e delle righe da esse coperte
3. Riduzione della tabella per eliminazione delle colonne dominate
4. Riduzione della tabella per eliminazione delle righe dominanti
5. Ripetere 3 e 4 finch possibile
RETI LOGICHE Metodo di Quine-McCluskey 25

Regole di dominanza
Dominanza di colonna
In una tabella di copertura, la colonna i domina la colonna j se la
colonna i contiene tutti gli uno della colonna j, ed almeno un 1
in pi
Limplicante associato alla colonna dominante copre quindi tutti i
mintermini dellimplicante dominato, e pertanto pu essere scelto
senza aumentare il costo dellimplementazione

Dominanza di riga
In una tabella di copertura, la riga j dominata dalla riga i se
ogni implicante che copre j copre anche i, ma non viceversa
Scegliere un implicante che copra un mintermine dominato,
garantisce anche la copertura del mintermine dominante
E quindi possibile eliminare le righe dominanti senza per
questo aumentare il costo del circuito
RETI LOGICHE Metodo di Quine-McCluskey 26

Esempio - Tabella di copertura

m A B C D E F
1 1 1
4 1 *
5 1 1
6 1 1
7 1 1
9 1 1
11 1 1
14 1 *
15 1 1

Sono colonne essenziali E ed F, alle quali


corrispondono le righe con un solo 1
E ed F sono primi implicanti essenziali
Si procede con la eliminazione di E ed F e delle righe
da essi coperte
RETI LOGICHE Metodo di Quine-McCluskey 27

Esempio - Tabella di copertura

m A B C D E F
1 1 1
4 1 *
5 1 1
6 1 1
7 1 1
9 1 1
11 1 1
14 1 *
15 1 1

Sono colonne essenziali E ed F, alle quali


corrispondono le righe con un solo 1
E ed F sono primi implicanti essenziali
Si procede con la eliminazione di E ed F e delle righe
da essi coperte
RETI LOGICHE Metodo di Quine-McCluskey 28

Esempio - Tabella di copertura

m A B C D E F
1 1 1
4 1 *
5 1 1
6 1 1
7 1 1
9 1 1
11 1 1
14 1 *
15 1 1

Sono colonne essenziali E ed F, alle quali


corrispondono le righe con un solo 1
E ed F sono primi implicanti essenziali
Si procede con la eliminazione di E ed F e delle righe
da essi coperte
RETI LOGICHE Metodo di Quine-McCluskey 29

Esempio seconda fase

m A B C D E F
1 1 1
4 1 *
5 1 1
6 1 1
7 1 1
9 1 1
11 1 1
14 1 *
15 1 1

La colonna E essenziale perch lunica a coprire la


riga 4
RETI LOGICHE Metodo di Quine-McCluskey 30

Esempio seconda fase

m A B C D E F
1 1 1
4 1 *
5 1 1
6 1 1
7 1 1
9 1 1
11 1 1
14 1 *
15 1 1

La colonna E e le righe che copre (4, 5, 6, 7)


possono essere eliminate
RETI LOGICHE Metodo di Quine-McCluskey 31

Esempio seconda fase


Tabella risultante

m A B C D F
1 1 1
9 1 1
11 1 1
14 1 *
15 1 1
RETI LOGICHE Metodo di Quine-McCluskey 32

Esempio seconda fase


Tabella risultante

m A B C D F
1 1 1
9 1 1
11 1 1
14 1 *
15 1 1

La colonna F essenziale
RETI LOGICHE Metodo di Quine-McCluskey 33

Esempio seconda fase


Eliminazione della colonna F e delle righe che copre
(14,15)

m A B C D F
1 1 1
9 1 1
11 1 1
14 1 *
15 1 1
RETI LOGICHE Metodo di Quine-McCluskey 34

Esempio seconda fase


Tabella di copertura ridotta
m A B C D
1 1 1
9 1 1
11 1 1

Dominanza di colonna
La colonna B domina la A, perch contiene tutti gli 1 di
A pi almeno un altro 1
La colonna C domina la D, perch contiene tutti gli 1 di
A pi almeno un altro 1
Le colonne A e D possono essere rimosse senza per
questo aumentare il costo del circuito o modificarne il
funzionamento
RETI LOGICHE Metodo di Quine-McCluskey 35

Esempio funzione minima


Tabella ridotta dopo la dominanza colonne

m B C
1 1
9 1 1
11 1

F=E+F+B+C=
= XY +YZ +Y ZV + XYV
RETI LOGICHE Metodo di Quine-McCluskey 36

Esempio 2
In alcuni casi, una copertura minima non
identificabile applicando soltanto i criteri di
essenzialit e di dominanza colonne

In questi casi occorre applicare iterativamente i criteri


di dominanza riga e di dominanza colonne

Si consideri la seguente tabella ottenuta dopo


leliminazione di colonne essenziali e dominanti
m A B C D
a 1 1
b 1 1
c 1 1 1
d 1 1
e 1 1 1
RETI LOGICHE Metodo di Quine-McCluskey 37

Esempio 2
Dominanza righe Sulla tabella ridotta, si applica di
La riga c domina la riga d nuovo la dominanza colonne
c pu essere eliminata La colonna A domina la
La riga e domina la riga b colonna D
e pu essere eliminata D pu essere eliminata
La colonna C domina la
colonna B
m A B C D B pu essere eliminata
a 1 1
b 1 1 m A B C D
c 1 1 1 a 1 1
d 1 1 b 1 1
e 1 1 1 d 1 1

La funzione viene quindi coperta


usando A e C
RETI LOGICHE Metodo di Quine-McCluskey 38

Esempio 3 Funzione non-spec


F = m(4,5,6,8,9,10,13) + d(0,7,15)

Si considerano le d come mintermini durante la prima fase


Trovati i PI, per la copertura si considerano i soli mintermini
Passi 1-3 Elenco dei PI: 0(4), 0(8), 8(1), 8(2), 9(4), 4(1,2), 5(2,8)

0
4
8
5 Mintermini e
6
9 non specificazioni
10
7
13
15
RETI LOGICHE Metodo di Quine-McCluskey 39

Esempio 3 Funzione non-spec


F = m(4,5,6,8,9,10,13) + d(0,7,15)

Si considerano le d come mintermini durante la prima fase


Trovati i PI, per la copertura si considerano i soli mintermini

0 0000
4 0100
8 1000
5 0101
6 0110
9 1001
10 1010
7 0111
13 1101
15 1111
RETI LOGICHE Metodo di Quine-McCluskey 40

Esempio 3 Funzione non-spec


F = m(4,5,6,8,9,10,13) + d(0,7,15)

Si considerano le d come mintermini durante la prima fase


Passi 1-3
Elenco dei PI: 0(4), 0(8), 8(1), 8(2), 9(4), 4(1,2), 5(2,8)

0 0000 0(4) 0-00 A 4(1,2) 01-- F


4 0100 0(8) -000 B 5(2,8) -1-1 G
8 1000 4(1) 1001
5 0101 4(2) 01-0
6 0110 8(1) 100- C
9 1001 8(2) 10-0 D
10 1010 5(2) 01-1
7 0111 5(8) -101
13 1101 6(1) 011-
15 1111 9(4) 1-01 E
7(8) -111
13(2) 11-1
RETI LOGICHE Metodo di Quine-McCluskey 41

Esempio 3 cont.
Tabella di copertura

0(4) 0(8) 8(1) 8(2) 9(4) 4(1,2) 5(2,8)


4 X X
5 X X
6 X
8 X X X
9 X X
10 X
13 X X
RETI LOGICHE Metodo di Quine-McCluskey 42

Esempio 3 cont.
Tabella di copertura

0(4) 0(8) 8(1) 8(2) 9(4) 4(1,2) 5(2,8)


A B C D E F G
4 X X
5 X X
6 X
8 X X X
9 X X
10 X
13 X X
RETI LOGICHE Metodo di Quine-McCluskey 43

Esempio 3 cont.
Tabella di copertura

0(4) 0(8) 8(1) 8(2) 9(4) 4(1,2) 5(2,8)


A B C D E F G
4 X X
5 X X
6 X
8 X X X
9 X X
10 X
13 X X

Solo i mintermini
RETI LOGICHE Metodo di Quine-McCluskey 44

Esempio 3 cont.
Tabella di copertura

0(4) 0(8) 8(1) 8(2) 9(4) 4(1,2) 5(2,8)


A B C D E F G
4 X X
5 X X
6 X
8 X X X
9 X X
10 X
13 X X

Implicante D essenziale

H=D
RETI LOGICHE Metodo di Quine-McCluskey 45

Esempio 3 cont.
Tabella di copertura

0(4) 8(1) 9(4) 4(1,2) 5(2,8)


A C E F G
4 X X
5 X X
6 X
9 X X
13 X X

Implicante F essenziale

H= D + F
RETI LOGICHE Metodo di Quine-McCluskey 46

Esempio 3 cont.
Tabella di copertura

8(1) 9(4) 5(2,8)


C E G
9 X X
13 X X

Colonne C e G dominate da E

H=D+F
RETI LOGICHE Metodo di Quine-McCluskey 47

Esempio 3 cont.
Tabella di copertura

9(4)
E
9 X
13 X

H=D+F+E
RETI LOGICHE Metodo di Quine-McCluskey 48

Esempio 3 cont.
Tabella di copertura

E
9 X
13 X

H=D+F+E=
= 8(2) + 4(1,2) + 9(4) =
RETI LOGICHE Metodo di Quine-McCluskey 49

Esempio 3 cont.
Tabella di copertura

E
9 X
13 X

H=D+F+E=
= 8(2) + 4(1,2) + 9(4) =
= W X Z + W X + WYZ