Calcolatori Elettronici Lezione 1 Docente: ing. A. Picariello 081 7683826 [email protected] 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