bitGateLab Digital · Lernen
Deutsch
Simulator öffnen

Lernen › Thema 3

Wahrheitstabellen und kanonische Normalformen: Σm und ΠM

8 Min. Lesezeit · bitGateLab-Team

Fast jede Entwurfsaufgabe der Digitaltechnik beginnt mit einer Beschreibung in Worten („der Alarm ertönt, wenn ...“), aus der eine Wahrheitstabelle wird. Der nächste Schritt besteht darin, aus dieser Tabelle eine Gleichung zu gewinnen, die sich mit Gattern aufbauen lässt. Hier lernst du das systematische Verfahren dafür: Minterme und Maxterme, die kanonische disjunktive und konjunktive Normalform und die kompakte Schreibweise Σm und ΠM, die in Lehrbüchern, Simulatoren und Karnaugh-Diagrammen verwendet wird.

Wie eine Wahrheitstabelle geordnet wird

Bei n Variablen gibt es 2n Zeilen. Man schreibt sie in aufsteigender binärer Reihenfolge, mit der ersten Variablen als höchstwertigem Bit. So ist jede Zeile durch eine Dezimalzahl gekennzeichnet: In einer Tabelle mit A, B und C ist die Zeile A = 1, B = 0, C = 1 die Zeile 1012 = 5. Diese Zahl verwendest du als Index des Minterms oder Maxterms, deshalb kommt es auf die Reihenfolge der Variablen an: Änderst du die Reihenfolge, ändern sich die Nummern.

Minterme und disjunktive Normalform

Ein Minterm ist ein Produkt (AND), das alle Variablen enthält, jede genau einmal, negiert oder nicht negiert. Er wird so gebildet: Die Variable, die in dieser Zeile 1 ist, steht ohne Strich, und die Variable, die 0 ist, steht mit Strich. Der Minterm ist ausschließlich in seiner Zeile 1 und in allen anderen 0. Man bezeichnet ihn mit mi, wobei i die Nummer der Zeile ist.

ZeileABCMintermMaxterm
0000m0 = ABCM0 = A + B + C
1001m1 = ABCM1 = A + B + C
2010m2 = ABCM2 = A + B + C
3011m3 = ABCM3 = A + B + C
4100m4 = ABCM4 = A + B + C
5101m5 = ABCM5 = A + B + C
6110m6 = ABCM6 = A + B + C
7111m7 = ABCM7 = A + B + C

Wenn du die Minterme aller Zeilen, in denen die Funktion 1 ist, addierst (OR), erhältst du eine Gleichung, die genau in diesen Zeilen 1 ist. Das ist die kanonische disjunktive Normalform (KDNF; auf Englisch SOP, „sum of products“), also eine Summe von Produkten. In kompakter Schreibweise lautet sie F = Σm(Liste der Zeilen mit 1).

Maxterme und konjunktive Normalform

Ein Maxterm ist eine Summe (OR), die alle Variablen enthält. Die Regel ist umgekehrt: Die Variable, die in der Zeile 0 ist, steht ohne Strich, und die Variable, die 1 ist, steht mit Strich. Ein Maxterm ist ausschließlich in seiner Zeile 0. Man bezeichnet ihn mit Mi (mit großem M).

Wenn du die Maxterme aller Zeilen, in denen die Funktion 0 ist, multiplizierst (AND), erhältst du eine Gleichung, die genau dort 0 und überall sonst 1 ist: die kanonische konjunktive Normalform (KKNF, englisch POS), also ein Produkt von Summen. Man schreibt F = ΠM(Liste der Zeilen mit 0).

Minterm und Maxterm derselben Zeile sind Komplemente: mi = Mi. Kennst du also die Σm-Liste einer Funktion, dann besteht die ΠM-Liste aus allen Nummern, die darin nicht vorkommen.

Beispiel 1: von der Tabelle zu beiden Formen. Eine Funktion von drei Variablen ist in den Zeilen 1, 3, 6 und 7 gleich 1.

#ABCF
00000
10011
20100
30111
41000
51010
61101
71111
  1. Kompakte Schreibweise: F = Σm(1, 3, 6, 7) = ΠM(0, 2, 4, 5).
  2. Kanonische disjunktive Normalform: F = ABC + ABC + ABC + ABC.
  3. Kanonische konjunktive Normalform: F = (A + B + C)(A + B + C)(A + B + C)(A + B + C).
  4. Vereinfache die disjunktive Form: ABC + ABC = AC und ABC + ABC = AB. Also F = AC + AB.

Probe in Zeile 5 (A = 1, B = 0, C = 1): AC = 0 und AB = 0, also F = 0, wie in der Tabelle.

Welche Form ist günstiger?

Beide Formen beschreiben dieselbe Funktion, sind aber nicht gleich groß. Nimm die Form mit weniger Termen: Hat die Funktion wenige Einsen, ist Σm kürzer; hat sie wenige Nullen, ist ΠM kürzer. Bei 8 Zeilen hat eine Funktion mit 2 Einsen eine disjunktive Form mit 2 Termen und eine konjunktive Form mit 6.

Auch die Umsetzung spielt eine Rolle. Eine Summe von Produkten baut man mit AND-Gattern auf, die ein OR speisen, und diese zweistufige Struktur lässt sich direkt in NAND-NAND überführen. Ein Produkt von Summen baut man mit OR-Gattern auf, die ein AND speisen, und daraus wird NOR-NOR.

Beispiel 2: von der Aufgabenstellung zur Gleichung. Ein Tank hat drei Füllstandssensoren: A (unten), B (Mitte) und C (oben). Jeder Sensor liefert 1, wenn das Wasser ihn erreicht. Eine Lampe „Füllstand ungültig“ soll leuchten, wenn die Kombination physikalisch unmöglich ist: ein höherer Sensor ist aktiv, während ein tieferer inaktiv ist.

  1. Gültige Kombinationen (ABC): 000, 100, 110, 111. Das sind die Zeilen 0, 4, 6 und 7.
  2. In den übrigen leuchtet die Lampe: F = Σm(1, 2, 3, 5).
  3. Gleichwertig: F = ΠM(0, 4, 6, 7).
  4. Vereinfache: m1 + m3 = AC, m1 + m5 = BC, m2 + m3 = AB. Verwendet man m1 und m3 jeweils zweimal (Idempotenz), ergibt sich F = BC + AB.

Kontrolle: Zeile 1 (001) ergibt BC = 1; Zeile 2 (010) ergibt AB = 1; Zeile 3 (011) ergibt AB = 1; Zeile 5 (101) ergibt BC = 1. Bei 000, 100, 110 und 111 sind beide Terme 0. Gelesen wird das als „C aktiv ohne B“ oder „B aktiv ohne A“.

Das Komplement einer Funktion

Ist F = Σm(1, 3, 6, 7), dann ist ihr Komplement dort 1, wo F gleich 0 ist: F = Σm(0, 2, 4, 5). Das ist nützlich, wenn du die vereinfachte konjunktive Form suchst: Du vereinfachst F als Summe von Produkten und wendest danach De Morgan an. Zum Beispiel ist F = AC + AB (prüfe es mit den Zeilen 0, 2, 4 und 5), und durch Komplementieren erhält man F = (A + C)(A + B). Ausmultipliziert: AB + AC + BC, und nach dem Konsensus-Theorem ist das AB + AC, dasselbe Ergebnis wie in Beispiel 1.

Um diese Umformungen zu vertiefen, wiederhole das Thema boolesche Algebra; grafisch vereinfachst du mit den Karnaugh-Diagrammen.

Häufige Fehler

Probiere es im Simulator aus

Im Wahrheitstabellen-Modul kannst du eine Funktion Zeile für Zeile eingeben und siehst sofort ihre kanonischen Formen und die vereinfachte Gleichung. So kannst du jeden Schritt überprüfen, den du von Hand machst.

  1. Lege eine Tabelle mit drei Eingängen und einem Ausgang an.
  2. Setze die Zeilen 1, 3, 6 und 7 aus Beispiel 1 auf 1 und lass die übrigen auf 0.
  3. Sieh dir die erzeugten Ausdrücke Σm und ΠM an und vergleiche sie mit deinen eigenen.
  4. Wandle die Tabelle in eine Schaltung um und schalte die Eingänge durch, um zu bestätigen, dass der Ausgang der Tabelle folgt.
  5. Wiederhole das Ganze mit der Tankaufgabe und prüfe, ob die Lampe nur bei den unmöglichen Kombinationen leuchtet.

Übungen

  1. Schreibe den Minterm m9 und den Maxterm M9 einer Funktion von vier Variablen A, B, C, D auf.
    Lösung

    9 = 1001. m9 = ABCD und M9 = A + B + C + D.

  2. Gegeben ist F(A, B, C) = Σm(0, 1, 5). Schreibe F in der ΠM-Schreibweise.
    Lösung

    F = ΠM(2, 3, 4, 6, 7).

  3. Bestimme die kanonische disjunktive Normalform einer Funktion von zwei Variablen, die nur dann 1 ist, wenn A und B gleich sind, und vereinfache sie, falls möglich.
    Lösung

    F = Σm(0, 3) = AB + AB. Das lässt sich nicht weiter vereinfachen: Es ist das XNOR.

  4. Schreibe die kanonische konjunktive Normalform von F(A, B, C) = Σm(1, 2, 3, 4, 5, 6, 7) auf.
    Lösung

    Die Funktion ist nur in Zeile 0 gleich 0, also F = ΠM(0) = A + B + C. Ein einziges OR mit drei Eingängen.