Flipflops und Latches sind 1-bit Datenspeicher. Es gibt sie als synchrone und als asynchrone Varianten, wobei „synchron“ nur bedeutet, dass das Bauteil zusätzlich einen Takteingang hat. Der wichtigste (und einzige?) Unterschied zwischen Flipflops und Latches ist, dass Flipflops Taktflankengesteuert sind und Latches Pegelgesteuert sind. Das heißt, Flipflops können nur dann ihren Wert ändern, wenn der anliegende Takt von 0 auf 1 wechselt. Latches hingegen können ihren Wert immer ändern, wenn der anliegende Takt auf 1 ist. Beide haben die gleichen Ansteuertabellen, können aber unterschiedliche Zeitdiagramme haben.
Interesannt sind vor allem die Ansteuertabellen. Dabei darf man sich nicht von der Art, wie diese aufgeschrieben werden, verwirren lassen: \(q^t\) ist der Zustand des Flipflops zum Zeitpunkt \(t\). Analog dazu ist \(q^{t+1}\) der Zustand des Flipflops zum Zeitpunkt \(t+1\). Nun steht rechts in der Tabelle, welche Signale man braucht um den Zustand \(q^{t+1}\) zu erreichen, wenn man im Zustand \(q^t\) ist.
D-Flipflops
D-Flipflops ignorieren im Prinzip den aktuellen Zustand und setzt den neuen Zustand einfach auf das d-Signal.
D-Flipflops können aus D-Latches erstellt werden:
Ansteuertabelle
|
RS-Flipflops
Das RS-Flipflop bietet zwei Möglichkeiten: Entweder man resettet es, dann wird der neue Zustand 0, oder man setzt es. Dann ist der neue Zustand 1.
Ein RS-Flipflop hat zwei Eingänge und einen oder zwei Ausgänge.
Ansteuertabelle
|
T-Flipflop
T-Flipflops wechseln den Zustand, wenn T gesetzt ist.
Ansteuertabelle
|
JK-Flipflop
JK-Flipflops haben zwei Eingänge, „J“ und „K“. Warum die allerdings Jump und Kill genannt werden, ist mir nicht klar. Habt ihr eine Merkregel für die Ansteuertabelle dieses Flipflops?
Ansteuertabelle
|