Ich lese gerade über Pulsed Latch Circuit. Und es gibt eine häufige Erwähnung von "Haltezeitverletzung". Mögen:
Für die Verriegelung müssen "... Daten über einen längeren Zeitraum gespeichert werden, was die wahrscheinliche Anzahl von Verstößen gegen die Haltezeit erhöht".
Bitte erläutern Sie, welche Verletzung der Haltezeit im Zusammenhang mit Latches vorliegt.
digital-logic
timing
flipflop
Vinayak Garg
quelle
quelle
Antworten:
Ein flankengetriggertes Latch (Flipflop) tastet die Datenleitung idealerweise sofort an einer der Flanken des Takts ab. Da jedoch nichts wirklich augenblicklich ist, müssen die Daten für eine begrenzte Zeitspanne um die Taktflanke gültig sein. Die Zeit, die festgelegt werden muss, bevor die Taktflanke als Einrichtzeit bezeichnet wird , und die Zeit, die festgelegt werden muss, nachdem die Taktflanke als Haltezeit bezeichnet wird .
Hinzugefügt:
Haltezeit Verletzung ist eine Verletzung der Haltezeit erforderlich. Wenn im Datenblatt angegeben ist, dass die minimal erforderliche Haltezeit 10 ns beträgt und Sie die Daten 5 ns nach der Taktflanke ändern, haben Sie eine Verletzung der Haltezeit begangen, und es gibt keine Garantie dafür, welcher Datenwert auf dem Flipflop-Ausgang landet.
quelle
Olin war klar, aber ich möchte einige Details zum Pulsed Latch Register hinzufügen und warum diese Architektur möglicherweise andere Anforderungen an die Haltezeit in Bezug auf andere Flip-Flops hat.
Erstens: der Unterschied zwischen Latch und Flip-Flop
Wie Sie wahrscheinlich wissen, ist ein Latch eine Schaltung, die in der Grundform einen Eingang, einen Ausgang und einen Takt hat; Wenn der Takt einen bestimmten Wert hat - beispielsweise hoch für einen positiven Latch -, ist der Latch transparent , was bedeutet, dass der Ausgang den Eingang repliziert. Wenn sich die Uhr auf dem anderen Pegel befindet - in diesem Fall niedrig -, wird der Ausgang auf dem Wert gehalten, der vor dem Pendeln der Uhr war.
Das Flip-Flop hat die gleiche Pin-Konfiguration, weist jedoch einen Unterschied auf: Es hält den Wert mit dem Takt sowohl hoch als auch niedrig und tastet den neuen Wert an der Flanke (positiv oder negativ) des Takts ab.
Pulsed Latch Flip-Flop
Ein gepulstes Latch-Flipflop ist nichts anderes als ein normales Latch, bei dem der Takt durch einen sehr kurzen Impuls angesteuert wird. Auf diese Weise ist die Zeit, in der der Latch transparent ist, sehr kurz und verhält sich tatsächlich wie ein Flip-Flop.
Wenn darüber hinaus eine Schaltung verwendet wird, um den Impuls aus einem normalen Rechteckwellentakt zu erzeugen, verhält sich die gesamte Schaltung tatsächlich wie ein Flip-Flop.
Zeitverletzung halten
Das Problem ist, dass Sie bei einem bestimmten Technologieprozess aufgrund der Leitfähigkeit des Treibergates und der Eingangskapazität des folgenden mehr oder weniger eine maximale Geschwindigkeit haben, mit der Sie ein Signal pendeln können. Wenn Sie einen gepulsten Latch in Betracht ziehen, pendelt das pulsierende Signal auf den transparenten Wert, bleibt auf diesem Pegel, um die Rüstzeit des Latch zu erfüllen , und pendelt dann erneut in einer Zeit, die die Haltezeit darstellt .
Die Zeit, in der der Eingang gehalten werden muss, um ihn richtig abzutasten, entspricht also der Dauer des Impulses, der der Abtastung entspricht, was ungefähr der doppelten Zeit entspricht, die das Flanken-Trigger-Flip-Flop benötigt. Daher die Zunahme der Verstöße gegen die Haltezeit
quelle
In einer typischen Verriegelungsschaltung (Flip-Flop, Latch oder Kombination von Gattern, die ein Latching-Verhalten aufweisen) gibt es ein bestimmtes Fenster, in dem das Gerät den Zustand der Eingänge erfasst, wenn sich der Zustand des Takt- oder Latch-Enable-Eingangs ändert. Alle Änderungen an den Eingaben vor dem Start dieses Fensters wirken sich auf die Ausgaben aus. Änderungen nach dem Ende dieses Fensters werden nicht. Der Start des Fensters ist durch die "Rüstzeit" gekennzeichnet; Das Ende des Fensters ist durch die "Haltezeit" gekennzeichnet. Wenn sich die Eingabe während des Fensters ändert und erwartet wird, dass die Ausgabe den neuen Status widerspiegelt, wird eine solche Bedingung im Allgemeinen als "Verletzung der Einrichtungszeit" bezeichnet. Wenn sich die Eingabe während des Fensters ändert und erwartet wird, dass die Ausgabe den alten Zustand widerspiegelt, wird die Bedingung im Allgemeinen als "Haltezeitverletzung" bezeichnet. Aus gestalterischer Sicht ist die Unterscheidung nützlich: Verstöße gegen die Rüstzeit werden behoben, indem ein Signal relativ zur Uhr früher eintrifft (oder die Uhr später eintrifft); Verstöße gegen die Haltezeit werden behoben, indem das Signal später eintrifft.
Ein wichtiger Punkt, der in anderen Antworten nicht erwähnt wird, ist jedoch, dass Eingabeänderungen, die innerhalb des verbotenen Fensters auftreten, dazu führen können, dass die Latch-Ausgabe auf den neuen Wert geändert wird oder ignoriert wird. Sie können jedoch auch dazu führen, dass der Latch in ein unangenehmes "Metastabil" eintritt "Zustand, was zu nicht spezifiziertem Verhalten führt . Ein Latch kann zum Beispiel angeben, dass sein Ausgang nach einem Eingangstaktimpuls einen Wert von 10 ns hat, aber eine solche Garantie gilt nur, wenn keine Zeitverletzungen vorliegen. Wenn sich die Eingabe in einen Latch innerhalb des verbotenen Fensters ändert, kann die Ausgabe beliebig lange dauernZeit zum Umschalten, oder es kann schnell umschalten, aber dann - einige beliebige Zeit später, spontan zurückschalten. Um eine Analogie zu verwenden, stellen Sie sich eine Bowlingkugel vor, die auf eine Stecknadel schlägt. Wenn es den Stift sauber trifft, fällt der Stift sofort um. Wenn der Ball kaum auf den Stift blickt, kann der Stift schnell wieder ein aufrechtes Gleichgewicht erreichen. Jede der oben genannten Bedingungen konnte mit Sicherheit in weniger als einer Sekunde beobachtet werden. Andererseits ist es möglich, dass der Ball den Stift so schlägt, dass er eine Weile wackelt und dann umfällt oder eine Weile wackelt und dann herunterfällt. Man könnte sich dafür entscheiden, einen "Down" -Pin nur anzukündigen, wenn ein Pin offensichtlich heruntergefahren ist, oder einen "Missed" -Pin, wenn er eindeutig nicht fallen wird, aber es kann einen beliebigen Zeitraum geben, in dem keine der beiden Möglichkeiten ausgeschlossen werden kann.
quelle