Algebra Booleana, Funzioni Logiche e Circuiti Logici

Algebra Booleana, Funzioni Logiche e Circuiti Logici
Esercizio 1
Si scriva, utilizzando gli operatori booleani AND, OR, NOT, la funzione booleana che riceve in
ingresso un numero binario puro su 3 bit e ritorna in uscita il valore 1 se e solo se il numero che
c'è in ingresso è maggiore o uguale a quattro.
Il problema è modellabile con tre variabili, A, B, C. Il primo passo consiste nella costruzione
della tabella della verità, dove l'uscita varrà "1" se il numero in ingresso è maggiore o uguale a
quattro (100 binario)..
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
USCITA
0
0
0
0
1
1
1
1
La funzione, in forma algebrica, risulta:
U =
=
=
=
=
AB° C° + AB° C + ABC° + ABC
AB° (C° + C) + AB (C° + C)
AB° + AB
A (B° + B)
A
L'uscita varrà quindi 1 se la variabile A vale 1.
Esercizio 2
Dati gli operatori booleani AND, OR, NOT, scrivere l'espressione di una funzione booleana F
avente come ingressi due numeri binari puri X e Y su 2 bit, che ritorni il valore 1 se X > Y.
Disegnare il circuito risultante.
Il problema è modellabile con 4 variabili, X1, X0, Y1, Y0. La tavola della verità è:
Y1 Y0 X1 X0
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
USCITA
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
La funzione, in forma algebrica, risulta:
U= Y1°
Y1° Y0
= Y1°
Y1 Y0°
= Y1°
= Y1°
= Y0°
Y0° X1°
X1 X0 +
Y0° X1°
X1 X0
Y0° X1°
Y0° X1°
X0 (Y1°
X0 + Y1° Y0° X1 X0° + Y1° Y0° X1 X0 + Y1° Y0 X1 X0° +
Y1 Y0° X1 X0
X0 + Y1° Y0° X1 (X0° + X0) + Y1° Y0 X1 (X0° + X0) +
X0 + Y1° Y0° X1 + Y1° Y0 X1 + Y1 Y0° X1 X0
X0 + Y1° X1 (Y0 + Y0°) + Y1 Y0° X1 X0
X1° + Y1 X1) + Y1° X1
È possibile ancora semplificare sommando due volte, all'espressione ottenuta, il terzo termine
dell'espressione originale.
=
X1
=
=
Y1° Y0° X1° X0 + Y1° X1 + Y1 Y0° X1 X0 + Y1° Y0° X1 X0 + Y1° Y0°
X0
Y1° X1 + (X1° + X1) Y1° Y0° X0 + Y0° X1 X0 (Y1° + Y1)
Y1° X1 + Y1° Y0° X0 + Y0° X1 X0
Esercizio 3
Dati gli operatori booleani AND, OR, NOT, scrivere l'espressione di una funzione booleana F
avente quattro ingressi A, B, C, D e che ritorni il valore di A, B, C, D a seconda dei valori dei
segnali di controllo A e B. Disegnare il circuito risultante.
L'uscita quindi vale:
se A=0, B=0 --> U=A
se A=0, B=1 --> U=B
se A=1, B=0 --> U=C
se A=1, B=1 --> U=D
Esercizio 4
Applicando i teoremi dell'algebra di Boole, verificare se le espressioni seguenti sono equivalenti.
•
A°B°C° + BC° + A (B + (BC)° )
•
A + C°
Soluzione:
=
=
=
=
=
=
=
C° (A°B° + B) + A (B + (B° + C°) )
C° (A° + B) + A ( (B + B°) + C°)
A°C° + BC° + A ( 1 + C°)
(A + A°C°) + BC°
A + C° + BC°
A + C° (B + 1)
A + C°
Esercizio 5
Si semplifichino, si disegnino i relativi circuiti e si costruiscano le tavole della verità complete in
riferimento alle seguenti espressioni booleane:
•
ABC° + AB + AC + C
•
A°B°C + AB° + A°B° + AB
•
A + AB + B + BC
Soluzioni
Essendo la costruzione del circuito banale, se ne lascia il compito agli studenti.
ABC° + AB + AC + C
Tabella della verità
Semplificazione
A
0
0
0
0
1
1
1
1
= AB (C° + 1) + C (A + 1)
= AB + C
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
USCITA
0
1
0
1
0
1
1
1
A + AB + B + BC
Tabella della verità
Semplificazione
A
0
0
0
0
1
1
1
1
= A°B° (C + 1) + A (B° + B)
= A°B° + A
= A + B°
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
USCITA
1
1
0
0
1
1
1
1
A°B°C + AB° + A°B° + AB
Tabella della verità
Semplificazione
A
0
0
0
0
1
1
1
1
= A (B + 1) + B (C + 1)
= A + B
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
USCITA
0
0
1
1
1
1
1
1
Esercizio 6
Valutare le espressioni booleane dell'esercizio precedente assumendo che A=1.
Soluzioni
ABC° + AB + AC + C (per A=1)
= BC° + B + C + C
= B * (C° + 1) + C
= B + C
A°B°C + AB° + A°B° + AB (per A=1)
= 0 + B° + 0 + B
= 1
A + AB + B + BC (per A=1)
= 1 + B + B + BC
= 1
Esercizio 7
Si scriva la tavola della verità dell'espressione booleana:
A exor B + (A + BC)°
Si trovi inoltre un'espressione minima e si disegni il circuito risultante.
Provare inoltre ad ottenere lo stesso risultato utilizzando le regole dell'algebra booleana per
semplificare algebricamente l'espressione data.
Soluzione
Si lascia allo studente la prima parte, riportando solamente la semplificazione secondo le regole
dell'algebra booleana.
A exor B = AB° + A°B
(A+ (BC) )° = (De Morgan) = A° * (BC)° = (De Morgan) = A° * (B° + C°) = A°B°
+ A°C°
Quindi:
A
=
=
=
=
=
=
exor B + (A + BC)° =
AB° + A°B + A°B° + A°C°
A° (B + B°) + AB° + A°C°
A° + AB° + A°C°
A° (1 + C°) + AB°
A° + AB°
A° + B°
Esercizio 8
Valutare l'espressione booleana:
y = (a and b or (c exor d) or (a and e)) exnor (a and (not (e and g)))
nei casi in cui:
•
a = c = d = VERO;
•
b = e = g = FALSO.
•
a = c = d = VERO e b = e = g = FALSO (soluzione: Y=0)
Esercizio 9
Una cassaforte ha quattro lucchetti, x, y, v, w, che devono essere tutti aperti affinchè la
cassaforte possa essere aperta. Le chiavi sono distribuite tra 3 persone, A, B, C, come segue: A
possiede le chiavi v e y ; B possiede le chiavi v e x ; C possiede le chiavi w e y. Siano le variabili
A, B, uguali a 1 se la persona corrispondente è presente, altrimenti uguali a 0. Costruire la tavola
della verità della funzione f(A,B,C) che è uguale ad 1 se e solo se la cassaforte può essere aperta,
ed esprimere f in forma algebrica.
Soluzione
Tabella della verità:
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
USCITA
0
0
0
1
0
0
0
1
I minterm che compongono la funzione sono:
F = A°BC + ABC
Semplificando secondo le regole dell'algebra booleana, si ha:
= BC (A° + A)
= BC