Algebra di Boole

annuncio pubblicitario
Calcolatori Elettronici
Lezione 1
Docente: ing. A. Picariello
081 7683826
[email protected]
Martedi’
Lezione 1
„
„
„
Introduzione al corso
Libri di Testo, materiale didattico
Algebra di Boole
„
„
Definizione Assiomatica
Proprietà e Teoremi notevoli
1
Materiale didattico
„
Fadini, Esposito “Teoria e Progetto delle Reti
Logiche”, Liguori Editore
Fadini, Mazzocca “Reti Logiche, Complementi ed
esercizi, Liguori Editore
Fadini, De Carlini, “Macchine per l’elaborazione
dell’informazione”, Liguori Editore,
Lucidi sul Motorola 68000
Logic Work 4
„
Ntumin opp Espresso
„
Altre info: sito http://cds.unina.it/~picus
„
„
„
„
Logica
„
„
… da Aristotele
…a G. Boole
„
„
“ An Investigation into the Laws of
Thougths …”
<K, +, .>
„
„
K un insieme
+,. operatori interni che godono delle
seguenti proprietà
2
Reticolo
Commutativa
Associativa
Idempotenza
Assorbimento
A+B = B + A
A.B = B.A
A+(B+C)= (A+B)+C
A+A = A
A.A=A
A+A.B=A
A.(A+B) = A
Relazione d’Ordine
„
„
a+b = a
a.b=a
„
Infatti:
„
„
„
Prop. Riflessiva: a+a = a (per idempotenza)
antisimmetrica: a+b = a; b + a = b; →a=b
Transitiva
„
a+b=a; b+c=b;
„ a+(b+c)=a; (a+b)+c=a; → a+c=a
3
Massimo e Minimo
„
„
„
Minimo
Massimo
∀x∈K,
„
„
0
1
x.0=0
X+1=1
Complemento e Distributività
„
Complemento
∀x ∈ K , ∃x :
x + x = 1

x⋅x = 0
„
Proprietà ditributiva
„
„
(a+b) . c = a . c + b . C
(a .b)+c = (a+c) .(b+c)
4
… algebra di Boole
„
„
Reticolo distributivo, dotato di massimo,
minimo e complemento
Esempi di Algebre di Boole
„
„
„
„
Algebra degli Insiemi
Algebra delle Proposizioni
Algebra dei Circuiti
Dimostrazione
„
sono tutti reticoli distributivi, dotati di massimo,
minimo e complemento
Proprietà
a + ab = a + b
a + a b = (a + a )(a + b) = a + b
A ∪ Ac∩B = A ∪ B
5
De Morgan
( x + y ) = x ⋅ y

( x ⋅ y ) = x + y
…. Una prima importante conseguenza
x+ y = x+ y = x⋅y
x⋅ y = x⋅ y = x + y
„
Dimostrazione
Tabellare (per ogni valore di x,y il primo membro
e’ uguale al secondo)
algebrica
„
„
De Morgan
„
Dimostrazione algebrica
( x + y ) + x y = x + x y + y + x y = 1 + 1 = 1

 ( x + y ) ⋅ x y = xx y + yx y = 0 + 0 = 0
….. Valgono le proprietà del complemento …..
6
Generalizzazione
„
Teorema di DM Generalizzato
∑
„
a = ∏i =1 ai
i =1 i
n
n
Teorema di Shannon
f ( x1 , x2 ,...., xn ) = δ f ( x1 , x2 ,...., xn )
Implicazione
„
x→y
„
„
Se x è vera, y e’ vera
Se x è falsa, y è vera opp falsa
x+y=y
x
0
0
1
y
0
1
1
7
ovvero
x⊂y
Nei linguaggi
If x then y
y
x
Altra definizione
„
È sempre vero che
„
„
x falsa, y è vera opp falsa
x vera, y vero
x y + x y + xy = 1 ⇒ x ( y + y ) + xy = 1
da cui
… Semplice il significato
x + xy = 1
insiemistico
8
esempio
„
Sillogismo aristotelico
„
„
„
„
P1: Tutti gli uomini sono mortali
P2: Socrate è un uomo
P3: Socrate è mortale
P1∧P2→P3
dimostrazione
„
„
„
U = Insieme degli uomini
M = insieme dei mortali, U⊂M
S = Socrate
„
„
„
„
„
P1: U+M = M
P2: S+U = U
S+U+M=U+M ⇒
S+M=M
…. Ovvero Socrate è mortale
9
Esercizio a casa
„
„
Dimostrare che
(x→y)∧(y→x)→x=y
Lezione 2
„
„
„
Altre relazioni notevoli
Porte logiche
Funzioni Booleane
„
„
Livelli di una funzione
Forme canoniche
10
Relazioni notevoli
„
EQUIVALENZA
„
(x→y)∧(y→x)→x=y
x ≡ y = x y + xy
„
OR ESCLUSIVO
x ≡ y = x y + xy = x y ⋅ xy = ( x + y ) ⋅ ( x + y ) =
( x + y )( x + y ) = xx + xy + yx + yy =
xy + yx = x ⊕ y
XOR
„
Somma modulo 2
0
0
1
1
⊕
⊕
⊕
⊕
0
1
0
1
=
=
=
=
0
1
1
0
x
0
0
1
1
y
0
1
0
1
x≡y
1
0
0
1
x ⊕y
0
1
1
0
11
Porte Logiche
(vedi Logic Works)
Funzioni Booleane
„
„
B={0,1}
f: B x Bx …..x B→B
„
„
„
(x1,x2,…,xn) →y∈B
y=f (x1,x2,…,xn)
Tabella di Verità
x
y
z
0
0
1
0
1
0
1
0
0
1
1
1
12
Esempio di funzioni
„
AND
„
„
OR
„
„
y=x1x2
y=x1+x2
NOT
y=x
Funzioni di Funzioni
„
x1 ⊕ x2= x1 x2 + x1 x2
„
x1
x2
Funzione di AND, OR, NOT
.
+
x1
x2
Livello 0
.
Livello 1
y=f(y1,y2)
y1=f(x1,x2)
y2=f(x1,x2)
Livello 0 =
variabili della f.
Livello di una funz.
l=max l(yi)+1
Livello 2
13
Formalmente …
„
F={f1,f2,…fn} insieme di funzioni
„
„
y=fy(y1,y2,…,yn) con fy∈F
(1)
Se ogni y è sempre riconducibile alla
(1), l’insieme F è detto Funzionalmente
Completo
„
Se F={AND, OR, NOT}, la funzione è detta
ALGEBRICA, o RAZIONALE
esempio
y = x( z + t ) q + xy[z + xy (t + y )]
t
y
+
x
y
z
t
liv. complementari
.
z
x
q
y
x
.
+
.
+
1
5
+
2
4
3
3
4
2
5
1
14
Forme canoniche (1)
„
….mettiamo in evidenza ….
y = f ( x1 , x2 ,.., xn ) =
x1 f (1, x2 ,.., xn ) + x1 f (0, x2 ,.., xn ) =
x1 [x2 f (1,1,.., xn ) + x2 f (1,0,.., xn )] + x1 [x2 f (0,1,.., xn ) + x2 f (0,0,.., xn )]
y = x1 x2 ....xn f (1,....,1) + ... + x1 x2 ....xn f (0,....,0)
esempio: 2 variabili
y = x1 x2 f (0,0) + x1 x2 f (0,1) + x1 x2 f (1,0) + x1 x2 f (1,1)
Forme canoniche (2)
„
Esempio due variabili
y = x1 x2 f (00) + x1 x2 f (01) + x1 x2 f (10) + x1 x2 f (11)
f(10)=f(01)=1
f(00)=f(11)=0
y = x1 x2 + x1 x2
x1
x2
y
0
0
0
0
1
1
1
0
1
1
1
0
15
Un po’ di definizioni…
„
Litterals
„
„
Clausola
„
„
Variabile o il suo negato
Prodotto di letterali
Mintermine
„
Clausola di ordine massimo
… esempio
y = x1 x2 f (00) + x1 x2 f (01) + x1 x2 f (10) + x1 x2 f (11)
y = P0α 0 + P1α1 + P2α 2 + P3α 3
„
Ove
„
„
Pi indica un mintermine
αi il valore assunto dalla funzione in
corrispondenza di quel mintermine
16
1a forma canonica
„
… generalizzando,
y = ∑i =0 α i Pi
2 n −1
Forma canonica del I° tipo
„ Somma di Prodotti (SP) o tipo P
„
Numero caratteristico
x1
x2
y
La ennupla (α0, α1, ….., αn)
0
0
0 α0
0
1
1 α1
È il numero caratteristico
della funzione
1
0
1 α2
1
1
0 α3
#x1
#x2
#f=(0110)=6
Notare che dato #x1,#x2, ricavo facilmente
#f
…. Provare …..
17
Una semplice regola
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f
0
0
1
0
1
0
0
1
„
„
α0= α1= α3= α5= α6=0
α2= α4= α7=1
P2:(010)
P2:(100)
P2:(111)
f = x yz + xyz + xyz
Proprietà dei Mintermini
„
„
„
Pi ≠Pj ∀i ≠j
Pi . Pj = 0
Σi Pi=1
y
x
xyz⊆xy
xyz⊆xz
xyz⊆yz
z
xyz
Minima intersezione tra
insiemi
18
Maxtermini
„
Somma di letterali, Si
Pi = Si
„
„
…se nego f, ottengo una somma di
mintermini che hanno valore tabellare 1
… riottengo la f negando due volte
2 n −1
2 n −1
∑α P = ∏ (α
i =1
i i
i =1
i
2 n −1
αi=1
i =1
αi=0
+ Pi ) = ∏ (α i + S i )
αi+ Si=1
αi+ Si= Si
2a forma canonica
2 n −1
y = ∏ (α i + Si )
i =1
„
„
Prodotto di Somme (PS), o tipo S
Nella forma canonica di tipo S sono
presenti tutti e soli i maxtermini per i
quali si abbia αi=0
19
esempio
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f
0
0
1
0
1
0
0
1
„
„
„
„
„
S0:(000)
S1:(001)
S3:(011)
S5:(101)
S6:(110)
f = ( x + y + z )( x + y + z )
( x + y + z )( x + y + z )
( x + y + z)
Lezione 3
„
„
„
„
Equazioni Booleane
Don’t Care (DC)
Implicanti di una funzione
Forma minima di una funzione
Mappe di Karnaugh
„ Metodo tabellare
Esempi ed Esercizi da fare a casa
„
20
Risoluzione di equazioni
Pi=1
„
x yz = 1 ⇒ (010) soluzione
ΣiPi=1
„
x yz + xyz = 1 ⇒ soluzioni : (010), (100)
„
f (x1,x2,…,xn)=1
„ ⇔ ΣiαiPi=1
Ris. equzioni
„
„
Caso più generale
f (x1,x2,…,xn)=g(x1,x2,…,xn)
„
Ma che significa nell’algebra di Boole che f=g?
f ⋅ g + f ⋅ g =1
detto F = f ⋅ g + f ⋅ g
Ci riconduciamo al caso precedente:
F=1
„
21
Funzioni incompletamente
specificate
„
Data la funzione y=f (x1,x2,…,xn), può
accadere che in corrispondenza di alcune
ennuple, il valore dii y non è assegnato
„
„
y vale in quei punti indifferentemente 0 opp 1
“Don’t Care” DC
„
„
Le variabili non sono tra loro indipendenti
È realmente indifferente ai fini pratici il valore di y in tali
punti.
esempio
„
Trascodifica esadecimale/display a 7
seg.
HEX
encoder
Dec/enc
input
?
22
Esempio ….
X1
X2
X3
x4
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Punti che specificano la funzione
DON’T CARE
A che sono
utili i DC
?
osservazione
„
„
(x1,x2,…,xn)→ (y1,y2,…,yn)
y=f(x)
„
„
„
X
Codop
Y
1111
z=x y⇔zi=xiyi ∀i
z=x+y⇔zi=xi+yi ∀i
z=α y⇔zi= α yi ∀i
op1
op2
X AND Y
00….0 00…..0
23
Implicanti
„
f=γ1+ γ2+…+ γm , con γi clausola
„
„
„
Un implicante di una funzione
„
„
Se γi è vero, f è vera
γi →f : è un implicante della funzione f
che non implica a sua volta nessun altro
implicante della funzione
… è detto implicante primo
…. Come trovo i p.i.? (2var)
f = ab + a b + .....
f = b(a + a ) + ....
ab
a a
b
b
ab a b
ab ab
b
a
a
ab
ab
b
ab
24
Mappa di Karnaugh (K-map)
a
b
0
0
1
1
„
1
1
1
Che rappresento?
Come trovo i p.i.? 3 var
001
011
000
00 0
111
101
100
10
110
25
… Proiettando sul piano
„
K-Map
00
01
11
10
1
1
1
1
1
1
0
1
1
4 variabili
„
La rappresentazione grafica non è immediata
„
Passeremo direttamente alla Mappa di K
x1x2
x3x4
00
01
11
10
00
01
11
10
26
esempio
x1x2
00
01
00
1
1
01
1
1
x3x4
11
1
11
10
10
1
1
1
f = x1 x3 + x1 x2 x3 x4 + x2 x4
Concetto di “costo”
f = ab + ab(c + d ) + c d
b
a
c
b
a
d
c
d
Costo dei Letterali, Cl=numero di interruttori che occorrono
Per costruire il circuito
27
Concetto di “costo”
f = ab + ab(c + d ) + c d
Costo degli ingressi
Ci = 12
Costo delle Porte
Cp=5
Costo Minimo: uno dei tre costi diminuisce
di solito Cp rimane invariato
Come sarà un funzione in
forma minima?
„
f=γ1+ γ2+…+ γm (1)
La forma minima sarà una forma a
primi implicanti
f=p1+ p2+…+ pn (2)
„
f=γ1+ γ2+…+ γm+p1
„
„
∃ γi: γi→p1 …. E si può dunque eliminare …..
Iterando il ragionamento, si ha la (2)
28
…. Ma come trovare i PI?
„
„
Copertura massima di Mappe di K
Algoritmi numerici
„
Implementati al calcolatore
„
„
NTUMIN, ESPRESSO
Vediamo un esempio pratico
esempio
x
y
z
v
u
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
xy
xy
00
01
00
0
1
01
1
1
11
0
1
1
1
10
0
1
1
0
zv
yz v
xyv
xzv
yz
11
10
1
xzv
29
Implicanti Primi Essenziali
„
Un primo implicante di f è detto
“essenziale” se è l’unico ad essere
implicato da un mintermine di f
y = x y + yz + x z v + xzv + xyv + yz v
E’ essenziale per 0100
E’ essenziale per 1110
Come scegliere i PI non
essenziali?
„
Scelgo tra le possibili soluzioni quella che mi
“fornisce” un “costo minimo”.
„
Limiti delle Kmap
„
„
„
„
Le mappe non permettono di identificare PI per funzioni
con più di 5 variabili
Non forniscono indicazioni utili per identificare il minimo
numero di PI non essenziali necessari a coprire tutti i
mintermini della funzione
Sono complesse – praticamente inapplicabili – per
f.booleane a più uscite
Non sono un metodo utile per derivare un programma
per il calcolo automatico della “copertura” minima
30
Metodo di Quine-McCluskey
1. Riordino dei mintermini della tabella
secondo il numero di 1 contenuti nella
configurazione
„
x
y
z
v
Pi
0
0
0
1
1
0
1
0
0
4
0
1
0
1
5
0
1
1
0
6
1
0
0
1
9
0
1
1
1
7
1
0
1
1
11
1
1
1
0
14
1
1
1
1
15
2. Ogni configurazione in un
Gruppo viene confrontata con
Tutte le configurazioni del gruppo
Successivo
• se si trovano configurazioni
adiacenti, ciò indica la presenza
di somma di mintermini
Vanno spuntati!
Consensi …
Consensi:
1-5;1-9;4-5;4-6
5-7;6-7;6-14;9-11
7-15;11-15;14-15
x
y
z
v
Pi
0
0
0
1
1
√
0
1
0
0
4
√
0
1
0
1
5
√
0
1
1
0
6
√
1
0
0
1
9
√
0
1
1
1
7
√
1
0
1
1
11
√
1
1
1
0
14
√
1
1
1
1
15
√
Es. 1-5: 0001-0101Æ0-01
Il procedimento si itera,
…………
Tutti marcati: nessun PI
31
iterazione
x
y
z
v
Pi
0
-
0
1
1,5
A
-
0
0
1
1,9
B
0
1
0
-
4,5
√
0
1
-
0
4,6
√
0
1
-
1
5,7
√
0
1
1
-
6,7
√
-
1
1
0
6,14
√
1
0
-
1
9,11
C
-
1
1
1
7,15
√
1
-
1
1
11,15
D
1
1
1
-
14,15
√
x
y
z
v
Pi
0
1
-
-
4,6/5,7
E
-
1
1
-
6,7/14-15
F
Ha termine qui la prima fase
Dell’algoritmo.
I PI individuati Sono
A,B,C,D,E,F
Fase 2 (Patrick)
P1
A
1
B
1
P4
P5
P6
P7
P14
P15
1
1
D
F
P11
1
C
E
P9
1
1
1
1
1
1
1
1
Costruzione matrice di copertura
•Tante righe quanti sono i
mintermini
•Tante colonne quanti sono i PI
1
1
1
P4 è coperto solo da E
P14 è coperto solo da F
E ed F sono PI ESSENZIALI!
32
Fase 2 (Patrick) (cont)
P1
A
1
B
1
Si cancellano E ed F e tutti
i mintermini “coperti” da E ed F
P11
P9
•Non esistono più essenzialità
•Ogni mintermine è coperto da
1
C
1
1
D
almeno due implicanti
1
Operiamo un confronto tra le righe A e B
B contiene tutti gli 1 di A e almeno un ulteriore 1
….. B DOMINA A
Æ l’implicante associato a B copre tutti i mintermini
dell’implicante A, più almeno 1
…. Scegliere B non porta ad un costo > di scegliere A
Æ lo stesso vale per D rispetto C
Fase 2 (Patrick) (cont-2n)
B
C
P11
P1
P9
1
1
1
1
Colonna P9 domina P1 e P11
• qualunque implicante che copre
P1, copre anche P9, ma non
viceversa…. Lo stesso per P9 ….
CANCELLO LA COLONNA DOMINANTE
NOTIAMO CHE …
B è “pseudo” essenziale per P1
C è “pseudo” essenziale per P11
Prendo per la copertura B e C
Forma minima: E+F+B+C
Costo minore…
u = x y + yz + yz v + xyv
33
Osservazioni
P0
P2
1
1
A
B
1
C
P3
P4
P5
1
1
1
D
1
E
1
F
1
P7
1
1
1
„
Non sempre le
riduzioni dovute
ad essenzialità e
dominanza
consentono di
giungere ad una
soluzione!
Non esistono righe essenziali, né relazioni di dominanza
Æalgoritmi di Branch&Bound
esamina delle alternative (albero delle scelte)
Definizione
„
„
Definiamo Nucleo l’insieme degli
implicanti primi essenziali per una
funzione f.
Le forma minima di f sarà data da
f=N+α
34
Don’t Care
„
Una funzione booleana con DC può essere
descritta da:
„
„
„
On-set (Off-set)
DC-set
Che fare dei DC?
„
„
Posso tralasciare il DC set, senza modificare gli
algoritmi precedenti
…ma le condizioni di indifferenza possono
costituire una opportunità ulteriore per
minimizzare ….
…esempio con K-map
„
zv
xy
00
01
11
10
00
-
01
-
1
1
1
1
11
10
Scelgo opportuamente sulla
mappa 0 o 1 nei punti di
DC per avere copertura
ottimale
„
… ovviamente, si tralasciano
implicanti costituiti da solo
punti di indifferenza ….
35
… e Mc Kluskey?
x
y
z
v
u
x
y
z
v
0
0
0
0
0
0
1
0
0
4
√
0
0
0
1
0
0
0
1
1
3
√
0
0
1
0
0
0
1
0
1
5
√
0
0
1
1
-
0
1
1
0
6
√
0
1
0
0
1
1
0
1
0
10
√
0
1
0
1
-
0
1
1
1
7
√
0
1
1
0
-
1
0
1
1
11
√
0
1
1
1
-
1
1
0
1
13
√
1
0
0
0
0
1
1
1
0
14
√
1
0
0
1
0
1
1
1
1
15
√
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
Pi
3,5,6,7 vengono evidenziate
NON e’ necessario coprire le condizioni di
indifferenza
…non potranno mai esistere
implicanti primi costituiti da soli DC …
Esempio … (cont)
x
y
z
v
Pi
0
1
0
-
4,5
√
x
y
z
v
Pi
0
1
-
0
4,6
√
0
1
-
-
3,5/6,7
A
0
-
1
1
3,7
√
-
-
1
1
3,7/11,15
B
-
0
1
1
3,11
√
-
1
-
1
5,7/13,15
C
0
1
-
1
5,7
√
-
1
1
-
6,7/14,15
D
1
-
1
-
10,11/14,15
E
-
1
0
1
5,13
√
0
1
1
-
6,7
√
-
1
1
0
6,14
√
1
0
1
-
10,11
√
1
-
1
0
10,14
√
-
1
1
1
7,15
√
1
-
1
1
11,15
√
1
1
-
1
13,15
√
1
1
1
-
14,15
√
36
… ovvero
P4
A
P10
P11
P13
P14
P15
1
B
1
C
1
1
D
E
1
1
1
1
1
1
1
u=A+E+C
Esercizi da fare a casa
„
Data la funzione f(abcde),
„
„
comp. specificata:
On set={p1,p3,p11,p17,p19,p20,p27,p28}
Calcolare la forma minima con il metodo di
Quine-McCluskey
„
Posso usare le K-Map? Come?
37
Esercizi da fare a casa
„
Data la funzione f(abcde)
„
„
incomp. specificata:
On set={p4,p6,p14,p15,p24,p25}
DC set={p1,p3,p7,p16,p27,p28}
Calcolare la forma minima con il metodo di
Quine-McCluskey
„
Posso usare le K-Map? Come?
Esercizi di fare a casa
zv
xy
00
01
11
10
00
01
-
11
10
1
-
1
1
-
1
-
Trovare la forma
Minima della f
booleana
38
Lezione 4
„
„
„
Forme NAND, NOR
Altre funzioni di due variabili
disparità
Porte nand e nor
„
z = x⋅ y = x ↑ y
Una funzione a 2 livelli (SP o
PS), ha bisogno di 3 porte
diverse
„
„
Costo maggiore
…. Ciò può essere evitato con
l’uso di NAND e NOR
z = x+ y = x↓ y
39
Proprietà notevoli
1)
x ↑ x = x⋅x = x + x = x
2)
x ↑ 1 = x ⋅1 = x + 0 = x
… dualmente per la nor
Osservazione
„
Vale la proprietà associativa?
?
( x ↑ y) ↑ z = x ↑ ( y ↑ z)
xy
z
0
1
00 01 11 10
1
1
1
1
0
0
x↑ y
1
1
xy
z
0
1
00 01 11 10
1
0
1
0
1
1
1
0
( x ↑ y) ↑ z
40
Osservazione
„
Vale la proprietà associativa?
?
xy
z
0
1
( x ↑ y) ↑ z = x ↑ ( y ↑ z)
00 01 11 10
1
1
1
0
1
0
1
1
y↑z
xy
z
0
1
00 01 11 10
1
1
1
1
0
1
0
0
x ↑ ( y ↑ z)
ATTENTI!! NON VALE LA PROPRIETA’ ASSOCIATIVA
Spazi Funz. Completi
x⋅ y = x⋅ y = x + y = x ↓ y
{NOR}
x + y = x + y = x. y = x ↑ y
{NAND}
„
Una funzione booleana può
essere sempre espressa con soli
operatori NAND (o NOR)
„
Vantaggi economici, pratici
41
Da forma and-or a nand
f = γ 1 + γ 2 + .....γ n
f = f = γ 1 + γ 2 + .....γ n = γ 1 ⋅ γ 2 ⋅ .....γ n = γ 1 ↑ γ 2 ↑ .....γ n
esempio
f = ab + cd + ef = ab ↑ cd ↑ ef =
( a ↑ b ) ↑ (c ↑ d ) ↑ (e ↑ f )
Che succede se ho un unico letterale k?
affinchè tutto funzioni, devo negare k, ovvero porre k↑k
…. ovvero
Data una funzione f ….
1.
„
„
se al primo livello complementare trovo un OR, la funzione
si dirà in forma OR, facilmente trasformabile in forma
NAND
se al primo livello complementare trovo un AND, la
funzione si dirà in forma AND, facilmente trasformabile in
forma NOR
Data una funzione a più livelli in forma OR (AND),
ottengo la forma NAND prendendo le variabili che
si trovano a livello complementare pari così come
sono, e negando quelle a livello complementare
dispari …
2.
„
Stando bene attenti all’ordine ….
„
NON VALE LA PROPRIETA’ ASSOCIATIVA ….
42
esempio
f = a[b + c(d + e )] + a c + dc + k
a
c
d
c
a
d
+
e
b
.
c
5
4
+
3
.
k
+
.
.
2
1
Ovvero …
[
]
f = a ↑ b ↑ c ↑ (d ↑ e ) ↑ (a ↑ c) ↑ (d ↑ c) ↑ k
… dimostriamo algebricamente
f = a[b + c(d + e )] + a c + dc + k =
a[b + c(d + e )] ↑ a c ↑ dc ↑ k =
a ↑ [b + c(d + e )] ↑ (a ↑ c) ↑ (d ↑ c) ↑ k =
[
]
a ↑ b ↑ c(d + e ) ↑ (a ↑ c) ↑ (d ↑ c) ↑ k =
[
]
a ↑ [b ↑ c ↑ (d ↑ e )] ↑ (a ↑ c) ↑ (d ↑ c) ↑ k
a ↑ b ↑ c ↑ ( d + e) ↑ ( a ↑ c ) ↑ ( d ↑ c ) ↑ k =
43
Funzioni di 2 variabili
x y
f0
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10 f11 f12 f14 f14 f15
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
Co ∧
ntr
ad
d.
∧
x
¬y
∧
y
¬x
⊕
∨
↓
≡
¬y y
→
x
¬x X
→
y
↑
ta
ut
olo
gia
Parità e Disparità
00101011
01101011
44
Funzioni di Parità
x = ( x1 , x2 ,...xn )
1, se x ha un numero di 1 dispari
d ( x) = 
 0, se x ha un numero di 1 pari
Es. d(10101101)=1
p( x) = d ( x)
2 variabili
x1
x2
„
0
0
1
1
1
1
….. Ho 1 nei
mintermini 01 e 10
… mintermini con
numero di 1
dispari….
d ( x1 , x2 ) = x1 x2 + x1 x2 = x1 ⊕ x2
45
4 variabili
x1x2
x3x4
00
01
1
00
01
1
10
1
1
11
10
11
1
1
Costo minimo
2n/2 mint. dispari
1
1
Decomposizione funzionale
0
1
0
1
0
1
1
1
x1
d(x1)=1
x2
d(x2)=0
x3
d(x3)=0
C ∝ 23−1 + 23−1 + 2 2−1 = 2 2 + 2 2 + 2 = 6
x
C ∝ 2 n−1 = 27
d(x)=d(d(x1), d(x2), d(x3))
„
C=C(d(x1))+C(d(x2))+C(d(x3))
46
Disparità e parità (3 v)
„
… disparità = negato di parità ….
p ( x1 , x2 ) = x1 ⊕ x2 = x1 ≡ x2
… e per tre variabili …..
d ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3
p ( x1 , x2 , x3 ) = d ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3
Relazione Notevole
d ( x1 , x2 ) = x1 x2 + x1 x2 = x1 ⊕ x2 = d ( x1 , x2 ) = p( x1 , x2 )
d ( x1 , x2 , x3 ) = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 =
= p ( x1 , x2 , x3 ) = d ( x1 , x2 , x3 )
„
Numero di variabili pari
„
„
“disparità dei negati = disparità”
Numero di variabili dispari
„
“disparità dei negati = parità”
47
Scarica