27
1 Esercizi per il corso di Calcolatori Elettronici svolti da Mauro IACOVIELLO & Fabio LAUDANI Parte prima : mappe di Karnaugh, metodo QMC ESERCIZIO 1: Mappe di Karnaugh n Minimizzare la rete rappresentata dalla funzione: F = {0, 1, 2, 3, 4, 5, 10, 11} DC = Ø

Esercizi per il corso di Calcolatori Elettronici - ita.ovh · ESERCIZIO 6: Metodo di Quine-McCluskey nMinimizzare, con il metodo di Quine_McCluskey, la rete rappresentata da: ON =

Embed Size (px)

Citation preview

1

Esercizi per il corso diCalcolatori Elettronici

svolti da Mauro IACOVIELLO

&Fabio LAUDANI

Parte prima : mappe di Karnaugh, metodo QMC

ESERCIZIO 1: Mappe di Karnaugh

n Minimizzare la rete rappresentata dalla funzione:

F = {0, 1, 2, 3, 4, 5, 10, 11} DC = Ø

2

SOLUZIONE:

n si costruisce la tabella di verità della rete

n Una volta evidenziati i mintermini si passa alla stesura

della mappa di Karnaugh.

01111

00111

01011

00011

11101

10101

01001

00001

01110

00110

11010

10010

11100

10100

11000

10000

Fdcba

Mappa di Karnaugh

1110

1111

1101

1100

10110100

cdab

A = a!c

B = !bc

Questo gruppo si puòtrascurare, perché è giàcoperto da Ae B

3

n Raccogliendo opportunamente si ottengono i seguenti implicanti primi ed essenziali:

A = !a!c , B = !bc

n la funzione minimizzata, con riferimento alla prima forma canonica, è:

F(a,b,c,d) = !a!c + !bc

a b c

F

la rete minimizzata è:

4

ESERCIZIO 2: Mappe di Karnaugh

n Svolgere l’esercizio precedente facendo riferimento alla seconda forma canonica.

n vedere quale delle due soluzioni risulta più efficiente in termini di costi di realizzazione.

SOLUZIONE:

n tralasciando la compilazione della tabella di verità, (vedi la precedente)

n si passa direttamente alla mappa diKarnaugh, riferita ai maxtermini:

0010

0011

0001

0000

10110100ab

cd

A = !a + c

B = !b +! c

5

n La funzione minimizzata,nella seconda forma canonica,è:

F(a,b,c,d) = (!a + c)*(!b+!c)

n Si osserva che il costo delle due funzioni minimizzate è lo stesso, in quanto uguale è il numero di lettere presenti nelle loro espressioni ( vi sono infatti 4 lettere in entrambe le funzioni).

La rete minimizzata è:

a b c

F

6

ESERCIZIO 3: Mappe di Karnaugh

n Minimizzare la rete rappresentata dalla funzione:

F = {0,4,5,7,8,13,15} DC = Ø

SOLUZIONE:

n si costruisce la tabella di verità della rete:

0

1111115

0011114

1101113

0001112

0110111

0010110

010019

100018

111107

001106

110105

100104

011003

001002

010001

10000

Fdcba

7

n evidenziati i mintermini si passa alla stesura della mappa di Karnaugh :

B = !b!c!d

10

1111

1101

11100

10110100

abcd

A = bd

C = !a!c!d

n Calcolati gli implicanti primi e possibile scrivere l’espressione della funzione minimizzata :

F(a,b,c,d)= bd + !b!c!d + !a!c!d

dcba

F

8

ESERCIZIO 4: Mappa di Karnaugh

n Minimizzare la rete rappresentata dagli stati di :

ON= {0,2,12,13} DC = {4,5}

SOLUZIONE:

n si crea la tabella di verità

n Si ricavano i mintermini e si compila quindi la mappa di Karnaugh, nella quale inseriamo il simbolo “-“ per identificare la condizione di don’t care

0

0111115

0011114

1101113

1001112

0110111

0010110

010019

000018

011107

001106

-10105

-00104

011003

101002

010001

10000

Fdcba

9

Mappa di Karnaugh

A = b!c

110

11

1-01

1-100

10110100

abcdB = !a!b!d

n Calcolati gli implicanti primi e possibile scrivere l’espressione della funzione minimizzata :

F(a,b,c,d) = b!c + !a!b!dLa rete risultante è:

dcba

F

10

ESERCIZIO 5: Mappa di Karnaugh

n Minimizzare la rete rappresentata da:

On = {8,9,10,11,19,20,23,24,25,26,27,31}

DC = Ø

SOLUZIONE:

n Si crea la tabella di verità, a 5 variabili, per individuare i mintermini

11111131

00111130

01011129

00011128

11101127

10101126

11001125

10001124

11110123

00110122

01010121

10010120

11100119

00100118

01000117

00000116

01111015

00111014

01011013

00011012

11101011

10101010

1100109

1000108

0111007

0011006

0101005

0001004

0110003

0010002

0100001

0000000

Fedcba

11

n si costruiscono due mappe di Karnaugh, in una si inseriscono i mintermini che hanno la variabile a=0, nell’altra quelli che hanno la variabile a=1

110

111

101

100

10110100bc

de

110

111111

101

1100

10110100bc

de

Sono adiacenti, si possono raccogliere:A = b!c

B = ade

a = 0 a = 1

n Si ricava quindi la funzione minimizzata:

F(a,b,c,d,e)= b!c + ade + a!bc!d!e

dcba e

12

ESERCIZIO 6: Metodo di Quine-McCluskey

n Minimizzare, con il metodo di Quine_McCluskey, la rete rappresentata da:

ON = {0,1,4,5,13,14}

DC = Ø

SOLUZIONE:

n si esplicitano le condizioni dello stato di ON (utilizzando il numero minore possibile di bit, in questo caso 4), dal quale si ricava la seguente configurazione:

ON = {0000, 0001, 0100, 0101, 1101, 1110}

n si viene quindi a creare una partizione formata da sottoinsiemi definiti in base al numero di 1 presenti nella loro configurazione

{{0000};{0001,0100};{0101};{1101,1110}}

n a partire dal sottoinsieme che contiene il minor numero di 1, sieffettua il confronto fra ogni configurazione di tale gruppo conquella del gruppo adiacente (cioè quella configurazione che contiene un 1 in più).

13

n Confronto la configurazione di gruppo 0 con quella di gruppo 1; quella di gruppo 1 con gruppo 2, e così via.

A(13)(14)

10

01

11

11

3

\(5)10102

\\

(1)(4)

10

00

01

00

1

\(0)00000

d cbagruppi

Non è confrontabile E’ implicante primo

n Quando due mintermini sono adiacenti si genera un nuovo implicante, si elimina la variabile che assume valore differente tra le due configurazioni e la sua posizione viene segnata con un trattino (es. 0000 e 0001 danno luogo a 000-).

n Si genera un’altra tabella in cui inserisco gli implicanti trovati:

B(5,13)101-

\(1,5)(4,5)

1-

00

-1

00

\\

(0,1)(0,4)

-0

00

0-

00

d cba

Implicante primo

n si ripete il confronto tra i gruppi adiacenti in funzione della posizione del trattino, si posso infatti confrontare solo le configurazioni che hanno il trattino nella stessa posizione, ed in caso di variazione di un solo bit si genera un nuovo implicante di ordine superiore.

14

n Si crea un’ulteriore tabella:

Implicante primo

C(0,1,4,5)-0-0

d cba

n Riassumendo gli implicanti primi trovati sono:

A = abc!d (14)

B = b!cd (5,13)

C = !a!c (0,1,4,5)

n Si realizza la tabella di copertura in cui le colonne rappresentano i mintermini, mentre le righe gli implicanti primi

XXXXC

XXB

XA

14135410n La riga C è essenziale

(almeno un elemento della riga è unico nella rispettiva colonna);

n questo implica che C , oltre ad essere implicante primo, è anche essenziale.

n Si procede, quindi, eliminando la riga essenziale e tutte le colonne da essa coperte.

15

XB

XA

1413

Si nota che anche A e B sono essenziali, quindi la funzione minimizzata è:

F(a,b,c,d)= A + B + C = abc!d + b!cd + !a!c

ESERCIZIO 7: Metodo di Quine-McCluskey

n Minimizzare, con il metodo di Quine -McCluskey,la rete rappresentata da:

ON = {0,2,4,5,6,7,8,9,13,15}

DC = Ø

16

SOLUZIONE:

n si esplicitano le condizioni dello stato di ON , dal quale si ricava la seguente configurazione:

ON = {0000,0010,0100,0101,0110,0111,1000,1001,1101,1111}

n La partizione che si ottiene è la seguente:

{{0000,0010,0100,1000}; {0101,0110,1001}; {111,1101},{1111}}

n si effettua il confronto generando così gli implicanti primi; per fare questo si costruisce la tabella:

\\

(15)11114

\\

(7)(13)

11

10

11

01

3

\\\

(5)(6)(9)

101

010

110

001

2

\\\

(2)(4)(8)

000

100

010

001

1

\(0)00000

d cbagrupp

iConfronto la configurazione di gruppo 0 con quella di gruppo 1,quella di gruppo 1 con gruppo 2,e così via.

17

n Si crea un’altra tabella in cui inserisco gli implicanti

Implicante primo

Implicante primo

Implicante primo

\\

(7,15)(13,15)

11

1-

11

-1

\\\C

(5,7)(5,13)(6,7)(9,13)

11-1

-010

111-

0-01

\\B\

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

0--0

100-

-101

0010

\\A

(0,2)(0,4)(0,8)

000

-00

0-0

00-

d cba

n si ripete il confronto tra i gruppi adiacenti in funzione della posizione del trattino, si generano nuovi implicanti di ordine superiore.

n Riassumendo gli implicanti primi trovati sono:

A = !b!c!d (0,8)B = a!b!c (8,9)C = a!cd (9,13)

D = !a!d (0,4,2,6)E = !ab (4,5,6,7)

F = bd (5,7,13,15)

F(5,7,13,15)1-1-

E(4,5,6,7)--10

D(0,4,2,6)0--0

d cba

Implicanti primi

18

n Si realizza la tabella di copertura, in cui le colonne rappresentano i mintermini, mentre le righe gli implicanti primi:

XXXXF

XXXXE

XXXXD

XXC

XXB

XXA

151398765420

n Si procede, quindi, eliminando la riga essenziale e tutte le colonne da essa coperte.

D è implicante primo essenziale

XXXXF

XXE

XXC

XXB

XA

15139875

F è implicante primo essenziale

XC

XXB

XA

98

B è riga dominante

19

n Si ha che F e D sono righe essenziali, B è Riga dominante, quindi la funzione minimizzata è:

f(a,b,c,d)= B + D + F = a!b!c + !a!d + bd

ESERCIZIO 8:Mappa di Karnaugh

a 5 variabili

n Minimizzare la rete rappresentata dalla funzione:

F= Óm(0,1,2,3,12,13,14,15,30,31)

DC= Ø

20

SVOLGIMENTO:

n si costruisce la tabella di verità della rete,inserendo solo le configurazioni dei mintermini interessati

1111131

0111130

1111015

0111014

1011013

0011012

110003

010002

100001

000000

EDCBAMi

n Evidenziati i mintermini si passa alla stesura delle due mappe di Karnaugh,relazionando se è possibile le celle corrispondenti nelle due tabelle.

10

1111

11101

100

10110100cd

ab

10

1111

11101

100

10110100cd

ab

bc

!a!b!c

21

n L’espressione della funzione minimizzata sara’ :

F(a,b,c,d)= !a!b!c+bc

Si ricava quindi la seguente rete:

cba

F

ESERCIZIO 9:Mappa di Karnaugh

n Semplificare la seguente funzione booleana in forma di prodotto di somme:

F= ÐM(0,5,7,10,13,14)

DC= (2,4,6,8,15)

22

SVOLGIMENTO:

-111115

0011114

0101113

0010110

-00018

011107

-01106

010105

-00104

-10002

000000

FDCBAMax In questo caso considereremo le celle della mappa marcate con “0” che rappresentano i maxtermini della funzione.

n Evidenziati i maxtermini si passa alla stesura della mappa di Karnaugh

La funzione in forma di prodotto di somme sarà:

F=(b + c )*(!b+!d)*(!a+b)

010

0x011

X00x01

X000

10110100ab

cd

23

n La rete che si ricava è:

dcba

F

ESERCIZIO 10:METODO QUINE-MC CLUSKEY

n Utilizzando il metodo di Quine Mc Cluskeysintetizzare in forma somma di prodotti la seguente funzione booleana avente 4 ingressi e una uscita:

F=Ó (0,1,2,3,5,7,8,10,14,15)

n Tracciare inoltre uno schema della rete.

24

SVOLGIMENTO:

n Per iniziare si costruisce una tabella in cui vi sono tutti i mintermini presenti nella funzione, rappresentati in binario.

1111115

1011114

0101113

0001112

0110111

1010110

010019

100018

111107

001106

110105

000104

111003

101002

110001

100000

FDCBAMi

n Si suddividono i mintermini in classi in base al numero di uno che vi sono nella loro rappresentazione in binario.

n si confronta ogni mintermine di una classe con tutti i quelli della classe adiacente,al fine di raggruppare quei mintermini la cui configurazione differisce di un solo bit.

111115

011114

11107

010110

10105

11003

00018

01002

10001

00000

DCBAMi

25

-111(14,15)

111-(7,15)

01-1(10,14)

1-10(5,7)

11-0(3,7)

0-01(8,10)

010-(2,10)

-000(2,3)

10-0(1,5)

1-00(1,3)

000-(0,8)

0-00(0,2)

-000(0,1)

DCBAMi

IMPLICANTE AIMPLICANTE B

IMPLICANTE C

Si ripete lo stesso procedimento di prima:si confrontano le configurazioni che hanno nella stessa posizione il simbolo “-“

Le fusioni 10-14,7-15,14-15 risultano essere non confrontabili motivo per cui costituiscono degli IMPLICANTI PRIMI.

1--01,3,5,7

0-0-0,2,8,10

--000,1,2,3

DCBAMi

n A questo punto non essendo possibile continuare a confrontare, si riscrivono tutte le configurazioni che non sono state usate in qualche fusione, cioè si riscrivono tutti gli implicanti primi.

A = 10-14 ;B = 7-15; C = 14-15

D = 0,1,2,3 ; E = 0,2,8,10 F = 1,3,5,7

26

n Si ricavano gli implicanti primi essenziali, con l’ausilio di una tabella di copertura.

XXXXH

XXXXG

XXXXF

XXC

XXB

XXA

1514108753210

La riga della tabella in cui vi è H è una RIGA ESSENZIALE.

XXXXG

XXF

XXC

XB

XXA

151410820

F è una RIGA DOMINATA,mentre G è una RIGA DOMINANTE. Occorre cancellare la riga dominata senza pero’ cancellare le relative colonne in cui vi sono le croci.

27

XXXXG

XXC

XB

XXA

151410820

G risulta anche essere una RIGA ESSENZIALE

XXC

XB

XA

1514 C è una RIGA DOMINANTE mentre B e A sono due RIGHE DOMINATE.

In definitiva la funzione minimizzata è:

F=C+G+H=ABC+!B!D+!AD