Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

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

Rechnerstrukturen WS 2012/13

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

Informationsverarbeitung auf Bitebene

Boolesche Algebra (1)

Allgemeingültige Aussagen

1. Grundlagen der Informatik Boolesche Algebra / Aussagenlogik

Auswertung. Hinweise. Einführung in die Technische Informatik WS 2006/2007 Probeklausur. Aachen, 02. November 2006 SWS: V2/Ü2, ECTS: 4

Logik (Teschl/Teschl 1.1 und 1.3)

Grundlagen der Informationverarbeitung

Logik für Informatiker

Mathematische Grundlagen I Logik und Algebra

Übung 4: Aussagenlogik II

5. Vorlesung: Normalformen

1. Grundlegende Konzepte der Informatik

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

Binary Decision Diagrams

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Teil 1: Digitale Logik

TU9 Aussagenlogik. Daniela Andrade

Schaltfunktion, Definition

Informatik A (Autor: Max Willert)

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

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

Kapitel 1. Aussagenlogik

Konjunktive und disjunktive Normalformen

Informatik I Tutorium WS 07/08

A.1 Schaltfunktionen und Schaltnetze

Normalformen boolescher Funktionen

3 Boole'sche Algebra und Aussagenlogik

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

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

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14

Logische Aussagen können durch die in der folgenden Tabelle angegebenen Operationen verknüpft werden.

4. OBDDs und Modellüberprüfung

II. Grundlagen der Programmierung

Vorkurs Mathematik für Informatiker 5 Logik, Teil 1

C Beispiel: Siebensegmentanzeige. Typische Anzeige für Ziffern a. f g. e d. Gesucht: Schaltfunktion für die Ansteuerung des Segmentes d

Einführung in die Theoretische Informatik

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

Logik für Informatiker

Technische Informatik - Eine Einführung

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

3. Grundlegende Begriffe von Logiken - Aussagenlogik

kanonische disjunktive Normalform (KDNF, DKF) Disjunktion einer Menge von Mintermen mit gleichen Variablen

C.34 C Normalformen (4) 5.7 Hauptsatz der Schaltalgebra. 5.7 Hauptsatz der Schaltalgebra (2) 5.7 Hauptsatz der Schaltalgebra (3)

Was bisher geschah: klassische Aussagenlogik

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 4 AM

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

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik Vorlesung 3: Äquivalenz und Normalformen

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

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

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Begriff Logik wird im Alltag vielseitig verwendet

Was ist Logik? Was ist Logik? Logische Konnektoren. Aussagenlogik. Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie

Boolesche Funktionen und Schaltkreise

2. Schaltfunktionen und ihre Darstellung

2. Schaltfunktionen und ihre Darstellung

Systemorientierte Informatik 1

Digitalelektronik - Inhalt

Grundlagen der Logik

2. Funktionen und Entwurf digitaler Grundschaltungen

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

Algorithmen & Programmierung. Logik

Aussagenlogik. 1 Einführung. Inhaltsverzeichnis. Zusammenfassung

Satz von De Morgan A B A + B A + B A B A. Transistoren: A B U a A 0 0 Vcc Vcc Vcc V 0

Technische Informatik I

Aussagenlogik. Mengenlehre. Relationen. Funktionen. Zahlentheorie. Vollständige Induktion. Reihen. Zahlenfolgen. WS 2016/17 Torsten Schreiber

Binäre Suchbäume (binary search trees, kurz: bst)

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

Technische Informatik I, SS03. Boole sche Algebra, Kombinatorische Logik

5. Aussagenlogik und Schaltalgebra

Logik für Informatiker

3. Logik 3.1 Aussagenlogik

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

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

2. Tutorium Digitaltechnik und Entwurfsverfahren

Künstliche Intelligenz Logische Agenten & Resolution

Lineare Algebra I. Anhang. A Relationen. Heinz H. GONSKA, Maria D. RUSU, Michael WOZNICZKA. Wintersemester 2009/10

Boole sche Algebra. George Boole

Mathematik für Informatiker I

N Bit binäre Zahlen (signed)

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

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

Darstellung von negativen binären Zahlen

Teil II. Schaltfunktionen

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Grundlagen der diskreten Mathematik

Eingebettete Systeme

Kapitel 2: Schaltfunktionen und ihre Darstellung

Grundlagen digitaler Systeme WS12

Formale Systeme, WS 2010/2011 Lösungen zum Übungsblatt 1

Grundlagen der Rechnerarchitektur

1. Algebraische Strukturen: Boole sche Algebra

Transkript:

Rechnerstrukturen, Teil Vorlesung 4 SWS WS 5/6 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls-www.cs.tu-.de

Übersicht. Organisatorisches 2. Einleitung 3. Repräsentation von Daten 4. Boolesche Funktionen und Schaltnetze 5. Rechnerarithmetik 6. Optimierung von Schaltnetzen 7. Programmierbare Bausteine 8. Synchrone Schaltwerke - 2 -

4. Boolesche Funktionen und Schaltnetze 4. Boolesche Funktionen und Schaltnetze. Einleitung 2. Boolesche Algebra 3. Repräsentationen boolescher Funktionen 4. Normalformen boolescher Funktionen 5. Repräsentation boolescher Funktionen mit OBDDs 6. Schaltnetze - 3 -

4. Einleitung Boolesche Funktionen Vielleicht schon bekannt: Aussagenlogik Satz ist Aussage mit eindeutigem Wahrheitswert Wahrheitswerte wahr falsch neue Aussagen entstehen durch Verknüpfung von Aussagen Verknüpfungen Negation (, nicht ) Konjunktion (, und ) Disjunktion (, oder ) - 4 -

4. Einleitung Definition der Verknüpfungen Seien A, B zwei Aussagen. Definition Negation A A falsch wahr wahr falsch Definition Kunjunktion A B A B falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr Definition Disjunktion A B A B falsch falsch falsch falsch wahr wahr wahr falsch wahr wahr wahr wahr - 5 -

4. Boolesche Funktionen und Schaltnetze 4. Boolesche Funktionen und Schaltnetze. Einleitung 2. Boolesche Algebra 3. Repräsentationen boolescher Funktionen 4. Normalformen boolescher Funktionen 5. Repräsentation boolescher Funktionen mit OBDDs 6. Schaltnetze - 6 -

4.2 Boolesche Algebra Eine boolesche Algebra ist eine spezielle algebraische Struktur, die die Eigenschaften der logischen Operatoren UND, ODER, NICHT und die Eigenschaften der mengentheoretischen Verknüpfungen Durchschnitt, Vereinigung, Komplement verallgemeinert. Definition 2 Wir nennen,,, mit =, und =, =, = für alle, y eine boolesche Algebra. - 7 -

4.2 Boolesche Algebra Wir sehen hier bereits Entsprechungen zur Aussagenlogik: falsch wahr - 8 -

4.2 Boolesche Algebra In einer boolesche Algebra gelten folgende Rechengesetze: Satz 3 In der booleschen Algebra,,, für alle, y, z : Kommutativität: = = Assoziativität: = = Distributivität: = = - 9 -

4.2 Boolesche Algebra In einer boolesche Algebra gelten folgende Rechengesetze: Satz 3 (cont.) In der booleschen Algebra,,, für alle, y, z : Neutralelement: = = Nullelement: = = Idempotenz: = = Involution: = - -

4.2 Boolesche Algebra In einer boolesche Algebra gelten folgende Rechengesetze: Satz 3 (cont.) In der booleschen Algebra,,, für alle, y, z : Absorption: = = Resolution: = = Komplementarität: = = de Morgan: = = - -

4.2 Boolesche Algebra Wie beweist man einzelne Rechengesetze? Wir stellen eine Wertetabelle auf. Beispiel: Absorption = linke Seite rechte Seite - 2 -

4. Boolesche Funktionen und Schaltnetze 4. Boolesche Funktionen und Schaltnetze. Einleitung 2. Boolesche Algebra 3. Repräsentationen boolescher Funktionen 4. Normalformen boolescher Funktionen 5. Repräsentation boolescher Funktionen mit OBDDs 6. Schaltnetze - 3 -

4.3 Repräsentationen boolescher Funktionen Wir benötigen im Folgenden den Begriff der booleschen Funktion. Definition 4 Seien, N und eine boolesche Algebra. Eine Funktion f heißt boolesche Funktion. Notation = Menge aller n-stelligen Tupel über B Beispiel = = {(), ()} Beispiel = {(, ), (, ), (, ), (, )} Beispiel = {(,, ), (,, ), (,, ), (,, ), (,, ), (,, ), (,, ), (,, )} - 4 -

4.3 Repräsentationen boolescher Funktionen Anzahl boolescher Funktionen boolesche Funktion f als Wertetabelle darstellbar, mit = 2 Zeilen = 2 Funktionswerten pro Zeilen 2 = 2 boolesche Funktionen für f - 5 -

4.3 Repräsentationen boolescher Funktionen Grundfunktion aus dem Bereich der booleschen Funktionen boolesche Grundfunktion f als Wertetabelle darstellbar, mit = 2 Zeilen = 2 Funktionswert pro Zeilen Beispiel -stellige boolesche Grundfunktionen 2 = 4 = = Funktion Name f Konstante Kontradiktion f Identität f 2 Negation f 3 Konstante Tautologie - 6 -

4.3 Repräsentationen boolescher Funktionen Alle booleschen 2-stelligen Grundfunktionen (2 = 6), 2,,,, Funktion Name f Kontradiktion f Konjunktion f 2 Inhibition von f 3 Identität von f 4 Inhibition von 2 f 5 Identität von 2 f 6 Antivalenz, Alternative f 7 Disjunktion f 8 Nihilition f 9 Äquivalenz f Negation von 2 f Replikation f 2 Negation von f 3 Implikation f 4 Eklusion f 5 Tautologie - 7 -

4.3 Repräsentationen boolescher Funktionen Im Folgenden werden diese Symbole verwenden: Konjunktion (und) Disjunktion (oder) Negation (nicht) Antivalenz (or) In der Regel abkürzende Notation der Konjunktion, z.b.: Feste Folge der Funktionswerte, entsprechend des Wertes der Binärzahl: Beispiel: f 6 =(,,,) korrespondiert zu y f 6-8 -

4.3 Repräsentationen boolescher Funktionen Vorsicht bei der Notation - 9 -

4. Boolesche Funktionen und Schaltnetze 4. Boolesche Funktionen und Schaltnetze. Einleitung 2. Boolesche Algebra 3. Repräsentationen boolescher Funktionen 4. Normalformen boolescher Funktionen 5. Repräsentation boolescher Funktionen mit OBDDs 6. Schaltnetze - 2 -

4.4 Normalformen boolescher Funktionen Einschlägige und nicht einschlägige Indizes Wir tragen die Werte der Argumente gemäß ihrer natürlichen Ordnung (Inde) in eine Wertetabelle ein Ist der Funktionswert für einen Inde =, nennen wir den Inde einschlägig, Ist der Funktionswert für einen Inde =, nennen wir den Inde nicht einschlägig Beispiel: Inde f 6 nicht einschlägig einschlägig 2 einschlägig 3 nicht einschlägig - 2 -

4.4 Normalformen boolescher Funktionen Minterm Definition 5 Die boolesche Funktion Minterm zum Inde i., für die nur der Inde i einschlägig ist, heißt Ein Minterm ist nur mit Negationen und Konjunktionen darstellbar: ist die Eingangsbelegung an der Stelle =, setzen wir ist die Eingangsbelegung an der Stelle =, setzen wir und bilden dann die Konjunktion der Literale Literal: In der mathematischen Logik ist ein Literal eine atomare Aussage (Atom) oder die Negation einer atomaren Aussage. Hier also eine Variable oder die negierte Variable. - 22 -

4.4 Normalformen boolescher Funktionen Beispiel zu Inde und Minterm Inde f 6 nicht einschlägig einschlägig 2 einschlägig 3 nicht einschlägig Minterm zum Inde 2 = () 2 :, = Was bewirk nun? nimmt nur für den Inde 2 den Wert an. Inde 2 3-23 -

4.4 Normalformen boolescher Funktionen Hinführung zu Normalformen Für wie viele Eingaben liefert ein Minterm? Wie soeben gesehen für genau Eingabe. Folgerungen Disjunktion aller Minterme zu einschlägigen Indizes einer booleschen Funktion f ist wieder f XOR-Verknüpfung aller Minterme zu einschlägigen Indizes einer booleschen Funktion f ist wieder f - 24 -

4.4 Normalformen boolescher Funktionen Normalformen Definition 8 Die Darstellung einer booleschen Funktion f als Disjunktion all ihrer Minterme zu einschlägigen Indizes heißt disjunktive Normalform (DNF). Die Darstellung einer booleschen Funktion f als XOR-Verknüpfung all ihrer Minterme zu einschlägigen Indizes heißt Ringsummen-Normalform (RNF). Anmerkung: Normalformen sind eindeutig. Beispiel f 6 DNF von f 6 : RNF von f 6 : Inde f 6 Minterme 2 3-25 -

4.4 Normalformen boolescher Funktionen Funktionale Vollständigkeit Beobachtung: jede boolesche Funktion f ist durch ausschließliche Verwendung von Konjunktion, Disjunktion und Negation darstellbar z. B. durch ihre DNF Definition 8 Eine Menge F von booleschen Funktionen heißt funktional vollständig, wenn sich jede boolesche Funktion durch Einsetzen und Komposition von Funktionen aus F darstellen lässt. Satz 6 F =,, ist funktional vollständig. - 26 -

4.4 Normalformen boolescher Funktionen Funktionale Vollständigkeit Frage: Gibt es kleinere funktional vollständige Mengen F? Behauptung: Funktional vollständig sind F =, F 2 =, Zum Beweis genügt es zu zeigen, dass,, darstellbar ist. Beweis (mittels der de Morgan'schen Gesetze) - 27 -

4.4 Normalformen boolescher Funktionen Funktionale Vollständigkeit Frage: Gibt es kleinere funktional vollständige Mengen F? Behauptung: Funktional vollständig sind F =, F 2 =, Zum Beweis genügt es zu zeigen, dass,, darstellbar ist. Beweis Anwendung der de Morgan'schen Gesetze (Satz 3): = ist durch =, darstellbar = ist durch =, darstellbar - 28 -

4.4 Normalformen boolescher Funktionen Funktionale Vollständigkeit Frage: Gibt es noch kleinere funktional vollständige Mengen F? Behauptung: Funktional vollständig ist F 3 = F 4 = Zum Beweis der funktionalen Vollständigkeit von F 3 genügt es zu zeigen, dass, darstellbar ist. Beweis Teil Darstellung der Negation =, (, ) - 29 -

4.4 Normalformen boolescher Funktionen Beweis Teil 2 Darstellung der Disjunktion = (, ), (, ) (, ), (, ) - 3 -

4.4 Normalformen boolescher Funktionen Materme Beobachtung: Minterm-Darstellung betont Funktionswert. Definition Die boolesche Funktion, für die nur der Inde i nicht einschlägig ist, heißt Materm zum Inde i. Beobachtungen Definition Materm unterscheidet sich nur in nicht von Definition Minterm wenn Minterm zum Inde i und Materm zum Inde i ist = Konjunktion aller Materme zu nicht einschlägigen Indizes einer booleschen Funktion f ist wieder f - 3 -

4.4 Normalformen boolescher Funktionen Normalformen Fortsetzung von Definition 8 Die Darstellung von f als Konjunktion all ihrer Materme zu nicht einschlägigen Indizes heißt konjunktive Normalform (KNF). Beispiel Inde z 2 3 4 5 6 7-32 -

4.4 Normalformen boolescher Funktionen Wozu stellt man boolesche Funktionen dar? Realisierung Verifikation Fehleranalyse Synthese... Wo stellt man boolesche Funktionen dar? auf dem Papier im Computer Probleme Wertetabelle, Wertevektor immer groß Normalformen oft groß Normalformen unterstützen gewünschte Operationen kaum Wunsch: andere Repräsentation - 33 -

4. Boolesche Funktionen und Schaltnetze 4. Boolesche Funktionen und Schaltnetze. Einleitung 2. Boolesche Algebra 3. Repräsentationen boolescher Funktionen 4. Normalformen boolescher Funktionen 5. Repräsentation boolescher Funktionen mit OBDDs 6. Schaltnetze - 34 -

4.5 Ordered Binary Decision Diagrams Eine Datenstruktur für boolesche Funktionen Ziel: Darstellung für f Wünsche: zu einer Belegung, 2,..., n schnell den Funktionswert f(, 2,..., n ) ausrechnen können Funktionen schnell auf Gleichheit testen können Funktionen schnell manipulieren (z. B. eine Variable konstant setzen) können schnell eine Null-Eingabe/eine Eins-Eingabe finden können Funktionen möglichst klein repräsentieren... Ordered Binary Decision Diagrams - 35 -

4.5 Ordered Binary Decision Diagrams OBDDs erster Schritt; Festlegung einer Variablenordnung z. B.: =,,, bei einer 4-stelligen Funktion zweiter Schritt: OBDD bauen aus Knoten für Variablen oder Konstanten Kanten, die zwei Knoten verbinden nach folgenden Regeln: Regeln Knoten mit Variablen, oder markiert Kanten mit oder markiert Variablen-Knoten mit je einer ausgehenden - und -Kante Konstanten-Knoten ohne ausgehende Kante genau ein Knoten ohne eingehende Kante Kanten zwischen Variablenknoten beachten π - 36 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Regeln Knoten mit Variablen, oder markiert Kanten mit oder markiert Variablen-Knoten mit je einer ausgehenden - und -Kante Konstanten-Knoten ohne ausgehende Kante genau ein Knoten ohne eingehende Kante Kanten zwischen Variablenknoten beachten π 2 2-37 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Inde 2 3 4 5 6 7 2 2-38 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Auswertung (,, ) = = =,, = 2 2-39 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Ist das nicht etwas groß? 2 2-4 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen 2 2-4 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen 2 2-42 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen 2 2-43 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen 2 2-44 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen 2 2-45 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen 2 2-46 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen Knoten ohne Einfluss entfernen 2 2-47 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen Knoten ohne Einfluss entfernen 2 2-48 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen Knoten ohne Einfluss entfernen 2 2-49 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen Knoten ohne Einfluss entfernen 2-5 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen Knoten ohne Einfluss entfernen 2-5 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen Knoten ohne Einfluss entfernen 2 3-52 -

4.5 Ordered Binary Decision Diagrams OBDD Ein Beispiel =,, Vereinfachungen gleichartige Senken verschmelzen gleichartige Knoten verschmelzen Knoten ohne Einfluss entfernen 2 OBDD minimal 3-53 -

4.5 Ordered Binary Decision Diagrams OBDD-Reduzierung Satz 9 Die erschöpfende Anwendung der Verschmelzungsregel Knoten mit gleicher Markierung und gleichen Nachfolgern können verschmolzen werden und der Eliminationsregel Ein Knoten mit gleichem Null- und Einsnachfolger kann entfernt werden in beliebiger Reihenfolge führt zum reduzierten πobdd. reduziert bedeutet: OBDD hat minimale Größe und ist eindeutig definiert - 54 -

4.5 Ordered Binary Decision Diagrams Was bringt und die OBDD-Reduzierung Originalfunktion als DNF = Inde z 2 3 4 5 6 7-55 -

4.5 Ordered Binary Decision Diagrams OBDD in boolesche Funktion umwandeln disjunktive Form, d. h. Disjunktion von Termen, die nur Negation und Konjunktion enthalten wir berücksichtigen nur Kanten, die zu Konstanten-Knoten mit führen folgen wir für eine Variable einer -Kante, setzen wir als Literal in den Term folgen wir für eine Variable einer -Kante, setzen wir als Literal in den Term Literale werden mit der Konjunktion (UND) 2 verknüpft jeder Pfad zu einem Konstanten-Knoten mit ergibt einen Term 3 alle entstandenen Terme werden mit der Disjunktion (ODER) verknüpft hier: = - 56 -

4.5 Ordered Binary Decision Diagrams Was bringt und die OBDD-Reduzierung Originalfunktion als DNF = Originalfunktion aus OBDD-Reduzierung = weniger Terme einfachere Terme Inde z 2 3 4 5 6 7-57 -

4. Boolesche Funktionen und Schaltnetze 4. Boolesche Funktionen und Schaltnetze. Einleitung 2. Boolesche Algebra 3. Repräsentationen boolescher Funktionen 4. Normalformen boolescher Funktionen 5. Repräsentation boolescher Funktionen mit OBDDs 6. Schaltnetze - 58 -

4.6 Schaltnetze Wo bleibt die Hardware? bis jetzt haben wir über theoretische Grundlagen diskutiert wir betrachten die Hardware auf abstrakter Ebene Wunsch Realisierung boolescher Funktionen in Hardware wir benötigen eine funktional vollständige Menge boolescher Funktionen Erinnerung: technische Realisierung von NAND reicht aus Beobachtung: folgende Schaltung mit Transistoren realisiert die NAND-Funktion - 59 -

4.6 Schaltnetze Logische Gatter Realisierung mit Transistoren... für uns die falsche Ebene! Grundlage für RS einfache logische Bausteine (logische Gatter) Bausteine für Negation Konjunktion Disjunktion Regeln Eingänge mit Variablen oder Konstanten belegt nur Verbindungen von Ausgängen zu Eingängen keine Kreise (Rückkopplung Ausgang Eingang) Schaltnetz - 6 -

4.6 Schaltnetze Symbole für logische Gatter () - 6 -

4.6 Schaltnetze Symbole für logische Gatter (2) - 62 -

4.6 Schaltnetze Schaltnetzbewertung Wir können nun beliebige Schaltnetze entwerfen. Wie messen wir die Qualität eines Schaltnetzes? Schaltnetzgröße (= Anzahl der Gatter) wegen Kosten, Stromverbrauch, Verlustleistung, Zuverlässigkeit,... Schaltnetztiefe (= Länge des längsten Wegs von Eingang zu Ausgang) wegen Schaltgeschwindigkeit Fan-In (= ma. Anzahl eingehender Kanten) wegen Realisierungsaufwand Fan-Out (= ma. Anzahl ausgehender Kanten) wegen Realisierungsaufwand... (z. B. Anzahl Gattertypen, Testbarkeit, Verifizierbarkeit) - 63 -

4.6 Schaltnetze Schaltnetzbewertung Was wir schon wissen: Jede boolesche Funktion kann mit einem {,, }- bzw. einem {,, }-Schaltnetz der Tiefe 3 realisiert werden Beweis DNF, KNF oder RNF direkt umsetzen Probleme Fan-In des tiefsten Gatters kann etrem groß sein Größe des Schaltnetzes oft inakzeptabel - 64 -

4.6 Schaltnetze Beispiel DNF :, Wertevektor (,,,,,,,, ) = - 65 -

4.6 Schaltnetze Beispiel RNF :, Wertevektor (,,,,,,,, ) = - 66 -

4.6 Schaltnetze Beispiel KNF :, Wertevektor (,,,,,,,, ) = ( ) ( ) ( ) - 67 -

4.6 Schaltnetze Beispiel Multipleer :,,,,,,, =,,, Wichtige Funktion für die Prais Selektiert aus vielen Eingängen einen speziellen (ähnlich Drehschalter) kann parallel anliegende Daten in serielle Daten verwandeln mehrere Eingänge Signaleingänge Selektionseingänge ein Ausgang - 68 -

4.6 Schaltnetze Beispiel Multipleer :,,,,,,, =,,, MUX vollständige Darstellung,, MUX verkürzte Darstellung,, - 69 -

4.6 Schaltnetze Beispiel Multipleer :,,,,,,, =,,, MUX 3 verkürzte Darstellung,,,,,, - 7 -

4.6 Schaltnetze Beispiel Multipleer MUX 3 vollständige Darstellung :,,,,,,, =,,,,,,,,, =,, : : Die Abbildung : hat demnach in vollständiger Darstellung 2 = 248 Zeilen - 7 -

4.6 Schaltnetze Beispiel Multipleer MUX 3 vollständige Darstellung :,,,,,,, =,,,,,,,,, =,, : : Die Abbildung : hat demnach in vollständiger Darstellung 2 = 248 Zeilen Da die Hälfte der Indizes einschlägig ist (bedingt durch die Funktion eines Multipleers) sind sowohl DNF als auch KNF riesig und würden zu sehr großen Schaltungen führen. - 72 -

4.6 Schaltnetze Beispiel Multipleer Trotzdem eistiert eine überschaubare Schaltung für MUX 3. und selektieren passende UND-Gatter für jede Belegung der ist genau ein UND- Gatter ausgewählt bis auf einen Eingang sind bei ausgewähltem Gatter alle Eingänge auf gesetzt. Eigenschaft des Neutralelements für UND leitet sel. durch - 73 -

4. Boolesche Funktionen und Schaltnetze 4. Boolesche Funktionen und Schaltnetze. Einleitung 2. Boolesche Algebra 3. Repräsentationen boolescher Funktionen 4. Normalformen boolescher Funktionen 5. Repräsentation boolescher Funktionen mit OBDDs 6. Schaltnetze - 74 -