IE1205 Digital Design F2 : Logiska Grindar och Kretsar, oolesk Algebra Fredrik Jonsson KTH/ICT/ES fjon@kth.se
Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen x = 1 x = 0 Symbol S x IE1205 Digital Design 2
Implementering av logiska funktioner Switchen kan användas för att implentera logiska funktioner Power supply S x Light L(x) är en logisk funktion x är en logisk variabel L(x) 0 Light Off 1 Light On IE1205 Digital Design 3
Operation AND (OCH) AND-operationen ( ) uppnås genom switchar som kopplas i serie S S Power supply x 1 Light L(x) x 1 IE1205 Digital Design 4
Operation OR (ELLER) OR-operationen (+) uppnås genom switchar som kopplas parallellt S x 1 Power supply S Light L(x) x 1 IE1205 Digital Design 5
Operation NOT (ICKE) NOT-funktionen inverterar det logiska värdet R Power supply x S Light L(x) x IE1205 Digital Design 6
Sanningstabell En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false) IE1205 Digital Design 7
Logiska grindar AND-grinden (OCH) IEC Symbol (International Electrotechnical Commission) A Y 0 0 0 0 1 0 A & Y 1 0 0 1 1 1 Traditional (American) Symbol Y A A Y IE1205 Digital Design 8
Logiska grindar OR-grinden (ELLER) IEC Symbol (International Electrotechnical Commission) A Y 0 0 0 A 1 Y 0 1 1 1 0 1 1 1 1 Traditional (American) Symbol Y A A Y IE1205 Digital Design 9
Logiska grindar Inverterare (NOT-grinden (ICKE)) Inverterare (Inverter) IEC Symbol (International Electrotechnical Commission) A 1 Y A Y 0 1 Traditional (American) Symbol 1 0 Y A A Y IE1205 Digital Design 10
Vad är grindnätets funktion? x 1 f IE1205 Digital Design 11
Tidsdiagram x 1 A f x 1 1 0 A 1 0 1 0 1 0 f 1 0 Time IE1205 Digital Design 12
Sanningstabell x 1 A f x 1 0 0 1 1 0 1 0 1 f ( x, ) x 1 2 1 1 0 1 A 1 0 1 0 0 0 0 1 IE1205 Digital Design 13
Flera grindnät kan implementera samma funktion! a) x 1 f f x 1 x 1 b) x 1 g g x 1 IE1205 Digital Design 14
oolesk 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 IE1205 Digital Design 15
oolesk algebra Axiom IE1205 Digital Design 16
Venn-Diagram Venn-diagrammet kan användas för att illustrera logiska operationer x x x y x z y x x y x y z IE1205 Digital Design 17
oolesk algebra 1+A=1 0A=0 A +A=1 AA =0 A+A=A AA=A IE1205 Digital Design 18
oolesk algebra Enkla räknelagar Med axiomerna som bas kan man formulera nya lagar (teorem) IE1205 Digital Design 19
Dualitetsprincip Har man ett giltigt booleskt samband så får man ett annat giltigt samband om man samtidigt byter alla 0:or mot 1:or och alla 1:or mot 0:or alla AND mot OR och alla OR mot AND IE1205 Digital Design 20
oolesk algebra Räknelagar med flera variabler IE1205 Digital Design 21
Exempel Konsensuslagen (17a) med Venn-diagram med algebraisk manipulation IE1205 Digital Design 22
Prov att en av konsensuslagarna håller x y y z x z x y x 17a. z x y y z x z (vänster led) x y (z z ) (x x ) y z x (y y ) z x y z x y z x y z x y z x y z x y z x y z x y z x y z x y z x y (z z ) x z (y y ) x y x z ( höger led) IE1205 Digital Design 23
Notationsalternativ Olika författare använder olika notationer IE1205 Digital Design 24
Analys och syntes Syntes Konstruktion av ett grindnätverk som implementerar en given logisk funktion Analys Framtagandet av den logiska funktionen för ett existerande grindnätverk IE1205 Digital Design 25
Hur kan följande sanningstabell implementeras med logiska grindar? IE1205 Digital Design 26
Hur kan följande sanningstabell implementeras med logiska grindar? 1. Ta fram den logiska funktionen: f x 1 x 1 x 1 IE1205 Digital Design 27
Hur kan följande sanningstabell implementeras med logiska grindar? 2. a) Gör en direkt implementering av den logiska funktionen: x 1 f x 1 x 1 x 1 f IE1205 Digital Design 28
Hur kan följande sanningstabell implementeras med logiska grindar? 2. (bättre) Minimera den logiska funktionen f x 1 x 1 x 1 x 1 x 1 x 1 x 1 Lägg till redundant term x 1 (7b) x 1 ( ) (x 1 x 1 ) Distribution (12a) x 1 1 1 (8b) x 1 IE1205 Digital Design 29
Hur kan följande sanningstabell implementeras med logiska grindar? 3. Implementera den minimerade funktionen f x 1 x 1 Mycket enklare implementering! f IE1205 Digital Design 30
Snabbfråga Vilken oolesk ekvation motsvarar grindnätet x y z q Alt 1: q = x y + z Alt 2: q = x y + z Alt 3 q = x y + z
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 generisk metod som fungerar för alla kombinatoriska nätverk! IE1205 Digital Design 32
Mintermer och Maxtermer En minterm är en produktterm för en logisk funktion där alla variabler av den logiska funktionen måste vara representerade En maxterm är en summaterm för en logisk funktion där alla variabler av den logiska funktionen måste vara representerade IE1205 Digital Design 33
Mintermer och Maxtermer IE1205 Digital Design 34
Introduktion SOP och POS Följande logisk funktion ska beskrivas med ett booleskt uttryck IE1205 Digital Design 35
Sum-of-Products m 1 m 4 m 5 m 6 f x 1 x 3 x 1 x 3 x 1 x 3 x 1 x 3 m(1,4,5,6) IE1205 Digital Design 36
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 1 om en av produkttermerna blir 1. 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 IE1205 Digital Design 37
Product-of-Sums IE1205 Digital Design 38 (0,2,3,7) ) ( ) ( ) ( ) ( 3 2 1 3 2 1 3 2 1 3 2 1 M x x x x x x x x x x x x f M 0 M 2 M 3 M 7
Product-of-Sums En produkt av summor (product-of-sums) är en logisk funktion f som bildas genom en produkt av sumtermerna så att f blir 0 om en av sumtermer blir 0. Följande förkortningar används POS (engelska) och PS (svenska) I POS-normalformen är alla sumtermer maxtermer Det benämns även som konjunktiv normalform IE1205 Digital Design 39
Dualitet: Maxtermer och Mintermer, SOP och POS Till varje minterm finns det en motsvarande maxterm f m i M i M 0 m 0 x 1 x 3 x1 x 3 x 1 x 3 (mha DeMorgan 15a) Till varje SOP finns det en motsvarande POS f m(1,4,5,6) M(0,2,3,7) IE1205 Digital Design 40
Logiska grindar NAND-grinden IEC Symbol (International Electrotechnical Commission) A Y 0 0 1 A & Y 0 1 1 1 0 1 1 1 0 Traditional (American) Symbol Y A A Y IE1205 Digital Design 41
Logiska grindar NOR-grinden IEC Symbol (International Electrotechnical Commission) A Y 0 0 1 A 1 Y 0 1 0 1 0 0 1 1 0 Traditional (American) Symbol Y A A Y IE1205 Digital Design 42
ara en grind behövs! För att implementera en boolesk funktion behövs det bara NAND- eller NOR-grindar NOT = AND = OR = IE1205 Digital Design 43
DeMorgan s teorem Formulering med logiska grindar x 1 x 1 x 1 (a) x 1 = x 1 + (DeMorgan (15a)) Inverterade ingångar x 1 x 1 x 1 (b) x 1 + = x 1 (DeMorgan (15b)) IE1205 Digital Design 44
Inverteraren med NAND-grindar A Y = A Y Y A A A IE1205 Digital Design 45
AND-grind med NAND-grindar A Y Y A A = A Y 46 IE1205 Digital Design
OR-grind med NAND-grindar A A Y = Y Y A A A A A 47 IE1205 Digital Design
Implementering av logiska funktioner med enbart NAND-grindar x 1 x 3 x 4 x 5 x 1 x 3 x 4 x 5 AND-OR funktion x 1 x 3 x 4 x 5 IE1205 Digital Design 48
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. Exempel på universella grind-mängder: {AND, OR, NOT} -> (DeMorgan) -> {AND,NOT} -> {NAND} {AND,OR,NOT} -> (DeMorgan) -> {OR,NOT} -> {NOR} IE1205 Digital Design 49
Logiska grindar XOR-grinden (Exclusivt ELLER) IEC Symbol (International Electrotechnical Commission) A Y 0 0 0 A 1 Y 0 1 1 1 0 1 1 1 0 Traditional (American) Symbol Y A A A A Y IE1205 Digital Design 50
Logiska grindar XNOR-grinden (Exclusivt ELLER) IEC Symbol (International Electrotechnical Commission) A Y 0 0 1 A 1 Y 0 1 0 1 0 0 1 1 1 Traditional (American) Symbol Y A A A A Y IE1205 Digital Design 51
Exempel: Trevägsljuskontroll rown/vranesic: 2.8.1 IE1205 Digital Design 52
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 max-termer) IE1205 Digital Design 53