Benutzer:Reseka/Flipflop

aus Wikipedia, der freien Enzyklopädie

Meine Gedanken und Kritiken zum oft zitierten Flipflop:

Intention

Ich habe mich seit 1970 intensiv mit digitalen Systemen und insbesondere ihrem Entwurf beschäftigt. Dabei konnte ich viele Erfahrungen in Theorie und Praxis sammeln. Leider muss ich feststellen, dass das heute im Web (insbesondere in WikiPedia und WikiBooks) dargebotene Wissen über Digitaltechnik und insbesondere über Flipflops nicht nur lückenhaft, unsystematisch und unpädagogisch dargestellt wird, sondern oft auch fehlerhaft ist. Dabei sind manche Fehler leider nicht auszurotten, da diese immer wieder (ohne nachzudenken) abgeschrieben werden. Oft finden sie sich sogar in „oberflächlichen“ Lehrbüchern (auf die sich dann bezogen wird). Bevor ich eingreife, möchte ich die wichtigsten Probleme hier erst mal sammeln.

Synchrone Schaltwerke und deren Taktsysteme

Weil größere asynchrone Schaltwerke (mit freier Rückführung oder mit „konzentrierten“ Speicherelementen) praktisch nicht sicher zu entwerfen und zu testen sind, werden praktisch alle komplexen digitalen Systeme als synchrone Schaltwerke mit einem Taktsystem ausgeführt. Dieses Taktsystem (die Takterzeugung und die Taktverteilung) gehört zum technischen Entwurf (wie auch die Stromversorgung der logischen Bausteine) und berührt den logischen Entwurf nur durch bestimmte Randbedingungen. Die Art des verwendeten Taktsystems hängt eng mit der Taktsteuerung der verwendeten Flipflops zusammen. Folgende Taktsysteme werden praktisch eingesetzt:

  • Ein Eintaktsystem ist technisch sehr leicht zu realisieren, erfordert aber „rückkopplungsfähige“ (Zähl-) Flipflops. Mit einflankengesteuerten Flipflops oder Master-Slave-Flipflops sind die Toleranzen bei größeren Schaltungen allerdings nicht mehr zu beherrschen. Das ist nur mit (aufwendigeren und damit teuren) zweiflankengesteuerten Flipflops möglich. Deshalb werden Eintaktsysteme z.B. in Computern selten verwendet.
  • Ein Zweitaktsystem (mit zwei sich nicht überlappenden Taktphasen) ist etwas aufwendiger in der technischen Realisierung und bringt einige Entwurfseinschränkungen mit sich, erlaubt aber die Verwendung von einfachen und billigen taktzustandsgesteuerten Flipflops (meist DV- und RS-Flipflops).
  • Ein Viertaktsystem kann mit überlappenden oder nicht überlappenden Taktphasen realisiert werden. Nicht überlappende Taktphasen bringen eine wenig bessere Ausnutzung der Gatter-Laufzeiten, aber auch einen komplizierten Entwurfsprozess mit sich. Zur optimalen Ausnutzung von Gatterlaufzeiten verwendet man transparente Flipflops (z.B. einfache taktzustandsgesteuerte DV-Flipflops) mit vier sich gegenseitig zeitlich überlappenden Taktphasen. Der sich noch komplizierter gestaltende Entwurf gestattet hier jedoch die „Verteilung der Laufzeit“ auf mehrere Ebenen durch die „offenen Flipflops“ einer Taktphase hindurch.

Klassifizierung von Flipflops nach der Taktsteuerung

Nicht taktgesteuerte (asynchrone) Flipflops

… werden in asynchronen Schaltwerken und innerhalb von taktgesteuerten Flipflops verwendet.

Pegelgesteuerte (level triggered) Flipflops

… sind die elementarsten Flipflops. Sie werden durch die Pegel logischer Signale gesteuert. Der typische Vertreter ist das elementare RS-Flipflop.

Flanken- bzw. Impulsgesteuerte (edge triggered, puls triggered) Flipflops

… werden durch die Flanken (also durch Pegelwechsel) der Eingangssignale gesteuert. Früher wurden dazu Differenzierglieder verwendet. Heute werden die Flanken meist mit Hilfe von Laufzeitunterschieden in kurze Nadelimpulse verwandelt oder sie werden direkt durch entsprechende Zustandsübergänge ausgewertet.

Taktgesteuerte (synchrone) Flipflops

… werden in synchronen Schaltwerken als Speicherelemente verwendet. Sie übernehmen ihre Daten- und Steuersignale durch ein (innerhalb des jeweiligen Schaltwerkes) einheitliches Taktsignal (clock) synchron.

Taktpegelgesteuerte (level triggered) Flipflops

Bei taktpegelgesteuerten Flipflops müssen die Eingangssignale während der gesamten aktiven Taktphase (tatsächlich etwas eher – setup time und etwas länger – hold time) stabil anliegen. Die Durchschaltung an den Ausgang erfolgt entweder direkt (transparent) oder erst mit der Taktrückflanke (Master-Slave-Prinzip). Nur letztere sind „rückführungsfähig“.

  • Elementare D-Flipflops, DV-Flipflops, RS-Flipflops
  • (Klassisches) JK-Master-Slave-Flipflop

Taktflankengesteuerte (edge triggered) Flipflops

… übernehmen die Eingangssignale nur während einer Taktflanke. Deshalb müssen diese nur während der „kurzen“ Flankenzeit stabil anliegen. Sie sind generell „rückführungsfähig“.

  • Bei einflankengesteuerten Flipflops wird der neue Zustand mit der gleichen Flanke (also mit nur kurzer Verzögerung) an den Ausgang durchgeschaltet. Sie werden vorderflankengesteuert oder rückflankengesteuert eingesetzt, was durch die „Polarität des Taktes“ bewerkstelligt wird.
  • Beim zweiflankengesteuerten Flipflop werden die Eingangssignale mit der Vorderflanke des Taktes übernommen und mit der Rückflanke wird der neue Zustand zum Ausgang durchgeschaltet.

Klassifizierung von Flipflops nach ihrer Ansteuerfunktion

Ein Eingangssignal

  • Das D-Flipflop (D = delay) übernimmt den D-Eingang (in Abhängigkeit von der Taktsteuerung) an den Ausgang bzw. die Ausgänge. Es ist das elementarste synchrone Flipflop und außer der Verzögerung um einen Takt führt es keine weitere Veränderung des Signals auf D durch. Ein asynchrones D-Flipflop ist logisch nicht relevant, wird aber technisch doch zur Signalverzögerung oder Signalregenerierung verwendet.
  • Das synchrone T-Flipflop (T = toggle) schaltet (in Abhängigkeit von der Taktsteuerung) immer dann in den „anderen“ Zustand, wenn das Eingangssignal T gleich 1 ist. Oft wird in der Literatur allerdings nur an das asynchrone T-Flipflop gedacht, welches mit jeder Vorder- oder Rückflanke des Eingangs T am Ausgang umschaltet.

Zwei Eingangssignale

  • Das DV-Flipflop ist ein „erweitertes“ D-Flipflop. Es übernimmt den D-Eingang nur, wenn der V-Eingang (was damit ein zusätzlicher Steuereingang ist) aktiv ist. Sonst behält es seinen Zustand bei.
  • Das RS-Flipflop (besser wäre die Bezeichnung SR-Flipflop, aber RS hat sich eingebürgert) wird mit aktiven S-Eingang (set) auf 1 gesetzt und mit aktiven R-Eingang (reset) auf 0 (rück-) gesetzt. R- und S-Eingang dürfen dabei nie beide gleichzeitig 1 sein („verboten“). RS-Flipflops gibt es asynchron (das elementarste Flipflop) und synchron. Um R- und S-Eingang gleichzeitig als 1 zuzulassen, werden entweder Setz- oder Rücksetz-Prioritäten eingeführt oder man geht zum JK-Flipflop über.
  • Das JK-Flipflop wird mit aktiven J-Eingang auf 1 gesetzt und mit aktiven K-Eingang auf 0 (rück-) gesetzt. Sind J- und K-Eingang beide gleichzeitig 1, dann kippt das JK-Flipflop in den anderen Zustand.

Transparente und Zähl-Flip-Flops

  • Ein Flipflop nennt man transparent, wenn bei aktivem Takt eine Änderung von Steuersignalen sofort (natürlich mit den entsprechenden Gatterverzögerungen) am Ausgang des Flipflops wirksam wird. Solche Flipflops sind nicht direkt rückkopplungsfähig (und demnach keine Zähl-Flipflops). In überlappten Viertaktsystemen gestatten sie einem Kettenlängenausgleich während der Überlappungsphase.
  • Zähl-Flipflops besitzen die Fähigkeit der direkten Rückkopplung und sind deshalb zum Aufbau von Zählern und zur Realisierung von komplexen Schaltwerken mit einem Eintaktsystem geeignet. Als Zähl-Flipflops sind flankengesteuerte und Master-Slave-Flipflops nutzbar.

Master-Slave-Flipflops

Ist ein Flipflop als Master-Slave-Flipflop realisiert, dann wird der Zustand des eigentlichen (Master-) Flipflops mit der fallenden Taktflanke in ein zweites (Slave-) Flipflop übernommen. Dadurch wird die Transparenz des Flipflops verhindert und es kann als Zähl-Flipflop verwendet werden. Unabhängig davon kann das Master-Flipflop taktpegelgesteuert oder taktflankengesteuert sein. Der Begriff Master-Slave-Flipflop ist also nicht gleichbedeutend mit einem flankengesteuerten Flipflop.

Deshalb ist der Begriff Master-Slave-Flipflop weder ein Synonym für ein JK-Flipflop, noch eines für Taktflankensteuerung!

Siehe auch

Literatur

  • Michael Krapp: Digitale Automaten. Verlag Technik, Berlin 1988.
  • Joachim Zander: Logischer Entwurf binärer Systeme. Verlag Technik, Berlin 1982.
  • Eberhard Kühn, Horst Schmied: Integrierte Schaltkreise. Verlag Technik, Berlin 1974.
  • Dietmar Reinert: Entwurf und Diagnose komplexer digitaler Systeme. Verlag Technik, Berlin 1983.
  • Manfred Seifart: Digitale Schaltungen und Schaltkreise. Verlag Technik, Berlin 1982.
  • Manfred Seifart, Helmut Beikirch: Digitale Schaltungen. Verlag Technik, Berlin 1998, ISBN 3-341-01198-6.
  • Gerd Scarbata: Synthese und Analyse Digitaler Schaltungen. Oldenbourg Wissenschaftsverlag GmbH, München 2001, ISBN 3-486-25814-1.
  • Eugen Philippow: Taschenbuch Elektrotechnik Band 3. Verlag Technik, Berlin 1969.