Zum Inhalt

🌐 NAND-Logik

Für zusammengesetzte Schaltungen ist es von Vorteil, wenn auf nur einen Typ von Basis-Gattern zurückgegriffen werden kann. Dadurch lassen sich der Herstellungsaufwand und die mit der Herstellung verbundenen Kosten stark reduzieren. Wir demonstrieren im Folgenden die Schaltung eines NOT- und eines XOR-Gatters nur aus NAND-Gattern.

Schaltung eines NOT-Gatters aus einem NOR-Gatter

Die Wahrheitstabelle für das NOR-Gatter ist

\[ \begin{equation} \label{equ-truth-table-nor} \begin{array}{cc|c} \mathrm{A} & \mathrm{B} & \mathrm{Y = \overline{A \lor B}} \\ \hline \mathbf{0} & \mathbf{0} & \mathbf{1} \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ \mathbf{1} & \mathbf{1} & \mathbf{0} \\ \end{array} \end{equation} \]

Dieses lässt sich zu einem NOT-Gatter für den Eingang A reduzieren, indem man die Bedingung

\[ \begin{equation*} \mathrm{A=B} \end{equation*} \]

an den Eingängen A und B implementiert, wie aus den hervorgehobenen Zeilen 1 und 4 der Wahrheitstabelle in Gleichung \(\eqref{equ-truth-table-nor}\) zu erkennen ist.

Man erhält das gleiche Ergebnis, für die Bedingung

\[ \begin{equation} \label{equ-truth-table-nor-not} \begin{split} &\begin{array}{cc|c} \mathrm{A} & \mathrm{B} & \mathrm{Y = \overline{A \lor B}} \\ \hline \mathbf{0} & \mathbf{0} & \mathbf{1} \\ 0 & 1 & 0 \\ \mathbf{1} & \mathbf{0} & \mathbf{0} \\ 1 & 1 & 0 \\ \end{array} \\ &\\ &\text{mit } \mathrm{B=0},\\ \end{split} \end{equation} \]

wie in den hervorgehobenen Zeilen 1 und 3 in der Wahrheitstabelle aus Gleichung \(\eqref{equ-truth-table-nor-not}\) zu sehen ist.

Schaltung eines NOT-Gatters aus einem NAND-Gatter

Ähnliche Bedingungen kann man ableiten, um das NAND- zu einem NOT-Gatter zu reduzieren, wie in den Gleichungen \(\eqref{equ-truth-table-not-from-nand}\) gezeigt:

\[ \begin{equation} \label{equ-truth-table-not-from-nand} \begin{split} &\begin{array}{cc|c} \mathrm{A} & \mathrm{B} & \mathrm{Y = \overline{A \land B}} \\ \hline \mathbf{0} & \mathbf{0} & \mathbf{1} \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ \mathbf{1} & \mathbf{1} & \mathbf{0} \\ \end{array}\\ &\\ &\text{mit } \mathrm{A=B}\\ &\\ &\\ &\begin{array}{cc|c} \mathrm{A} & \mathrm{B} & \mathrm{Y = \overline{A \land B}} \\ \hline 0 & 0 & 1 \\ \mathbf{0} & \mathbf{1} & \mathbf{1} \\ 1 & 0 & 1 \\ \mathbf{1} & \mathbf{1} & \mathbf{0} \\ \end{array}\\ &\\ &\text{mit } \mathrm{B=1}.\\ \end{split} \end{equation} \]

XOR-Gatter

Die Wahrheitstabelle für das XOR-Gatter ist

\[ \begin{equation} \label{equ-truth-table-xor} \begin{array}{cc|c} \mathrm{A} & \mathrm{B} & \mathrm{Y = A \underline{\lor} B} \\ \hline 0 & 0 & 0 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\ \end{array} \end{equation} \]

Der Begriff XOR steht für die Aussage "entweder oder", auch als "exklusives oder" oder "exclusive or" bezeichnet. Das Schaltsymbol für das XOR-Gatter ist in TTL-Gatter, Abb. 1 (f) gezeigt.

Jede logische Funktion lässt sich in der disjunktiven Normalform als Disjunktion von Konjunktionen, d.h. als OR-Verknüpfung von AND-Verknüpfungen darstellen. Diese lässt sich zeilenweise aus Gleichung \(\eqref{equ-truth-table-xor}\) zu

\[ \begin{equation} \label{equ-xor-disjunktive-normalform} \mathrm{Y} = \left(\mathrm{\overline{A}\,\land\,B}\right)\lor\left(\mathrm{A\,\land\,\overline{B}}\right) \end{equation} \]

ablesen. Eine mögliche Realisierung dieser Schaltung mit Hilfe von zwei NOT-, zwei AND- und einem OR-Gatter ist in Abb. 1 gezeigt:


Abb. 1

Abb. 1: Realisierung eines XOR-Gatters mit Hilfe von zwei NOT-, zwei AND- und einem OR-Gatter


  • A läuft in das obere NOT- und von dort mit B in das untere AND-Gatter.
  • B läuft in das untere NOT- und von dort mit A in das obere AND-Gatter.
  • Die Ausgänge beider AND-Gatter stellen die Eingänge in das abschließende OR-Gatter dar.

Auf diese Weise lassen sich beliebige logische Funktionen realisieren. Die Kombination von NOT-, AND- und OR-Gattern ist funktional vollständig, d.h. jede logische Funktion lässt sich daraus aufbauen.

Eine alternative Darstellung bestehend nur aus NAND-Gattern lässt sich daraus wie folgt ableiten:

Man erweitert Gleichung \(\eqref{equ-xor-disjunktive-normalform}\) zunächst zweimal mit der Aussage "\(\lor\,0\)"

\[ \begin{equation*} \begin{split} \mathrm{Y} &= \left(\mathrm{\overline{A}\,\land\,B}\right)\lor\left(\mathrm{A\,\land\,\overline{B}}\right) \\ &\\ &=\left(\mathrm{\overline{A}\,\land\,B}\right)\lor\underbrace{\left(\mathrm{\overline{B}\,\land\,B}\right)}\lor \left(\mathrm{A\,\land\,\overline{B}}\right)\lor\underbrace{\left(\mathrm{A\,\land\,\overline{A}}\right)},\\ &\hphantom{ccccccccccccccccc}\equiv 0 \hphantom{cccccccccccccccccccc}\equiv 0\\ \end{split} \end{equation*} \]

wobei es sich bei

\[ \begin{equation*} 0\equiv\mathrm{\overline{B}\,\land\,B} = \mathrm{\overline{A}\,\land\,A} \end{equation*} \]

jeweils um das unmögliche Ereignis handelt, weil nicht A (B) und gleichzeitig "nicht-A (B)" wahr sein kann.

Im nächsten Schritt lassen sich nach dem Assoziativ-Gesetz B aus den linken und A aus den rechten beiden Klammern des entstehenden Ausdrucks ausklammern:

\[ \begin{equation*} \begin{split} \mathrm{Y} &=\left(\mathrm{\overline{A}\,\land\,B}\right)\lor\left(\mathrm{\overline{B}\,\land\,B}\right)\lor \left(\mathrm{A\,\land\,\overline{B}}\right)\lor\left(\mathrm{A\,\land\,\overline{A}}\right)\\ &\\ &=\mathrm{\left(\left(\overline{A}\,\lor\,\overline{B}\right)\land\,B\right)\lor \left(A\,\land\left(\overline{B}\,\lor\,\overline{A}\right)\right).} \end{split} \end{equation*} \]

Im nächsten Schritt werden beide inneren Klammerterme zweimal negiert, was einer weiteren Äquivalenzumformung entspricht:

\[ \begin{equation} \label{equ-xor-nand-1} \begin{split} \mathrm{Y} &=\mathrm{\left(\overline{\overline{\left(\overline{A}\,\lor\,\overline{B}\right)}}\land\,B\right)\lor \left(A\,\land\overline{\overline{\left(\overline{B}\,\lor\,\overline{A}\right)}}\right)}\\ &\\ &=\mathrm{\left(\overline{\left(A\,\land\,B\right)}\land\,B\right)\lor \left(A\,\land\overline{\left(B\,\land\,A\right)}\right)};\\ &\\ &\text{mit} \\ &\\ &\mathrm{\overline{A\,\lor\,B} = \overline{A}\,\land\,\overline{B}}.\\ \end{split} \end{equation} \]

Beim letzten Term in Gleichung \(\eqref{equ-xor-nand-1}\) handelt es sich um eines der De-Morganschen Gesetze.

Nochmalige zweifache Negation des Ausdrucks aus Gleichung \(\eqref{equ-xor-nand-1}\) sowie die erneute Anwendung der oben verwendeten De-Morganschen Regel führt auf:

\[ \begin{equation} \label{equ-xor-nand-2} \begin{split} \mathrm{Y} &=\mathrm{ \overline{\overline{ \left( \overline{\left(A\,\land\,B\right)} \land\,B\right) \,\lor\, \left(A\,\land \overline{\left(B\,\land\,A\right)} \right)}};}\\ &\\ &=\mathrm{ \overline{ \overline{ \left( \overline{\left(A\,\land\,B\right)}\land\,B\right)} \,\land\, \overline{ \left( A\,\land \overline{\left(B\,\land\,A\right)} \right)}}}.\\ \end{split} \end{equation} \]

Der letzte Ausdruck in Gleichung \(\eqref{equ-xor-nand-2}\) besteht aus einer dreifachen Schachtelung von NAND-Gattern. Eine entsprechende Schaltung ist in Abb. 2 gezeigt:


Abb. 2

Abb. 2: Realisierung eines XOR-Gatters mit Hilfe nur von NAND-Gattern


  • A und B laufen in das erste NAND-Gatter von links.
  • A und \(\mathrm{\overline{\left(B\,\land\,A\right)}}\) laufen in das obere NAND-Gatter.
  • \(\mathrm{\overline{\left(B\,\land\,A\right)}}\) und B laufen in das untere NAND-Gatter.
  • Die Ausgänge beider mittleren Gatter stellen die Eingänge des rechten NAND-Gatters dar.

Komparator

Eine Schaltung, die die Gleichheit zwischen zwei Eingängen A und B überprüft, wird als Komparator bezeichnet. Der Ausgang ist nur dann "1", wenn A und B gleich sind. Die Wahrheitstabelle für einen solchen Komparator ist das Inverse der Wahrheitstabelle für das XOR-Gatter in Tabelle \(\eqref{equ-truth-table-xor}\):

\[ \begin{equation} \begin{array}{cc|c} \mathrm{A} & \mathrm{B} & \mathrm{Y = \overline{A \underline{\lor} B}} \\ \hline \mathbf{0} & \mathbf{0} & \mathbf{1} \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ \mathbf{1} & \mathbf{1} & \mathbf{1} \\ \end{array} \end{equation} \]

Ein Komparator lässt sich mit Hilfe eines XOR-Gatters und eines NOT-Gatters realisieren. Die Realisierung dieser beiden Gatter nur aus NAND-Gattern, haben wir oben gezeigt.

Für beliebige binäre Zahlen lässt sich die Gleichheit durch eine AND-Verknüpfung von Komparator-Schaltungen überprüfen. Die Zahlen sind genau dann gleich, wenn alle Ausgänge der verketteten Komparator-Schaltung 1 sind. Eine einfache Realisierung eines 2-Bit-Komparators mit Hilfe von XOR-, NOT- und AND-Gattern, wobei die Eingänge \((A_{1},\ A_{2})\) und \((B_{1},\ B_{2})\) die zu vergleichenden 2-Bit-Zahlen \(A\) und \(B\) repräsentieren, ist in Abb. 3 gezeigt:


Abb. 3

Abb. 3: Realisierung eines 2-Bit-Komparators mit Hilfe von XOR-, NOT- und AND-Gattern


Auch das AND-Gatter lässt sich durch ein NAND- und ein NOT- Gatter realisieren, wodurch diese Schaltung allein durch NAND-Gatter realisierbar ist. Für längere Zahlenketten lässt sich die Schaltung entsprechend erweitern.