Formale Grundlagen von Schaltnetzen L6, L7, L8 1 L 6 : Gesetze der Booleschen Algebra
Formale Grundlagen von Schaltnetzen L6, L7, L8 2 L 6-2: Einführung und Motivation Seien term 1 und term 2 beliebige boolesche Terme mit gleicher Semantik: term 1 = term 2 = Gleichungsgesetz In einem Booleschen Term, in dem term 1 auftritt kann man für term 1 auch term 2 schreiben. Gleichungsgesetze der Booleschen Algebra erlauben Konstruktionen syntaktisch unterschiedlicher Terme ohne Änderung der Semantik
Formale Grundlagen von Schaltnetzen L6, L7, L8 3 L 6-2: Einführung und Motivation Gleichungsgesetze der Booleschen Algebra erlauben Konstruktionen syntaktisch unterschiedlicher Terme, die bei entsprechender Interpretation auf die gleiche Wertetabelle führen. Unterschiedliche Terme führen zu unterschiedlichen Schaltungsstrukturen Verwendung unterschiedlicher Basiskomponenten Unterschiedliche viele Basiskomponenten vorgegebenen Typs
Formale Grundlagen von Schaltnetzen L6, L7, L8 4 L 6-2: Unterschiedliche Terme unterschiedlichen Schaltungsstrukturen Verwendung unterschiedlicher Basiskomponenten Gleichungsgesetz: x = x ( x x ) ( x x ) = 2 1 2 1 NAND Gleiche Semantik b 2 NAND NOT AND b 1 b 2 b 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 5 L 6-2: Unterschiedliche Terme unterschiedlichen Schaltungsstrukturen Unterschiedliche viele Basiskomponenten vorgegebenen Typs b 2 b 1 NOT OR b 2 AND AND b 1 mögliche Aufgabe: Finde einen Term, der nach bestimmten Kriterien zu einer "optimalen" Schaltungsstruktur für eine gegebene Funktion führt.
Formale Grundlagen von Schaltnetzen L6, L7, L8 6 L 6-5: Wichtige Gleichungsgesetze x = x Involutionsgesetz x y = y x x y = y x Kommutativgesetze ( x y) z = x ( y z) ( x y) z = x ( y z) Assoziativgesetze x x = x x x = x Idempotenzgesetze
Formale Grundlagen von Schaltnetzen L6, L7, L8 7 L 6-5: Wichtige Gleichungsgesetze x ( x y) = x x ( x y) x ( y z) = ( x y) ( x z ) x ( y z) = ( x y) ( x z) ( x y) ( x) ( y) = ( x y) ( x) ( y) = x ( y y) = x x ( y y) = x = x Absorptionsgesetze Distributivgesetze Gesetze von de Morgan Neutralitätsgesetze
Formale Grundlagen von Schaltnetzen L6, L7, L8 8 L 6-5: Stimmt das alles auch? Nachweis: Aufstellen der Wertetabellen und Vergleich
Formale Grundlagen von Schaltnetzen L6, L7, L8 9 Beispiel: Logiflash ( x y) ( x) ( y) = stimmt, falls für alle b x, b y B not(and(b x, b y )) = or(not(b x ), not(b y ) b x b y & b x b y 1 1 1 Ergibt sich für gleiche Belegungen immer der gleiche Ausgangswert?
Formale Grundlagen von Schaltnetzen L6, L7, L8 10 logiflash L6-8-1
Formale Grundlagen von Schaltnetzen L6, L7, L8 11 L 6-5: Beispiele für Anwendungen ( ) = ( ) b = β [ x ], b = β [ x ] ( ) Sei f... f 1... x1 x2 2 2 1 1 f 1 b 2 b 1 AND AND f Anwendung des Assoziativgesetzes: f (...) = f (...) ( x x ) 1 1 2
Formale Grundlagen von Schaltnetzen L6, L7, L8 12 L 6-5: Anwendung des Assoziativgesetzes ( ) f = f x x 1 1 2 f 1 b 2 b 1 AND AND f Vorteil: weniger Stufen (Stufen = Anzahl der Basiskomponenten auf einem Weg vom Ausgang zu einem Eingang)
Formale Grundlagen von Schaltnetzen L6, L7, L8 13 L 6-5: Beispiele für Anwendungen: NAND-Komponenten Sei: f( x,x,x,x ) ( x x ) ( x x ) = mit der Struktur 4 3 2 1 1 2 3 4 b 4 b 3 b 2 b 1 AND AND OR f Aus technischen Gründen gebe es nur NAND-Komponenten! Wie ermittelt man die entsprechende Struktur?
Formale Grundlagen von Schaltnetzen L6, L7, L8 14 L 6-5: Beispiele für Anwendungen: NAND-Komponenten x = 1. Anwendung von Involutionsgesetz x ( 1 2) ( 3 4) ( ) f = x x x x ( ( x )) ( ( )) 1 x2 x3 x4 ( ) = b 4 b 3 b 2 AND AND NOT NOT NOT NOT OR f b 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 15 L 6-5: Beispiele für Anwendungen: NAND-Komponenten 2. Anwendung von ( x y) ( x) ( y) = Gesetz von de Morgan f = ( ( x )) ( ( )) 1 x 2 x3 x 4 x y = ( ( x )) ( ( )) 1 x2 x3 x 4 x y
Formale Grundlagen von Schaltnetzen L6, L7, L8 16 L 6-5: Beispiele für Anwendungen: NAND-Komponenten 3. Umsetzung in Schaltungsstruktur f = x x x ( ( )) ( x ) ( ) 1 2 3 4 NAND NAND b 4 b 3 b 2 AND AND NOT NOT AND NOT f b 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 17 L 6-5: Beispiele für Anwendungen: NAND-Komponenten b 4 b 3 b 2 AND AND NOT NOT AND NOT f b 1 4. Zusammenfassung der AND/NOT-Komponenten: b 4 b 3 b 2 b 1 AND AND AND
Formale Grundlagen von Schaltnetzen L6, L7, L8 18 Was wir wissen Es gibt Gleichungsgesetze, die zur Strukturtransformation nützlich sein können Nun: Neue Fragestellung
Formale Grundlagen von Schaltnetzen L6, L7, L8 19 Annahme: Gegeben ist eine Wertetabelle Frage 1: Gibt es eine systematische Methode, um irgendeinen Booleschen Term abzuleiten, der diese Wertetabelle implementiert? Frage 2: Gibt es systematische Methode, um nicht nur irgendeinen Term, sondern einen durch eine Schaltung möglichst einfach implementierbaren Term zu erhalten?
Formale Grundlagen von Schaltnetzen L6, L7, L8 20 Wertetabelle Frage 1 Frage 2 irgendein "optimaler" Boolescher Term Boolescher Term Schaltung Schaltung Anworten dauern etwas länger
Formale Grundlagen von Schaltnetzen L6, L7, L8 21 L 6 6: Definitionen: Literal, Monom, Minterm x und x heißen Literale zum Namen x Monom -Verknüpfung von Literalen, in der kein Namen mehr als einmal auftritt. n Minterm einer n-stelligen Booleschen Funktion f: ist ein Monom, in dem jeder der n Namen genau einmal auftritt. B B
Formale Grundlagen von Schaltnetzen L6, L7, L8 22 L 6-6: Beispiele Menge der Namen D= {w, x, y, z} Häufigkeit der Namen im Term w x y z Literale Typ Name des Terms x y z 0 1 1 1 x, y, z -Term Monom
Formale Grundlagen von Schaltnetzen L6, L7, L8 23 L 6-6: Beispiele Menge der Namen D= {w, x, y, z} Häufigkeit der Namen im Term w x y z Literale Typ Name des Terms w x y z 1 1 1 1 w, x, y, z -Term Monom, Minterm
Formale Grundlagen von Schaltnetzen L6, L7, L8 24 L 6-6: Beispiele Menge der Namen D= {w, x, y, z} Häufigkeit der Namen im Term w x y z Literale Typ Name des Terms w x w 2 1 0 0 w, x, w -Term reduzierbar:o
Formale Grundlagen von Schaltnetzen L6, L7, L8 25 L 6-6: Beispiele Menge der Namen D= {w, x, y, z} Häufigkeit der Namen im Term w x y z Literale Typ Name des Terms w x y 1 1 1 0 w, x, y -Term -------
Formale Grundlagen von Schaltnetzen L6, L7, L8 26 L 6-6: Beispiele Menge der Namen D= {w, x, y, z} Häufigkeit der Namen im Term w x y z Literale Typ Name des Terms w w z 2 0 0 1 w, z -Term reduzierbar: w z
Formale Grundlagen von Schaltnetzen L6, L7, L8 27 L 6-7: Bedeutung von Mintermen b,b,,b Jeder Belegung n n 1 1 kann man umkehrbar eindeutig einen Minterm ( ) minterm b,b,,b = v v v n n 1 1 n n 1 1 v i zuordnen, wobei: x,fallsb i i = = x,fallsb = i i L O
Formale Grundlagen von Schaltnetzen L6, L7, L8 28 L 6-7: Bedeutung von Mintermen: Beispiel b 4 b 3 b 2 b 1 f Minterm O L L O xxx x 4 3 2 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 29 L 6-8: Bedeutung von Mintermen: Umkehrung v v v Zu jedem Minterm n n 1 1 kann man genau eine Belegung n n 1 1 b,b,,b angeben, für die der Minterm den Wert L annimmt: ( ) L _Belegung v v v = b b b n n 1 1 n n 1 1 mit. b i O, fallsvi = x = L, fallsvi = xi i
Formale Grundlagen von Schaltnetzen L6, L7, L8 30 L 6-8: Bedeutung von Mintermen: Beispiel L_Belegung Minterm O L L O xxx 4 3 2 x1 [ O L L O ] x x x x für x, für x, für x, für x = 4 3 2 1 4 3 2 1 O L L O = L L L L = L
Formale Grundlagen von Schaltnetzen L6, L7, L8 31 L 7-1: Vorweg genommenes Ergebnis der folgenden Betrachtungen Satz: (Darstellungstheorem). Für jede n-stellige Funktion (n 1) gilt: = n 1 1 bn b1 = 1 minterm b,,b O O ( ) b b = L L ( ) n n ( n 1) f x,,x f b,,b ( ) f b,,b,b,b, b n i+ 1 i i 1 1 da kommen die x i her Funktionswert für eine symbolische Belegung, den man für jede Belegung aus der Wertetabelle ablesen kann.
Formale Grundlagen von Schaltnetzen L6, L7, L8 32 L 7-1: Erläuterung b b n 1 b b n 1 = = L L O O : Setze nacheinander die Belegungen: OO...OO, n mal OO...OL n 1 mal OO...LO,, n 2 mal OO...LL,..., n 2 mal LL...LL n mal ein und verknüpfe die Teilterme disjunktiv (oder).
Formale Grundlagen von Schaltnetzen L6, L7, L8 33 XOR L 7-1:Beispiel b 2 b 1 XOR(b 2,b 1 ) minterm O O O x2 x1 O L L x2 x1 L O L x2 x1 L L O x2 x1 = ( ) b b = L L ( ) ( 2 1) f x,x f b,b 2 1 2 1 b2b1 = 2 1 minterm b,b O O ( OO) ( OO) ( OL) ( OL) ( LO) ( LO) ( LL) ( LL) f, minterm, f, minterm, f, minterm, f, minterm, =
Formale Grundlagen von Schaltnetzen L6, L7, L8 34 L 7-1: Beispiel b 2 b 1 f(b 2,b 1 ) minterm(b 2,b 1 ) f( b,b ) minterm( b,b ) 2 1 2 1 O O O x2 x1 O x2 x1 O L L x2 x1 L x2 x1 L O L x2 x1 L x2 x1 L L O x2 x1 O x2 x1 ( 2 1) = ( OO) ( OO) ( OL) ( OL) f ( LO, ) minterm ( LO, ) f ( LL, ) minterm ( LL, ) f x,x f, minterm, f, minterm, Kanonische disjunktive Normalform = O x x L x x 2 1 2 1 L x x O x x 2 1 2 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 35 L 7-1: Was sagt uns das Darstellungstheorem? Man kann jede Wertetabelle über B = durch einen algebraischen Term erzeugen: bn b1 = L L f x n,,x f b n,,b bn b1 = O O ( ) ( ) ( n 1) 1 1 minterm b,,b Das wollen wir jetzt zeigen
Formale Grundlagen von Schaltnetzen L6, L7, L8 36 Vereinbarung ( ) f b,,b,b,b, b n i+ 1 i i 1 1 Funktionswert für eine symbolische Belegung, den man für jede Belegung aus der Wertetabelle ablesen kann.
Formale Grundlagen von Schaltnetzen L6, L7, L8 37 L 7-1: Vereinbarung ( L ) fb,,b,,b, b n i+ 1 i 1 1 b i = L Funktionswert für eine symbolische Belegung Es sind nur solche Belegungen anwendbar, für die b i = L gilt
Formale Grundlagen von Schaltnetzen L6, L7, L8 38 L 7-2: Ein toller Satz zur Vorbereitung Entwicklungssatz: mit großer praktischer Bedeutung mit großer Bedeutung für die formale Überprüfung auf eine korrekte Implementierung von Schaltnetzen (= Schaltnetzverifikation) Hilfssatz zum Beweis des Darstellungstheorems
Formale Grundlagen von Schaltnetzen L6, L7, L8 39 L7-2: Vorbereitung Entwicklungssatz Neue Komponente: Mux: B 3 B Seien: c B "Steuereingang" d O, d L B : "Dateneingänge" warum die so heißen, werden wir später sehen Mux(c, d O, d L ) = d O falls c = O d L falls c = L
Formale Grundlagen von Schaltnetzen L6, L7, L8 40 L7-2: Diskussion der neuen Komponente Mux(c, d O, d L ) = d O falls c = O d L falls c = L Kann auch so geschrieben werden: Teilweise interpretierter Term: c und d sind Boolesche Werte Mux(c, d O, d L ) = c do c dl und damit: Mux(O, d O, d L ) = d O Mux(L, d O, d L ) = d L \logiflash L6-8-2
Formale Grundlagen von Schaltnetzen L6, L7, L8 41 L7-2: Diskussion der neuen Komponente Mux(c, d O, d L ) = c do c dl Sei x c D ein Namen, dessen symbolische Belegung ( x ) β = c sei. Wir substituieren im Booleschen Term den Namen anstelle seiner Belelgung c [ x für c ] Mux(c, d O, d L ) = c do c dl c Mux(x c, d O, d L ) = x c d x Mischform aus interpretierten und nicht interpretierten Teiltermen O c d L
Formale Grundlagen von Schaltnetzen L6, L7, L8 42 L7-2: Diskussion der neuen Komponente: Beispiel Sei x d = β ( d) d f(d) O L L O f(d) = NOT(d) ; Behauptung: Wir können die Funktion in der Form schreiben: Termvereinfachung: f(x d ) = f(x d ) = Mux(x d, O, L) = xd L xd O xd
Formale Grundlagen von Schaltnetzen L6, L7, L8 43 L7-2: Diskussion der neuen Komponente: Beispiel 2 i b 2 b 1 f(b 2, b 1 ) 0 O O 1 O L 2 L O L O L 3 L L L Durch Änderung der Konstanten lässt sich jede Boolesche Funktion von zwei Variablen so realisieren!? online 7/3
Formale Grundlagen von Schaltnetzen L6, L7, L8 44 L 7-4: Satz (Entwicklungssatz 1) Für jede n-stellige Funktion (n ) und für jeden Namen xi { x n,x n 1,,x1} b =β [ x ]: i i ( n i+ 1, bi,b i 1, b1) = xi ( n i+ 1 L i 1 1) f( b,,b, O,b, b )[ bfürx] f b,,b f b,,b,,b, b Wert aus Wertetabelle xi n i+ 1 i 1 1 ein Schritt in Richtung Term i gilt mit i Nur Belegungen (b n,..., b 1 ), die an der Stelle i den Wert L bzw. O besitzen
Formale Grundlagen von Schaltnetzen L6, L7, L8 45 L 7-6: Verstehen wir die Aussage des Satzes? Beispiel Sei : i b2 1 b f( b,b ) 0 O O L 1 O L O 2 L O L 3 L L L 2 1 Aufgabe: Wende den Entwicklungssatz auf f( b 2,b 1) mit x 2 an f( b 2,b 1) ist hier als Wertetabelle gegeben ( b ) = x ( L b ) x f( O,b )[ ür x ] f,b f, b f 2 1 2 1 2 1 2 2
Formale Grundlagen von Schaltnetzen L6, L7, L8 46 Was bedeutet das? f(o,b 1 ) ist nur für diese Belegungen anwendbar ( b ) = x ( L b ) x f( O,b )[ ür x ] f,b f, b f 2 1 2 1 2 1 i b2 1 2 1 f,b 1 f O,b 1 0 O O L L 1 O L O O b f( b,b ) ( L ) ( ) 2 2 f(l,b 1 ) ist nur für diese Belegungen anwendbar 2 L O L L 3 L L L L
Formale Grundlagen von Schaltnetzen L6, L7, L8 47 L 7-4 a-c: Beweis des Entwicklungssatzes Einführung der Fallunterscheidung (Belegung von x i ) 1. Fall: Belegung β[x i ] = b i = L 2. Fall: β[x i ] = b i = O Gilt der Satz für β[x i ] = b i = L? ( ( n i+ 1 bi i 1 1) = xi f( b n,,b i+ 1, L,b i 1, b1) x f( b,,b, O,b, b )[ bfürx])[ Lfürb] f b,,b,,b, b i n i+ 1 i 1 1 i i i
Formale Grundlagen von Schaltnetzen L6, L7, L8 48 L 7-4 a-c: Beweis des Entwicklungssatzes Fall: β[x i ] = b i = L: (Belegung von x i ) ( f( b n,,b i+ 1, bi,b i 1, b 1) = xi f( b n,,b i+ 1, L,b i 1, b1) für x i xi f( b n,,b i+ 1, O,bi 1, b1)[ bfürx i i])[ Lfürbi] ( f( b n,,b i+ 1, bi,b i 1, b 1) = bi f( b n,,b i+ 1, L,b i 1, b1) b f( b,,b, O,b, b ) )[ Lfürb] Substitution b i i n i+ 1 i 1 1 i
Formale Grundlagen von Schaltnetzen L6, L7, L8 49 L 7-4 a-c: Beweis des Entwicklungssatzes Substitution L für b i : Fall: β[x i ] = b i = L: (Belegung von x i ) ( n i+ 1 L i 1 1) L f( b n,,b i+ 1, L,b i 1, b1) L f( b,,b, O,b, b ) f b,,b,,b, b = L = n i+ 1 i 1 1 O ( n i+ 1 L i 1 1) f( b,,b, O,b, b ) = L f b,,b,,b, b O n i+ 1 i 1 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 50 L 7-4 a-c: Beweis des Entwicklungssatzes Fall β[x i ] = b i = L: (Belegung von x i ) ( L ) f b,,b,,b, b = n i+ 1 i 1 1 ( L ) = L f b,,b,,b, b O n i+ 1 i 1 1 fb,,b,,b, b ( L ) n i+ 1 i 1 1 ( O ) f b,,b,,b, b n i+ 1 i 1 1 O O x = O
Formale Grundlagen von Schaltnetzen L6, L7, L8 51 L 7-4 a-c: Beweis des Entwicklungssatzes Fall β[x i ] = b i = L: (Belegung von x i ) ( L ) fb,,b,,b, b = n i+ 1 i 1 1 ( L ) = L f b,,b,,b, b n i+ 1 i 1 1 fb,,b,,b, b ( L ) n i+ 1 i 1 1 ( ) = f b,,b, L,b, b n i+ 1 i 1 1 Beweis ist geglückt O x O = L x = x x
Formale Grundlagen von Schaltnetzen L6, L7, L8 52 L7-4: Entwicklungssatz (1) ( n i+ 1, bi,b i 1, b1) = xi ( n i+ 1 L i 1 1) f( b,,b, O,b, b )[ bfürx] f b,,b f b,,b,,b, b xi n i+ 1 i 1 1 i i oder auch: ( n i+ 1,xi i 1 1) xi ( n i+ 1 L i 1 1) x f( b,,b, O,b, b ) f b,,b,b, b = f b,,b,,b, b i n i+ 1 i 1 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 53 Sei : L 7-6: Beispiel i b2 1 f b,b 0 OO L 1 O L O 2 L O L 3 L L L b ( ) 2 1 Aufgabe: konstruiere einen Term, der diese Funktion beschreibt
Formale Grundlagen von Schaltnetzen L6, L7, L8 54 Sei : L 7-6: Beispiel i b2 1 f b,b 0 OO L 1 O L O 2 L O L 3 L L L b ( ) 2 1 Aufgabe: konstruiere einen Term, der diese Funktion beschreibt 1. Auswahl eines Namens: x 2 2. Erste Anwendung des Entwicklungssatzes: ( b ) = x ( L b ) x f( O,b )[ ür x ] f,b f, b f 2 1 2 1 2 1 2 2
Formale Grundlagen von Schaltnetzen L6, L7, L8 55 L 7-6: Erste Anwendung des Entwicklungssatzes: ( b ) = x ( L b ) x f( O,b )[ ür x ] f,b f, b f 2 1 2 1 2 1 2 2 i b2 1 2 1 f,b 1 f O,b 1 0 O O L L 1 O L O O b f( b,b ) ( L ) ( ) 2 L O L L 3 L L L L
Formale Grundlagen von Schaltnetzen L6, L7, L8 56 L 7-7: Weiterentwicklung einer Funktion b ( O ) i 1 f,b 1 0 O L 1 L O 3. Auswahl eines Namens: x 1 4. Zweite Anwendung des Entwicklungssatzes: ( O ) = x ( O, L) x f ( O, O)[ x ] f,b f b für 1 Einsetzen: 1 1 1 1 b ( L ) i 1 f,b 1 2 O L 3 L L ( 2 1) = 2 ( L 1) 2 f ( O,b1)[ 2 rx2] = x f ( L,b ) f b,b x f,b x b fü 2 1 x2 x1 f ( O, L) x1 f( O, O)[ b1 für x1] 2 x f( O, b1) [ b für ] 2
Formale Grundlagen von Schaltnetzen L6, L7, L8 57 b ( O ) i 1 f,b 1 0 O L 1 L O L 7-7: Weiterentwicklung einer Funktion b ( L ) i 1 f,b 1 2 O L 3 L L 5. Auswahl eines Namens: x 1 6. Zweite Anwendung des Entwicklungssatzes: ( L ) = x ( L, L) x f ( L, O)[ x ] f,b f b für 1 1 1 1 1 Einsetzen: f ( b,b 2 1) = x2 f ( L,b1) x2 ( x1 f ( OL, ) x1 f( O,O)[ b1 für x1] )[ b2 für x2] = x2 ( x1 f ( L, L) x1 f( L, O)[ b1 für x1] ) x2 ( x1 f ( O, L) x1 f( O,O)[ b1 fürx1] )[ b2 für x2]
Formale Grundlagen von Schaltnetzen L6, L7, L8 58 L 7-8: Weiterentwicklung einer Funktion ( ) ( 2 1) = 2 1 ( LL) 1 ( L,O)[ b1 für x1] x2 ( x1 f ( OL, ) x1 f ( O,O)[ b1 für x1] )[ b2 für x2] f b,b x x f, x f Assoziativität, Distributivität: ( 2 1) = 2 1 ( LL) 2 1 ( L,O) x x f ( OL, ) x x f ( O,O)[ b für x ][ b fürx ] f b,b x x f, x x f 2 1 2 1 1 1 2 2
Formale Grundlagen von Schaltnetzen L6, L7, L8 59 Beispiel: Ergebnis (,b ) = x x f ( LL, ) x x f( L,O) f b 2 1 2 1 2 1 minterm(l,l) minterm(o,l) minterm(l,o) ( OL) ( O,O)[ b für x ][ b für x ] x2 x1 f, x2 x1 f minterm( O,O) 1 1 2 2 Hurra: Wir haben einen Term zu einer gegebenen Wertetabelle konstruiert ( 2 1) = L,L ( L L) L,O ( L,O) minterm( O,L) f ( O, L) minterm( O,O) f ( O,O) f x,x minterm( ) f, minterm( ) f
Formale Grundlagen von Schaltnetzen L6, L7, L8 60 Toll Das Konstruktionsprinzip lässt sich auf alle Wertetabellen anwenden
Formale Grundlagen von Schaltnetzen L6, L7, L8 61 Struktur des konstruierten Terms Satz: (Darstellungstheorem). Für jede n-stellige Funktion (n ) gilt: = ( ) b...b = L L ( ) n 1 f b n,..., b1 minterm( b n,..., b1) f x,..., x n 1 b...b n 1 = O O Frage: kann man einen einfacheren Term angeben?
Formale Grundlagen von Schaltnetzen L6, L7, L8 62 Beispiel b 2 b 1 f(b 2,b 1 ) minterm(b 2,b 1 ) f( b,b ) minterm( b,b ) 2 1 2 1 O O O x2 x1 O x2 x1 O L L x2 x1 L x2 x1 L O L x2 x1 L x2 x1 L L O x2 x1 O x2 x1 ( 2 1) = ( OO) ( OO) ( OL) ( OL) f ( LO, ) minterm ( LO, ) f ( LL, ) minterm ( LL, ) f x,x f, minterm, f, minterm, = O x x L x x 2 1 2 1 L x x O x x 2 1 2 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 63 ( 2 1) = ( OO) ( OO) ( OL) ( OL) f ( LO, ) minterm ( LO, ) f ( LL, ) minterm ( LL, ) f x,x f, minterm, f, minterm, = O x2 x1 L x2 x1 O x x 2 1 L x2 x1 O x2 x1 x x O 2 1 f(x,x ) = x x x x 2 1 2 1 2 1
Formale Grundlagen von Schaltnetzen L6, L7, L8 64 Beispiel i b 2 b 1 f(b 2,b 1 ) minterm(b 2,b 1 ) f( x 2,x1) 0 O O O x2 x O 1 1 O L L x2 x1 x2 x1 2 L O L x2 x1 x2 x1 3 L L O x2 x O 1 f(x,x ) = x x x x 2 1 2 1 2 1 Man verknüpfe die Minterme derjenigen Zeilennummern, die zur Menge einschlägiger Indizes gehören (Funktionswert L) disjunktiv (oder)
Formale Grundlagen von Schaltnetzen L6, L7, L8 65 L 8-3: Satz: Boolesches Normalformtheorem Sei I f die einschlägige Indexmenge zu f. Jede n-stellige Boolesche Funktion f lässt sich darstellen in der Form ( ) ( ) ( ) f x,x,,x = minterm b,b,,b n n 1 1 dual b b b I n n 1 1 n n 1 1 f
Formale Grundlagen von Schaltnetzen L6, L7, L8 66 Beispiel i b 2 b 1 f(b 2,b 1 ) minterm(b 2,b 1 ) f( x 2,x1) 0 O O O x2 x O 1 1 O L L x2 x1 x2 x1 2 L O L x2 x1 x2 x1 3 L L O x2 x O 1 Menge E.I. { } I f = 1, 2 = ( ) ( ) ( ) f x,x,,x minterm b,b,,b n n 1 1 dual b b b I n n 1 1 n n 1 1 f Diese Termform heißt kanonische disjunktive Normalform
Formale Grundlagen von Schaltnetzen L6, L7, L8 67 kanonisch: Gegebene Wertetabelle führt zum selben Term (bis auf Umordnung der Minterme)
Formale Grundlagen von Schaltnetzen L6, L7, L8 68 L 8-3: Die Antwort ist da Annahme: Gegeben ist eine Wertetabelle Frage 1: Gibt es eine systematische Methode, um einen Booleschen Term abzuleiten, der diese Wertetabelle realisiert? Antwort: f ( x,x,,x ) ( ) minterm ( b,b,,b ) = n n 1 1 dual b b b I n n 1 1 n n 1 1 f Andere semantisch äquivalente Terme Gleichungsgesetze anwenden
Formale Grundlagen von Schaltnetzen L6, L7, L8 69 Kanonische disjunktive Normalform: L 8-4: Beispiel b 3 b 2 b 1 f minterm O O O O L O O L x3 x2 x1 O L O O L L O L xx 3 2 x1 O O L O L O L O O L L O L L L L x 3 x 2 x 1 f = x3 x2 x1 x3x2 x1 x 3 x 2 x1
Formale Grundlagen von Schaltnetzen L6, L7, L8 70 Überdeckungstabelle Fragestellung: 1. Gegeben ist die Wertetabelle einer Funktion 2. Gegeben ist eine kanonische disjunktive Normalform angeblich der gleichen Funktion 3. Stimmt die Behauptung? Überprüfung durch Aufstellen der "Überdeckungstabelle" (Begriff nicht im Online-Kurs)
Formale Grundlagen von Schaltnetzen L6, L7, L8 71 b 3 b 2 b 1 f O L O L O L O L L 8-4: Beispiel: Überdeckungstabelle x3 x2 x1 xx 3 2 x1 x 3 x 2 x 1 O O O O O O O O O L L O O L L O O O O O O L O L O L O L O L O O O O O O L O O O O O L L O O O O O L L L O O L L zu realisierende Funktion realisierte Funktion Minterme und die von ihnen implementierten L-Werte: Überdeckungstabelle
Formale Grundlagen von Schaltnetzen L6, L7, L8 72 L 8-5: Umformung von Termen Sei gegeben: Termdarstellung einer Funktion Aufgabe: Vereinfache die Termdarstellung durch Anwendung von Gesetzen der Booleschen Algebra
Formale Grundlagen von Schaltnetzen L6, L7, L8 73 L 8-5: Beispiel Sei gegeben: f = x3 x2 x1 x3x2 x1 x 3 x 2 x1 Distributivgesetz: x ( y z) = ( x y) ( x z) Tautologie: ( x x ) =L 1 1 f = x x x x x x 3 x x x 3 2 1 2 1 3 2 1 = x x x x x ( x x ) 3 2 1 3 2 1 1 f = x x x x x 3 2 1 3 2
Formale Grundlagen von Schaltnetzen L6, L7, L8 74 L 8-5: Korrektheitsüberprüfung durch Aufstellen der Überdeckungstabelle b 3 b 2 b 1 f x3 x2 x1 xx 3 2 O O O O O O O L O O L L O L O L O O O O O L L O L O L L O O L O O O O L O L O O O O O L L O O O O L L L L O L L zu realisierende Funktion realisierte Funktion: = x x x x Beide Funktionen sind gleich f x 3 2 1 3 2
Formale Grundlagen von Schaltnetzen L6, L7, L8 75 Vorläufiges Ende des Onlineskripts Was machen wir nun? "Normales" Skript beantwortet folgende Fragestellung
Formale Grundlagen von Schaltnetzen L6, L7, L8 76 Annahme: Gegeben ist eine Wertetabelle Frage 1: Gibt es eine systematische Methode, um einen Booleschen Term abzuleiten, der diese Wertetabelle realisiert? Dem Term entspreche eine Schaltungsstruktur? Frage ist beantwortet Frage 2: Gibt es eine systematische Methode, um nicht nur irgendeinen Term, sondern einen möglichst einfachen Term zu erhalten? Antwort folgt