Digital Design IE24 F2 : Logiska Grindar och Kretsar, Boolesk Algebra william@kth.se
IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multipleor KK2 LAB2 Låskretsar, vippor, FSM F F Ö6 KK3 LAB3 FSM, VHDL introduktion F2 Ö7 F3 Asynkron FSM Ö8 F4 tentamen Minnen Föreläsningar och övningar bygger på varandra! Ta alltid igen det Du missat! Läs på i förväg delta i undervisningen arbeta igenom materialet efteråt!
Detta har hänt Talsystem: Decimala, headecimala, oktala, binära (75,5) = ( AE.8) = (256.4) = (.) 6 8 2
Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen = = Symbol S
Implementering av logiska funktioner Switchen kan användas för att implentera logiska funktioner Power supply S Light L() är en logisk funktion är en logisk variabel L() = Light Off Light On
Operation AND (OCH) AND-operationen ( ) uppnås genom switchar som kopplas i serie S S Power supply 2 Light L( = 2, ) 2
Operation OR (ELLER) OR-operationen () uppnås genom switchar som kopplas parallellt Power supply S Light 2, ) S 2 L ( = 2
Operation NOT (ICKE) NOT-funktionen inverterar det logiska värdet R Power supply S Light L ( ) =
Sanningstabell En logisk funktion kan också beskrivas genom en sanningstabell (truth table) står för sann (true) står för falsk (false) AND OR
Logiska grindar AND-grinden (OCH) IEC Symbol (International Electrotechnical Commission) A B Y A B & Traditional (American) Symbol Y Y = A B A B Y
Logiska grindar OR-grinden (ELLER) IEC Symbol (International Electrotechnical Commission) A B Y A B Y Y = A B Traditional (American) Symbol A Y B
Logiska grindar inverterare NOT (ICKE) Inverterare (Inverter) A Y IEC Symbol (International Electrotechnical Commission) A Traditional (American) Symbol Y Y = A A Y
Vilken funktion har grindnätet? 2 A B f
Tidsdiagram 2 A B f 2 A B f Time
Sanningstabell 2 A B f 2 f (, ) 2 A B
Flera grindnät kan implementera samma funktion! a) 2 A B f f = 2
Flera grindnät kan implementera samma funktion! a) b) 2 2 A B f = 2 f g f = g 2 f g g = 2
Boolesk algebra Eftersom flera grindnät kan implementera samma funktion, så vill man hitta den mest kostnadseffektiva implementeringen Grindnäten kan bli mycket stora En matematisk bas behövs så att automatiseringen av grindnätsoptimering kan genomföras med datorer
Booles algebra aiom
Venn-diagram Venn-diagrammet kan användas för att illustrera logiska operationer
Venn-diagram Venn-diagrammet kan användas för att illustrera logiska operationer y z y y y z
Boolesk algebra med Venn-diagram A= A= A A= AA = AA=A AA=A
Booles algebra enkla räkneregler Med aiomen som bas kan man formulera nya lagar (teorem)
Dualitetsprincipen Har man ett giltigt booleskt samband så får man ett annat giltigt samband om man samtidigt byter alla :or mot :or och alla :or mot :or alla AND mot OR och alla OR mot AND
Boolesk algebra Räknelagar med flera variabler
Eempel Bevisa konsensuslagen (7a) med Venn-diagram (se övning ) med algebraisk manipulation
Bevis av en av konsensuslagarna 7 a) z z y y z y = vänster led) ( ) ( ) ( ) ( ) ( ) ( (höger led) = = = = = = z y y y z z z y z y z y z y z y z y z y z y z y z y z y z y y z y z z y z z y y
Notationsalternativ Olika författare använder olika notationer!
Analys och Syntes Syntes Konstruktion av ett grindnätverk som implementerar en given logisk funktion Analys Framtagandet av den logiska funktionen för ett eisterande grindnätverk
Hur kan följande sanningstabell implementeras med logiska grindar?
( Varför denna sanningstabell? ) Grunka/grej Tryck på/av / Kran öppen/stängd / Vild gissning: Varna för tryck på samtidigt som kran stängd. OK OK ej OK OK
Hur kan följande sanningstabell implementeras med logiska grindar?. Ta fram den logiska funktionen. f = 2 2 2
Hur kan följande sanningstabell implementeras med logiska grindar? 2. Gör en direkt implementering av den logiska funktionen. f = 2 2 2 2 f
Hur kan följande sanningstabell implementeras med logiska grindar? 2. (Bättre) Minimera den logiska funktionen f = 2 2 2 = 2 2 2 2 Lägg till redundant term 2 (7b) = ( 2 2 ) ( ) 2 Distribution (2a) = 2 (8b) = 2
Hur kan följande sanningstabell implementeras med logiska grindar? 3. Implementera den minimerade funktionen f = 2 2 f Mycket enklare implementering!
Diskussion: Algebraisk manipulering Algebraisk manipulering av logiska uttryck kan leda till effektiva implementeringar Men: För större nätverk kan det bli mycket svårt att identifiera möjliga optimeringar Vi behöver en metod som fungerar för alla kombinatoriska nätverk!
Mintermer och Matermer En minterm är en produktterm för en logisk funktion där alla variabler av den logiska funktionen måste vara representerade En materm är en summaterm för en logisk funktion där alla variabler av den logiska funktionen måste vara representerade
Mintermer och Matermer = =
Introduktion SP och PS Följande logisk funktion ska beskrivas med ett booleskt uttryck
Sum of Products SP (SOP) m m 4 m 5 m 6 f = 2 3 2 3 2 3 2 3 = m(,4,5,6)
Sum - of - Products En summa av produkter (sum-of-products) är en logisk funktion f som bildas genom att summera produkttermerna så att f blir om en av produkttermerna blir. - Följande förkortningar används SOP (engelska) och SP (svenska) I SOP-normalformen är alla produkttermer mintermer - Det benämns även som disjunktiv normalform
Products - of - Sums M M 2 M 3 M 7 = = (,2,3,7) ) ( ) ( ) ( ) ( 3 2 3 2 3 2 3 2 M f
Products - of - Sums En produkt av summor (product-of-sums) är en logisk funktion f som bildas genom en produkt av summatermerna så att f blir om en av sumtermer blir. - Följande förkortningar används POS (engelska) och PS (svenska) I POS-normalformen är alla sumtermer matermer - Det benämns även som konjunktiv normalform
Dualitet mellan Mintermer och Matermer och mellan SP och PS Till varje minterm finns det en motsvarande materm f = m = M i i M = m = 2 3 = 2 3 = 2 3 (mha DeMorgan 5a) Till varje SP finns det en motsvarande PS f = m(,4,5,6) = M(,2,3,7)
Logiska grindar NAND-grinden A B Y Y = A B IEC Symbol (International Electrotechnical Commission) A B A B & Y Traditional (American) Symbol Y
Logiska grindar NOR-grinden IEC Symbol (International Electrotechnical Commission) A B Y Y = A B A B A B Y Traditional (American) Symbol Y
Bara en typ av grind behövs! För att implementera en boolesk funktion behövs det bara NAND- eller NOR-grindar NOT = AND = OR =
DeMorgans teorem - bubbelgrindar 2 2 2 En NAND är en bubbel-or (a) 2 = 2 (DeMorgan (5a)) Inverterade ingångar 2 2 2 En NOR är en bubbel-and (b) 2 = 2 (DeMorgan (5b))
Inverterare med NAND A Y = A Y Y =A = A A
AND-grind med NAND-grindar A B Y Y = A B = A B = A B Y
OR-grind med NAND-grindar A A B Y B Y Y = A B = A B = A B = A A B B
Logiska funktioner med bara NAND 2 3 4 5 AND-OR funktion 2 3 4 5 2 3 4 5 BubbelOR =NAND
Universella mängder av grindar En mängd (eng. set) av grindar kallas universell eller komplett om alla kombinatoriska system kan beskrivas mha detta set. Eempel på universella grind-mängder: {AND, OR, NOT} -> (DeMorgan) -> {AND,NOT} -> {NAND} {OR, AND, NOT} -> (DeMorgan) -> {OR,NOT} -> {NOR}
Logiska grindar XOR-grinden Eklusivt ELLER IEC Symbol (International Electrotechnical Commission) A B Y A B Y Y = A B = A B A B Traditional (American) Symbol A Y B
Logiska grindar XNOR-grinden IEC Symbol (International Electrotechnical Commission) A B Y A B Y Traditional (American) Symbol Y = A B = A B A B A B Y
Eempel: Trevägs ljuskontroll Brown/Vranesic: 2.8. Antag att vi behöver kunna tända/släcka vardagsrummet från tre olika ställen. 3 2 f 2 3 f
Trevägs ljuskontroll 2 3 Man ska alltid kunna ändra ljuset genom att ändra en valfri strömbrytare. f 2 3 f
Trevägs ljuskontroll 2 3 Man ska alltid kunna ändra ljuset genom att ändra en valfri strömbrytare. f 2 3 f
Trevägs ljuskontroll 2 3 Man ska alltid kunna ändra ljuset genom att ändra en valfri strömbrytare. f 2 3 f
Trevägs ljuskontroll 3 2 f 2 3 f Man ska alltid kunna ändra ljuset genom att ändra en valfri strömbrytare.
Trevägs ljuskontroll 2 3 Man ska alltid kunna ändra ljuset genom att ändra en valfri strömbrytare. Sanningstabellen stämmer nu med förutsättningarna! f 2 3 f
Trevägs ljuskontroll 3 2 f 2 3 f m m 2 m 4 m 7 M M 3 M 5 M 6 ) ( ) ( ) ( ) ( (,3,5,6) 3 2 3 2 3 2 3 2 M f = = = 3 2 3 2 3 2 3 2 (,2,4,7) m f = = = eller
Trevägs ljuskontroll 2 3 f f = m(,2,4,7) = 2 3 2 3 2 3 2 3
Trevägs ljuskontroll 2 3 f ) ( ) ( ) ( ) (,3,5,6) ( 3 2 3 2 3 2 3 2 M f = =
Sammanfattning Logiska funktioner kan beskrivas med boolesk algebra Det finns logiska grindar för de vanliga booleska funktioner En logisk funktion kan uttryckas och skrivas om mha boolesk algebra till - SOP-form (Summa av min-termer) eller - POS-form (Produkt av ma-termer)