Grundlegende Logikfunktionen - NAND und NOR
Die Operatoren NAND und NOR sind die wichtigsten logischen Funktionen in der digitalen Schaltungstechnik. Zuerst gehen wir genauer auf das NAND ein. Das NAND folgt nachstehender Wahrheitstabelle:
| IN1 | IN2 | OUT |
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Die Realisierung der logischen NAND-Funktion verläuft wie folgt:

Zwei PMOS-Transistoren sind parallel geschaltet, wohingegen zwei NMOS-Transitoren in Reihe geschaltet sind. Source-Kontakt der zwei PMOS-Tranistoren liegen auf Vcc und der Source-Kontakt eines NMOS-Transitors liegt auf GND. Die freien Drain-Kontakte von zwei PMOS und den NMOS bilden gemeinsam den Output des NAND-Gates. Jeweils ein PMOS-Gate und ein NMOS-Gate sind miteinander verknüpft und bilden den Input des NANDs. Die Reihenfolge der Verknüpfung ist beliebig.
Gehen wir von folgenden Grundzustand aus. IN1 und IN2 liegen beide auf logisch 0, dh. daß die PMOS-Transitroen durchgeschaltet sind und die NMOS-Transitoren sperrend wirken. Die Output-Node sieht in diesen Fall nur Vcc über die parallel geschalteten PMOS-Transistoren. Nun setzen wir einen Input auf logisch 1 und den anderen lassen wir auf logisch 0. In diesem Fall sieht der Output wieder nur Vcc, da durch die Reihenschaltung der NMOS-Transitoren GND immer noch abgetrennt ist. Durch die Parallelschaltung der PMOS-Transitoren sieht der Output immer noch Vcc. Nun setzen wir beide Inputs auf logisch 1, dh., daß beide PMOS-Transistoren nun sperren, jedoch beide NMOS-Transistoren leiten. In diesem Fall ist Vcc vom Output getrennt und GND direkt über die in Reihe geschalteten NMOSs verbunden. Der Ouput zeigt nun logisch 0 an.
Das folgende Java-Applet veranschaulicht das logische Verhalten nochmal:
Um die Inputs des NANDs von 2 auf 3 zu erweitern, bedarf es nur um die Hinzugügung eines NMOS-Transitor in Reihe mit den anderen NMOS-Transistoren und die Hinzufügung eins PMOS-Transitors parallel zu den bereits vorhandenen PMOS-Transistoren. Das Java-Applet veranschaulicht auch dieses:
Nun besprechen wir die logische Funktion des NOR-Gates. Das NOR-Gate folgt nachstehender Wahrheitstabelle:
| IN1 | IN2 | OUT |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
Die Realisierung der logischen NAND-Funktion verläuft wie folgt:

Zwei PMOS-Transistoren sind in Reihe geschaltet, wohingegen zwei NMOS-Transitoren parallel geschaltet sind. Source-Kontakt des einen PMOS liegt auf Vcc und die Source-Kontakte der zwei NMOS-Transitoren liegen auf GND. Die freien Drain-Kontakte von PMOS und den zwei NMOS bilden gemeinsam den Output des NOR-Gates. Jeweils ein PMOS-Gate und ein NMOS-Gate sind miteinander verknüpft und bilden den Input des NORs. Die Reihenfolge der Verknüpfung ist beliebig.
Gehen wir von folgenden Grundzustand aus: beide Inputs IN1 und IN2 sind auf logisch 0, dh. die PMOS-Transistoren sind durchgeschaltet und die NMOS-Transistoren sind gesperrt. Da die Output-Node in diesem Fall nur Vcc sieht, liegt der Output auf logisch 1. Nun ändert sich der Zustand. Einer der beiden Inputs geht von logisch 0 auf logisch 1. Der andere Input verbleibt auf logisch 0. Durch die Reihenschaltung der PMOS-Transitoren wird Vcc von der Output-Node getrennt, jedoch wird durch die Parallelschaltung der NMOS-Transitoren ein Durchschalten von GND auf den Output ermöglicht und der Ouput zeigt logisch 0 an. Werden nun beide Inputs auf logisch 1 geschaltet, bleibt der Output auf logisch 0, da ledeglich nur ein weitere PMOS gesperrt wird und ein NMOS durchgeschaltet wird, dies jedoch die Schaltungsverhalten durch den vorhergehenden Zustand nicht mehr beeinflußt.
Nachstehendes Java-Applet veranschaulicht das logische Verhalten des NOR-Gates mit zwei Inputs:
Das nachstehende Java-Applet veranschaulicht die Funktion Y = NOT((A AND B) OR (C AND D AND E)). Aus Übersichtlichkeitsgründen wurde auf die vollständige Verdrahtung verzichtet.
Man sieht, daß sich aus den einfachen Grundelemnten AND und OR komplexe Schaltungen realisieren lassen. Bei der Umsetzung der Funktion Y = NOT((A AND B) OR (C AND D AND E)) in den obrigen Schaltkreis wurde der Schaltkreis durch boolesche Algebra noch minimiert. Die Verwendung von direkter OR und AND-Logik hat den Vorteil, daß es den menschlichen Denken schneller näher kommt, wohingegen sich die Realisierung in einen Schaltkreis mit dirketer OR- und AND-Logik sich schlecht auf Anzahl der verwendeten Elemente und somit Komplexität auswirkt. Ziel eines jeden Digital-Designers ist es, die komplexen logischen Funktionen auf NAND und NOR zurück zu führen. Im obrigen Schaltkreis wurde dies wiefolgt erreicht:
Y = NOT((A AND B) OR (C AND D AND E))
Y = NOT(A AND B) AND NOT(C AND D AND E)
Y = (A NAND B) AND (C NAND D NAND E)
Die einzigst verbleibende AND-Funktion wurde durch geschicktes Beschalten gebildet. Dieser Schritt ist dem Designer oder entsprechender Software (VHDL-Compiler) vorbehalten, da diese nicht aus der boolischen Vereinfachung hervorgeht. Durch diesen Schritt wurde diese komplexe Funktion durch 10 Transistoren dargestellt. Für Schaltkreisminimierung siehe das KV-Verfahren.
karl@vlsi.bu.edu, 16.09.98