Flip-Flop (Elektronik) - Flip-flop (electronics)

Ein animierter interaktiver SR-Latch ( R1, R2 = 1  kΩ; R3, R4 = 10  kΩ).

In der Elektronik ist ein Flip-Flop oder Latch eine Schaltung , die zwei stabile Zustände aufweist und zum Speichern von Zustandsinformationen verwendet werden kann – ein bistabiler Multivibrator . Die Schaltung kann durch Signale veranlasst werden, die an einen oder mehrere Steuereingänge angelegt werden, und hat einen oder zwei Ausgänge. Es ist das grundlegende Speicherelement in der sequentiellen Logik . Flip-Flops und Latches sind grundlegende Bausteine digitaler elektronischer Systeme, die in Computern, Kommunikationssystemen und vielen anderen Arten von Systemen verwendet werden.

Als Datenspeicherelemente werden Flip-Flops und Latches verwendet. Ein Flip-Flop ist ein Gerät, das ein einzelnes Bit (Binärziffer) von Daten speichert; einer seiner beiden Zustände repräsentiert eine "Eins" und der andere eine "Null". Ein solcher Datenspeicher kann zum Speichern des Zustands verwendet werden , und eine solche Schaltung wird als sequentielle Logik in der Elektronik beschrieben. Bei Verwendung in einem endlichen Automaten hängen die Ausgabe und der nächste Zustand nicht nur von ihrer aktuellen Eingabe ab, sondern auch von ihrem aktuellen Zustand (und damit von vorherigen Eingaben). Es kann auch zum Zählen von Impulsen und zum Synchronisieren von variabel getakteten Eingangssignalen mit einem Referenztaktsignal verwendet werden.

Flip-Flops können entweder pegelgetriggert (asynchron, transparent oder opak) oder flankengetriggert ( synchron oder getaktet ) sein. Der Begriff Flip-Flop hat sich historisch allgemein sowohl auf pegelgetriggerte als auch auf flankengetriggerte Schaltungen bezogen, die ein einzelnes Datenbit unter Verwendung von Gattern speichern. In letzter Zeit reservieren einige Autoren den Begriff Flip-Flop ausschließlich für die Diskussion getakteter Schaltungen; die einfachen werden allgemein als transparente Riegel bezeichnet . Unter Verwendung dieser Terminologie wird ein pegelempfindliches Flip-Flop als transparentes Latch bezeichnet, während ein flankengetriggertes Flip-Flop einfach als Flip-Flop bezeichnet wird. Unter Verwendung beider Terminologien bezieht sich der Begriff "Flip-Flop" auf ein Gerät, das ein einzelnes Datenbit speichert, aber der Begriff "Latch" kann sich auch auf ein Gerät beziehen, das eine beliebige Anzahl von Datenbits unter Verwendung eines einzelnen Triggers speichert. Die Begriffe "flankengetriggert" und "pegelgetriggert" können verwendet werden, um Mehrdeutigkeiten zu vermeiden.

Wenn ein pegelgetriggerter Latch aktiviert wird, wird er transparent, aber der Ausgang eines flankengetriggerten Flip-Flops ändert sich nur bei einem einzigen Typ (positiver oder negativer Verlauf) der Taktflanke.

Geschichte

Flip-Flop-Schaltpläne aus dem 1918 eingereichten Patent von Eccles und Jordan, einer als Kaskade von Verstärkern mit einem positiven Rückkopplungspfad und der andere als symmetrisches Kreuzkopplungspaar gezeichnet

Das erste elektronische Flip-Flop wurde 1918 von den britischen Physikern William Eccles und FW Jordan erfunden . Sie hieß zunächst Eccles-Jordan-Triggerschaltung und bestand aus zwei aktiven Elementen ( Vakuumröhren ). Das Design wurde im britischen Colossus-Codecracking-Computer von 1943 verwendet, und solche Schaltungen und ihre Transistorversionen waren auch nach der Einführung integrierter Schaltungen in Computern üblich , obwohl Flip-Flops aus Logikgattern jetzt ebenfalls üblich sind. Frühe Flip-Flops waren verschiedentlich als Triggerschaltungen oder Multivibratoren bekannt .

Laut PL Lindley, einem Ingenieur am US Jet Propulsion Laboratory , wurden die unten aufgeführten Flip-Flop-Typen (SR, D, T, JK) erstmals 1954 in einem UCLA- Kurs über Computerdesign von Montgomery Phister besprochen und erschienen dann in seinem Buch Logisches Design digitaler Computer. Lindley arbeitete zu dieser Zeit bei Hughes Aircraft unter Eldred Nelson, der den Begriff JK für ein Flip-Flop geprägt hatte, das den Zustand änderte, wenn beide Eingänge eingeschaltet waren (eine logische "Eins"). Die anderen Namen wurden von Phister geprägt. Sie unterscheiden sich geringfügig von einigen der unten angegebenen Definitionen. Lindley erklärt, dass er die Geschichte des JK-Flip-Flops von Eldred Nelson gehört hat, der während seiner Arbeit bei Hughes Aircraft für die Prägung des Begriffs verantwortlich ist . Flip-Flops, die zu dieser Zeit bei Hughes verwendet wurden, waren alle von der Art, die als JK bekannt wurde. Beim Entwerfen eines logischen Systems ordnete Nelson den Flip-Flop-Eingängen Buchstaben wie folgt zu: #1: A & B, #2: C & D, #3: E & F, #4: G & H, #5: J & K. Nelson verwendete in einer 1953 eingereichten Patentanmeldung die Schreibweisen „ j- input“ und „ k- input“.

Implementierung

Eine traditionelle (einfache) Flip-Flop-Schaltung basierend auf Bipolartransistoren

Flip-Flops können entweder einfach (transparent oder asynchron) oder getaktet (synchron) sein. Im Kontext von Hardwarebeschreibungssprachen werden die einfachen als Latches bezeichnet , während die getakteten als Flip-Flops bezeichnet werden .

Einfache Flip-Flops können um ein einzelnes Paar kreuzgekoppelter invertierender Elemente herum aufgebaut werden: Vakuumröhren , Bipolartransistoren , Feldeffekttransistoren , Inverter und invertierende Logikgatter wurden alle in praktischen Schaltungen verwendet.

Getaktete Geräte sind speziell für synchrone Systeme konzipiert; solche Geräte ignorieren ihre Eingaben außer beim Übergang eines dedizierten Taktsignals (bekannt als Takten, Pulsen oder Stroben). Das Takten bewirkt, dass sich das Flipflop entweder ändert oder sein Ausgangssignal basierend auf den Werten der Eingangssignale beim Übergang beibehält. Einige Flip-Flops ändern die Ausgabe bei der steigenden Flanke des Takts, andere bei der fallenden Flanke.

Da die elementaren Verstärkerstufen invertierend sind, können zwei Stufen hintereinander (als Kaskade) geschaltet werden, um den benötigten nicht-invertierenden Verstärker zu bilden. In dieser Konfiguration kann jeder Verstärker als aktives invertierendes Rückkopplungsnetzwerk für den anderen invertierenden Verstärker betrachtet werden. Somit sind die beiden Stufen in einer nicht invertierenden Schleife verbunden, obwohl der Schaltplan normalerweise als symmetrisches kreuzgekoppeltes Paar gezeichnet wird (beide Zeichnungen werden ursprünglich im Eccles-Jordan-Patent eingeführt).

Flip-Flop-Typen

Flip-Flops können in gängige Typen unterteilt werden: SR ("set-reset"), D ("data" oder "delay"), T ("toggle") und JK . Das Verhalten eines bestimmten Typs kann durch die sogenannte charakteristische Gleichung beschrieben werden, die den "nächsten" (dh nach dem nächsten Takt) Ausgang Q next in Bezug auf das (die) Eingangssignal(e) und/oder den Strom herleitet Ausgabe, .

Einfache Set-Reset-Verriegelungen

Wenn statische Gatter als Bausteine ​​verwendet werden, ist der grundlegendste Latch der einfache SR-Latch , wobei S und R für set and reset stehen . Es kann aus einem Paar kreuzgekoppelter NOR- oder NAND- Logikgatter aufgebaut sein . Das gespeicherte Bit liegt am mit Q gekennzeichneten Ausgang an.

SR NOR-Latch

Eine Animation eines SR-Latches, aufgebaut aus einem Paar kreuzgekoppelter NOR-Gatter . Rot und Schwarz bedeuten logische '1' bzw. '0'.
Ein animierter SR-Latch. Schwarz und Weiß bedeuten logische '1' bzw. '0'.
  1. S = 1, R = 0: Set
  2. S = 0, R = 0: Halten
  3. S = 0, R = 1: Zurücksetzen
  4. S = 1, R = 1: Nicht erlaubt
Der Übergang von der eingeschränkten Kombination (D) nach (A) führt zu einem instabilen Zustand.

Während die Eingänge R und S beide niedrig sind, hält die Rückkopplung die Ausgänge Q und Q in einem konstanten Zustand, wobei Q das Komplement von Q ist. Wenn S ( Set ) hoch gepulst wird, während R ( Rücksetzen ) niedrig gehalten wird, dann ist der Ausgang Q wird hoch erzwungen und bleibt hoch, wenn S auf niedrig zurückkehrt; auf ähnliche Weise wird, wenn R hoch gepulst wird, während S niedrig gehalten wird, der Q-Ausgang auf niedrig gezwungen und bleibt niedrig, wenn R auf niedrig zurückkehrt.

SR-Latch-Betrieb
Kennlinientabelle Anregungstabelle
S R Q weiter Handlung Q Q weiter S R
0 0 Q Haltestatus 0 0 0 x
0 1 0 Zurücksetzen 0 1 1 0
1 0 1 Satz 1 0 0 1
1 1 x Nicht erlaubt 1 1 x 0

Hinweis: X bedeutet egal , dh entweder 0 oder 1 ist ein gültiger Wert.

Die Kombination R = S = 1 wird als eingeschränkte Kombination oder als verbotener Zustand bezeichnet, weil, da beide NOR-Gatter dann Nullen ausgeben, die logische Gleichung Q = nicht Q bricht . Die Kombination ist auch in Schaltungen ungeeignet, in denen beide Eingänge gleichzeitig auf Low gehen können (dh ein Übergang von eingeschränkt zu halten ). Die Ausgabe würde entweder bei 1 oder 0 sperren, abhängig von den Laufzeitverhältnissen zwischen den Gattern (eine Race-Bedingung ).

Wie ein SR NOR-Latch funktioniert.

Um die eingeschränkte Kombination zu überwinden, kann man den Eingängen Gatter hinzufügen, die (S, R) = (1, 1)in eine der nicht eingeschränkten Kombinationen umwandeln würden . Das kann sein:

  • Q = 1 (1, 0) – bezeichnet als S (dominierter)-Latch
  • Q = 0 (0, 1) – bezeichnet als R (dominierter)-Latch

Dies geschieht in fast jeder speicherprogrammierbaren Steuerung .

  • Keep state (0, 0) – als E-Latch bezeichnet

Alternativ kann die eingeschränkte Kombination vorgenommen werden, um den Ausgang umzuschalten . Das Ergebnis ist der JK-Latch .

Die charakteristische Gleichung für den SR-Latch lautet:

oder

Ein anderer Ausdruck ist:

mit

SR NAND-Latch

Ein SR- Latch, das aus kreuzgekoppelten NAND-Gattern aufgebaut ist .

Die unten gezeigte Schaltung ist ein grundlegender NAND-Latch. Die Eingänge werden allgemein mit S und R für Set bzw. Reset bezeichnet. Da die NAND-Eingänge normalerweise logisch 1 sein müssen, um eine Beeinflussung der Verriegelungswirkung zu vermeiden, werden die Eingänge in dieser Schaltung als invertiert (oder aktiv niedrig) betrachtet.

Die Schaltung verwendet eine Rückkopplung, um sich zu "erinnern" und ihren logischen Zustand beizubehalten, selbst nachdem sich die steuernden Eingangssignale geändert haben. Wenn die S- und R-Eingänge beide hoch sind, hält die Rückkopplung die Q-Ausgänge im vorherigen Zustand.

SR- Latch-Betrieb
S R Handlung
0 0 Q = 1, Q = 1; nicht erlaubt
0 1 Q = 1
1 0 Q = 0
1 1 Keine Änderung; zufällige Initiale
Symbol für einen SR- NAND-Latch

SR UND-ODER-Latch

Ein SR UND-ODER-Latch. Hellgrün bedeutet logische '1' und dunkelgrün bedeutet logische '0'. Die Verriegelung befindet sich derzeit im Haltemodus (keine Änderung).

Aus pädagogischer Sicht sind SR-Latches, die als Paar kreuzgekoppelter Komponenten (Transistoren, Gates, Röhren usw.) gezeichnet sind, für Anfänger oft schwer zu verstehen. Ein didaktisch leichter verständlicher Weg besteht darin, den Riegel als einzelne Rückkopplungsschleife statt der Kreuzkopplung zu zeichnen. Das Folgende ist ein SR-Latch, das mit einem UND- Gatter mit einem invertierten Eingang und einem ODER- Gatter aufgebaut ist. Beachten Sie, dass der Inverter nicht für die Latch-Funktionalität benötigt wird, sondern um beide Eingänge High-aktiv zu machen.

SR UND-ODER-Latch-Operation
S R Handlung
0 0 Keine Änderung; zufällige Initiale
1 0 Q = 1
x 1 Q = 0

Beachten Sie, dass der SR-UND-ODER-Latch den Vorteil hat, dass S = 1, R = 1 wohldefiniert ist. In der obigen Version des SR UND-ODER-Latch gibt es dem R-Signal Vorrang vor dem S-Signal. Wenn eine Priorität von S gegenüber R erforderlich ist, kann dies erreicht werden, indem der Ausgang Q mit dem Ausgang des ODER-Gatters statt mit dem Ausgang des UND-Gatters verbunden wird.

Der SR AND-OR Latch ist einfacher zu verstehen, da beide Gatter isoliert erklärt werden können. Wenn weder S noch R gesetzt ist, befinden sich sowohl das ODER-Gatter als auch das UND-Gatter im "Haltemodus", dh ihr Ausgang ist der Eingang von der Rückkopplungsschleife. Wenn Eingang S = 1 ist, wird der Ausgang des ODER-Gatters 1, unabhängig vom anderen Eingang der Rückkopplungsschleife ("Set-Modus"). Wenn Eingang R = 1 ist, wird der Ausgang des UND-Gatters 0, unabhängig vom anderen Eingang der Rückkopplungsschleife ("Reset-Modus"). Und da der Ausgang Q direkt mit dem Ausgang des UND-Gatters verbunden ist, hat R Vorrang vor S. Als kreuzgekoppelte Gatter gezeichnete Latches können weniger intuitiv aussehen, da das Verhalten eines Gatters mit dem anderen Gatter verflochten zu sein scheint.

Beachten Sie, dass der SR-UND-ODER-Latch durch logische Transformationen in den SR-NOR-Latch umgewandelt werden kann: Invertieren des Ausgangs des ODER-Gatters und auch des 2. Eingangs des UND-Gatters und Verbinden des invertierten Q-Ausgangs zwischen diesen beiden hinzugefügten Invertern; wobei das UND-Gatter mit beiden invertierten Eingängen einem NOR-Gatter gemäß den Gesetzen von De Morgan entspricht .

JK-Verriegelung

Das JK-Latch wird viel seltener verwendet als das JK-Flip-Flop. Der JK-Latch folgt der folgenden Zustandstabelle:

JK Latch Wahrheitstabelle
J K Q weiter Kommentar
0 0 Q Keine Änderung
0 1 0 Zurücksetzen
1 0 1 Satz
1 1 Q Umschalten

Daher ist der JK-Latch ein SR-Latch, der dazu gebracht wird, seinen Ausgang umzuschalten (zwischen 0 und 1 zu oszillieren), wenn die Eingangskombination von 11 übergeben wird. Im Gegensatz zum JK-Flip-Flop ist die 11-Eingangskombination für den JK-Latch nicht sehr nützlich weil es keine Uhr gibt, die das Umschalten steuert.

Gated Latches und bedingte Transparenz

Die Riegel sind transparent gestaltet. Das heißt, Änderungen des Eingangssignals verursachen sofortige Änderungen der Ausgabe. Eine zusätzliche Logik kann zu einer einfachen transparenten Latch hinzugefügt werden , um es nicht-transparent oder opak , wenn ein anderer Eingang (ein „Enable“ -Eingang) nicht aktiviert ist. Wenn mehrere transparente Latches aufeinander folgen und dasselbe Freigabesignal verwenden, können sich Signale durch alle gleichzeitig ausbreiten. Indem jedoch einem Transparent-High- Latch mit einem Transparent-Low (oder Opak-High )-Latch gefolgt wird, wird ein Master-Slave-Flipflop implementiert.

Gated SR-Verriegelung

NAND Gated SR Latch (getaktetes SR Flip-Flop). Beachten Sie die invertierten Eingänge.
Ein Gatter-SR-Latch-Schaltbild, das aus UND- Gattern (links) und NOR- Gattern (rechts) aufgebaut ist.

Ein synchroner SR-Latch (manchmal getaktetes SR-Flipflop ) kann durch Hinzufügen einer zweiten Ebene von NAND-Gattern zum invertierten SR-Latch (oder einer zweiten Ebene von UND-Gattern zum direkten SR-Latch) hergestellt werden. Die zusätzlichen NAND-Gatter invertieren die Eingänge weiter, so dass der SR- Latch zu einem gated SR-Latch wird (und ein SR-Latch würde sich in einen gated SR- Latch mit invertierter Freigabe verwandeln ).

Bei E hoch ( enable true) können die Signale durch die Eingangsgates zum gekapselten Latch gelangen; alle Signalkombinationen außer (0, 0) = hold reproduzieren dann sofort am (Q, Q ) Ausgang, dh das Latch ist transparent .

Bei E low ( enable false ) ist der Latch geschlossen (opak) und verbleibt in dem Zustand, in dem er das letzte Mal verlassen wurde, als E high war.

Der Freigabeeingang ist manchmal ein Taktsignal , aber häufiger ein Lese- oder Schreibstrobe. Wenn der Freigabeeingang ein Taktsignal ist, wird das Latch als pegelempfindlich (auf den Pegel des Taktsignals) bezeichnet, im Gegensatz zu flankenempfindlichen wie Flip-Flops unten.

Gated SR-Latch-Betrieb
E/C Handlung
0 Keine Aktion (Zustand beibehalten)
1 Das gleiche wie bei nicht getaktetem SR-Latch
Symbol für einen gated SR-Latch

Gated D-Verriegelung

Dieser Latch nutzt die Tatsache aus, dass in den beiden aktiven Eingangskombinationen (01 und 10) eines torgesteuerten SR-Latch R das Komplement von S ist. Die Eingangs-NAND-Stufe wandelt die beiden D-Eingangszustände (0 und 1) in diese beiden Eingänge um Kombinationen für den nächsten SR- Latch durch Invertieren des Dateneingangssignals. Der niedrige Zustand des Freigabesignals erzeugt die inaktive "11"-Kombination. Somit kann ein torgesteuerter D-Latch als ein synchroner SR-Latch mit einem Eingang betrachtet werden . Diese Konfiguration verhindert die Anwendung der eingeschränkten Eingabekombination. Es ist auch als transparentes Latch , Datenlatch oder einfach Gated Latch bekannt . Es hat einen Dateneingang und ein Freigabesignal (manchmal auch Clock oder Control genannt ). Das Wort transparent kommt von der Tatsache , dass, wenn der Aktivierungseingang aktiv ist, um das Signal breitet mich direkt durch die Schaltung von dem Eingang D an den Ausgang Q. Gated D-Latches ist auch pegelempfindliche in Bezug auf die Pegel des Taktes oder Freigabesignal.

Transparente Latches werden typischerweise als E/A-Ports oder in asynchronen Systemen verwendet, oder in synchronen Zweiphasensystemen ( synchrone Systeme , die einen Zweiphasentakt verwenden ), wo zwei Latches, die auf unterschiedlichen Taktphasen arbeiten, die Datentransparenz wie in einem Master verhindern. Slave-Flipflop.

Latches sind als integrierte Schaltkreise erhältlich , normalerweise mit mehreren Latches pro Chip. Zum Beispiel 74HC75 ist eine Quadruple transparente Verriegelung in der Serie 7400 .

Die Wahrheitstabelle unten zeigt , dass , wenn die e Nable / c Sperrsignaleingang 0 ist, hat der D - Eingang keine Wirkung auf den Ausgang. Wenn E/C hoch ist, ist die Ausgabe gleich D.

Gated D-Latch-Wahrheitstabelle
E/C D Q Q Kommentar
0 x Q zurück Q zurück Keine Änderung
1 0 0 1 Zurücksetzen
1 1 1 0 Satz
Symbol für einen gated D-Latch

Früher Riegel

Die klassischen Torverriegelungskonstruktionen weisen einige unerwünschte Eigenschaften auf. Sie benötigen eine Doppelschienenlogik oder einen Wechselrichter. Die Übertragung von Eingang zu Ausgang kann bis zu drei Gate-Verzögerungen erfordern. Die Ausbreitung von Eingang zu Ausgang ist nicht konstant – einige Ausgänge benötigen zwei Gate-Verzögerungen, während andere drei benötigen.

Designer suchten nach Alternativen. Eine gelungene Alternative ist der Earle Riegel. Er benötigt nur einen einzigen Dateneingang, und sein Ausgang benötigt konstant zwei Gate-Verzögerungen. Darüber hinaus können die beiden Gate-Ebenen des Earle-Latch in einigen Fällen mit den letzten beiden Gate-Ebenen der Schaltungen, die das Latch ansteuern, zusammengeführt werden, da viele gängige Rechenschaltungen eine ODER-Schicht gefolgt von einer UND-Schicht als ihre letzten beiden Ebenen haben . Das Zusammenführen der Latch-Funktion kann das Latch ohne zusätzliche Gate-Verzögerungen implementieren. Die Zusammenführung wird allgemein beim Design von Pipeline-Computern ausgenutzt und wurde tatsächlich ursprünglich von John G. Earle entwickelt, um zu diesem Zweck im IBM System/360 Model 91 verwendet zu werden.

Die Earle-Verriegelung ist gefahrlos. Wenn das mittlere NAND-Gatter weggelassen wird, erhält man den Polarity Hold Latch , der häufig verwendet wird, weil er weniger Logik erfordert. Es ist jedoch anfällig für logische Gefahren . Durch absichtliches Verzerren des Taktsignals kann die Gefahr vermieden werden.

D-Flipflop

D-Flip-Flop-Symbol

Das D-Flipflop ist weit verbreitet. Es ist auch als "Daten"- oder "Verzögerungs"-Flip-Flop bekannt.

Das D-Flip-Flop erfasst den Wert des D-Eingangs zu einem bestimmten Teil des Taktzyklus (wie der ansteigenden Flanke des Takts). Dieser erfasste Wert wird zum Q-Ausgang. Zu anderen Zeiten ändert sich der Ausgang Q nicht. Das D-Flip-Flop kann als Speicherzelle, als Hold nullter Ordnung oder als Verzögerungsleitung betrachtet werden .

Wahrheitstabelle:

Uhr D Q weiter
Steigende Flanke 0 0
Steigende Flanke 1 1
nicht steigend x Q

( X steht für eine egale Bedingung, was bedeutet, dass das Signal irrelevant ist)

Die meisten D-Flip-Flops in ICs können in den Set- oder Reset-Zustand gezwungen werden (wobei die D- und Takteingänge ignoriert werden), ähnlich wie ein SR-Flip-Flop. Normalerweise wird die unzulässige S = R = 1-Bedingung in D-Flip-Flops aufgelöst. Das Setzen von S = R = 0 bewirkt, dass sich das Flip-Flop wie oben beschrieben verhält. Hier ist die Wahrheitstabelle für die anderen möglichen S- und R-Konfigurationen:

Eingänge Ausgänge
S R D > Q Q
0 1 x x 0 1
1 0 x x 1 0
1 1 x x 1 1

Diese Flip-Flops sind sehr nützlich, da sie die Grundlage für Schieberegister bilden , die ein wesentlicher Bestandteil vieler elektronischer Geräte sind. Der Vorteil des D-Flipflops gegenüber dem "transparenten Latch" vom D-Typ besteht darin, dass das Signal am D-Eingangspin in dem Moment erfasst wird, in dem das Flipflop getaktet wird, und nachfolgende Änderungen am D-Eingang werden bis zum nächsten ignoriert Uhr Ereignis. Eine Ausnahme ist, dass einige Flip-Flops einen "Rücksetz"-Signaleingang haben, der Q (auf Null) zurücksetzt und entweder asynchron oder synchron mit dem Takt sein kann.

Die obige Schaltung verschiebt den Inhalt des Registers nach rechts, eine Bitposition bei jedem aktiven Übergang des Takts. Der Eingang X wird in die ganz linke Bitposition verschoben.

Klassisches positiv flankengetriggertes D-Flip-Flop

Einige verschiedene Arten von flankengetriggerten D-Flip-Flops
Ein positiv flankengetriggertes D-Flip-Flop
Ein positiv flankengetriggertes D-Flip-Flop
Ein positiv flankengetriggertes D-Flip-Flop mit Set und Reset
Ein positiv flankengetriggertes D-Flip-Flop mit Set und Reset

Diese Schaltung besteht aus zwei Stufen, die durch SR- NAND-Latches implementiert werden . Die Eingangsstufe (die beiden Latches links) verarbeitet die Takt- und Datensignale, um korrekte Eingangssignale für die Ausgangsstufe (der einzelne Latch rechts) sicherzustellen. Wenn der Takt niedrig ist, sind beide Ausgangssignale der Eingangsstufe hoch, unabhängig von der Dateneingabe; das Ausgangslatch ist nicht betroffen und speichert den vorherigen Zustand. Wenn sich das Taktsignal von niedrig auf hoch ändert, wird nur eine der Ausgangsspannungen (abhängig vom Datensignal) niedrig und setzt/setzt den Ausgangs-Latch zurück: wenn D = 0, wird der untere Ausgang niedrig; wenn D = 1, wird der obere Ausgang niedrig. Wenn das Taktsignal weiterhin hoch bleibt, behalten die Ausgänge ihre Zustände ungeachtet des Dateneingangs und zwingen den Ausgangs-Latch, im entsprechenden Zustand zu bleiben, da die logische Null des Eingangs (der Ausgangsstufe) aktiv bleibt, während der Takt hoch ist. Daher besteht die Rolle des Ausgangs-Latch darin, die Daten nur zu speichern, während der Takt niedrig ist.

Die Schaltung ist eng mit dem Gate-D-Latch verwandt, da beide Schaltungen die beiden D-Eingangszustände (0 und 1) in zwei Eingangskombinationen (01 und 10) für den Ausgangs- SR- Latch umwandeln, indem sie das Dateneingangssignal invertieren (beide Schaltungen teilen sich). das einzelne D-Signal in zwei komplementäre S- und R- Signale). Der Unterschied besteht darin, dass im Gated D-Latch einfache NAND-Logikgatter verwendet werden, während im positiv flankengetriggerten D-Flip-Flop SR NAND-Latches für diesen Zweck verwendet werden. Die Rolle dieser Latches besteht darin, den aktiven Ausgang zu "sperren", der eine niedrige Spannung (eine logische Null) erzeugt; somit kann man sich das positivflankengetriggerte D-Flip-Flop auch als Gatter-D-Latch mit verriegelten Eingangsgattern vorstellen.

Master-Slave flankengetriggertes D-Flipflop

Ein Master-Slave-D-Flipflop. Es reagiert auf die fallende Flanke des Freigabeeingangs (normalerweise ein Takt)
Eine Implementierung eines Master-Slave-D-Flip-Flops, das an der steigenden Flanke des Takts getriggert wird

Ein Master-Slave-D-Flip-Flop wird erzeugt, indem zwei Gatter-D-Latches in Reihe geschaltet werden und der Freigabeeingang in einen von ihnen invertiert wird . Es wird Master-Slave genannt, weil das Master-Latch den Ausgangswert Q des Slave-Latches steuert und das Slave-Latch zwingt, seinen Wert zu halten, wenn das Slave-Latch aktiviert wird, da das Slave-Latch immer seinen neuen Wert vom Master-Latch kopiert und seinen Wert ändert nur als Reaktion auf eine Änderung des Wertes des Master-Latch- und Taktsignals.

Bei einem durch positive Flanken getriggerten Master-Slave-D-Flip-Flop ist, wenn das Taktsignal niedrig (logisch 0) ist, die "Freigabe", die vom ersten oder "Master"-D-Latch (das invertierte Taktsignal) gesehen wird, hoch (logisch 1) . Dadurch kann der "Master"-Latch den Eingangswert speichern, wenn das Taktsignal von niedrig auf hoch übergeht. Wenn das Taktsignal hoch (0 bis 1) geht, wird die invertierte "Freigabe" des ersten Latch niedrig (1 bis 0) und der am Eingang zum Master-Latch gesehene Wert wird "gesperrt". Nahezu gleichzeitig geht die zweimal invertierte "Freigabe" des zweiten oder "Slave"-D-Latch mit dem Taktsignal von niedrig auf hoch (0 auf 1) über. Dadurch kann das Signal, das an der steigenden Flanke des Takts durch das nun "verriegelte" Master-Latch erfasst wird, das "Slave"-Latch passieren. Wenn das Taktsignal auf Low (1 bis 0) zurückkehrt, wird der Ausgang des "Slave"-Latch "verriegelt", und der Wert, der bei der letzten steigenden Flanke des Takts gesehen wurde, wird gehalten, während der "Master"-Latch beginnt, neue zu akzeptieren Werte in Vorbereitung auf die nächste steigende Taktflanke.

Das Entfernen des am weitesten links liegenden Inverters in der Schaltung erzeugt ein D-Flip-Flop, das bei der abfallenden Flanke eines Taktsignals stroboskopiert. Dies hat eine Wahrheitstabelle wie diese:

D Q > Q weiter
0 x Fallen 0
1 x Fallen 1

Dual-flankengetriggertes D-Flip-Flop

Eine Implementierung eines Dual-Flanken-getriggerten D-Flip-Flops

Flip-Flops, die bei steigender und fallender Taktflanke einen neuen Wert einlesen, werden als Dual-Flanken-getriggerte Flip-Flops bezeichnet. Ein solches Flip-Flop kann unter Verwendung von zwei einflankengetriggerten D-Flip-Flops und einem Multiplexer aufgebaut werden, wie in der Abbildung gezeigt.

Schaltsymbol eines zweiflankengetriggerten D-Flip-Flops

Flankengetriggertes dynamisches D-Speicherelement

Eine CMOS-IC-Implementierung eines dynamischen flankengetriggerten Flip-Flops mit Reset

Eine effiziente funktionale Alternative zu einem D-Flip-Flop kann mit dynamischen Schaltungen (bei denen Informationen in einer Kapazität gespeichert werden) hergestellt werden, solange sie oft genug getaktet werden; Obwohl es kein echtes Flip-Flop ist, wird es wegen seiner funktionalen Rolle dennoch als Flip-Flop bezeichnet. Während das Master-Slave-D-Glied auf die Flanke eines Taktes getriggert wird, werden seine Komponenten jeweils durch Taktpegel getriggert. Das "flankengetriggerte D-Flip-Flop", wie es genannt wird, obwohl es kein echtes Flip-Flop ist, besitzt nicht die Master-Slave-Eigenschaften.

Flankengetriggerte D-Flip-Flops werden häufig in integrierten Hochgeschwindigkeitsoperationen unter Verwendung dynamischer Logik implementiert . Dies bedeutet, dass der digitale Ausgang auf der parasitären Gerätekapazität gespeichert wird, während das Gerät nicht übergeht. Diese Gestaltung dynamischer Flip-Flops ermöglicht auch ein einfaches Rücksetzen, da der Rücksetzvorgang durch einfaches Entladen eines oder mehrerer interner Knoten durchgeführt werden kann. Eine übliche dynamische Flip-Flop-Variante ist der True-Single-Phase-Clock-(TSPC)-Typ, der den Flip-Flop-Betrieb mit geringer Leistung und mit hohen Geschwindigkeiten durchführt. Dynamische Flip-Flops funktionieren jedoch typischerweise nicht bei statischen oder niedrigen Taktgeschwindigkeiten: Wenn genügend Zeit gegeben ist, können Leckpfade die parasitäre Kapazität so weit entladen, dass das Flip-Flop in ungültige Zustände eintritt.

T-Flipflop

Ein Schaltsymbol für ein T-Flip-Flop

Wenn der T-Eingang hoch ist, ändert das T-Flip-Flop seinen Zustand ("toggles"), wenn der Takteingang abgetastet wird. Wenn der T-Eingang niedrig ist, hält das Flip-Flop den vorherigen Wert. Dieses Verhalten wird durch die charakteristische Gleichung beschrieben :

(Erweitern des XOR- Operators)

und kann in einer Wahrheitstabelle beschrieben werden :

T-Flip-Flop-Betrieb
Kennlinientabelle Anregungstabelle
Kommentar Kommentar
0 0 0 Haltezustand (keine Uhr) 0 0 0 Keine Änderung
0 1 1 Haltezustand (keine Uhr) 1 1 0 Keine Änderung
1 0 1 Umschalten 0 1 1 Ergänzen
1 1 0 Umschalten 1 0 1 Ergänzen

Wenn T hoch gehalten wird, teilt das Kipp-Flip-Flop die Taktfrequenz durch zwei; das heißt, wenn die Taktfrequenz 4 MHz beträgt, beträgt die vom Flip-Flop erhaltene Ausgangsfrequenz 2 MHz. Dieses "Teilen durch"-Merkmal findet Anwendung bei verschiedenen Arten von digitalen Zählern . Ein AT-Flip-Flop kann auch mit einem JK-Flip-Flop (J- und K-Pins sind miteinander verbunden und fungieren als T) oder einem D-Flip-Flop (T-Eingang XOR Q treibt den D-Eingang zuvor angesteuert) gebaut werden.

JK-Flipflop

Ein Schaltsymbol für ein positiv flankengetriggertes JK-Flipflop
JK-Flipflop-Zeitdiagramm

Das JK-Flipflop erweitert das Verhalten des SR-Flipflops (J: Set, K: Reset), indem es die Bedingung J = K = 1 als "Flip"- oder Toggle-Befehl interpretiert. Insbesondere ist die Kombination J = 1, K = 0 ein Befehl zum Setzen des Flip-Flops; die Kombination J = 0, K = 1 ist ein Befehl zum Rücksetzen des Flip-Flops; und die Kombination J = K = 1 ist ein Befehl, um das Flip-Flop umzuschalten, dh seinen Ausgang in das logische Komplement seines aktuellen Wertes zu ändern. Durch Setzen von J = K = 0 wird der aktuelle Zustand beibehalten. Um ein D-Flipflop zu synthetisieren, setzen Sie einfach K gleich dem Komplement von J (Eingang J fungiert als Eingang D). Um ein T-Flip-Flop zu synthetisieren, setzen Sie K gleich J. Das JK-Flip-Flop ist daher ein universelles Flip-Flop, da es so konfiguriert werden kann, dass es als SR-Flip-Flop, D-Flip-Flop oder arbeitet ein T-Flipflop.

Die charakteristische Gleichung des JK-Flip-Flops lautet:

und die zugehörige Wahrheitstabelle ist:

JK-Flip-Flop-Betrieb
Kennlinientabelle Anregungstabelle
J K Kommentar Q weiter Q Q weiter Kommentar J K
0 0 Haltestatus Q 0 0 Keine Änderung 0 x
0 1 Zurücksetzen 0 0 1 Satz 1 x
1 0 Satz 1 1 0 Zurücksetzen x 1
1 1 Umschalten Q 1 1 Keine Änderung x 0

Timing-Überlegungen

Timing-Parameter

Flip-Flop-Setup, Hold und Clock-to-Output-Timing-Parameter

Der Eingang muss in einem Zeitraum um die ansteigende Flanke des Taktgebers, der als Apertur bezeichnet wird, stabil gehalten werden. Stellen Sie sich vor, Sie machen ein Foto von einem Frosch auf einem Seerosenblatt. Angenommen, der Frosch springt dann ins Wasser. Wenn Sie den Frosch beim Sprung ins Wasser fotografieren, erhalten Sie ein verschwommenes Bild des ins Wasser springenden Frosches – es ist nicht klar, in welchem ​​​​Zustand sich der Frosch befand. Aber wenn Sie ein Foto machen, während der Frosch ruhig sitzt auf dem Pad (oder ständig im Wasser) erhalten Sie ein klares Bild. Auf die gleiche Weise muss der Eingang eines Flip-Flops während der Öffnung des Flip-Flops ruhig gehalten werden.

Die Setup-Zeit ist die minimale Zeit, die die Dateneingabe vor dem Taktereignis stabil gehalten werden sollte , damit die Daten zuverlässig von der Uhr abgetastet werden.

Die Haltezeit ist die minimale Zeitdauer, für die die Dateneingabe nach dem Taktereignis stabil gehalten werden sollte , damit die Daten zuverlässig von der Uhr abgetastet werden.

Die Blende ist die Summe aus Setup- und Haltezeit. Die Dateneingabe sollte während dieser Zeit konstant gehalten werden.

Die Wiederherstellungszeit ist die Mindestzeit, die der asynchrone Set- oder Reset-Eingang vor dem Taktereignis inaktiv sein sollte , damit die Daten zuverlässig von der Uhr abgetastet werden. Die Erholungszeit für den asynchronen Set- oder Reset-Eingang ist dabei ähnlich der Setup-Zeit für den Dateneingang.

Die Entfernungszeit ist die Mindestzeit, für die der asynchrone Set- oder Reset-Eingang nach dem Taktereignis inaktiv sein sollte , damit die Daten zuverlässig von der Uhr abgetastet werden. Die Wegnahmezeit für den asynchronen Set- oder Reset-Eingang ist dabei ähnlich der Haltezeit für den Dateneingang.

An asynchronen Eingängen angelegte kurze Impulse (Setzen, Reset) sollten innerhalb der Erholungs-Entfernungs-Periode nicht vollständig angelegt werden, da sonst völlig unbestimmbar wird, ob das Flip-Flop in den entsprechenden Zustand übergeht. In einem anderen Fall, in dem ein asynchrones Signal einfach einen Übergang macht, der zufällig zwischen der Erholungs-/Entfernungszeit liegt, geht das Flip-Flop schließlich in den entsprechenden Zustand über, aber ein sehr kurzer Glitch kann oder kann nicht am Ausgang erscheinen, abhängig auf dem synchronen Eingangssignal. Diese zweite Situation kann für einen Schaltungsentwurf von Bedeutung sein oder auch nicht.

Setz- und Rücksetz- (und andere) Signale können entweder synchron oder asynchron sein und können daher entweder mit Setup/Hold- oder Recovery/Removal-Zeiten gekennzeichnet sein, und die Synchronität hängt stark von der Gestaltung des Flip-Flops ab.

Bei der Überprüfung des Timings größerer Schaltungen ist häufig eine Unterscheidung zwischen Setup/Hold- und Recovery/Demove-Zeiten erforderlich, da asynchrone Signale als weniger kritisch als synchrone Signale angesehen werden können. Die Differenzierung bietet Schaltungsdesignern die Möglichkeit, die Prüfbedingungen für diese Signaltypen unabhängig zu definieren.

Metastabilität

Flip-Flops unterliegen einem Problem namens Metastabilität , das auftreten kann, wenn sich zwei Eingänge, wie Daten und Takt oder Takt und Reset, ungefähr gleichzeitig ändern. Wenn die Reihenfolge innerhalb geeigneter Zeitbeschränkungen nicht klar ist, kann sich der Ausgang unvorhersehbar verhalten, ein Vielfaches länger als normal dauern, um sich in den einen oder anderen Zustand einzuschwingen, oder sogar mehrmals oszillieren, bevor er sich einschwingt. Theoretisch ist die Eingewöhnungszeit nicht begrenzt. In einem Computersystem kann diese Metastabilität eine Beschädigung von Daten oder einen Programmabsturz verursachen, wenn der Zustand nicht stabil ist, bevor eine andere Schaltung ihren Wert verwendet; insbesondere, wenn zwei verschiedene logische Pfade den Ausgang eines Flip-Flops verwenden, kann ein Pfad ihn als 0 und der andere als 1 interpretieren, wenn er nicht in einen stabilen Zustand aufgelöst wurde, wodurch die Maschine in einen inkonsistenten Zustand versetzt wird.

Die Metastabilität in Flip-Flops kann vermieden werden, indem sichergestellt wird, dass die Daten- und Steuereingänge für bestimmte Zeiträume vor und nach dem Taktimpuls gültig und konstant gehalten werden, die als Setup-Zeit (t su ) bzw. Haltezeit (t h ) bezeichnet werden. Diese Zeiten sind im Datenblatt des Geräts angegeben und liegen bei modernen Geräten typischerweise zwischen einigen Nanosekunden und einigen hundert Pikosekunden. Abhängig von der internen Organisation des Flip-Flops ist es möglich, ein Gerät mit einer Null- (oder sogar negativen) Einrichtungs- oder Haltezeitanforderung zu bauen, aber nicht beides gleichzeitig.

Leider ist es nicht immer möglich, die Setup-and-Hold-Kriterien zu erfüllen, da das Flip-Flop mit einem Echtzeitsignal verbunden sein kann, das sich außerhalb der Kontrolle des Designers jederzeit ändern kann. In diesem Fall kann der Konstrukteur die Fehlerwahrscheinlichkeit je nach erforderlicher Zuverlässigkeit der Schaltung auf ein bestimmtes Maß reduzieren. Eine Technik zum Unterdrücken der Metastabilität besteht darin, zwei oder mehr Flip-Flops in einer Kette zu verbinden, so dass der Ausgang eines jeden den Dateneingang des nächsten speist und alle Geräte einen gemeinsamen Takt haben. Mit dieser Methode kann die Wahrscheinlichkeit eines metastabilen Ereignisses auf einen vernachlässigbaren Wert, aber niemals auf Null reduziert werden. Die Wahrscheinlichkeit der Metastabilität nähert sich immer mehr Null an, wenn die Anzahl der in Reihe geschalteten Flip-Flops erhöht wird. Die Anzahl der kaskadierten Flip-Flops wird als "Ranking" bezeichnet; "Doppelrangige" Flip-Flops (zwei Flip-Flops in Reihe) sind eine übliche Situation.

Es gibt zwar sogenannte metastabil gehärtete Flip-Flops, die die Einrichtungs- und Haltezeiten so weit wie möglich reduzieren, aber auch diese können das Problem nicht vollständig beseitigen. Denn Metastabilität ist mehr als nur eine Frage des Schaltungsdesigns. Wenn die Übergänge im Takt und in den Daten zeitlich nahe beieinander liegen, wird das Flip-Flop gezwungen zu entscheiden, welches Ereignis zuerst eintritt. So schnell das Gerät auch hergestellt wird, es besteht immer die Möglichkeit, dass die Eingabeereignisse so nah beieinander liegen, dass nicht erkannt werden kann, welches Ereignis zuerst aufgetreten ist. Es ist daher logisch unmöglich, ein perfekt metastabiles Flip-Flop zu bauen. Flip-Flops sind manchmal durch eine maximale Einschwingzeit gekennzeichnet (die maximale Zeit, in der sie unter bestimmten Bedingungen metastabil bleiben). In diesem Fall sorgen zweistufige Flip-Flops, die langsamer als die maximal zulässige Metastabilitätszeit getaktet werden, für eine geeignete Aufbereitung für asynchrone (zB externe) Signale.

Ausbreitungsverzögerung

Ein weiterer wichtiger Zeitwert für ein Flip-Flop ist die Takt-zu-Ausgang-Verzögerung (gemeinsames Symbol in Datenblättern: t CO ) oder Ausbreitungsverzögerung (t P ), das ist die Zeit, die ein Flip-Flop braucht, um seinen Ausgang nach dem . zu ändern Uhr Kante. Die Zeit für einen Hoch-zu-Niedrig-Übergang (t PHL ) unterscheidet sich manchmal von der Zeit für einen Niedrig-zu-Hoch-Übergang (t PLH ).

Beim Kaskadieren von Flip-Flops, die den gleichen Takt teilen (wie in einem Schieberegister ), ist es wichtig sicherzustellen, dass die t CO eines vorhergehenden Flip-Flops länger ist als die Haltezeit (t h ) des folgenden Flip-Flops, so werden Daten, die am Eingang des nachfolgenden Flip-Flops anliegen, nach der aktiven Flanke des Takts richtig "hineingeschoben". Diese Beziehung zwischen T CO und t h ist in der Regel gewährleistet , wenn der Flip-Flop physisch identisch ist. Ferner ist für den korrekten Betrieb ist es leicht , zu überprüfen, ob die Taktperiode größer sein muss als die Summe t su  + t h .

Verallgemeinerungen

Flipflops können auf mindestens zwei Arten verallgemeinert werden: indem man sie 1-aus-N statt 1-aus-2 macht und indem man sie an eine Logik mit mehr als zwei Zuständen anpasst. In den Sonderfällen der 1-aus-3-Codierung oder der mehrwertigen ternären Logik kann ein solches Element als Flip-Flap-Flop bezeichnet werden .

Bei einem herkömmlichen Flip-Flop ist genau einer der beiden komplementären Ausgänge hoch. Dies kann auf ein Speicherelement mit N Ausgängen verallgemeinert werden, von denen genau einer hoch ist (alternativ genau einer von N niedrig ist). Die Ausgabe ist daher immer eine One-Hot (bzw. One-Cold ) Darstellung. Der Aufbau ähnelt einem herkömmlichen kreuzgekoppelten Flip-Flop; jeder Ausgang, wenn er hoch ist, sperrt alle anderen Ausgänge. Alternativ können mehr oder weniger konventionelle Flip-Flops verwendet werden, eines pro Ausgang, mit zusätzlicher Schaltung, um sicherzustellen, dass nur eines gleichzeitig wahr ist.

Eine weitere Verallgemeinerung des herkömmlichen Flip-Flops ist ein Speicherelement für mehrwertige Logik . In diesem Fall behält das Speicherelement genau einen der logischen Zustände bei, bis die Steuereingänge eine Änderung bewirken. Außerdem kann auch ein mehrwertiger Takt verwendet werden, was zu neuen möglichen Taktübergängen führt.

Siehe auch

Verweise

Externe Links