![]() |
Digitaltechnikvon Prof. Jürgen Plate |

Bei einem Schaltnetz hängen die Ausgangssignale nur von den aktuell anliegenden Eingangssignalen ab. Ein Schaltnetz verhält sich zu jedem Zeitpunkt gleich. Die Werte der Eingangssignale werden nur auf irgendeine Art und Weise kombiniert, daher nennt man es auch "kombinatorische" Schaltung.
Typische Beispiele von Schaltnetzen:

Am Anfang ist Y = A ∧ ¬B, zu einem späteren Zeitpunkt ist ¬Y = A ∧ ¬B → kein Schaltnetz.
Im folgenden sind die wichtigsten Eigenschaften eines Schaltnetzes zusammengefasst und siw werden jenen des Schaltwerks gegenüber gestellt:
- Verbale Aufgabenstellung (Problembeschreibung)
- Festlegen der Ein- und Ausgangsvariablen.
- Erstellen der Wahrheitstabelle oder Umsetzen in eine Logikgleichung (ggf. Expandierung zur DNF/KNF).
- Vereinfachung/Umformung mittels KV-Diagramm, boolescher Algebra, QMC usw.
- Bestimmen der minimierten logischen Verknüpfung.
- Umformen der minimierten Funktionen entsprechend den praktischen Erfordernissen (z.B. NAND statt UND/ODER/NICHT.
- Zeichnen der Blockschaltung (Logikdiagramm)

Festlegen der Ein- und Ausgangsvariablen und Erstellen der Wahrheitstabelle:

Bestimmen der Logikgleichung:
Aus der Wahrheitstabelle werden die Funktionen zur Bestimmung der
korrekten Funktion der Schaltung ermittelt:
Z = (A ∧ ¬B) ∨ (¬A ∧ B)
Vereinfachung, Umformung:
Eine weitere Vereinfachung der Gleichung ist nicht möglich (sofort
erkennbar bei Eintragen ins KV-Diagramm). Die Schaltung soll
ausschliesslich mittels NAND-Gattern aufgebaut werden. Um dies zu
realisieren, muss die Logikgleichung noch umgeformt werden:
Z = (A ∧ ¬B) ∨ (¬A ∧ B) = ¬ ¬[(A ∧ ¬B) ∨ (¬A ∧ B)] = ¬[¬(A ∧ ¬B) ∧ ¬(¬A ∧ B)]
Schaltungsdesign:
Mit der so entstandenen Gleichung, die nur noch aus NAND-Verknüpfungen
besteht, kann die Schaltung aufgebaut werden.

Wenn man einige Minuten nachdenkt (oder auch ein paar mehr), kommt man eventuell auf eine Lösung, die mit nur vier NAND-Gatteren auskommt. Diese Lösung ist aber mit keinem Standardverfahren zu finden, sondern nur durch "Tüfteln":

Daniel Düsentrieb hat natülich gleich am Anfang gemerkt, dass hier mit viel Aufwand eine Lösung für die Realisierung einer EXOR-Verknüpfung mit NAND-Gatteren erarbeitet wurde.

Festlegen der Ein- und Ausgangsvariablen:
Die Eingangsvariablen x3 bis x0 entsprechen der Gewichtung
8-4-2-1. Die Ausgangsvariable y liefert das Ergebnis.
Erstellen der Wahrheitstabelle und Bestimmen der Logikgleichung:
Aus der Wahrheitstabelle wird ein KV-Diagramm mit den Einsern ausgefüllt:

Vereinfachung, Umformung:
Die Vereinfachung ergibt y = (x1 ∧ x3)
∨ (x2 ∧ x3). Hier könnte man sogar
noch x3 ausklammern.
Schaltungsdesign:
Die Realisierung erfolgt als zweistufige Standardschaltung.

Festlegen der Ein- und Ausgangsvariablen:
Die Eingangsvariablen A, B und C entsprechen den digitalen Sensoren.
Die Ausgangsvariable Z liefert das Ergebnis (Alarm).
Erstellen der Wahrheitstabelle und Bestimmen der Logikgleichung:

Die Minterme werden nun in einem KV-Diagramm eingetragen, um mögliche Vereinfachungen zu erkennen:

Daraus ergibt sich die die vereinfachten Funktionsgleichungen für die 2-aus-3- Schaltung:
Z = (A ∧ B) ∨ (A ∧ C) ∨ (B ∧ C)
Um der Aufgabenstellung gerecht zu werden, muss die Funktion in eine reine Verknüpfung aus NAND-Gattern überführt werden:
Z = ¬[¬(A ∧ B) ∧ ¬(A ∧ C) ∧ ¬(B ∧ C)]
Aufbau der Schaltung:
Im letzten Schritt kann nun die Hardware realisiert werden. Dazu
werden die einzelnen Blöcke der Gleichung als Gatter an das
jeweilige Eingangssignal angeschlossen.


Die Wahrheitstabelle lautet:

Aus der Wahrheitstabelle lassen sich die Logikgleichungen der drei Ausgangsvariablen direkt erschließen:
A=B: (¬a ∧ ¬B) ∨ (A ∧ B)
A>B: A ∧ ¬B
A<B: ¬A ∧ B
Das führt dann zur folgenden Schaltung:


Die Wahrheitstabelle ist schon wesentlich umfangreicher. Rechts daneben stehen die KV-Diagramme für alle drei Ausgänge. Der Fall A=B läßt sich nicht vereinfachen, bei den anderen beiden Fällen lassen sich eine Vierergruppe und zwei Zweiergruppen bilden:

Aufgabe: Tragen Sie nun die Gruppen im KV-Diagramm ein und stellen Sie die Logikgleichungen auf.
Bei der Realisierung der Schaltung wird aber diesmal nicht der übliche Weg der Minimierung und Umformung beschritten, sondern es wird auf den 1-Bit-Vergleicher zurückgegriffen (Stichwort "Funktionenbündel"). Es werden die Stellen A0/B0 und A1/B1 getrennt verglichen, was zu folgenden Logikgleichungungen führt (Ausgänge der 1-Bit-Vergleicher sind in eckigen Klammern geschrieben):
A<B: [A1<B1] ∨ ( [A1=B1] ∧ [A0<B0] )
A=B: [A0=B0] ∧ [A1=B1]
A>B: [A1>B1] ∨ ( [A1=B1] ∧ [A0>B0] )
Es ergibt sich dann folgendes Schaltbild:


Beispiel: 1-aus-10-Code (x9, x8, ...x1, x0) → 8421-Code (y3, y2, y1, y0)
Das Aufstellen der Wahrheitstabelle würde sich bei 10 Eingangsvariablen zur Fleissarbeit auswachsen, denn hieraus resultiert eine Wahrheitstabelle mit 1024 Zeilen!
Jedoch ist eine starke Vereinfachung möglich, da immer nur eine Eingangsvariable den Wert "1" haben darf. Damit reduziert sich die Wahrheitstabelle auf nur zehn Zeilen. Es muss jedoch bei der Realisierung sicher gestellt werden, dass jeweils nur ein Eingang "1" ist.

Leider ist ein Minimieren nicht möglich. Somit ergeben sich die Logikgleichungen:
y3 = x8 ∨ x9
y2 = x4 ∨ x5 ∨ x6 ∨ x7
y1 = x2 ∨ x3 ∨ x6 ∨ x7
y0 = x1 ∨ x3 ∨ x5 ∨ x7 ∨ x9
Für die Schaltung werden vier ODER-Gatter mit max 5 Eingängen benötigt.

Wie schon erwähnt, besteht noch ein Problem: Bei mehreren aktive Eingängen entstehen falsche bzw. nicht zulässige Codeworte. Abhilfe schafft hier ein Prioritätscodierer mit Prioritätsreihenfolge für die Eingänge, z. B. Eingang x0 niedrigste Priorität, Eingang x9 höchste Priorität. Der Aufbau eines solchen Prioritätscodierer soll hier der Übersichtlichkeit halber an einem Beispiel mit nur vier Eingängen gezeigt werden, der folgende Eigenschaften besitzt:

Aus der Wahrheitstabelle und den KV-Diagrammen ergibt sich:
A = x3 ∨ x2 ∨ x1 ∨ x0 (KNF)
I1 = x3 ∨ x2
I0 = x3 ∨ (¬x2 ∧ x1)
Daraus resultiert die recht einfache Schaltung:

Prioritätsencoder werden häufig in Rechnerschaltungen verwendet, wenn Ereignisse parallel auftreten und auf einzelnen Leitungen signalisiert werden, aber nicht parallel bearbeitet werden können. → Der Prioritätsencoder signalisiert dem Rechner, welches Ereignis mit höchster Priorität bearbeitet werden muss.

Beispiel: BCD-8421-Code (x3,x2,x1,x0) → 1-aus-10-Code (y9,y8,...y1,y0)
Es müssen zehn Ausgangsvariable in eine Wahrheitstabelle eingetragen und
minimiert werden. Vereinfachung ist auch hier möglich, da immer nur eine
Ausgangsvariable den Wert "1" hat.
Wenn sichergestellt ist, dass den Pseudotetraden nicht ein anderer Code zugeordnet ist, können diese zur Vereinfachung herangezogen werden (P-Terme). Dann ergibt sich folgende Wahrheitstabelle und das daneben stehende KV-Diagramm. Die Möglichkeiten, Gruppen zu bilden sind bereits eingetragen.

Die Auswertung des KV-Diagramms führt zu folgenden Logikgleichungen:
y0 = ¬x0 ∧ ¬x1 ∧ ¬x2 ∧ ¬x3
y1 = x0 ∧ ¬x1 ∧ ¬x2 ∧ ¬x3
y2 = ¬x0 ∧ x1 ∧ ¬x2
y3 = x0 ∧ x1 ∧ ¬x2
y4 = ¬x0 ∧ ¬x1 ∧ x2
y5 = x0 ∧ ¬x1 ∧ x2
y6 = ¬x0 ∧ x1 ∧ x2
y7 = x0 ∧ x1 ∧ x2
y8 = ¬x0 ∧ x3
y9 = x0 ∧ x3
Daraus ergibt sich folgende Schaltung (nur teilweise ausgeführt):


Beispiel: Codewandler Aiken-Code(x3,x2,x1,x0) → 2-aus-5-Walking-Code(y4,y3,y2,y1,y0)
Es wird also ein vierstelliger Code in einen fünfstelligen Code umgewandelt. Die folgende Wahrheitstabelle zeigt die Zuordnung zwischen den beiden Codes.

Daraus kann man dann für y0 bis y4 die KV-Diagramme erstellen:

Es ergeben sich daraus die minmierten Logikfunktionen für y0 bis y4:
y0 = (¬x2 ∧ ¬x1) ∨ (¬x1 ∧ x0) ∨ (x3 ∧ x1 ∧ ¬x0)
y1 = (¬x2 ∧ ¬x0) ∨ (¬x3 ∧ x1) ∨ (x2 ∧ x1 ∧ x0)
y2 = (x3 ∧ ¬x2) ∨ (¬x3 ∧ x2) ∨ (¬x3 ∧ ¬x1 ∧ x0) ∨ (¬x3 ∧ x1 ∧ ¬x0)
y3 = (x2 ∧ ¬x1) ∨ (¬x3 ∧ x1 ∧ x0)
y4 = (x3 ∧ x1) ∨ (x3 ∧ ¬x0)
Erfolgt die Realisierung mit NAND-Gattern und unter Mehrfachausnutzung von gleichen Termen, ergibt sich folgende Schaltung:

Beispiel: Für einen Codewandler, der den 8421-BCD-Code in den Gray-Code umwandelt, sollen die Verknüpfungsgleichungen sowie die Schaltungsimplementierungen gefunden werden. Die Wahrheitstabelle umfasst nur zehn Zeilen, da die Pseudotetraden hier weggelassen werden können.

Sofort ins Auge fällt die Funktion O für den Ausgang: O = A. Auch die zweite Verknüpfung P = A ∨ B ist sofort aus der Wahrheitstabelle zu entnehmen. Die Funktionsgleichungen für Q und R lassen sich mittels KV-Diagrammen zu Q = C ⊕ B und R = D ⊕ C reduzieren. Wir haben es also mit einmal ODER und zweimal EXOR zu tun. Aufgrund der Tatsache, dass bei der Funktion P = A ∨ B nur entweder A oder B den Wert 1 haben, kann auch hier das EXOR verwendet werden: P = A ⊕ B. So hat man es nur mit einer Sorte Gatter zu tun. Die Schaltung ist entsprechend einfach:

Beispiel: Es soll ein Umcodierer von 8-4-2-1-BDC in den bekannten 7-Segment-Code realisiert werden. Im folgenden Bild ist die Wahrheitstabelle und die übliche Benennung der Segmente zu sehen. Bei der Anzeige handelt es sich um ein Display mit gemeinsamer Kathode, eine "1" in der Wahrheitstabelle bedeutet also, dass das entsprechende Segment leuchten soll. Bei einer Anzeige mit gemeinsamer Anode müssten die Werte für A bis G invertiert werden.

Wendet man die Tabelle an, ergibt sich das folgende Anzeigebild:

Entsprechend den sieben Segmenten sind auch sieben KV-Diagramme notwendig. Die eigentliche Minimierung sei an dieser Stelle als Übungsaufgabe zu betrachten ("p" = P-Terme, dont't care).

Beispiel: Codewandler Excess-3 ↔ BCD mittels Addierer
In diesem speziellen Fall kann man sich das Leben ganz leicht machen. Der Excess-3-Code entsteht ja durch Addition von 3 zum BCD-Code. Also nehmen wir einen 4-Bit-Addierer und stellen den einen Summanden per Verdrahtung auf "3" (0011) für den Umcodierern BCD → Excess-3 bzw. auf das Komplement für das Umcodieren in Gegenrichtung.

Voraussetzung für eine einwandfreie Datenübertragung ist die richtige Synchronisierung der Steuersignale (Adressleitungen) von Sender und Empfänger.

Mit einem Multiplexer (Parallel-Seriell-Wandler) lassen sich parallel anliegende Daten in serielle, d. h. in zeitlich nacheinander abgegebene Daten umwandeln. Dabei werden die auf mehreren Leitungen anliegenden Daten auf einer Leitung zeitlich getrennt übertragen. Ein n-zu-1-MUX hat ld(n) Steuersignale, n Dateneingänge und einen Ausgang. Die Eingänge sind von 0 bis n-1 durchnummeriert. Es wird derjenige Eingang zum Ausgang durchgeschaltet, der die Nummer hat, die in Form einer binären Zahl an den Stuer- bzw. Adresseingängen anliegt.
Mit dem Demultiplexer (Seriell-Parallel-Wandler) werden die seriell auf einer Leitung anliegende Daten wieder auf mehrere Leitungen verteilt. Ein 1-zu-n-DEMUX hat ebenfalls ld(n) Steuersignale, einen Dateneingang und n Ausgänge, die ebenfalls 0 bis n-1 durchnummeriert sind.
Der einfachste Fall ist ein 2-zu-1-MUX (zwei Eingangssignale) und entsprechend ein 1-zu-2-DMUX (zwei Ausgänge) → ein Steuersignal nötig. Abhängig von einem Steuersignal S soll

Damit ergeben sich die folgenden Logikfunktionen:
Y = (¬S ∧ A) ∨ (S ∧ B)
A = ¬S ∧ E
B = S ∧ E
Woraus sich die Schaltung für Multiplexer (MUX) und Demultiplexer (DEMUX) ergibt:

Zweites Beispiel: 4-zu-1-MUX, 1-zu-4-DMUX → zwei Steuersignale nötig (S1,S0) Auch hier wird wieder willkürliche festgelegt:

Die Logikfunktionen für MUX und DMUX lauten dann:
Y = (¬S1 ∧ ¬S0 ∧ A) ∨ (¬S1 ∧ S0 ∧ B) ∨ (S1 ∧ ¬S0 ∧ C) ∨ (S1 ∧ S0 ∧ D)
A = ¬S1 ∧ ¬S0 ∧ E
B = ¬S1 ∧ S0 ∧ E
C = S1 ∧ ¬S0 ∧ E
D = S1 ∧ S0 ∧ E
Die Schaltungen von MUX und DMUX sind bei vier Eingängen bzw. Ausgängen schon etwas komplexer:

Das Prinzip der Blockschaltung wird in der Digitaltechnik teilweise iterativ gehandhabt. Sobald eine häufig verwendete Schaltung aus etlichen Gattern besteht, wird nicht mehr die detaillierte Logikschaltung wiedergegeben, sondern ein vereinfachtes Blockschaltbild eingesetzt. Für die oben gezeigten Multiplexer und Demultiplexer sehen die vereinfachten Schaltbilder folgendermaßen aus:

Schlussbemerkung: Mit einem Multiplexer lassen sich auch beliebige Schaltfunktionen realisieren, indem man die die Eingangsvariablen an die Steuereingänge anschließt und die Multiplexereingänge entsprechend dem Y-Wert der Wahrheitstabelle statisch an "0" oder "1" anschließt. Im folgenden Bild ist der MUX einmal als AND und einmal als EXOR beschaltet.

Gemeint sind damit Digitalschaltungen, die derartige Operationen binär vornehmen. Wie aus dem Kapitel über Zahlensysteme und Binärarithmetik geläufig, können alle arithmetischen Operationen auf die Addition zurückgeführt werden. Aus diesem Grund besitzen die Additionsschaltungen die höchste Bedeutung.

Die Wahrheitstabelle ist einfach:
a b ü s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0Es lassen sich auch sofort die Logikgleichungen ablesen:
s = (¬a ∧ b) ∨ (a ∧ ¬b)
ü = (a ∧ b)
Die Summe entspricht also der EXOR-Verknüpfung, womit die Schaltung recht einfach wird:

Ein Nachteil des Halbaddierers besteht allerdings darin, dass die Verarbeitung eines Eingangsübertrages (z. B. von der vorhergehenden Dualstelle) nicht möglich ist. Eine folgerichtige Erweiterung des Halbaddierers stellt der Volladdierer dar. Diese Grundschaltung ermöglicht daher auch problemlos den Aufbau mehrstelliger Rechenwerke, wobei für jede zu addierende Dualstelle ein Volladdierer benötigt wird.

Nun hat man einen Volladdierer für zwei Dualstellen. Zum Aufbau mehrstelliger Addierwerke wird lediglich der Übertrags-Ausgang einer Stelle mit dem Übertragseingang der nächsten verbunden. Nachteilig ist, dass diese Schaltung relativ aufwendig ist. Deshalb suchen wir eine einfachere Schaltung und wir beginnen wie üblich mit der Wahrheitstabelle (der Halbaddierer ist nochmals aufgeführt):

Daraus können dann die KV-Diagramme gebildet werden:

Beim Übertrag ergibt sich die Möglichkeit der Vereinfachung:
ü = (a ∧ b) ∨ (a ∧ c) ∨ (b ∧ c)
Bei der Summe scheint keine weitere Vereinfachung möglich, in Kurzschreibweise lautet die DNF s = Σ(1,2,4,7), was zur folgenden Schaltung führt:

Da sich die Standard-Vereinfachung jedoch ausschließlich auf die Verknüpfungen UND, NICHT und ODER (bzw. NAND und NOR) stützt, wir aber auch andere Typen von Verknüpfungen kennen gelernt haben, lohnt es sich, einen anderen Ansatz zu verfolgen. Schliesslich finden sich im Angebot der Hersteller auch EXOR und Äquivalenz-Gatter. Mit diesem Ansatz im Hinterkopf wird die Summenfunktion umgeformt:
s = (¬a ∧ ¬b ∧ c) ∨ (a ∧ ¬b ∧ ¬c) ∨ (a ∧ ¬b ∧ ¬c) ∨ (a ∧ b ∧ c)
s = ¬a ∧ [(¬b ∧ c) ∨ (b ∧ ¬c)] ∨ a ∧ [(¬b ∧ ¬c) ∨ (b ∧ c)]
(¬b ∧ c) ∨ (b ∧ ¬c) ist gleich (b ⊕ c) und (¬b ∧ ¬c) ∨ (b ∧ c) ist gleich ¬(b ⊕ c). Dies kann man in die Summenfunktion einsetzen:
s = [¬a ∧ (b ⊕ c)] ∨ [a ∧ ¬(b ⊕ c)]
Auch hier erkennt man eine EXOR-Funktion, womit sich die endgültige Summenfunktion ergibt:
s = a ⊕ (b ⊕ c) = a ⊕ b ⊕ c
Damit wird die Schaltung für die Summenfunktion sehr einfach:

Für die mehrstellige Addition schaltet man einfach etliche Addierer parallel (für jedes Bit des Datenwortes ein Volladdierer) und verbindet den Übertragsausgang mit dem Übertragseingang des jeweilgen "Nachbarn". Das folgende Blockschaltbild zeigt einen 4-Bit-Addierer:

Nachteil dieser Schaltung ist, dass bei Anwendung einer realen Elektronik mit entsprechenden Laufzeiten zwischen Gatterein- und Ausgang der Wert von Summe und Übertrag erst spät zur Verfügung steht. Für jede Stufe n gilt ja, dass Summe und Übertrag erst dann korrekt zur Verfügung stehen, wenn alle Stufen 0 ... n-1 davor bereits durchlaufen wurden (ripple carry). Man versucht, das durch einen höheren Schaltungsaufwand abzumildern, indem insbesondere der Übertrag "vorausschauend" ermittelt wird (carry look-ahead).

Durch die Erweiterung des Paralleladdieres kann dann die ALU gebildet werden. Mit weiteren, teilweise in den Volladdierer integrierten Steuersignalen lassen sich weitere - auch stellenweise - logische Verknüpfungen realisieren. Zum Beispiel EXOR-Verknüpfung durch Abschalten des Übertrags von einer Stelle zur nächsten.
Von der Funktion her entspricht die ALU einer Anzahl verschiedener Verknüpfungsfunktionen mit je zwei n-stelligen Eingängen A und B und einem n-stelligen Ausgang F. Dabei ist jeweils immer nur eine Funktion aktiviert. Die Auswahl der Funktion erfolgt mit einem binären Steuerwort S (Steuersignale). In der ALU können auch noch weitere Funktionen integriert werden, z. B. Increment/Dekrement; es sind jedoch immer sehr einfache und grundlegende Funktionen. Es werden meist auch nicht alle der theoretisch möglichen Bitkombinationen des Steuerwortes verwendet, da nicht jede Kombination eine sinnvolle Funktion darstellt. Das folgende Blockschaltbild zeigt eine 4-Bit-ALU für Addition und Subtraktion. Die Steuerbits entstehen folgendermaßen:
Durch die Erweiterung der ALU mit UND-Gattern können die Eingänge wahlweise gesperrt werden. Der jeweils gesperrte Operand erscheint mit dem Wert 0. Auf diese Weise lässt sich der "Befehlssatz" erweitern, beispielsweise sind nun Increment/Decrement (A + 1, B + 1, A - 1, B - 1) oder die Komplementierung eines Operanden (0 - A, 0 - B, 0 - A + 1, 0 - B + 1) möglich. Da sich normalerweise am Ausgang der ALU ein Speicherelement befindet, besteht so auch die Möglichkeit dieses zu löschen (Addition von 0 + 0).

Übung: Welche Bitkombinationen müssen jeweils an die Steuereingänge C0, S0 ... S3 angelegt werden, um die oben beschriebenen Operationen vorzunehmen? Füllen Sie die folgende Tabelle aus:

Neben den Rechenfunktionen beherrschen die meisten ALUs auch logische Funktionen, die sich ebenfalls per Steuerleitungen auswählen lassen. Logische Verknüpfungen der Operanden erfolgen immer bitweise (A0 mit B0, A1 mit B1 usw.). Das folgende Bild zeigt beispielhaft eine solche Stufe für die Verknüpfungen UND, ODER, EXOR. Weitere Verknüpfungen wären möglich, wobei Invertierung (Einerkomplement) und Negation (Zweierkomplement) ja schon von der Recheneinheit übernommen werden.

Beispiel: reale ALU 74181
Diese ALU besitzt sechs Steuerleitungen (S0, S1, S2, S3, M, Cn), jeweils vier
Eingangsleitungen für die Operanden A und B, vier Ausgangsleitungen für das
Ergebnis der Operation sowie eine Ausgangsleitung Cn+4 für einen
eventuellen Übertrag, einen Vergleichsausgang "A=B" und zwei Ausgänge P und G
für die Übertragsauswertung.

Für die speziellen Ausgänge gilt:

Unabhängig davon, ob das Ergebnis der Analyse nun eine Schaltfunktion ist, die gegebenenfalls noch zur DNF oder KNF erweitert werden muss, oder eine Wahrheitstabelle, kann aus dem Ergebnis die jeweils andere Form der Beschreibung ermittelt werden (Tabelle ↔ Schaltfunktion).
Bedauerlicherweise gibt es kein Schema oder ein Patentrezept für die Schaltnetzanalyse, hier ist immer Einfallsreichtum und Intuition gefragt.
Beispiel: Es ist folgendes Schaltnetz zu analysieren und die Schaltfunktion bzw. die Wahrheitstabelle zu ermitteln.

Im Bild sind schon drei Hilfsvariablen h1, h2 und h3 eingetragen.
y = ¬(h1 ∨ h2 ∨ h3) → y = ¬h1 ∧ ¬h2 ∧ ¬h3
mit ¬h1 = a ∨ ¬b, ¬h2 = ¬a ∨ ¬c und ¬h3 = b ∨ c
ergibt sich:
y = (a ∨ ¬b) ∧ (¬a ∨ ¬c) ∧ (b ∨ c)
Die Funktion y kann nun direkt oder über die inverse Funktion ¬y in eine Wahrheitstabelle übertragen werden:

Daraus lassen sich dann die Schaltfunktionen leicht ablesen:
y = Σ(1,6) = Π(0,2,3,4,5,7)

Auch hier lassen sich dann die Schaltfunktionen leicht ablesen:
y = Σ(1,6) = Π(0,2,3,4,5,7)
Hierbei sind alle Bitkombinationen der Eingangssignale notwendig, um die DNF/KNF zu erhalten. Mit Papier und Bleistift ist dies nur bei sehr einfachen Schaltungen möglich, bei komplexeren Schaltungen ist man auf eine entsprechende Simulations-Software angewiesen.
Beispiel: Resultat der Simulation einer Schaltung mit vier Eingangssignalen a1, a0, b1, b0 und vier Ausgangssignalen p3, p2, p1, p0:

Aus dem Timing-Diagramm ergibt sich:
p3(a1,a0,b1,b0) = Σ(15)
p2(a1,a0,b1,b0) = Σ(10,11,14)
p1(a1,a0,b1,b0) = Σ(6,7,9,11,13,14)
p0(a1,a0,b1,b0) = Σ(5,7,13,15)
Tasten dienen zum Erzeugen von (kurzen) Impulsen, hier ist der normalerweise der Zeitpunkt der Tastenbetätigung oder die Anzahl der erzeugten Impulse von Bedeutung. Wichtig ist auch, dass immer ein korrekter "0"- oder "1"-Pegel erzeugt wird. Deshalb ist ein Umschalter eher ungeeignet, denn hier sind, wenn auch nur für ganz kurze Zeit, beide Ausgänge "offen" (wenn der bewegliche Teil des Schalter gerade zwischen Ruhe- und Arbeitskontakt wechselt). Deshalb zieht man die Leitung über einen Widerstand auf z. B: "1"-Pegel und schaltet dann geben den "0"-Pegel.

Sowohl Schalter als auch Tasten "prellen". Hierunter versteht man die Eigenschaft eines Schalters oder einer Taste, beim Schließen zunächst schnell und mehrmals hintereinander den Schaltkontakt zu schließen und wieder zu öffnen. Erst wenn der Schalter oder Taster mechanisch zur Ruhe gekommen ist, ergibt sich ein stabiles Signal. Beim Öffnen von Schalter oder Taster passiert dasselbe.
Bei Schaltnetzen ergeben sich daher beim Betätigen eines Schalters oder Tasters mehfach schnell hintereinander unterschiedliche Ausgangssignale - solange, bis die Schaltung "zur Ruhe" gekommen ist. Da moderne Digitalschaltungen im Nanosekundenbereich reagieren, ist dies nicht verwunderlich. Bei Schaltwerken (mit Gedächtnis) ergeben sich daher gleich mehrere Folgezustände, was natürlich unerwünscht ist.
Daher müssen Schalter und Taster "entprellt" werden, wenn die Anzahl der Impulse von Bedeutung ist. Die hierzu verwendete "Entprellschaltung" basiert auf einem SR-Flipflop, dessen Eigenschaften erst im folgenden Kapitel erläutert werden.


Bausteine mit Schmitt-Trigger-Verhalten weisen am Eingang zwei definierte Schaltschwellen für die Übergänge L → H und H → L auf. Die Werte sind so gewählt, dass sich die oben erwähnte Hysterese ergibt. Hierdurch erfolgt am Ausgang ein abrupter Pegelübergang auch dann, wenn das Eingangssignal verschliffen ist, sich nur langsam ändert oder im Bereich zwischen L- und H-Pegel liegt.
Übertragungskennlinie eines Inverters mit Schmitt-Trigger-Verhalten:

Damit ergibt sich z. B. die nachfolgend dargestellte Reaktion auf ein verschliffenes Eingangssignal:

Es werden Digitalausteine angeboten, die neben logischen Verknüpfungen (UND, ODER,
NAMD, NOR) auch fest implementierte Schmitt-Trigger enthalten. Innerhalb der
Schaltungen werden sie meistens mit einem Hysteresesymbol gekennzeichnet und
können anstelle gleichartiger Bausteine ohne Triggerwirkung eingesetzt werden.
Außerdem kann mittels Schmitt-Trigger auch ein Taktgenerator aufgebaut werden, siehe Kapitel "Takterzeugung, astabile Schaltungen". Des weiteren kann ein Schmitt-Trigger verwendet wewrden, um bei Schaltwerken eine Einschalt-Normierung (Reset) vorzunehmen. Dazu wird der Eingang mit einem RC-Glied beschaltet wie im Bild. Beim Einschalten ist der Kondensator entladen und demzufolge der Eingang des Schmitt-Triggers auf L. Mit zunhmender Aufladung des Kondensators wird irgendwann die Triggerschwelle erreicht und der Ausgang des Schmitt-Triggers wechselt seinen Zustand, der dann bis zum Abschalten erhalten bleibt.

Herr Meier fährt mit seinem Auto, wenn er den Zündschlüssel hat UND wenn Benzin im Tank ist UND wenn er NICHT zuviel Alkohol getrunken hat UND wenn er zur Bank ODER ins Büro muss ODER wenn er NICHT zuhause bleiben will.
Geben Sie die Schaltfunktion zum Einschalten des Motorschützes an und minimieren Sie diese anschließend.

Y = A ∧ B ∧ ¬C ∧ (D ∨ E ∨ ¬F)
Motor im Revisionsbetrieb:
M2 = T ∧ ¬H ∧ ¬B ∧ ¬L ∧ (O ∨ U)
→ M = (M1 ∧ N) ∨ (M2 ∧ R)
"Ausklammern" von [T ∧ ¬H ∧ ¬B ∧ ¬L ∧ (O ∨ U)]
ergibt:
M = [(N ∧ S) ∨ R] ∧ T ∧ ¬H ∧ ¬B ∧ ¬L ∧ (O ∨ U)

Zum vorhergehenden Abschnitt |
Zum Inhaltsverzeichnis |
Zum nächsten Abschnitt |