Schaltwerke

Grundidee der Schaltwerke

Schaltwerke unterscheiden sich von Schaltnetzen durch Rückkopplungen. Während Schaltnetze nur kombinatorische Logik abbilden, besitzen Schaltwerke einen internen Zustand, der über die Zeit erhalten bleiben kann. Mit Serielle Verarbeitung werden Informationen nacheinander verarbeitet, nicht parallel.
Schaltwerke bilden die Grundlage für sequenzielle Logik und sind essenziell für Speicher, Zähler und Steuerwerke.

Zustandsgraphen

Ein Zustandsgraph ist ein gerichteter Graph mit:

Race Conditions

Race Conditions entstehen, wenn mehrere Signale gleichzeitig umschalten und der Endzustand undefiniert wird. Dies kann zu metastabilen Zuständen führen, die das Systemverhalten unvorhersehbar machen.

Vermeidung von Race Conditions

Durch Einführung zusätzlicher Zustände und eines Taktsignals können Race Conditions vermieden werden. Der Takt synchronisiert alle Zustandsübergänge, sodass sich nur ein Signal pro Taktperiode ändert. Änderung des Hamming-Abstand 1.
Diese Methode führt zu synchronen Schaltwerken, die deterministisches Verhalten garantieren.

Taktsignale, Clock und Flankensteuerung

Das Taktsignal oder auch Clock genannt steuert den Zeitpunkt von Zustandsänderungen:

Flankensteuerung ist robuster als Pegelsteuerung, da sie nur auf kurze Übergangszeitfenster reagiert.

Flipflops

Flipflops sind bistabile Multivibratoren, die einen Bit-Zustand speichern.

Bemerkung

Die Erfindung geht auf Eccles und Jordan im Jahre 1918 zurück.

SR-Flipflop, Set Reset-Flipflop

Das SR-Flipflop besitzt zwei Eingänge: S setzt den Ausgang Q auf 1, R setzt ihn auf 0. Der Zustand S=R=1 ist meist verboten, da er zu einem undefinierten Verhalten führen kann. Die charakteristische Gleichung lautet: \( Q' = S + \overline{R} \cdot Q \).

D-Flipflop, Delay-Flipflop

Das D-Flipflop vereinfacht die Handhabung, indem es nur einen Dateneingang D besitzt. Bei der aktiven Taktflanke wird der Wert von D übernommen und am Ausgang Q gespeichert. Es umgeht das Problem des verbotenen Zustands des SR-Flipflops.

JK-Flipflop, Jump Kill-Flipflop

Das JK-Flipflop ist eine Weiterentwicklung, die die Vorteile von SR- und T-Flipflops kombiniert. J verhält sich wie S, K wie R. Der entscheidende Vorteil liegt im Verhalten bei J=K=1: In diesem Fall toggelt der Ausgang Q bei jedem Takt, das heißt, es wechselt in den jeweils anderen Zustand. Damit ist der bei SR-Flipflops problematische Eingangszustand hier sinnvoll genutzt.

T-Flipflop, Toggle-Flipflop

Ein T-Flipflop kehrt seinen Zustand immer dann um, wenn der T-Eingang aktiv ist T=1 und eine aktive Taktflanke auftritt. Es kann einfach aus einem JK-Flipflop realisiert werden, indem J und K miteinander verbunden werden also J=K=T.

Taktflankengesteuertes SR-Flipflop

Diese Variante reagiert nur, wenn das Taktsignal C aktiv ist. Es zeigt das Phänomen der Laufzeitverzögerung, oder auch Propagation Delay genannt, zwischen der Eingangsänderung und der sichtbaren Reaktion am Ausgang.

Anwendungen von Flipflops

Diese sind: