EDA45 - Digital och Datorteknik 29/2 EDA 45 - Digital och Datorteknik 29/2, lärobokens kapitel 3 Ur innehållet: Satslogik och Boolesk algebra Grindar Funktionstabell Binär evaluering Normal orm/förenklad orm/ Minimal orm Karnaughdiagram EDA45 - Digital och Datorteknik 29/2 Negation, ICKE NOT-grind (Inverterare) satslogik p p Boolesk algebra sanningstabell unktionstabell = IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F S S F Amerikansk smbol Observera de alternativa skrivsätten inom Boolesk algebra ' Volt 2
EDA45 - Digital och Datorteknik 29/2 Disjunktion, ELLER OR-grind satslogik p q p q Boolesk algebra sanningstabell unktionstabell =+ IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F F F F S S S F S S S S Amerikansk smbol Volt 3 EDA45 - Digital och Datorteknik 29/2 Konjunktion, OCH AND-grind satslogik p q p q Boolesk algebra sanningstabell unktionstabell = IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F F F F S F S F F S S S Amerikansk smbol Volt 4 2
EDA45 - Digital och Datorteknik 29/2 Antalet ingångar kan utökas 5 Volt w = ( ) ( w) w w = w Volt Antal ingångar (an-in), begränsas av använd kretsteknologi. 5 EDA45 - Digital och Datorteknik 29/2 5 Volt w = (+)+(+w) w = +++w w Volt 6 3
satslogik identitet p F p p S p dominans p S S p F F tautologi motsägelse idempotens a 2 = a (alltid) p ( p) S p ( p) F EDA45 - Digital och Datorteknik 29/2 Boolesk algebra + = = + = = + = = p p p = dubbel negation ( p) p ( ) = kommutativitet p q q p p q q p associativitet (p q) r p (q r) (p q) r p (q r) distributivitet p (q r) (p q) (p r) p (q r) (p q) (p r) demorgans teorem (p q) p q (p q) p q + = + = ( + ) + = ( + ) + ( ) = ( ) + ( ) = ( + ) ( + ) ( + ) = ( ) + ( ) ( ) = + ( + ) = 7 EDA45 - Digital och Datorteknik 29/2 Binär evaluering Bevisa demorgans teorem med hjälp av binär evaluering Påstående : ( ) = + ( ) + VL HL Påstående 2: ( + ) = ( + ) VL HL 8 4
EDA45 - Digital och Datorteknik 29/2 demorgan, generalisering Det gäller att: (... i... N N )' ' '... i '... N ' N bevisas enklast med induktion: ' ( sätt ( ( ( a ( a )'...... 2 ' 2 i )' 2 ))' ochskriv ' ( visattidigare...) ' a N ' ' N ( )' ' 2 2 ' )' '... '... i N ' N ' 9 EDA45 - Digital och Datorteknik 29/2 Ytterligare grindtper har visat sig användbara NAND ICKE-OCK Negerad AND-grind Vi ska visa att de grundläggande unktionerna (NOT,AND,OR) samtliga kan realiseras med en NAND-tp grind. (NAND-logik) NOR ICKE-ELLER Negerad OR-grind Vi ska visa att de grundläggande unktionerna (NOT,AND,OR) samtliga kan realiseras med en NOR-tp grind. (NOR-logik) EXCLUSIVE OR - EXKLUSIVT ELLER XOR-grind Härledd unktion dvs. baserad på användning av NOT/AND/OR. Grindtpen är speciellt användbar vid jämörelseoperationer. NOT EXCLUSIVE OR ICKE EXKLUSIVT ELLER Negerad XORgrind. 5
EDA45 - Digital och Datorteknik 29/2 Negerad konjunktion, ICKE-OCH NAND-grind satslogik p q (p q) Boolesk algebra sanningstabell unktionstabell =( ) IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F F S F S S S F S S S F Amerikansk smbol Volt EDA45 - Digital och Datorteknik 29/2 NOT/AND/OR-unktioner med NAND-logik = ( ) = = (( ) ) = = ( ) = ((+) ) = + 2 6
EDA45 - Digital och Datorteknik 29/2 Negerad disjunktion, ICKE-ELLER NOR-grind satslogik p q (p q) Boolesk algebra sanningstabell unktionstabell =(+) IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F F S F S F S F F S S F Amerikansk smbol Volt 3 EDA45 - Digital och Datorteknik 29/2 NOT/AND/OR-unktioner med NOR-logik = (+) = = ( + ) = (( ) ) = = ((+) ) = + 4 7
EDA45 - Digital och Datorteknik 29/2 (NOT) Ekluderande ELLER, (ICKE) XOR-grind Deinition: = + unktionstabell = = IEC-smbol unktionstabell =( ) ( ) = + IEC-smbol Amerikansk smbol = Amerikansk smbol 5 EDA45 - Digital och Datorteknik 29/2 Evalueringsordning ör operatorer Evalueringsordning (prioriteter) i avsaknad av parenteser ör de grundläggande operatorerna är:. NOT 2. AND 3. OR Eempel: Detaljera evalueringsordningen genom att sätta ut parenteser i öljande uttrck: (,,,w)= + w Lösning: (,,,w)= + w =( )+ ( )w+(w )= ( )+( ( )w)+((w )) 6 8
EDA45 - Digital och Datorteknik 29/2 Booolesk disjunktiv orm (Sum O Products = SOP-orm) ( a a2... an) ( b b2... bm )... ( c c2 p... c ) Eempel: (,,)= + realiseras av grindnätet: IEC-smboler Amerikanska smboler 7 EDA45 - Digital och Datorteknik 29/2 Mintermer Med minterm menar vi varje unik konjunktion av boolska variabler, dessa kan örekomma i grund- och inverterad orm. Eempel: Mintermer vid tre variabler: rad minterm m = m = 2 m 2 = 3 m 3 = 4 m 4 = 5 m 5 = 6 m 6 = 7 m 7 = Vi kan bekvämt speciicera en boolesk unktion genom att ange dess mintermer. Eempel: (,,)= + + = m + m 3 + m 5 = (m, m 3, m 5 ) Ett vanligt kompakt skrivsätt: (,,)= m (, 3, 5) 8 9
EDA45 - Digital och Datorteknik 29/2 Eempel: Ange mintermerna i unktionen (,,)= + Lösning: Ställ upp unktionstabell ör = + m m 4 m 5 m 6 Dvs: (,,)= m (, 4, 5, 6) = + + + 9 EDA45 - Digital och Datorteknik 29/2 Normal och Förenklad disjunktiv orm I öregående eempel såg vi hur: (,,)= + = + + + Förenklad Normal orm (=kanonisk) summa av mintermer Eempel: Visa algebraiskt att uttrcken ör är ekvivalenta. (,,) = + + + = = ( +) + ( +) = = + En boolesk unktion kan i allmänhet skrivas på många olika sätt. Det inns dock bara en disjunktiv normal orm (kanonisk SoP, canonical SOP ). Övriga ormer sägs vara örenklade. En orm som inte kan örenklas tterligare kallas minimal. 2
EDA45 - Digital och Datorteknik 29/2 Realisering Booleska disjunktiva uttrck ger direkt realisering med NOT/AND/OR-logik (,,)= + (2 st. 2-ing AND och st. 2-ing OR) Det kan innas skäl ör att implementera med billigare logik 2-ing AND 2-ing OR 2-ing NAND Kan vi realisera med NAND (lika många grindar och lika många ingångar) så har vi sparat 3 transistorer... 2 EDA45 - Digital och Datorteknik 29/2 AND/OR NAND Omskrivning av disjunktiv normalorm, skriv = ( ), och tillämpa demorgans lag... (,,) = + = ( ) = [( + ) ] = [( ) ( ) ] Kan visualiseras enligt öljande... a +b =(ab) 22
EDA45 - Digital och Datorteknik 29/2 Booolesk konjunktiv orm (Product O Sums= POS-orm) ( a a2... an) ( b b2... bm )... ( c c2 p Eempel: g(,,)= (+)( + ) realiseras av grindnätet:... c ) IEC-smboler Amerikanska smboler g g 23 EDA45 - Digital och Datorteknik 29/2 Matemer Med materm menar vi varje unik disjunktion av boolska variabler, sådan att dess logiska värde är. Dessa kan örekomma i grund- och inverterad orm. Eempel: Matermer vid tre variabler: rad materm M = ++ M = ++ 2 M 2 = + + 3 M 3 = + + 4 M 4 = ++ 5 M 5 = ++ 6 M 6 = + + 7 M 7 = + + En boolesk unktion kan speciiceras även i orm av matermer. Eempel: M ( 3,, 5 ) M M 3 M 5 ( ) ( ) ( ) 24 2
EDA45 - Digital och Datorteknik 29/2 Eempel: Ange matermerna i unktionen g(,,)=(+)( + ) Lösning: Ställ upp unktionstabell ör g + + g=(+)( + ) M M 2 M 3 M 7 Dvs: g (,,)= M (, 2, 3, 7) = (++)(+ +)(+ + )( + + ) g 25 EDA45 - Digital och Datorteknik 29/2 Normal och Förenklad konjunktiv orm I öregående eempel såg vi hur: g(,,)=(+)( + )=(++)(+ +)(+ + )( + + ) g Förenklad Normal orm (=kanonisk) produkt av matermer Eempel: Visa algebraiskt att uttrcken ör g är ekvivalenta. = (++)(+ +)(+ + )( + + ) = (+ +++ +++ +) ( + + + + + + + + ) = (+ ++++ +) ( + + + + + ) = (++( +)+(+ )+) ((+ ) + (+ )+ + ) = (++++)( + + + ) (redundans/dominans) = (+)( + ) 26 3
EDA45 - Digital och Datorteknik 29/2 Realisering, OR/AND NOR Booleska konjunktiva uttrck ger direkt realisering med NOT/AND/OR-logik. Även här kan vi dock spara transistorer genom att realisera med en alternativ grindtp. Då vi utgår rån konjunktiv orm är NOR-realisering lämpligt. g g 2-ing NOR Omskrivning av konjunktiv normal orm, skriv g = (g ), och tillämpa demorgans lag... (g ) = [((+)( + )) ] = [(+) +( + ) ] g a b =(a+b) g 27 EDA45 - Digital och Datorteknik 29/2 Minimering av booleska uttrck Vi har sett hur unktionellt ekvivalenta booleska uttrck kan uttrckas på normal/örenklad orm med varierande kostnad ör realiseringen. Vi har använt algebraiska metoder ör att örenkla uttrck. Det kan i bland vara svårt att se om en örenkling verkligen resulterat i en minimal orm eller inte. För komplea uttrck är algebraiska metoder väldigt opraktiska och det har därör utvecklats åtskilliga metoder ör minimering av Booleska uttrck. I denna kurs använder vi Maurice Karnaugh s metod med Karnaughdiagram. Vi ger här metoden med praktiska eempel dock utan bevis. 28 4
EDA45 - Digital och Datorteknik 29/2 Karnaughdiagram - metod Betrakta unktionstabellen ör (,,)= m (, 4, 5, 6) = + + + rad 2 3 4 5 6 7..ger Karnaughdiagram ör tre variabler. 29 EDA45 - Digital och Datorteknik 29/2 Karnaughdiagram - metod Betrakta två intilliggande mintermer. + = ( +)= Vi ser detta direkt i diagrammet genom att konstatera att ör de inringade mintermerna är och konstanta medan varierar ( +) varör kan tas bort. Kodningen innebär att diagrammet kan vikas (som en clinder), med inringningen täcker vi nu de båda återstående mintermerna. + = ( +)= Den minimerade unktionen. = + 3 5
EDA45 - Digital och Datorteknik 29/2 Hur vet vi att denna orm av unktionen är minimal? -Studera Karnaugh s bevis. Vi hade öljaktligen lika gärna kunnat täckt de båda tidigare mintermerna med denna inringning. Vilket hade gett oss samma resultat. Samtliga mintermer måste täckas, dvs. samtliga ettor måste ringas in. Endast intilliggande ettor kan ringas in (ej diagonalt...) Antalet ettor i en inringning måste vara 2 n (n=,,2,3...), dvs,2,4,8,6... Minimal orm om samtliga mintermer täckts med minimalt antal inringningar. 3 EDA45 - Digital och Datorteknik 29/2 Karnaughdiagram ör 4 variabler (,,,w) w Eempel: Minimera (,,,w)= m (4, 5,3,5) Lösning: För in mintermerna i Karnaughdiagrammet Ringa in mintermer w Identiiera w + w = (w+w ) w+w = ( +)w (,,,w) = +w 32 6
EDA45 - Digital och Datorteknik 29/2 Minimal orm Låt varje inringning omatta så många mintermer som möjligt. Samma minterm kan ringas in lera gånger. Eempel: w w EJ MINIMAL MINIMAL 33 EDA45 - Digital och Datorteknik 29/2 Sammanattning - Karnaughdiagram w 34 7