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