Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) DATS/ITPE 2400: Datamaskinarkitektur og Nettverk Forelesning 2: Boolesk algebra 2 T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied Sciences 09. Januar 2015 Boolesk algebra To-verdi Boolesk algebra Normalformer Oversikt 1 Boolesk algebra 2 To-verdi Boolesk algebra 3 Normalformer 4 Karnaugh-diagrammer (K-map) Karnaugh-diagrammer (K-map) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) ˚ Oppgaver til neste uke (mandag 12.01) legges ut pa: bluemaster.cs.hioa.no/edu/darknet-15/ ˚ at vi primært bruker rommene PH 451 og PH 461, Jeg foreslar ˚ formal ˚ na. ˚ da disse er best egnet for vare Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Om Boolesk algebra - litt repetisjon Grunnlaget for datamaskiner slik vi kjenner disse i dag, derfor viktig Har postulater (aksiomer) som beskriver strukturen i en Boolesk algebra Aksiomer kan ikke bevises Men, hvis vi definerer operasjoner, ma˚ vi vise at de tilfredstiller aksiomene Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Definisjon ˚ En Boolsek algebra er en struktur bestande av en mengde elementer B sammen med to binære operasjoner + og · slik at følgende seks aksiomer er oppfylt: Aksiom 1: Lukket med hensyn pa˚ + og ·. Lukket betyr at x, y ∈ B ⇒ x + y ∈ B. (Tilsvarende for ·) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Definisjon Aksiom 2: Det fins et identitetselement mhp +, kalt 0 slik at x +0=0+x =x Det fins et identitetselement mhp ·, kalt 1 slik at x ·1=1·x =x Aksiom 3: Kommutativ mhp +, x + y = y + x Kommutativ mhp ·, x · y = y · x Aksiom 4: · er distributiv over +: x · (y + z) = (x · y) + (x · z) + er distributiv over ·: x + (y · z) = (x + y) · (x + z) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Definisjon Aksiom 5: For hver x ∈ B fins x ′ ∈ B (komplement) slik at x + x ′ = 1 og x · x ′ = 0. Aksiom 6: Det fins minst to x, y ∈ B slik at x 6= y. En Boolesk algebra er altsa˚ et trippel (B, +, ·) samt en komplement operasjon ′ slik at aksiom 1-6 holder. Det fins en rekke strukturer vi kjenner som er Booleske algebraer: Mengdelære med snitt, union og komplement, eller (hos oss) B = {0, 1} med AND, OR og NOT. Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Noen grunnleggende teoremer Teorem 1: x + x = x og x · x = x Teorem 2: x + 1 = 1 og x · 0 = 0 Teorem 3: (x ′ )′ = x Teorem 4: (assosiativ) x + (y + z) = (x + y) + z og x · (y · z) = (x · y) · z Boolesk algebra To-verdi Boolesk algebra Normalformer Noen grunnleggende teoremer Teorem 5: (De Morgan) (x + y)′ = x ′ · y ′ og (x · y)′ = x ′ + y ′ Teorem 6: (absorsjon) x + x · y = x og x · (x + y) = x Vi sa˚ pa˚ et par av bevisene forrige forelesning. Karnaugh-diagrammer (K-map) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) To-verdi Boolesk algebra Vi skal se pa˚ en to-verdi algebra Variable kan bare anta to verdier hos oss, 0 og 1. Dette betyr at alt kan uttrykkes i endelige tabeller, n variable, 2n muligheter. Sannhetstabeller. Vi kan ogsa˚ angi funksjoner som algebraiske uttrykk. Merk: + er OR og · er AND, ikke det samme som vi bruker om “pluss” og “gange” fra barneskolen, men samme symboler. Boolesk algebra To-verdi Boolesk algebra Normalformer AND, OR, NOT AND OR NOT BUFFER Karnaugh-diagrammer (K-map) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) To-verdi Boolesk algebra Det er lett a˚ verifisere fra tabellene at AND, OR og NOT oppfyller aksiomene: ˚ Apenbart lukket (1) Indentitetselementer, og kommutative (2,3) Kan sjekke (4) i tabell (5) holder fra tabell B = {0, 1} sa˚ (6) holder. Boolesk algebra To-verdi Boolesk algebra Normalformer Elementære opersjoner Pa˚ papir angis operasjoner med symboler: AND: Ved x · y eller bare xy OR: Ved x + y NOT: Ved x ′ eller x XOR: Ved x ⊕ y NAND: Ved xy XNOR: Ved x ⊕ y Karnaugh-diagrammer (K-map) Boolesk algebra To-verdi Boolesk algebra Normalformer NAND, NOR, XOR, XNOR NAND NOR XOR XNOR Karnaugh-diagrammer (K-map) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) XOR og XNOR del 2 Vi har følgende uttrykk for XOR og XNOR: XOR: x ⊕ y = xy + x y XNOR: x ⊙ y = x ⊕ y = xy + x y Uttrykket for x ⊙ y kan vises fra x ⊕ y ved a˚ bruke deMorgan, og deretter redusere uttrykket. Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) NAND er universell NAND er en universell port: Universell betyr at de tre grunnleggende operasjonene AND, OR og NOT kan implementeres ved NAND alene. NOT ved NAND: xx = x AND ved NAND: xy = xy OR ved NAND: x y = x + y = x + y Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Booleske funksjoner En Boolesk funksjon i n variable er et uttrykk y = f (xn−1 , xn−2 , . . . , x1 , x0 ) f har da 2n forskjellige muligheter for input, og bare to output, 0 eller 1. Vi kan fremstille f ved et algebraisk uttrykk, en sannhetstabell eller som et portdiagram. n Det kan vises at hvis vi har n variable, fins 22 forskjellige Booleske funksjoner i disse. Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Normalformer Faktum: f (w, x, y, z) = wxyz er 1 hvis og bare hvis w = 0, x = 1, y = 0 og z = 1. g(x, y, z) = xyz + xyz ˚ (x, y, z) = (1, 0, 1) eller (x, y, z) = (0, 1, 0), og 0 ellers. er 1 nar Denne observasjonen gir oss en metode for a˚ overføre en tabell til et algebraisk uttrykk. Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Normal former Det fins to normalformer for Booleske funksjoner: Sum av produkter (SOP) (sum of products) Produkt av summer (POS) (products of sums) Vi kommer stort sett til a˚ bruke SOP, mindre a˚ skrive, ˚ lettere a˚ handtere? Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Normalformer Funksjonen f (x, y, z) = xyz + x ′ y ′ z + xyz ′ er pa˚ normalform (SOP). Funksjonen h(x, y, z) = (x + y + z)(x + z ′ )(y + z ′ ) er pa˚ normalform (POS). Funksjonen g(x, y, z) = x ⊕ y + (x ′ + y + z)′ er ikke pa˚ normalform, hverken SOP eller POS. Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Navn pa˚ produktledd POS En funksjon i n variable pa˚ SOP form skrives som X mi f (xn−1 , xn−2 , . . . , x1 , x0 ) = i∈I hvor mi er det produktleddet som er 1 pa˚ input svarende til i pa˚ binær form. Leddene mi kalles min-termer. Eksempel: g(x, y, z) = m0 + m7 = x y z + xyz Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Navn pa˚ sumledd POS En funksjon i n variable pa˚ POS form skrives som Y Mi f (xn−1 , xn−2 , . . . , x1 , x0 ) = i∈I hvor Mi er det sum-leddet som er 0 pa˚ input tilsvarende i pa˚ binær form, altsa˚ motsatt av min-termer. Leddene Mi kalles max-termer. Med tre variable har vi for eksempel M0 = x + y + z, M1 = x + y + z ′ og M7 = x ′ + y ′ + z ′ . For eksempel er da f (x, y, z) = M1 M3 M6 = (x + y + z ′ )(x + y ′ + z ′ )(x ′ + y ′ + z) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Konvertere POS → SOP Metode for a˚ konvertere et uttrykk pa˚ produkt av summer til sum av produkter: Regn ut alle produktene mellom summeledd, og reduser. Eksempel: f (x, y, z) = (x + y + z)(x ′ + y ′ + z)(x + y ′ + z ′ ) Vi finner: (x + y + z)(x ′ + y ′ + z) = (xy ′ + x ′ y + z) og (xy ′ + x ′ y + z)(x + y ′ + z ′ ) = xy ′ + xz + y ′ z + x ′ yz ′ sa˚ f (x, y, z) = xy ′ + xz + y ′ z + x ′ yz ′ Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Konvertere SOP → POS For a˚ konvertere en funksjon f fra SOP til POS kan vi bruke to metoder. Metode 1: Beregn f ′ ved a˚ bruke deMorgan til a˚ oppna˚ en funksjon pa˚ SOP form. Forenkl uttrykket. Siden f = f ′′ , bruker vi deMorgan til a˚ oppna˚ en POS form. Metode 2: Bruk et Karnaugh-diagram til a˚ skrive f = 0 pa˚ en SOP form. Bruk deretter deMorgan for a˚ oppna˚ en POS form fra f ′ . Boolesk algebra To-verdi Boolesk algebra Normalformer Eksempel La f (x, y) = xy + x ′ y ′ Da er, ved a˚ bruke metode 1: f ′ = (xy + x ′ y ′ )′ = (xy)′ (x ′ y ′ )′ = (x ′ + y ′ )(x + y) = x ′ y + xy ′ Derfor er f = f ′′ = (x ′ y + xy ′ )′ = (x ′ y)′ (xy ′ )′ = (x + y ′ )(x ′ + y) Hvis ønskelig, tar jeg detaljene pa˚ whiteboard. Karnaugh-diagrammer (K-map) Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Karnaugh-diagrammer (K-map) Vi beskriver ofte en Boolesk funksjon f = f (x1 , x2 , . . . , xn ) ved en tabell. Karnaugh-diagrammer er en teknikk for a˚ oversette tabellen til et algebraisk uttrykk. Karnaugh-diagrammer er en effektiv metode for a˚ forenkle uttrykk. Basserer seg pa˚ expr (x + x) = expr · 1 = expr Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Eksempel pa˚ et Karnaugh-diagram f (w, x, y, z) = X m(1, 2, 3, 5, 7, 10, 11, 15) x f (w, x, y, z) : 5 4 1 # # Ã Ã 0 y w z #Ã 2 0 1 0 1 1 " ! 6 7 3 1 0 1 " " ! ! 15 11 14 10 8 1 0 1 9 0 0 1 13 0 12 0 f (w, x, y, z) = wz + yz + xy Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Definisjoner Vi bruker følgende navn pa˚ ruter og naboruter i et Karnaugh-diagram: Implikant - Et produktledd ˚ Primimplikant - Et produktledd bestaende av et maksimalt antall naboruter. Antallet ma˚ være en potens av 2 Essensiell primimplikant - En primimplikant som inneholder minst en implikant som ikke er dekket av andre primimplikanter Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Metode Vi bruker følgende metode for a˚ forenkle en Boolesk funksjon pa˚ normalform satt inn i et Karnaugh-diagram: Finn alle primimplikanter Identifiser de essensielle primimplikantene, disse ma˚ være med Dekk eventuelle udekkede implikanter med et minimalt antall primimplikanter Merk: Siste punkt over behøver ikke a˚ være entydig, det kan finnes flere ekvivalente valg. Boolesk algebra To-verdi Boolesk algebra Normalformer Karnaugh-diagrammer (K-map) Noen oppgaver Hvis tid, gjør følgende oppgaver: Bruk Karnaugh-diagram til a˚ forenkle følgende Booleske funksjoner gitt pa˚ SOP-form: X f1 (x, y, z) = m(1, 3, 4, 6, 7) X f2 (x, y, z) = m(0, 2, 4, 6) X f3 (w, x, y, z) = m(0, 2, 5, 7, 8, 10, 13) X f4 (w, x, y, z) = m(2, 3, 7, 11, 13, 15) I hvert tilfelle, angi alle primimplikanter og hvilke av disse som er essensielle primimplikanter.
© Copyright 2024