1 2
3 4
Notazione And e or
Senza parentesi, AND ha precedenza
sull’OR
Esempio: A + (B x C) = A + B x C
Spesso scritto senza x:
Esempio: A + BC
Tabella di verita’
Risultato per ogni possibile combinazione dei
valori degli operandi
5 6
1
AND OR NOT
Xor e not A B A AND B A B A OR B A NOT A
falso falso falso falso falso falso falso vero
falso vero falso falso vero vero vero falso
vero falso falso vero falso vero
vero vero vero vero vero vero
A B R A B R A R
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
A A
R R A R
B B
Ā =1
Leggi di De Morgan Ā
AxB= +B Ā
A+ = xB
B
9 10
11 12
2
NAND NOR
Completezza A B A NAND B A B A NOR B
falso falso vero falso falso vero
falso vero vero falso vero falso
A OR B = NOT((NOT A) AND (NOT B)) vero falso vero vero falso falso
Quindi anche {AND, NOT} e’ un insieme vero vero falso vero vero falso
completo A B R A B R
0 0 1 0 0 1
Lo stesso per {OR, NOT}
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0
A A
R R
B B
13
OR
A
Quindi NAND o NOR sono complete circuiti con solo porte NAND o solo porte NOR.
16
⇒ ≡
A B A ⇒ B A B A ⇒ B A B A ≡ B A ≡ B equivale a
0 0 1
falso falso
falso vero
vero
vero
0 0
0 1
1
1 0 1 0
(A ⇒ B) AND (B ⇒ A)
vero falso falso 1 0 0 1 0 0 A B A ⇒ B B ⇒ A (A ⇒ B)AND(B ⇒ A)
vero vero vero 1 1 1 1 1 1
0 0 1 1 1
0 1 1 0 0
A ⇒ B equivale a (NOT A) OR B 1 0 0 1 0
1 1 1 1 1
A B NOT A (NOT A) OR B
0 0 1 1 A A
R
0 1 1 1 B B
1 0 0 0 R
1 1 0 1
3
≠ o XOR A XOR B equivale a Dalla tabella di verita’ ad un circuito
A B A ≠ B
NOT (A ≡ B) Implementazione di funzioni Booleane
0 0 0
0 1 1 A B A ≡ B NOT(A ≡ B) Tanti circuiti diversi per una stessa funzione
1 0 1 0 0 1 0 Un metodo che funziona sempre (somma di
1 1 0 0 1 0 1 prodotti):
1 0 0 1 Tanti input quante sono le dimensioni della tabella
1 1 1 0 Un solo output
Un OR la cui uscita e’ l’output
A Tanti AND quanti sono gli 1 della tabella
Input degli AND: 1 se diretto, 0 se negato
B
A A
A ≠ B F = not(A)B + B not(A)
R B
X R A B
0 0 0 B
0 1 1 R
1 0 1
1 1 0
20
Esercizio Esercizio
23 24
4
Esercizio Esercizio
•Si disegni un circuito logico che realizza •Dare la tavola di verita’ delle formule:
la seguente tavola di verita’:
•(A NOT(B)) OR (A AND B)
•A=0, B=0 R = 1
•A OR (A AND NOT(B))
•A=0, B=1 R = 1
•(NOT(A) NOT(B)) OR (NOT(A)
•A=1,B=0 R = 1 AND B)
•A=1, B=1 R = 0 25 26
27 28
29 30
5
SOLUZIONE : riduzione della espressione SOLUZIONE : schema della rete combinatoria
f = ABC + ABC + ABC + ABC
= ABC + ABC + AB(C + C) distributiva
= ABC + ABC + AB(1) complemento f = (B + A)C + AB
= ABC + ABC + AB identità
A
= ABC + ABC + AB + ABC idempotenza
B
= ABC + AC(B + B) + AB distributiva
C f
= ABC + AC(1) + AB complemento
= ABC + AC + AB identità
= ABC + AC + AB + ABC = … idempotenza
= BC + AC + AB = (B + A)C + AB
31 32
F = B( +C)
A = A e teorema di De Morgan
Ā
= nand(nand( ,B),nand(B,C))
F
33 34
6
Confrontatore Commutatore z := if not α then x else y
α
z := not (x = y)
X X
Y
Z Z
37 38
Multiplexer (o selettore) 2n a 1
Uso del multiplexer
Solo uno degli ingressi viene
trasferito all’output
n ingressi di controllo: indicano Caricamento del program counter, con valore
l’ingresso da trasferire proveniente da
2n linee di input
Un contatore binario (incremento per successiva
( D0 - D7)
istruzione)
n linee di controllo
(A,B,C) Registro istruzione corrente (istruzione di salto)
1 linea di output (F) Output della ALU
Per ogni combinazione degli Input primari tanti quante linee di ingresso, PC in
ingressi di controllo, 2n -1 delle output ad un multiplexer (1 multiplexer per ogni bit del
porte AND hanno uscita 0, l’altra
PC)
fa uscire l’ingresso
41 42
7
Demultiplexer Comparatore
E’ il circuito inverso del Multiplexer ed è spesso usato in
combinazione con quest’ultimo (seleziona comunicazione fra
Compara due ingressi e produce un output che
linee) indica la uguaglianza (0) o meno (1) degli
ingressi
Esempio di comparatore ad 1 bit: si realizza con
una porta XOR
Sommatore
Somma due numeri binari
Prima bisogna capire cosa sono i numeri
binari e come si sommano
47