Digitale Speicherbausteine

Eine Schaltung zur Speicherung eines einzelnen Bits muss ihren Zustand am Ausgang auch nach Änderung des Signals am Eingang beibehalten können. Eine solche Schaltung könnte so aussehen:

Bild

Das Problem dieser Schaltung ist, dass man sie nicht auf Null zurücksetzen kann. Eine Schaltwerttabelle soll helfen, eine Grundschaltung zu entwickeln, mit der man einen Wert setzen und auch wieder löschen kann. Dazu benötigt man zwei Eingänge S und R. Qneu  ist der neue Ausgangswert, Qalt der gespeicherte Wert. Besondere Aufmerksamkeit muss dem Eingangszustand gewidmet werden, bei dem  R = S = 0 ist. Dabei nimmt das zustandgesteuerte Flipflop einen dritten Zustand an, bei dem beide Ausgänge gleichen Pegel führen und der nicht gespeichert werden kann. Ein gleichzeitiger bzw. annähernd gleichzeitiger Wechsel beider Eingänge zum inaktiven Pegel führt zu einem undefinierten metastabilen Zustand, bei dem das Flipflop, salopp formuliert, nicht weiß, in welchen Zustand es wechseln soll.

R S Qalt Qneu Kommentar
0 0 0 1 unzulässig
0 0 1 1  
0 1 0 1 setzen
0 1 1 1  
1 0 0 0 löschen
1 0 1 0  
1 1 0 0 halten
1 1 1 1  

Qneu= (¬R ∨ S ∨  Qalt) ∧ (¬R ∨ S ∨  ¬Qalt) ∧ (¬R ∨ ¬S ∨  Qalt

= ¬R ∨ ((S ∨  Qalt) ∧ (S ∨  ¬Qalt) ∧ (¬S ∨  Qalt)) =¬R ∨ ((S ∧ (¬S ∨  Qalt))

= ¬R ∨ (S ∧ Qalt)

Bild

Eine solche Schaltung ist ein Grund-Flip-Flop (Grund-FF). Man sollte aber aus Schaltungstechnischen Gründen (unterschiedliche Laufzeiten) einheitliche Gatterbausteine verwenden.
Formuliert man mit Hilfe der Regel von De Morgan die Gleichung um, erhält man

¬R ∨ (S ∧ Qalt) = ¬(R ∧ ¬(S ∧ Qalt))

Bild

Der Vorteil dieser Schaltung ist, dass sie nur noch aus NAND-Bausteinen besteht. Führt man aus dem zweiten NAND-Baustein den Ausgang ebenfalls nach außen, so erhält man ein Grund-FF (RS-Flipflop) mit zwei Ausgängen, die -außer beide Eingänge liegen auf 0, was ja vermieden werden soll – entgegengesetzte Werte haben.

Bild

Da in der Regel nicht nur ein Bit gespeichert wird, muss die Arbeitsweise von mehreren Speichergliedern synchronisiert werden. Das benötigte Steuersignal, der Takt, sorgt dafür, dass alle Speicherbausteine gleichzeitig Werte übernehmen. Liegt das Taktsignal auf 1, werden Werte übernommen, liegt das Taktsignal auf 0, bleiben die Werte erhalten. In der vorliegenden Schaltung halten die FF ihren Wert, wenn R und S auf 1 liegen. Es werden also Eingangsbausteine benötigt, die bei Takt 0 eine 1 produzieren und bei Takt 1 das Eingangssignal durchschalten. Der benötigte Baustein muss also folgende Schaltwerttabelle erfüllen:

Takt Eingang Ausgang
0 0 1
0 1 1
1 0 1
1 1 0

Das gewünschte Ausgangsmuster liefern NAND-Bausteine. Da bisher schon NAND-Bausteine verwandt werden, ist dies vorteilhaft (RS-Flipflop mit Taktsteuerung).

Bild

Schaltet man S und R so, dass beide immer den entgegengesetzten Eingangspegel erhalten, erhält man ein D-Flipflop.

DFlipFlop

Da als Takt ein einfaches Rechtecksignal benutzt wird, benötigt man einen Speicher, der die anliegenden Werte nicht während der gesamten Zeit, in der der Takt auf 1 liegt, übernimmt, sondern nur während eines kurzen, durch den Wechsel im Taktsignal ausgelösten Zeitraums. Technisch löst man dieses Problem, in den man zwei FF hintereinander schaltet, die im Gegentakt arbeiten. Einen solchen zweistufigen Aufbau bezeichnet man als Master-Slave-Flipflop, da die zweite Stufe als Slave nur Daten der ersten Masterstufe übernehmen kann. Schaltet man zusätzlich die Ausgänge wieder auf die Eingänge (P auf S und Q auf R, erhält man ein taktflankengesteuertes JK-Flipflop, das neben Setzen, Löschen, Speichern auch das Toggeln erlaubt. Unter Toggeln versteht man ein taktweises Wechseln zwischen den beiden Zuständen 0 und 1.

Bild

Das entsprechende Schaltsymbol zeigt die folgende Graphik.

Bild