Formale Grundlagen von Schaltnetzen L6, L7, L8 1. L 6 : Gesetze der Booleschen Algebra

Ähnliche Dokumente
Informationsverarbeitung auf Bitebene

Informatik A (Autor: Max Willert)

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

A.1 Schaltfunktionen und Schaltnetze

Grundlagen der Informationverarbeitung

5. Aussagenlogik und Schaltalgebra

Allgemeingültige Aussagen

II. Grundlagen der Programmierung

Systemorientierte Informatik 1

Teil II. Schaltfunktionen

Konjunktive und disjunktive Normalformen

2. Schaltfunktionen und ihre Darstellung

Normalformen boolescher Funktionen

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Technische Informatik I

9 Multiplexer und Code-Umsetzer

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Technische Informatik - Eine Einführung

Logische und funktionale Programmierung

Verwendung eines KV-Diagramms

Kapitel 3: Boolesche Algebra

Was bisher geschah: klassische Aussagenlogik

3. Logik 3.1 Aussagenlogik

Teil 1: Digitale Logik

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

Kapitel 1. Aussagenlogik

Einführung Grundbegriffe

Physikalisches Praktikum für Vorgerückte. an der ETH Zürich. vorgelegt von. Mattia Rigotti Digitale Elektronik

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

5. Vorlesung: Normalformen

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Bisher. minimale DNF. logischen Formeln Booleschen Funktionen Schaltungen

Logik Vorlesung 3: Äquivalenz und Normalformen

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Logik (Teschl/Teschl 1.1 und 1.3)

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

Vorlesung Diskrete Strukturen Rechnen mit 0 und 1

A.3. A.3 Spezielle Schaltnetze Prof. Dr. Rainer Manthey Informatik II 1

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

Schaltalgebra und kombinatorische Logik

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Signalverarbeitung 1

Mathematische Logik. Grundlagen, Aussagenlogik, Semantische Äquivalenz. Felix Hensel. February 21, 2012

Aussagenlogik. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50)

Computersysteme. 2. Grundlagen Digitaler Schaltungen 2.10 Minimierung Boole scher Funktionen 2.11 CMOS Komplexgatter

Was ist Logik? Was ist Logik? Logische Konnektoren. Aussagenlogik. Logik stellt Sprachen zur Darstellung von Wissen zur Verfügung

Einführung in die Boolesche Algebra

Übung 4: Aussagenlogik II

Arbeitsblatt Logische Verknüpfungen Schaltnetzsynthese

Einführung in die mathematische Logik

Was bisher geschah: klassische Aussagenlogik

N Bit binäre Zahlen (signed)

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

Klausur zur Vorlesung Mathematische Logik

Logik für Informatiker

Kapitel 6 Programmierbare Logik. Literatur: Kapitel 6 aus Oberschelp/Vossen, Rechneraufbau und Rechnerstrukturen, 9. Auflage

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Grundlagen der Technischen Informatik. 8. Übung

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Normalformen von Schaltfunktionen

Grundlagen der Technischen Informatik. 7. Übung

Einführung in die mathematische Logik

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Formelsammlung. Wahrscheinlichkeit und Information

Lineare Algebra und analytische Geometrie I

3.6 Bemerkungen zur Umformung boolescher Formeln (NAND): doppelte Negation

Stefan Ruzika. 24. April 2016

Normalformen der Prädikatenlogik

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Boole'sche Algebra. Inhaltsübersicht. Binäre Funktionen, Boole'sche Algebren, Schaltalgebra. Verknüpfungen der mathematischen Logik

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

6. Vorlesung: Minimalformen

1 Algebraische Strukturen

DIGITALTECHNIK 06 SCHALTUNGS- SYNTHESE UND ANALYSE

Gleichungen (und Ungleichungen)

Antwort: h = 5.70 bit Erklärung: Wahrscheinlichkeit p = 1/52, Informationsgehalt h = ld(1/p) => h = ld(52) = 5.70 bit

1 Analogtechnik und Digitaltechnik. C Schaltalgebra und kombinatorische Logik. 2 Digitale elektrische Schaltungen

GTI ÜBUNG 6 NORMALFORM, MINIMALFORM UND DER ENTWICKLUNGSSATZ

Brückenkurs Mathematik 2015

Satz Ein Boolescher Term t ist eine Tautologie genau dann, wenn t unerfüllbar ist.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

14. Zur algebraischen Behandlung von Widerstandsschaltungen

Einführung in die Informatik I (autip)

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

De Morgan sche Regeln

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Kapitel III. Stetige Funktionen. 14 Stetigkeit und Rechenregeln für stetige Funktionen. 15 Hauptsätze über stetige Funktionen

Einführung. Ablesen von einander zugeordneten Werten

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Informatik I WS 07/08 Tutorium 24

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015

Perzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Von-Neumann-Rechner / Rechenwerk

Einführung in. Logische Schaltungen

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

Transkript:

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