Upload
nguyenxuyen
View
305
Download
1
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.