Inhaltsverzeichnis

Schaltungslogik

Logische Gatter

Logische Gatter sind Bauteile, welche die booleschen Verknüpfungen NOT, AND, OR usw. realisieren.Ein solches Gatter ordnet binären Eingangssignalen genau ein binäres Ausgangssignal zu.

Das Nicht-Gatter besitzt einen Eingang, die anderen Gatter haben je zwei Eingänge.

Boolesche Terme

Übersicht über boolesche Funktionen

Die Gesamtheit aller booleschen Funktionen in zwei Variablen lässt sich in einer Tabelle darstellen.

a=0011
b=0101TermBezeichnungSprechweise
$f_0$ 00000Nullfunktion
$f_1$ 0001$a\land b$Konjunktiona UND b
$f_2$ 0010$a \land \neg b$Inhibitiona MINUS b
$f_3$ 0011aErste Identität
$f_4$ 0100$\neg a \land b$Inhibitionb MINUS a
$f_5$ 0101bZweite Identität
$f_6$ 0110$(\neg a \land b)\lor (a \land \neg b)$Antivalenza XOR b
$f_7$ 0111$a \lor b$Disjunktiona ODER b
$f_8$ 1000$\neg (a\lor b)$Negatdisjunktiona NOR b
$f_9$ 1001$(\neg a \lor b) \land (a \lor \neg b)$Äquivalenza ↔ b
$f_{10}$ 1010$\neg b$Zweite NegationNICHT b
$f_{11}$1011$a\lor \neg b$Zweite Implikationb → a
$f_{12}$ 1100$\neg a$Erste NegationNICHT a
$f_{13}$ 1101$\neg a \lor b$Erste Implikationa → b
$f_{14}$ 1110$\neg (a\land b)$Negatkonjunktiona NAND b
$f_{15}$ 11111Einsfunktion

Symbole für die logischen Gatter

Übersicht Gatter

Rechenregeln der Schaltalgebra

Die mathematische Darstellung einer digitaltechnischen Problemstellung in Form einer schaltalgebraischen Funktionsgleichung ist die kompakteste aller Beschreibungsarten. Zugleich ist sie die Grundlage für eine rechnerische Bearbeitung einer Aufgabenstellung.

Es gelten die folgenden Rechenreglen:

Bezeichnung der Regel Rechenregel
Bildungsregel $\neg$ vor $\land$ vor $\lor$
Kommutativgesetz $a \land b = b \land a$
$a \lor b = b \lor a$
Assoziativgesetz $a \land (b \land c) = (a \land b)\land c$
$a \lor (b \lor c) = (a \lor b)\lor c$
Distributivgesetz $a \land (b \lor c) = (a \land b)\lor (a\land c)$
$a \lor (b \land c) = (a \lor b)\land (a\lor c)$
De-Morgan'sche Regeln $\neg (a \land b) = \neg a \lor \neg b$
$\neg (a \lor b) = \neg a \land \neg b$
Kürzungsregeln $a \lor (a \land b) = a$
$a \land (a \lor b) = a$
$a \lor (\neg a \land b) = a \lor b$
$a \land (\neg a \lor b) = a \land b$
$(a \land b) \lor (a \land \neg b) = a$
$(a \lor b) \land (a \lor \neg b) = a$

Aussagen der Schaltungslogik

Satz 1

Alle zweistelligen booleschen Funktionen können mit Hilfe der Negation, der Konjunktion und der Disjunktion dargestellt werden.

Beweis: Tabelle „Übersicht über boolesche Funktionen“.

Satz 2

Alle zweistelligen booleschen Funktionen können entweder mit Hilfe der Negation und der Konjunktion oder mit Hilfe der Negation und der Disjunktion dargestellt werden.

Beweis: Umformung mit Hilfe der De-Morgan'schen Regeln.

Folgerung: Alle Schaltnetze können mit Redstone-Schaltungen in Minecraft realisiert werden.

Satz 3

Alle zweistelligen booleschen Funktionen können entweder mit Hilfe der NAND-Verknüpfung oder mit Hilfe der NOR-Verknüpfung dargestellt werden.

Beweis: Drücke Negation, Konjunktion und Disjunktion mit Hilfe von NAND- bzw. NOR-Verknüpfungen aus. Beispiel: $\neg x = \neg (x \land x) = x \mbox{ NAND } x$.

Folgerung: Alle Schaltnetze können aus Gattern einer einzigen Art aufgebaut werden.

Disjunktive Normalform und Schaltnetze

Disjunktive Normalform

Ein boolescher Term ist in disjunktiver Normalform, wenn er eine Disjunktion von Kunjunktionstermen ist. Ein Konjunktionsterm wird durch Konjunktion von negierten oder nichtnegierten Variablen gebildet. Beispiel: $(a \land \neg b \land \neg c \land d) \lor (\neg a \land b \land c \land d) \lor (a \land b \land \neg c \land d)$ (Die Klammern dürfen wegen $\neg$ vor $\land$ vor $\lor$ auch weggelassen werden.)

Schaltnetze aus Termen in disjuntiver Normalform

Ein Term in disjunktiver Normalform lässt sich als Schaltnetz einfach verwirklichen. Jeder einzelne Konjunktionsterm wird mit einem Mehrfach-AND realisiert, die Eingänge werden ggf. vorher negiert. Die Ausgänge dieser Mehrfach-AND-Bausteine werden in ein Mehrfach-ODER zusammengeführt. Beispiel:

Schaltnetz

In der Praxis ist es natürlich sinnvoller, den Term vorher (z.B. mit Kürzungsregeln) zu vereinfachen.

Disjunktive Normalformen aus Wahrheitstabellen

Zur Bildung eines booleschen Terms in disjunktiver Normalform genügt es, die Zeilen der Wahrheitstabelle abzulesen. Für jede Zeile, die als Resultat eine 1 liefert, wird eine Konjunktion gebildet, die alle Variablen verknüpft. Variablen, die in der Zeile mit 1 belegt sind, werden dabei nicht negiert und Variablen, die mit 0 belegt sind, werden negiert. Durch disjunktive Verknüpfung dieser Terme erhält man die disjunktive Normalform.

Die Abbildung aus Wikipedia zeigt die Bildung der disjunktiven Normalform (grün) und der konjunktiven Normalform (rot):

Bildung der Nnormalformen

Aufgabe: Pumpensteuerung

Auf einem Bauernhof wird Milch zunächst in einem großen Vorratsbehälter gesammelt und von dort in einen Kleinbehälter gepumpt. Aus diesem Kleinbehälter entnehmen die Kunden im Hofladen die gewünschte Menge Milch.

Milchpumpe

  1. Die Pumpe darf nicht leer laufen.
  2. Der Mindestfüllstand im Kleinbehälter darf nicht unterschritten werden.

Aufgabe: 7-Segment-Anzeige

Auf den 4 Eingängen w, x, y, z liegt ein binär codierter Wert zwischen -1 und 16. Die 7-Segment-Anzeige soll diesen als Hexadezimalziffer anzeigen. Überlege dir sinnvolle Layouts für die Zahlen a bis f. Bestimme einen booleschen Term für das mittlere Segment g.

7-Segment-Anzeige