Calcolatori Elettronici
Lezione 1
Docente: ing. A. Picariello
081 7683826
Antonio.picariello@unina.it
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