ARCHITETTURA DEI SISTEMI ELETTRONICI • • • • • • • LEZIONE N° 7 Algebra delle commutazioni Funzione AND, OR, NOT Tabella di Verità Forme canoche “SP” e “PS” Passaggi da forma SP a PS e viceversa insieme funzionalmente completo Funzione NAND, NOR, XOR e XNOR A.S.E. 7.1 Richiami • • • • • Algebra Booleana Insieme di Elementi Insieme di Operatori Insieme di Postulati Teoremi A.S.E. 7.2 Algebra delle commutazioni • Elementi • • • • (2) 0 (logico) Falso Livello logico Basso 0V • Costanti • Variabili 1 (logico) Vero Livello logico Alto 5V Possono assumere due valori Possono assumere due valori x0 x 1 se se 0 1 x 1 x0 1 0 A.S.E. 7.3 Definizione di “OR” • Operazione – OR o SOMMA LOGICA x y • definizione – l’operazione OR è definita dalla tabella x+y x y 0 1 0 0 1 1 1 1 A.S.E. x y x+y 0 0 0 0 1 1 0 1 1 1 1 1 7.4 Osservazioni 1. x y è uguale a “0” se e solo se x e y sono uguali a “0”, altrimenti x y è uguale a “1” 2. Si può estendere a “n” variabili: x1x2 . . xn è uguale “0” se e solo se x1, x2, ..xn sono uguali a “0” • La funzione OR corrisponde al concetto: perché un evento si verifica è sufficiente che una sola condizioni sia verificata A.S.E. 7.5 Definizione di “AND” • Operazione – AND o PRODOTTO LOGICO x y • Definizione xy – l’operazione AND è definita dalla tabella xy x y 0 1 0 0 0 1 0 1 A.S.E. x 0 0 y 0 1 xy 0 0 1 1 0 1 0 1 7.6 Osservazioni 1. x y è uguale a “1” se e solo se x e y sono uguali a “1”, altrimenti x y è uguale a “0” 2. Si può estendere a “n” variabili: x1x2 . . . xn è uguale “1” se e solo se x1, x2, ..xn sono uguali a “1” • La funzione AND corrisponde al concetto: un evento si verifica se e solo se tutte le condizioni sono verificate A.S.E. 7.7 “NOT” • Operazione – NOT o Complemento Logico , o Negazione, o Inversione x • Osservazione – In base alla definizione iniziale si ha x `x 0 1 1 0 A.S.E. 7.8 Riassunto • POSTULATI 1a Almeno due elementi distinti Somma logica () 1b Prodotto logico () 2a x0 x 2b x 1 x 3a x y yx 3b x y yx 4a x y z x y x z 5a x x 1 4b 5b A.S.E. x y z x y x z xx 0 7.9 Verifica P1 • Le funzioni AND e OR sono chiuse OK – Per qualunque valore degli ingressi le funzioni sono definite – I valori delle uscite appartengono a “B” x+y x xy y 0 1 0 0 1 1 1 1 x A.S.E. y 0 1 0 0 0 1 0 1 7.10 Verifica P2 • “0” elemento identità della funzione OR e “1” elemento identità della funzione AND • x 0 x, 0 y y; x 1 x, 1 y y OK – Nella OR per x = 0 (y = 0) le uscite coincidono con y (x) – Nella AND per x = 1 (y = 1) le uscite coincidono con y (x) x+y x xy y 0 1 0 0 1 1 1 1 x A.S.E. y 0 1 0 0 0 1 0 1 7.11 Verifica P3 • Le funzioni OR e AND sono commutative • OK – Le tabelle sono simmetriche rispetto alla diagonale principale x+y x xy y 0 1 0 0 1 1 1 1 x A.S.E. y 0 1 0 0 0 1 0 1 7.12 Verifica P4 • Le funzioni OR e AND sono distributive • x ( y z ) ( x y) ( x z ), x ( y z ) ( x y) ( x z ) • Metodo dell’induzione perfetta OK x y z yz x+yz x+y x+z (x+y)(x+z) y+z x(y+z) xy xz xy+xz 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A.S.E. 7.13 Verifica P5 • Il complemento di x deve soddisfare le condizioni • • x x 1, x x 0 OK • Metodo dell’induzione perfetta x `x x + `x x `x 0 1 1 0 1 0 1 0 A.S.E. 7.14 Funzione logica (o Boleana) • Una funzione Boleana (completa) u f x1 ,......, xn è una legge che fa corrispondere un valore logico (0 o 1) di u ad ogni combinazione di valori x1,…..,xn. • La funzione f è costituita da variabili logiche, costanti e le tre operazioni logiche fondamentali u x1 x2 x3 x1 x2 x3 A.S.E. 7.15 Osservazioni • Nelle funzioni logiche le parentesi indicano una gerarchia di esecuzione uguale a quella comunemente usata nelle espressioni aritmetiche note • Fra le operazioni logiche AND, OR e NOT esiste la gerarchia: 1) NOT, 2) AND, 3) OR • La gerarchia prima descritta consente di ridurre l’uso di parentesi nelle funzioni logiche A.S.E. 7.16 Tabella di Verità 1 • Una funzione logica può sempre essere espressa da una tabella che prende il nome di: TABELLA DI VERITÀ (TRUTH TABLE) • Osservazione n • Una funzione di “n” variabili ammette 2 possibili configurazioni • Una funzione di “n” variabili è completamente descritta da una tabella che ha sulla sinistra le n 2 possibili configurazioni degli ingressi e a destra i valori (0 o1) a secondo del valore della funzione A.S.E. 7.17 Tabella di verità 2 • Funzione di tre variabili u f x, y, z x y z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 A.S.E. u f f f f f f f f (0,0,0) (0,0,1) (0,1,0) (0,1,1) (1,0,0) (1,0,1) (1,1,0) (1,1,1) 7.18 Esempio u f x, y, z x y x z yz f 0,1,1 0 1 0 1 11 0 0 1 1 1 0 1 1 0 1 1 x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.19 Passo 1 u f x, y, z x y x z yz x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.20 Passo 2 u f x, y, z x y x z yz x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.21 Passo 3 u f x, y, z x y x z yz x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.22 Passo 4 u f x, y, z x y x z yz x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.23 Passo 5 u f x, y, z x y x z yz x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.24 Passo 6 u f x, y, z x y x z yz x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.25 Fine u f x, y, z x y x z yz x y z x y x + y x + z (x + y )(x + z ) yz u 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 A.S.E. 7.26 Osservazione • La tabella di verità consente di provare la veridicità di una relazione logica, poiché verifica se la relazione è vera per TUTTE le possibili combinazioni dei valori delle variabili • Tale proprietà è stata utilizzata nel • Metodo dell’INDUZIONE PERFETTE A.S.E. 7.27 Teorema 9 (dimostrazione • 9a 9b x y x y x y x y x y x • y ( x •y) x y x+y 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 x y x+y ( x+y) x y x•y 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 0 A.S.E. 7.28 Tabella dei Prodotti e delle Somme n=3 n x y z p s 0 1 0 0 0 0 0 1 `x •`y •`z p0 1 `x •`y • z p1 1 2 3 4 5 0 0 1 1 1 1 0 0 0 1 0 1 `x • y •`z `x • y • z x •`y •`z x •`y • z 6 7 1 1 1 1 0 1 x • y •`z x•y•z p2 p3 p4 p5 x+y+z x + y +`z 1 x +`y + z 1 x +`y +`z 1 `x + y + z 1 `x + y +`z s0 0 s1 0 s2 s3 s4 s5 0 0 0 0 p6 1 `x +`y + z s6 0 p7 1 `x +`y +`z s7 0 A.S.E. 7.29 Definizioni 1 • LETTERALE – Variabile complementata o non complementata presente nella formula • FORMA NORMALE DISGIUNTIVA – Somma di prodotti f x, y, w, z x w y w yz • FORMA NORMALE CONGIUNTIVA – Prodotto di somme f x, y, w, z z ( x y )( w x y ) A.S.E. 7.30 Definizione 2 • MINTERMINE “pi ” è una funzione (prodotto) che vale “1” in corrispondenza alla sola configurazione “i ” di valori delle variabili • MAXTERMINE “si ” è una funzione (somma) che vale “0” in corrispondenza alla sola configurazione “i ” di valori delle variabili A.S.E. 7.31 Forma Canonica “Somma di Prodotti” “SP” x y z u 0 0 0 1 p0 0 0 1 1 p1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 p3 p5 p7 u p0 p1 p3 p5 p7 x y z x yz xyz x yz xyz A.S.E. 7.32 Forma Canonica “Prodotto di Somme” “PS” x y z u 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 s2 s4 s6 u s2 s4 s6 x y z x y z x y z A.S.E. 7.33 Osservazioni • La legittimità di rappresentare le funzioni nella forma canonica “SP” o “PS” deriva direttamente dalle proprietà delle operazioni OR, AND, NOT • Una stessa funzione logica può essere scritta in molta forme • La manipolazioni delle espressioni booleane si basa sui teoremi A.S.E. 7.34 Osservazioni • Se l’espressione in esame e funzione di tre variabili • L’espressione di partenza è nella forma canonica PS • L’espressione di arrivo non è nella forma canonica SP, perché i termini di prodotto non sono costituiti da tre letterali A.S.E. 7.35 Trasformazione SP – PS e PS - SP • Dalla tabella dei prodotti e delle somme n 0 1 x 0 0 y 0 0 z 0 1 p `x •`y •`z p0 1 `x •`y • z p1 1 s x+y+z x + y +`z 2 3 4 0 0 1 1 1 0 0 1 0 `x • y •`z p2 1 `x • y • z p3 1 x •`y •`z p4 1 x +`y + z s2 0 x +`y +`z s3 0 `x + y + z s4 0 5 6 7 1 1 1 0 1 1 1 0 1 x •`y • z x • y •`z x•y•z s0 0 s1 0 p5 1 `x + y +`z s5 0 p6 1 `x +`y + z s6 0 p7 1 `x +`y +`z s7 0 A.S.E. 7.36 Osservazione • Data un’espressine nella forma SP Pa Pb Pk • Si può scrivere come SP complementata dei 2n-k prodotti non impiegati nell’espressione precedente P2 P4 P5 P0 P1 P3 P6 P7 P1 P2 P2n k • Applicando il teorema di De Morgan P1 P2 P2n k P1 P2 P2n k • Applicando De Morgan si ottiene la forma PS A.S.E. 7.37 Esempio • Data l’espressione x y z x y z x y z • Si ha x y z x y z x y z x y z x y z x y z x y z x y z x y z x y z x y z x y z x y z S(1) S(6) S(2) S(3) S(0) S(4) S(5) x yz x yz x yz x yz x yz S(7) x yz x yz x yz x yz x yz x yz x y x y xz A.S.E. 7.38 Osservazioni • Si ha quindi la seguente regola • Passaggio da SP a PS – Applicare il Th di De Morgan al complemento di ciascun mintermine assente nella forma SP – Formare il prodotto dei maxtermini ottenuti • Passaggio da PS a SP – Applicare il Th di De Morgan al complemento di ciascun maxtermine assente nella forma PS – Formare la somma dei mintermini ottenuti A.S.E. 7.39 Premessa 1 • Osservazioni – le funzioni AND, OR e NOT costituiscono un insieme funzionalmente completo di operatori logici – In base al teorema di De Morgan si ha: x y x y – ovvero la funzione OR si può realizzare con le funzioni AND e NOT quindi: – le funzioni AND e NOT costituiscono un insieme funzionalmente completo di operatori logici A.S.E. 7.40 Premessa 2 • Osservazioni – Sempre in base al teorema di De Morgan si ha: x y x y – ovvero la funzione AND si può realizzare con le funzioni OR e NOT quindi – le funzioni OR e NOT costituiscono un insieme funzionalmente completo di operatori logici – le funzioni OR e AND non costituiscono un insieme funzionalmente completo di operatori logici perché non è possibile realizzare la funzione NOT A.S.E. 7.41 Definizione • Le funzioni NAND e NOR sono definite dalle seguenti tabelle di verità x 0 0 1 1 y 0 1 0 1 u 1 1 1 0 x 0 0 1 1 NAND u x y y 0 1 0 1 u 1 0 0 0 NOR u x y A.S.E. 7.42 Osservazioni • • NAND e NOR sono contrazioni di NOT-AND e NOT-OR la funzione NAND costituisce un insieme funzionalmente completo di operatori logici x x x • x y x y la funzione NOR costituisce un insieme funzionalmente completo di operatori logici x x x x y x y A.S.E. 7.43 Funzioni “complesse” 1 • L’operatore “XOR”, OR ESCLUSIVO è: x y • Definizione x 0 0 1 1 y 0 1 0 1 u 0 1 1 0 x y x y x y x y x y x y x y A.S.E. 7.44 Funzioni “complesse” 2 • L’operatore “XNOR”, NOR ESCLUSIVO è: • Definizione x y x 0 0 y 0 1 u 1 0 1 1 0 1 0 1 x y x y x y x y x y A.S.E. 7.45 Proprietà dello XOR / XNOR a b X Y X Y XY X Y X Y i X Y XY X Y X Y X Y ii iii iv v vi vii viii ix x X 0 X X 1 X X X 0 X X 1 X Y X Y X Y X Y X Y X Y Y X X Y Z X Y Z X Y Z X Y Z XY XZ X Y X Y XY X Y X Y se e solo se XY 0 se X Y Z , allora X Z X o X Z Y A.S.E. 7.46 Generatore di disparità 1 x y z w D 0 0 0 0 0 D 0 0 0 1 1 x y zw 0 0 1 0 0 0 1 1 1 0 x yzw 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 xy zw 0 1 1 1 1 xyzw 0 0 0 0 0 1 0 1 0 1 0 0 x y zw 1 0 1 1 1 1 0 0 1 0 x yzw 1 1 0 1 1 xy zw 1 1 1 1 1 0 1 1 1 0 xyzw 1 1 1 D xyzw xy zw x yzw xyzw x y zw xy zw x yzw x y zw A.S.E. 7.47 Generatore di disparità 2 D xyzw xy zw x yzw xyzw x y zw xy zw x yzw x y zw xy zw zw zw x y xy zw x y xy x y zw zw x y xy zw zw xy x y zw zw x y z w x y z w x y z w x y z w A.S.E. 7.48 Conclusioni • • • • • • • Algebra delle commutazioni Funzione AND, OR, NOT Tabella di Verità Forme canoche “SP” e “PS” Passaggi da forma SP a PS e viceversa insieme funzionalmente completo Funzione NAND, NOR, XOR e XNOR A.S.E. 7.49 Quesiti 1 • Costruire la tabella di verità per le seguenti funzioni. a b c f x1 , x2 ,xa3 f x, x , xx1 x x x2 x xx 3 x x1 x3 1 2 1 3 2 1 3 , x , x x x x x x x x, y, z cf xx, x y xz y b f x, y , z x y x z y f x , x , x , x x x f 3 1 2 1 3 4 2 3 4 1 2 1 A.S.E. 3 2 4 1 2 x3 x3 x4 x1 x 2 x3 7.50 Quesiti 2 • Scrivere le forme canoniche PS e SP per le due tabelle di verità seguenti: x y z f x y z f 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 A.S.E. 7.51 Quesiti 3 • Verificare le seguenti identità a x1 x2 x1 x3 x1 x3 x1 x2 b x1 x3 x4 x1 x3 x4 x1 x2 x4 x1 x4 x2 x4 c x1 x 2 x2 x3 x1 x3 x1 x2 x2 x3 x1 x3 A.S.E. 7.52