Dagens öreläsning behandlar: Läroboken kapitel 3 Arbetsboken kapitel,3 Ur innehållet: Satslogik och Grindar Funktionstabell Binär evaluering Normal orm/förenklad orm/ Minimal orm Karnaughdiagram Negation, ICKE NOT-grind (Inverterare) Observera de alternativa skrivsätten inom p F S p S F unktionstabell = IEC-smbol smbol ' CMOS (Complementar MOS) Disjunktion, ELLER OR-grind Konjunktion, OCH AND-grind p q pq =+ IEC-smbol CMOS (Complementar MOS) p q pq unktionstabell unktionstabell = IEC-smbol CMOS (Complementar MOS) F F F F S S S F S S S S smbol F F F F S F S F F S S S smbol 3 4
Antalet ingångar kan utökas w = (+)+(+w) w = () (w) w = +++w w = w Antal ingångar (an-in), begränsas av använd kretsteknologi. 5 6 identitet dominans tautologi motsägelse idempotens a = a (alltid) pfp psp pss pff p(p)s p (p)f 7 + = = + = = + = = p pp = dubbel negation (p) p ( ) = kommutativitet pqqp + = + pqqp = associativitet distributivitet demorgans teorem (pq)rp(qr) (pq) rp (qr) p(qr)(pq)(pr) p(qr)(pq)(pr) (pq) pq (pq) pq ( + ) + = ( + ) + ( ) = ( ) + ( ) = ( + ) ( + ) ( + ) = ( ) + ( ) ( ) = + ( + ) = Binär evaluering Eempel: Bevisa demorgans teorem med hjälp av binär evaluering Påstående : ( ) = + ( ) + VL HL Påstående : ( + ) = ( + ) VL HL 8
demorgan, generalisering Ytterligare grindtper har visat sig användbara Det gäller att: (... i... N N )' ' '... i '... N ' N ' 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) bevisas enklast med induktion: (...... sätt a ( ( ( a ( i och skriv )' ' ' ( visat tidigare...) a N N ))' ' ( )' ' ' ' )' ' '... '... )' i N ' N ' 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. 9 Negerad konjunktion, ICKE-OCH NAND-grind NOT/AND/OR-unktioner med NAND-logik IEC-smbol = () = p q (pq) F F S F S S S F S S S F unktionstabell =() smbol = (() ) = = ( ) = ((+) ) = +
Negerad disjunktion, ICKE-ELLER NOR-grind NOT/AND/OR-unktioner med NOR-logik p q (pq) F F S F S F S F F S S F unktionstabell =(+) IEC-smbol smbol = (+) = = ( + ) = (( ) ) = = ((+) ) = + 3 4 (NOT) Ekluderande ELLER, (ICKE) XOR-grind Evalueringsordning ör operatorer Deinition: = + unktionstabell = = IEC-smbol smbol unktionstabell =() () = + IEC-smbol = smbol Evalueringsordning (prioriteter) i avsaknad av parenteser ör de grundläggande operatorerna är:. NOT. 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) 5 6
Booolesk disjunktiv orm (Sum O Products = SOP-orm) Eempel: IEC-smboler ( a a... an) ( b b... bm )... ( c c (,,)= + realiseras av grindnätet:... c p a smboler ) 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 = m = 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) 7 8 Eempel: Ange mintermerna i unktionen (,,)= + Lösning: Ställ upp unktionstabell ör Normal och Förenklad disjunktiv orm I öregående eempel såg vi hur: (,,)= + = + + + = + m m 4 m 5 m 6 Dvs: (,,)= m (, 4, 5, 6) = + + + Förenklad Normal orm (=kanonisk) summa av mintermer Eempel: Visa iskt 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. 9
Realisering a disjunktiva uttrck ger direkt realisering med NOT/AND/OR-logik, eempelvis: (,,)= + ( st. -ing AND och st. -ing OR) Det kan innas skäl ör att implementera med annan logik -ing AND -ing OR -ing NAND Kan vi realisera med NAND i stället ör AND/OR så kan vi kanske spara transistorer... AND/OR NAND Omskrivning av disjunktiv orm, skriv = ( ), och tillämpa demorgans lag... (,,) = + = ( ) = [( + ) ] = [( ) ( ) ] Kan visualiseras enligt öljande... a +b =(ab) Booolesk konjunktiv orm (Product O Sums= POS-orm) ( a a... an) ( b b... bm )... ( c c... c p ) 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: g(,,)= (+)( + ) realiseras av grindnätet: IEC-smboler g a smboler g Eempel: Matermer vid tre variabler: rad materm M = ++ M = ++ M = + + 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 ( ) ( ) ( ) 3 4
Eempel: Ange matermerna i unktionen g(,,)=(+)( + ) Lösning: Ställ upp unktionstabell ör g + + g=(+)( + ) M M M 3 M 7 Dvs: g (,,)= M (,, 3, 7) = (++)(+ +)(+ + )( + + ) g 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 iskt att uttrcken ör g är ekvivalenta. = (++)(+ +)(+ + )( + + ) = (+ +++ +++ +) ( + + + + + + + + ) = (+ ++++ +) ( + + + + + ) = (++( +)+(+ )+) ((+ ) + (+ )+ + ) = (++++)( + + + ) (redundans/dominans) = (+)( + ) 5 6 Realisering, OR/AND NOR a 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. -ing NOR Omskrivning av konjunktiv orm, skriv g = (g ), och tillämpa demorgans lag... (g ) = [((+)( + )) ] = [(+) +( + ) ] g g g a b =(a+b) g 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 iska 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 iska metoder väldigt opraktiska och det har därör utvecklats åtskilliga metoder ör minimering av a uttrck. I denna kurs använder vi Maurice Karnaugh s metod med Karnaughdiagram. Vi ger här metoden med praktiska eempel dock utan bevis. 7 8
Karnaughdiagram - metod Karnaughdiagram - metod Betrakta unktionstabellen ör (,,)= m (, 4, 5, 6) = + + + rad 3 4 5..ger Karnaughdiagram ör tre variabler. 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. + = ( +)= 6 7 Den minimerade unktionen. = + 9 3 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 samtidigt (ej diagonalt...) Antalet ettor i en inringning måste vara n (n=,,,3...), dvs,,4,8,6... Minimal orm om samtliga mintermer täckts med minimalt antal inringningar. 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 3 3
Minimal orm Sammanattning - Karnaughdiagram Låt varje inringning omatta så många mintermer som möjligt. Samma minterm kan ringas in lera gånger. Eempel: w w w EJ MINIMAL MINIMAL 33 34