07. Schaltgleichung aus Schaltbelegungstabelle ermitteln

Zu Beginn …

Wir haben bereits gelernt, wie man aus einem Schaltbild die Schaltgleichung ablesen und die Schaltbelegungstabelle ermitteln kann.

In der Realität ist aber oft für eine konkrete Aufgabenstellung nur bekannt, welche Eingangs- und welche zugehörigen Ausgangswerte es geben soll. Diese werden in eine Schaltbelegungstabelle eingetragen. Nun muss anhand dieser Tabelle die Schaltgleichung (und anschließend die Schaltung) entwickelt werden. Wie das geht? Das schauen wir uns gleich an!

Ablesen der Normalformen

Man könnte nun einfach alle Informationen aller Zeilen einer Schaltbelegungstabelle in die Schaltgleichung aufnehmen. Dadurch würde eine sehr umfangreiche Gleichung entstehen.

Es hat sich aber gezeigt, dass dies gar nicht nötig ist. Denn es reicht entweder aufzunehmen, wie der Ausgangswert 1 zustande kommen kann (alles andere würde ja zum Ausgangswert 0 führen); oder man nimmt nur die "Eingangswert-Kombinationen" auf, die zum Ausgangswert 0 führen (alles andere würde ja zum Ausgangswert 1 führen).

Um genau dies fehlerfrei erledigen zu können, haben sich die sogenannten Normalformen etabliert:

  • DNF (Disjunktive Normalform)
  1. In den Zeilen mit dem Ausgangswert 1 jeweils alle Eingangssignale UND-verknüpfen (den in jeder Zeile entstehenden Ausdruck nennt man "Min-Term")
  2. Alle Min-Terme ODER-verknüpfen
  • KNF (Konjunktive Normalform)
  1. In den Zeilen mit dem Ausgangswert 0 jeweils alle Eingangssignale ODER-verknüpfen (den in jeder Zeile entstehenden Ausdruck nennt man "Max-Term")
  2. Alle Max-Terme UND-verknüpfen

Es bietet sich also an, bei vielen 1er-Ausgangswerten eine DNF zu erzeugen und bei vielen 0er-Ausgangswerten eine KNF zu erzeugen, um die entstehende Gleichung möglichst kurz zu halten.

Beispiel:

Nehmen wir als Beispiel die Schaltbelegungstabelle der XOR-Funktion:

a

b

y

0

0

0

0

1

1

1

0

1

1

1

0

Bei dieser ist es egal, ob wir eine DNF oder eine KNF erzeugen, da es bei den Ausgangswerten gleichviele Einsen und Nullen gibt. Nach der eben genannten Anleitung abgelesen, ergeben sich folgende Gleichungen:

  • Disjunktive Normalform:

  • Min-Term der Zeile 2: %%\quad \overline a \wedge b%%

  • Min-Term der Zeile 3: %%\quad a \wedge \overline b%%

  • ODER-Verknüpfung der Min-Terme: %%\quad (\overline a \wedge b) \vee (a \wedge \overline b)%%

  • Gesamte Gleichung %%\quad y = (\overline a \wedge b) \vee (a \wedge \overline b)%%

  • Konjunktive Normalform:

  • Max-Term der Zeile 1: %%\quad \overline a \vee \overline b%%

  • Max-Term der Zeile 4: %%\quad a \vee b%%

  • UND-Verknüpfung der Max-Terme: %%\quad (\overline a \vee \overline b) \wedge (a \vee b)%%

  • Gesamte Gleichung %%\quad y = (\overline a \vee \overline b) \wedge (a \vee b)%%

Damit sind wir fertig :) Gleichzeitig haben wir so zwei Varianten gefunden, wie man nur mit den drei Grundfunktionen NOT, AND und OR die abgeleitete XOR-Funktion konstruieren kann.

Übung:

Ermittle für die folgende Schaltbelegungstabelle eine Schaltgleichung! Wähle dafür eine günstige Normalform aus!

%%a%%

%%b%%

%%c%%

%%y%%

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

1

Kurzlösung:

KNF: %%\quad y = (\overline a \vee \overline b \vee \overline c) \wedge (\overline a \vee b \vee \overline c)\wedge ( a \vee b \vee \overline c)%%

Ausführlicher Rechenweg:
  • Da es bei den Ausgangswerten deutlich weniger Nullen als Einsen gibt, wählen wir die konjunktive Normalform (KNF)

  • es gibt drei Zeilen mit einer Null als Ausgangswert, also entstehen drei Max-Terme:

    • Max-Term Zeile 1: %%\quad \overline a \vee \overline b \vee \overline c%%
    • Max-Term Zeile 3: %%\quad \overline a \vee b \vee \overline c%%
    • Max-Term Zeile 7: %%\quad a \vee b \vee \overline c%%
  • Gesamtgleichung durch ODER-Verknüpfung der Max-Terme: %%\quad y = (\overline a \vee \overline b \vee \overline c) \wedge (\overline a \vee b \vee \overline c)\wedge ( a \vee b \vee \overline c)%%

Nachtrag

Falls du sehr aufmerksam gewesen bist, kam dir die Schaltbelegungstabelle der Übung vielleicht bekannt vor!? Es war nämlich die von der letzten Seite zum Thema "Schaltbelegungstabelle aus dem Schaltbild ermitteln", nur, dass die Spalten mit den Hilfsgrößen fehlten. Und wenn du dich genau zurückerinnern kannst, war dort die Schaltgleichung irgendwie kürzer … nämlich so: %%y = (a \wedge \overline b) \vee c%%

Wie kann das sein?

Tatsächlich kann es für denselben Sachverhalt viele verschiedene Schaltgleichungen geben, die das gleiche Ergebnis liefern. Manche sind jedoch kürzer bzw. einfacher und damit effizienter als andere, gerade wenn es um die Umsetzung als Schaltung geht!

Also sollte unser Ziel sein, möglichst minimale Schaltgleichungen zu entwickeln. Wie das geht, ist auf den folgenden Seiten zu erfahren!

Kommentieren Kommentare