9 2 Schaltalgebra bzw. Boole’sche Algebra * Die zweiwertige Logik nimmt eine besondere Bedeutung in der Rechnerentwicklung ein, da Daten mit physikalischen Größen besonders gut durch zwei Werte dargestellt und weiterverarbeitet werden können. Beispiele dazu sind elektrische Spannungen und Ströme, die jeweils durch ihr Vorhandensein (=1) oder Nichtvorhandensein (=0) modelliert werden können. Ein mathematisches Hilfsmittel, das die Beschreibung von digitalen Systemen auf Basis einer zweiwertigen Logik ermöglicht, ist unerlässlich. Die Boole’sche Algebra – auch Schaltalgebra genannt – stellt ein derartiges Hilfsmittel dar und wird in diesen Unterkapiteln näher erläutert. Logische Aussagen und deren Verknüpfungen dienen als Grundlage von Boole’schen Ausdrücken: »Aussagen«, S. 10 Algebraische Darstellungsformen und das Vorgehen bei der Auswertung von Boole’schen Ausdrücken werden vorgestellt: »Boole’sche Ausdrücke«, S. 14 Es gibt neben der algebraischen Darstellung weitere Darstellungsformen für Boole’sche Funktionen, einer besonderen Form Boole’scher Ausdrücke: »Boole’sche Funktionen«, S. 22 Um die algebraische Darstellung einer Boole’schen Funktion so weit wie möglich zu vereinfachen, gibt es verschiedene Minimierungsverfahren: »Minimierung Boole’scher Funktionen «, S. 28 Wichtige Regeln der Boole’schen Algebra, die besonders häufig im Rahmen verschiedener Umformungen und Vereinfachungen notwendig sind, werden vorgestellt: »Zusammenfassung der Umformungsregeln«, S. 40 10 2 Schaltalgebra bzw. Boole’sche Algebra * 2.1 Aussagen * Aussagen sind Sätze, die wahr oder falsch sein können. Solche Sätze können auf verschiedene Arten miteinander verknüpft werden, so dass auch die entstehende Gesamtaussage einen Wahrheitswert abhängig von den einzelnen Teilen besitzt. Zur Untersuchung von physikalischen Phänomenen wird gewöhnlich eine Abstraktion vorgenommen, um im Laufe der Untersuchung Trugschlüsse aus falschen Vorstellungen heraus zu vermeiden. In der Physik werden beispielsweise häufig algebraische Formeln zur Beschreibung physikalischer Zusammenhänge verwendet. Ganz analog ist es in der sogenannten Aussagenlogik. Hier sind die Objekte der Untersuchung einfach Sätze. Ein Satz (genauer: das, was ein Satz ausdrückt) kann richtig oder falsch sein. Man sagt: Die Aussage (des Satzes) kann richtig oder falsch sein. Betrachtet werden die in Tab. 2.1-1 aufgeführten Sätze. A1: Zwei Ziffern sind gleich. Die Richtigkeit des Satzes hängt von den Werten der beiden Ziffern ab. A2: Zwei Zahlen sind gleich. Die Richtigkeit des Satzes hängt vom Wert der Zahlen ab. A3: 0 und 1 sind gleich. Die Aussage ist mit den angenommenen Definitionen für 0 und 1 falsch. A4: Zwei Zahlen sind gleich, wenn sämtliche Ziffern gleicher Wertigkeit gleich sind. Die Aussage ist immer richtig. Tab. 2.1-1: Beispielsätze für die Aussagenlogik. Beziehungen innerhalb eines Satzes, etwa zwischen Subjekt und Prädikat, sollen unberücksichtigt bleiben. Nimmt man z. B. den Gegenstand »zwei Ziffern« und die Eigenschaft »gleich sein«, so entsteht erst durch die Vereinigung von Gegenstand und Eigenschaft eine Aussage: »Zwei Ziffern sind gleich«. 11 2.1 Aussagen * Boole’sche Variablen Aus der genannten Überlegung erhält man in der Boole’schen Algebra Variablen (Boole’sche Variablen), die jeweils zwei Werte annehmen, und dem Wahrheitswert einer Aussage entsprechen. Für die beiden möglichen Wahrheitswerte sind in der Literatur zum Beispiel die folgenden Symbole gebräuchlich: (F für falsch, W für wahr), (F für false, T für true), (L für Low, H für High) oder (0, 1). Im Weiteren werden die Bezeichnungen (0, 1) verwendet. Grundverknüpfungen Aussagen können miteinander (sprachlich mit Bindewörtern) verknüpft werden. Weiterhin können die Aussagen manipuliert werden, zum Beispiel um das Gegenteil einer Aussage auszudrücken. Es sollen mit den folgenden Aussagen über zwei n-stellige Zahlen X und Y und ihren Ziffern xi und yi mit (i=0, ..., n-1) Verknüpfungen gebildet werden. Zur Abkürzung wird geschrieben X = Y für die Aussage »Zwei Zahlen X und Y sind gleich« xi = yi für die Aussage »Zwei Ziffern xi und yi sind gleich« und bilden damit neue Sätze: V1: Wenn (xi = yi) für alle i = 0,...,n-1, dann X = Y. V2: Wenn X = Y, dann (xi = yi) für alle i = 0, ..., n-1. V3: X = Y genau dann, wenn x0 = y0 und x1 = y1 und x2 = y2 ... und xn-1= yn-1. V4: Weder x0 = y0 noch x1 = y1. V5: x0 ist nicht gleich y0 und x1 ist nicht gleich y1. V6: X = Y ist nicht richtig. Die beiden Sätze V1 und V2 zusammen genommen sind offensichtlich in ihrer Aussage zu V3 äquivalent. Weiterhin sagen die Sätze V4 und V5 dasselbe aus. Der Satz »xi ist nicht gleich yi« kann natürlich auch als neue Aussage »xi ungleich yi« aufgefasst und abgekürzt werden: xi=yi. In V6 wird behauptet: X = Y sei falsch. Das heißt: »X ist nicht gleich Y« oder »X ist ungleich Y«, abgekürzt X=Y. Beispiel 12 2 Schaltalgebra bzw. Boole’sche Algebra * Zur Abkürzung eines Wahrheitswertes bzw. eines Wertes soll für richtig 1 und für falsch 0 geschrieben werden. Damit lassen sich Dualziffern wie Aussagen behandeln und arithmetische Operationen mit Dualzahlen mit den Möglichkeiten des Aussagenkalküls formulieren. Das ist von eminenter Bedeutung, da diese Art der Beschreibung leicht technisch nachgebildet werden kann. Aussagenvariable Aussagenvariable bzw. Variable werden durch lateinische Buchstaben, gelegentlich auch Buchstabengruppen oder Buchstabenfolgen dargestellt und dienen der Abkürzung von Aussagen. Variablen können indiziert sein. Im letzten Beispiel ist bereits von der Möglichkeit, Aussagen durch Abkürzungen zu kennzeichnen, Gebrauch gemacht worden. Die Verknüpfungen zwischen Aussagenvariablen können als Operationen verstanden werden. Entsprechend werden Symbole definiert, die eine Abkürzung der entsprechenden Operation darstellen. Diese Symbole werden im Folgenden Boole’sche Operatoren genannt und werden durch Sonderzeichen, die zum Teil anderen Algebren entlehnt sind, dargestellt. Einige wichtige Operatoren und ihre sprachliche Bedeutung werden in Tab. 2.1-2 vorgestellt [BDM05], [WuHe03]. ¬ NICHT, NOT ∧ (·) UND; sowohl – als auch, AND ∨ (+) ODER; OR ↔(≡) genau dann – wenn; dann und nur dann – wenn; äquivalent, EQU ⊕ entweder – oder; alternativ, Exklusiv-Oder, EXOR ↓ weder – noch; Piercefunktion; NOR (Not OR) | Shefferstrich; NAND (Not AND) → wenn – dann, Implikation Tab. 2.1-2: Die wichtigsten Boole’schen Operatoren und deren Bedeutung. Die 3 Operatoren »¬«, »∨« und »∧« stellen Grundverknüpfungen der Boole’schen Algebra dar [WuHe03]. Statt des Operators »¬« zur Negation eines Ausdrucks wird häufig auch 13 2.1 Aussagen * ein Strich über dem gesamten zu negierenden Ausdruck verwendet. ¬A ist also gleichbedeutend mit A. Die Variablen a und b seien beliebige Aussagen. Aus der Vielzahl der möglichen Operationen sind in der Abb. 2.1-1 die wichtigsten definiert und mit Namen versehen. Boole’sche Operatoren Abb. 2.1-1: Übersicht über die wichtigsten Boole’schen Operationen. Anhand eines einfachen Beispiels wird gezeigt, wie Boole’sche Operatoren eingesetzt werden können. Dazu werden zwei n-stellige Zahlen e X = x ...x x n-1 1 0 e Y = y ...y y n-1 1 0 auf die Aussage »X = Y« verglichen. Setzt man zur Abkürzung e gl für die Aussage »X = Y« und Beispiel 14 2 Schaltalgebra bzw. Boole’sche Algebra * e g für die Aussage »x = y «, i i i so kann der Satz »X = Y dann und nur dann, wenn (x0=y0) und (x1=y1) und ... (xn-1=yn-1)« kompakter formuliert werden: n−1 gl ↔ gn−1 ∧ gn−2 ∧ gn−3 ∧ ... ∧ g1 ∧ g0 ↔ gi i=0 2.2 Boole’sche Ausdrücke * Boole’sche Ausdrücke entstehen durch endlich wiederholte Anwendung von Operatoren auf Boole’sche Konstanten, Variablen und Ausdrücke selbst. Zur Abbildung von Ausdrücken werden algebraische Darstellungen verwendet, von denen es mehrere für einen äquivalenten Ausdruck geben kann. Um eine leichte Vergleichbarkeit von algebraischen Darstellungen zu ermöglichen, werden Normalformen definiert. Umformungsregeln dienen der Erstellung von äquivalenten Ausdrücken. Durch die Anwendung von Operatoren auf Konstanten und Variablen entstehen einfache Ausdrücke, die durch endlich wiederholte Anwendung von Operatoren komplexer werden können. Die Reihenfolge für die Wirkung der Operatoren wird durch Klammern oder durch Vorrangregeln festgelegt [BDM05]. Definition Werden zur Bildung eines Ausdrucks nur die Boole’schen Operatoren »¬«, »∨«, »∧« sowie Boole’sche Variablen benutzt, so entsteht ein Boole’scher Ausdruck. Es wird festgelegt, dass, solange nicht Klammern die Reihenfolge der Operationen regeln, »∧« vor »∨« ausgeführt wird. Dies ist an die elementare Algebra angelehnt, in der die Multiplikation vor der Addition durchgeführt wird. Solange keine Verwechslungen mit Variablennamen möglich sind, darf »∧« weggelassen werden. Besteht ein Variablenname in einem Ausdruck aus mehr als zwei Buchstaben, so sollte der Multiplikationsoperator in jedem Fall geschrieben werden. In der Literatur werden statt des Operators »∨« häufig auch ein »+« und statt »∧« ein Multiplikationspunkt verwendet. 15 2.2 Boole’sche Ausdrücke * Wenn x, y und u Variable sind, dann ist (x = y) = u ein Ausdruck und x y ∨ (x ∨ y) ∧ u ein Boole’scher Ausdruck. Dadurch, dass ∧ über ∨ Vorrang hat, lautet dieser Ausdruck ausführlich geschrieben: (x ∧ y) ∨ ((x ∨ y) ∧ u). In den Ausdrücken treten Aussagenvariablen nur in endlicher Zahl auf. Auswertung von Ausdrücken Die Ermittlung des Wahrheitswertes eines Ausdrucks erfolgt, indem für alle Variablen des Ausdrucks alle Wertekombinationen (0 und 1 für jede Variable) betrachtet werden. Für jede Kombination wird der Wahrheitswert entsprechend der Klammerstruktur und der Vorrangregeln in der Weise ermittelt, dass aus den Definitionen der einzelnen Operationen der Wahrheitswert der Teilausdrücke und schließlich des Ausdrucks selbst schrittweise der Reihe nach berechnet wird. Gesetze der Boole’schen Algebra Zur Definition einer Algebra, die auf Boole’schen Ausdrücken angewendet werden kann, ist die Formulierung einiger Gesetze wichtig, die in dieser Algebra gelten und die in einer ähnlichen Form bereits aus der Schulmathematik bekannt sind. Im Einzelnen sind dies: A1: Kommutativgesetze oder Vertauschungsregeln A1a : a ∧ b = b ∧ a A1b : a ∨ b = b ∨ a A2: Assoziativgesetze oder Anreihungsregeln A2a : (a ∧ b) ∧ c = a ∧ (b ∧ c) = a ∧ b ∧ c A2b : (a ∨ b) ∨ c = a ∨ (b ∨ c) = a ∨ b ∨ c A3: Distributivgesetze oder Mischungsregeln A3a : a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c) A3b : a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) Konjunktion und Disjunktion sind symmetrisch (A1). Mehrgliedrige Konjunktionen und Disjunktionen können ohne Klammern geschrieben werden (A2), da die Reihenfolge der Auswertung belanglos ist. Gemischte Klammerausdrücke Beispiel 16 2 Schaltalgebra bzw. Boole’sche Algebra * können »ausmultipliziert« (A3a) und »ausaddiert« (A3b) werden. Die Äquivalenzen A1 bis A3 sind Teil der Definition einer besonderen Algebra, die zur Unterscheidung von der elementaren Algebra, die aus der Schulmathematik bekannt ist, »Boole’sche Algebra« genannt wird. Die Boole’sche Algebra hat für die mathematische Logik wie auch für die Digitaltechnik eine grundlegende Bedeutung. Sie zeichnet sich vor allem durch eine übersichtliche Darstellung logischer Zusammenhänge aus. Es sei noch darauf hingewiesen, dass es in der Boole’schen Algebra keine sogenannten Umkehroperationen für »∧« und »∨« gibt, also weder Division noch Subtraktion. Außer den bislang genannten Gesetzen existieren weitere Regeln der Boole’schen Algebra, die zum Teil voneinander ableitbar sind: S1: Idempotenzgesetze S1a : a ∨ a = a S1b : a ∧ a = a S2: Absorptionsgesetze S2a : a ∨ a ∧ b = a S2b : a ∧ (a ∨ b) = a S3: Involution oder Doppelnegationsgesetz S3 : a = a S4: DeMorgan’sche Gesetze S4a : a ∨ b = a ∧ b S4b : a ∧ b = a ∨ b S5: Extremalgesetze S5a : a ∨ 1 = 1 S5b : a ∧ 0 = 0 S6: Neutralitätsgesetze S6a : a ∧ 1 = a S6b : a ∨ 0 = a S7: Komplementärgesetze S7a : a ∧ a = 0 S7b : a ∨ a = 1 S8: Dualitätsgesetze S8a : 1 = 0 S8b : 0 = 1 17 2.3 Normalformen * Das folgende Beispiel zeigt, wie die verschiedenen Gesetze der Boole’schen Algebra eingesetzt werden können. Es wird mit Hilfe von Umformungsregeln bewiesen, dass die negierte Äquivalenz der Antivalenz entspricht. a↔b = a∧b∨a∧b = (a ∧ b) ∧ (a ∧ b) = (a ∨ b) ∧ (a ∨ b) = (a ∧ a) ∨(a ∧ b) ∨ (a ∧ b) ∨ (b ∧ b) = a∧b∨a∧b 0 Beispiel 0 Optimierung von Boole’schen Ausdrücken Die angegebenen Regeln werden außerdem verwendet, um komplexe Boole’sche Ausdrücke umzuwandeln und (wenn gewünscht) durch einfachere Äquivalenzen zu ersetzen, wie das folgende Beispiel zeigt. (x0 ∨ x1 ) ∨ x0 x1 x2 = (x0 ∨ x1 ) ∨ ((x0 ∨ x1 ) ∧ x2 ) = ((x0 ∨ x1 ) ∨ (x0 ∨ x1 ))∧ = 1 ∧ (x0 ∨ x1 ∨ x2 ) = x0 ∨ x1 ∨ x2 ((x0 ∨ x1 ) ∨ x2 ) 2.3 Normalformen * Aufgrund der zahlreichen Darstellungsmöglichkeiten für Ausdrücke ist die algebraische Form eines Ausdrucks niemals eindeutig. Um eine Eindeutigkeit zu ermöglichen und einen leichten Vergleich zweier Ausdrücke anhand der algebraischen Darstellung durchführen zu können, werden Normalformen definiert. Ausdrücke können zur besseren Vergleichbarkeit als Normalformen dargestellt werden. Diese Normalformen haben einen spezifisch festgelegten Aufbau. Man unterscheidet zwischen disjunktiver und konjunktiver Normalform [WuHe03]. Beispiel 18 Definition 2 Schaltalgebra bzw. Boole’sche Algebra * Eine disjunktive Normalform (abgekürzt DNF) eines Boole’schen Ausdrucks ist eine algebraische Darstellung mit der Struktur n−1 k0 ∨ k1 ∨ k2 ... ∨ kn−1 = ki , i=0 wobei alle ki Terme sind, die nur aus mit Konjunktionen verbundenen einfachen oder negierten Variablen bestehen. Eine disjunktive Normalform ist also eine Disjunktion von Konjunktionstermen. Beispiel 1a Gezeigt wird beispielhaft die DNF einer Funktion: si = ui xi yi ∨ ui xi yi ∨ ui xi y i ∨ ui xi yi Definition Eine konjunktive Normalform (abgekürzt KNF) eines Boole’schen Ausdrucks ist eine algebraische Struktur der Form n−1 d0 ∧ d1 ∧ d2 ... ∧ dn−1 = di , i=0 wobei alle di Disjunktionsterme darstellen, also mit ODER-Verknüpfungen verbundene einfache oder negierte Variablen. Beispiel 1b Eine konjunktive Normalform der gerade gezeigten beispielhaften Funktion kann aus der DNF mittels Ausaddierens ermittelt werden. Bei der folgenden Umformung wird zweimal ausaddiert, wobei vom zweiten zum dritten Schritt die doppelt entstehenden Terme, sowie alle Terme, die 1 sind, weggelassen werden: si = = ui xi yi ∨ ui xi yi ∨ ui xi y i ∨ ui xi yi (ui ∨ ui )(ui ∨ xi )(ui ∨ y i )(xi ∨ ui ) (xi ∨ xi ) 1 ui (xi ∨ y i )(yi ∨ ui )(yi ∨ xi ) (yi ∨ y i ) 1 ∨ (ui ∨ ui )(ui ∨ xi )(ui ∨ yi )(xi ∨ ui ) (xi ∨ xi ) ui 1 (xi ∨ yi )(yi ∨ ui )(yi ∨ xi ) (y i ∨ yi ) 1 = (xi ∨ y i ∨ ui )(xi ∨ yi ∨ ui )(xi ∨ yi ∨ ui )(xi ∨ yi ∨ ui ) 2.3 Normalformen * 19 Wie an dem Beispiel gezeigt, kann mittels Ausaddierens jede DNF in eine KNF umgewandelt werden. Umgekehrt kann zu jeder KNF durch Ausmultiplizieren eine äquivalente DNF berechnet werden. Es gibt auch einfachere Möglichkeiten der Erstellung einer disjunktiven und konjunktiven Normalform. So kann eine DNF auch ermittelt werden, indem für jede mögliche Kombination von Eingangswerten, bei denen der Ausdruck das Ergebnis 1 hat, ein Konjunktionsterm erstellt wird. Die Gesamtheit der disjunktiv verknüpften Konjunktionsterme ergibt eine disjunktive Normalform. Die drei dafür nötigen Boole’schen Operatoren »∧«, »∨« und »¬« sind zur Darstellung beliebiger Boole’scher Ausdrücke ausreichend. Mit diesem Wissen kann jeder beliebige Ausdruck des Aussagenkalküls mittels folgender Schritte in eine Normalform umgerechnet werden: 1 2 3 Eliminieren von ↔, ⊕, ↓, |, → durch Umformungsregeln. Wiederholte Anwendung der Regeln von de Morgan so lange, bis Negationen nur über einzelnen Variablen auftreten. Wiederholte Anwendung der Distributivgesetze (A3a oder A3b) zur Erstellung einer DNF oder KNF. Ausgezeichnete Normalform Die beiden Normalformen sind keineswegs beispielhafte Formen. Zu einer DNF gibt es beliebig viele äquivalente disjunktive Normalformen, ebenso wie es zu einer KNF beliebig viele äquivalente konjunktive Normalformen gibt. Trotzdem existiert zu jeder Normalform eine kanonische, die sogenannte ausgezeichnete Normalform oder auch Hauptnormalform. Eine disjunktive Normalform heißt ausgezeichnete DNF (abgekürzt ADNF), wenn in jedem Konjunktionsterm jede Variable genau einmal (normal oder negiert) auftritt. Eine solche Konjunktion wird Minterm genannt. Eine konjunktive Normalform heißt ausgezeichnete KNF (abgekürzt AKNF), wenn in jedem Disjunktionsterm jede Variable genau einmal (normal oder negiert) auftritt. Definitionen 20 2 Schaltalgebra bzw. Boole’sche Algebra * Eine solche Disjunktion wird Maxterm genannt. Minterme und Maxterme dürfen nicht mehrfach auftreten. Unter der Benutzung der Begriffe »Minterm« und »Maxterm« lassen sich die ausgezeichneten Normalformen klar beschreiben: Eine ADNF ist eine Summe von Mintermen. Eine AKNF ist ein Produkt von Maxtermen. Beispiel 1c Im Beispiel 1b wurden sowohl eine KNF als auch eine DNF erstellt. Zurückblickend auf dieses Beispiel zeigt sich, dass beide erstellten Normalformen auch ausgezeichnete Normalformen waren, da in jedem Term alle vorhandenen Variablen genau einmal negiert oder nicht negiert vorkamen. Für andere Beispiele muss dies nicht genauso gelten. Konstruktion der ausgezeichneten Normalformen Zur Konstruktion der ausgezeichneten Normalform eines Ausdrucks wird eine Tabelle erzeugt, in der für jede mögliche Wertekombination an den Eingängen eine Tabellenzeile erstellt wird. Jede Zeile der Tabelle, in der das Ergebnis des Ausdrucks eins ist, kann algebraisch durch einen Term beschrieben werden, in dem die unabhängigen Eingangsvariablen xi konjunktiv verknüpft eingehen. Dabei wird jedes xi negiert, das in der Tabellenzeile den Wert null besitzt. Da jede Tabellenzeile alle Eingangsvariablen enthält, besitzt dieser Konjunktionsterm alle Eingangsvariablen in negierter oder nicht negierter Form. Es handelt sich also um einen Minterm, der eine Eingangskombination beschreibt, bei der die Funktion den Wert eins erhalten soll. Wenn sämtliche Minterme mit dieser Eigenschaft disjunktiv miteinander verknüpft werden, erhält man eine Summe von Mintermen, die den Ausdruck vollständig beschreibt. Dabei handelt es sich um die ausgezeichnete disjunktive Normalform. Entsprechend kann man auch zur Erstellung der ausgezeichneten konjunktiven Normalform verfahren. Jede Zeile, deren Ergebnis des Ausdrucks null ist, kann durch einen Maxterm dargestellt werden, in den alle Variablen oder-verknüpft eingehen. Damit das Ergebnis dieses Maxterms null 21 2.3 Normalformen * wird, müssen die mit eins belegten Eingangsvariablen vor der Disjunktion negiert werden. Die einzelnen Maxterme werden dann konjunktiv miteinander verknüpft. Wenn der Wert des Ausdrucks in jeder Zeile i der Tabelle mit ci bezeichnet wird, lässt sich diese Konstruktionsvorschrift formell erfassen: ADNF: y = f (x) = ki (x0 , x1 , ..., xn ) ∧ ci ∀i Die ADNF einer Funktion y = f (x0 , x1 , ..., xn ) ist die Summe aller derjenigen Minterme, deren zugeordneter Ergebniswert ci = 1 ist (ci = 0 liefert keinen Beitrag zur Summe, da ki (x0 , x1 , ..., xn ) ∧ 0 = 0!). AKNF: y = f (x) = (di (x0 , x1 , ..., xn ) ∨ ci ) ∀i Die AKNF einer Funktion y = f (x0 , x1 , ..., xn ) ist das Produkt aller derjenigen Maxterme, deren zugeordneter Funktionswert ci = 0 ist (ci = 1 liefert keinen Beitrag zum Produkt, da di (x0 , x1 , ..., xn ) ∨ 1 = 1!). Der Buchstabe c für den Funktionswert ci soll hierbei andeuten, dass es sich um eine Konstante handelt. Das vorgestellte Verfahren zur Ermittlung der ADNF und AKNF wird im Folgenden verdeutlicht. Als Beispiel dient die Funktion: c = x0 ⊕ x 1 ⊕ x 2 Abb. 2.3-1 zeigt die Funktion in tabellarischer Form. Abb. 2.3-1: Erweiterung einer Funktionstabelle um alle möglichen Min- und Maxterme. Beispiel 22 2 Schaltalgebra bzw. Boole’sche Algebra * Rechts neben der Wertetabelle sind auch die zugeordneten Minterme und Maxterme eingetragen. Daraus ergibt sich für y= f(x): y = f (x) = 7 ki (x2 , x1 , x0 ) ∧ ci i=0 = k0 ∧ 0 ∨ k1 ∧ 1 ∨ k2 ∧ 1 ∨ k3 ∧ 0 ∨ k4 ∧ 1∨ k 5 ∧ 0 ∨ k6 ∧ 0 ∨ k7 ∧ 1 y = k1 ∨ k2 ∨ k4 ∨ k7 = x2 x1 x0 ∨ x2 x1 x0 ∨ x2 x1 x0 ∨ x2 x1 x0 = f (x) = 7 (di (x2 , x1 , x0 ) ∨ ci ) i=0 = (d0 ∨ 0)(d1 ∨ 1)(d2 ∨ 1)(d3 ∨ 0)(d4 ∨ 1)· (d5 ∨ 0)(d6 ∨ 0)(d7 ∨ 1) = d0 ∧ d3 ∧ d5 ∧ d6 = (x2 ∨ x1 ∨ x0 )(x2 ∨ x1 ∨ x0 )(x2 ∨ x1 ∨ x0 )(x2 ∨ x1 ∨ x0 ) Das Beispiel zeigt, wie zu einem Ausdruck eine ausgezeichnete konjunktive bzw. ausgezeichnete disjunktive Normalform als algebraisches Äquivalent konstruiert werden kann. Die Bedeutung dieser Umformung liegt vor allem darin, dass man diese algebraischen Formen prinzipiell ohne Probleme in funktionsfähige Schaltungen übersetzen kann und damit in der Lage ist, formal beschriebene Zusammenhänge, wie etwa Additionstabellen, technisch zu verifizieren. Bei der technischen Abbildung der Ausdrücke werden für die einzelnen Boole’schen Operatoren entsprechende logische Bauelemente verwendet. So kann eine direkte Abbildung der Boole’schen Gleichung auf eine Schaltung erfolgen. 2.4 Boole’sche Funktionen * Boole’sche Ausdrücke können mittels eines Gleichheitszeichens quasi wie bei der Verwendung in einer Funktion miteinander verknüpft werden. Auf diese Weise entsteht die algebraische Darstellung einer Funktion. Neben dieser Darstellungsform können Funktionen auch in tabellarischer Form oder als Funktionsdiagramme abgebildet werden.