mini|hochkant=0.6|Schaltzeichen eines RS-Flipflops mit Set- und Reset-Eingang und zueinander inversen Ausgängen QDIN EN 60617–12 Graphische Symbole für Schaltpläne – Teil 12: Binäre Elemente. April 1999, Deutsche Übersetzung der internationalen Norm IEC 60617–12:1997 Ein Flipflop (auch Flip-Flop), oft auch bistabile Kippstufe oder bistabiles Kippglied genannt, ist eine elektronische Schaltung, die zwei stabile Zustände des Ausgangssignals besitzt. Dabei hängt der aktuelle Zustand nicht nur von den gegenwärtig vorhandenen Eingangssignalen ab, sondern außerdem vom Zustand, der vor dem betrachteten Zeitpunkt bestanden hat. Eine Abhängigkeit von der Zeit besteht nicht, sondern nur von Ereignissen.
Durch die Bistabilität kann die Kippstufe eine Datenmenge von einem Bit über eine unbegrenzte Zeit speichern. Dazu muss, anders als bei nichtflüchtigen Datenspeichern, jedoch die Spannungsversorgung dauernd gewährleistet sein. Das Flipflop ist als Grundbaustein der sequentiellen Schaltungen ein unverzichtbares Bauelement der Digitaltechnik und damit fundamentaler Bestandteil vieler elektronischer Schaltungen von der Quarzuhr bis zum Mikroprozessor. Insbesondere ist es als elementarer Ein-Bit-Speicher das Grundelement der statischen Speicherbausteine für Computer.
mini|Bistabile Transistor-Kippstufe: Ausgangssignale sind die Spannungen an den Kollektoren gegen 0 V.
Geschichte mini|Flipflop aus der Patentschrift (1918) Die Flipflopschaltung wurde von den Engländern William Henry Eccles und Frank W. Jordan an rückgekoppelten Radioröhrenverstärkern auf der Suche nach Zählschaltungen entwickelt und am 21. Juni 1918 zum Patent angemeldet.The Radio Review. Dez. 1919, S. 143 ff. Ursprünglich erhielt sie die Bezeichnung Eccles-Jordan-Schaltung.Zur Geschichte: Robert Dennhardt: Die Flipflop-Legende und das Digitale: eine Vorgeschichte des Digitalcomputers vom Unterbrecherkontakt zur Röhrenelektronik 1837–1945. Kulturverlag Kadmos, Berlin 2009, Zugleich: Diss. Humboldt-Universität, Berlin 2007, ISBN 978-3-86599-074-7. Die Schaltung wurde unter anderem im Jahr 1943 während des 2. Weltkrieges im britischen Röhrencomputer Colossus verwendet.
Die heute üblichen Bezeichnungen der verschiedenen Flipflop-Typen wie RS-Flipflop, D-Flipflop, T-Flipflop oder JK-Flipflop gehen auf Montgomery Phister zurück, welcher 1954 in einer Vorlesung an der University of California, Los Angeles (UCLA) erstmals diese Bezeichnungen wählte und sie in Folge in seinem Buch Logical Design of Digital Computers aus dem Jahr 1958 verwendete.
Charakteristik mini|hochkant=0.6|Ungetaktetes RS-Flipflop aus NAND-Gattern mini|hochkant=0.6|Ungetaktetes RS-Flipflop aus NOR-Gattern Flipflops unterscheiden sich unter anderem in der Anzahl und der logischen Funktion ihrer Eingänge (beschrieben durch ihre charakteristische Gleichung oder Funktionstabelle), in der zeitlichen Reaktion auf die Eingangssignale (Daten- und Steuersignale), insbesondere auf die Taktsignale (), in der Durchlässigkeit von Datensignalen bis zum Ausgang (Transparenz oder Momentanfreigabe) und im strukturellen Aufbau (einfache interne Mitkopplung (Einspeicher-Flipflop) oder Master-Slave-Prinzip (Zweispeicher-Flipflop)).
Gemeinsam ist jedoch allen, dass sie zwei stabile Zustände haben, welche an einem Ausgang festgestellt werden können. Diese Zustände werden „gesetzt“ () und „zurückgesetzt“ () genannt. Zwischen diesen Zuständen kann durch Signale an den Eingängen umgeschaltet werden. Üblicherweise ist neben dem Ausgang Q ein weiterer Ausgang vorhanden, an dem der negierte Wert von Q anliegt. Der Einschaltzustand ist bei einem einfachen Flipflop aus zwei symmetrisch angeordneten bipolaren Transistoren (wie im Bild „Bistabile Transistor-Kippstufe“) nicht definiert. Dieser kann mittels eines Kondensators an einem der beiden Eingänge festgelegt werden.
Für ein Flipflop in Standard-TTL-Technik mit 5 V Betriebsspannung bedeutet eine Spannung gegen „Masse“ von 2,5 bis 5 V (H-Pegel, ) am Ausgang Q den Zustand „gesetzt“. Am negierten Ausgang liegt dann eine Spannung von 0 bis 0,4 VDatenblatt SN5474, SN54LS74A, SN54S74, SN7474, SN74LS74A, SN74S74, S. 5, Angaben zu den Parametern VOH und VOL. (L-Pegel, ) an. Bei der Verwendung von positiver Logik wird dieser Zustand als Q = 1 und = 0 interpretiert. Im Zustand „zurückgesetzt“ liegen die Spannungen und Logikwerte vertauscht an den Ausgängen an (Q = 0 und = 1). Genauso gut kann der L-Pegel als „gesetzt“ angesehen werden, der sich aus einem Anfangszustand mit H-Pegel abhebt – das wird negative Logik genannt. Was benutzt wird, ist eine Frage der Festlegung; je nachdem kann die eine oder andere Festlegung zweckmäßig sein. Die negative Logik wird allerdings innerhalb dieses Artikels nicht herausgestellt.
Das einfachste Flipflop ist das ungetaktete RS-Flipflop; es hat zwei Eingänge, die S und R genannt werden. Über den Eingang S kann der Ausgang des Flipflops in den Zustand „gesetzt“ kippen (oder in diesem Zustand bleiben, falls er schon „gesetzt“ ist). Über den Eingang R kann das Flipflop in den Zustand „zurückgesetzt“ schalten. Die Eigenschaften des RS-Flipflops und anderer Flipflop-Arten werden weiter unten detaillierter erläutert.
Durch das Zusammenschalten mehrerer Flipflops entstehen leistungsfähige Systeme wie Register, Zähler (asynchron oder synchron), Datenspeicher (Halbleiterspeicher) und Mikroprozessoren. Flipflops sind Grundbausteine für die gesamte Digitaltechnik und Mikroelektronik einschließlich des Computers.
Klassifizierung anhand von Taktabhängigkeit mini|hochkant=1.8|Klassifizierung von Flipflops anhand ihrer Reaktion auf Taktsignale
Nicht taktgesteuerte Flipflops Der Zustand des oben eingeführten ungetakteten RS-Flipflops wird direkt durch die Pegel der Eingangssignale S und R bestimmt. Solche Flipflops heißen asynchrone pegelgesteuerte (engl. ) Flipflops. Es gibt aber auch die Möglichkeit, dass ein Flipflop seinen Zustand nur während eines Pegelwechsels der Eingangssignale ändert und der Pegel des Eingangssignals selbst keinen weiteren Einfluss hat. Solche Flipflops heißen asynchrone flankengesteuerte (edge triggered) Flipflops. Zur praktischen Realisierung wurden früher Differenzierglieder verwendet. Heutzutage werden die Signalflanken meist mit Hilfe von Laufzeitunterschieden intern in kurze Nadelimpulse verwandelt, oder sie werden direkt durch flüchtige interne Zustände ausgewertet.
Taktgesteuerte Flipflops Da die Eingangssignale nur in bestimmten Zeitabschnitten stabil anliegen, ist es oft gewünscht, dass ein Flipflop nur zu bestimmten Zeiten auf die Eingangssignale reagiert. Dieses Verhalten kann durch Verwendung eines Taktsignals realisiert werden, das die Steuereingänge des Flipflops zu bestimmten Ereignissen freischaltet. Das Berücksichtigen eines Taktsignals ermöglicht Synchronität mit anderen Schaltungsteilen und die Bildung von synchronen Schaltkreisen. Hier gilt es zu unterscheiden, auf welche Weise ein Flipflop Taktsignale berücksichtigt. Das Bild „Klassifizierung von Flipflops ...“ zeigt eine hierarchische Aufteilung der verschiedenen Flipflop-Typen.
Taktzustands- und taktflankengesteuerte Flipflops mini|hochkant=1.1|Signal-Zeit-Verläufe eines mit H-Pegel gesteuerten und eines mit steigender Flanke gesteuerten RS-Flipflops
Taktgesteuerte Flipflops werden in synchronen Schaltwerken als Speicherelemente verwendet. Sie übernehmen ihre Daten- und Steuersignale durch ein (innerhalb des jeweiligen Schaltwerkes) einheitliches Taktsignal synchron und lassen sich in taktzustandsgesteuerte und taktflankengesteuerte Flipflops einteilen. Einfache taktzustandsgesteuerte Flipflops reagieren von der Anfangsflanke eines Taktimpulses bis zu seiner Endflanke auf die Eingangssignale. Sie werden einschließlich ihrer Änderungen zum Ausgang durchgereicht. Solche durch 1-Pegel oder 0-Pegel gesteuerte Bausteine sind transparent und vertragen keine Rückwirkung des Ausgangs auf den eigenen Eingang. Der Zustand zum Ende des Taktimpulses wird „gefangen“ und verwahrt. Das gibt dem Flipflop vor allem in der englischsprachigen Literatur die Bezeichnung Latch (was übersetzt „Riegel“ oder „Türschnapper“ bedeutet). Wird der Zustand dieses transparenten „Master-Flipflops“ mit der Endflanke des Taktimpulses in ein weiteres, das „Slave-Flipflop“, übergeben, so ist der Zustand hier von den Eingängen getrennt. Nur der Slave ist mit dem Ausgang verbunden; dessen Zustand ist also nichttransparent. Damit entsteht ein rückkopplungsfähiges „klassisches“ Master-Slave-Flipflop, das als Zähl-Flipflop verwendet werden kann. Taktflankengesteuerte Flipflops können ihren Zustand nur während einer festgelegten Taktflanke ändern. Impulse, die solche Flanken enthalten, können aus dem 0-Pegel in den 1-Pegel übergehen und wieder zum 0-Pegel zurückkehren, also mit steigender Flanke beginnen; sie können in anderen Fällen aus dem 1-Pegel in den 0-Pegel übergehen und wieder zurück zum 1-Pegel, also mit fallender Flanke beginnen (wie oben im Bild „Bistabile Transistor-Kippstufe“). Das taktflankengesteuerte Flipflop reagiert nur während einer sehr kurzen Zeit nach der festgelegten Taktflanke auf die Signale, die an den Eingängen anliegen. In der übrigen Zeit bis zur nächsten Flanke in dieselbe Richtung bleibt der vorher eingestellte Zustand gespeichert und ändert sich – im Gegensatz zu zustandsgesteuerten Flipflops – auch dann nicht, wenn sich die Eingangssignale ändern. Es wird unterschieden in einflankengesteuerte Flipflops auf Wechsel bei steigender (positiver) Taktflanke oder bei fallender (negativer) Taktflanke sowie zweiflankengesteuerte (Übernahme am Eingang mit der einen, Ausgabe mit der anderen Taktflanke).
Flipflop-Typen RS-Flipflop Aufbau, reguläres Verhalten Ein RS-Flipflop (Rücksetz-Setz-Flipflop), auch SR-Flipflop genannt, ist die einfachste Art eines Flipflops. Dieses Grundelement hält einen beliebigen seiner zwei möglichen Ausgangszustände auf Dauer fest. Eine Veränderung ist möglich über seine zwei Eingänge, die üblicherweise mit R und S bezeichnet werden. Mit Zusatzbeschaltungen entstehen daraus sowohl taktpegelgesteuerte RS-Flipflops als auch taktflankengesteuerte RS-Flipflops. Dafür ist ein dritter, typischerweise mit C (clock) bezeichneter Eingang notwendig, an den ein Taktsignal angelegt werden kann. Auch weitere Flipflops bauen auf diesem Grundelement auf.
Ein Grundelement aus zwei sich über Kreuz beeinflussenden Logikgattern (meist NAND- oder NOR-Gatter) möge einen Ruhezustand mit R = S = 0 haben. Mit einem Signal S = 1 am „Setz“-Eingang und gleichzeitig R = 0 wird der Ausgang Q des Flipflops auf „logisch 1“ gesetzt. Mit der Zurücknahme der „Setz“-Anforderung durch S = 0 und gleichzeitig R = 0 verharrt das Flipflop infolge der Rückkopplung des Ausgangs auf das Eingangsgatter in dem zuvor eingestellten Zustand; er wird also gespeichert. Erst wenn der „Rücksetz“-Eingang mit R = 1 bei S = 0 aktiviert wird, wird das Flipflop zurückgesetzt: Am Ausgang entsteht Q = 0. Wiederum ändert sich mit der Zurücknahme der „Rücksetz“-Anforderung der Zustand nicht. Das Ausgangssignal Q im Falle R = S = 0 ist ungewiss, wenn nicht der vorherige Verlauf bekannt ist. mini|hochkant=0.6|Ungetaktetes RS-Flipflop aus NOR-Gattern mit den Ausgängen Q und Q*. Die charakteristische Gleichung lautet (ausgehend von der nebenstehend gezeigten Schaltung mit NOR-Gattern und umgerechnet mit einer der Äquivalenzregeln)
Diese Gleichung ist mit den Mitteln der formalen Logik nicht nach Q auflösbar, womit das Speicherverhalten charakterisiert wird: Das Ausgangssignal ist abhängig von seiner Vorgeschichte.
Mechanisches Bild