Was ist eine Verletzung der Haltezeit?


7

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.


7
Eine Verletzung der Haltezeit liegt vor, wenn Sie nicht lange genug mit Ihrer Frau kuscheln!

Das Rückgrat der Einrichtungs- und Haltezeit wird im folgenden Thread Electronics.stackexchange.com/questions/274623/…
Vivek Negi

Antworten:


14

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.


Vielen Dank für die Erklärung der Haltezeit. Aber was ist eine Verletzung der Haltezeit? Ist es, wenn Daten nicht genug (Halte-) Zeit gültig sind?
Vinayak Garg

@ VinayakGarg - Grundsätzlich. Wenn Sie unmittelbar nach dem Ändern der Eingaben in die Verriegelung verriegeln , können Sie entweder den alten oder den neuen Wert in der Verriegelung zwischenspeichern. Grundsätzlich ist während des Übergangs des Eingangs und für einen (im Allgemeinen sehr) kurzen Zeitraum danach das Verhalten des Latch-Ausgangs im Fall des Auslösens des Latch unbestimmt , und als solcher kann der Ausgangszustand nicht vorhergesagt werden (und im Extremfall) In solchen Fällen kann die Verriegelung sogar schwingen!).
Connor Wolf

@FakeName: Ein Geräteentwickler kann sicherstellen, dass nach einer bestimmten Zeit nach einem Takt keine ansteigenden Flanken mehr auftreten (wenn der Ausgang jedoch hoch ist, kann es zu einer abfallenden Flanke kommen). Man kann dies auch mit umgekehrten Höhen und Tiefen tun oder sogar ein Gerät mit drei Ausgangszuständen (hoch / niedrig / unbestimmt) mit der Garantie haben, dass ein Bericht von "hoch" oder "niedrig" gültig ist. Dies beseitigt jedoch keine Metastabilitätsprobleme, da der Ausgang möglicherweise von "unbestimmt" auf "hoch" oder "niedrig" wechselt, während die nächste Stufe versucht, ihn abzutasten.
Supercat

5

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


+1 zur Erklärung des Unterschieds zwischen Flip-Flop, Latch und gepulstem Latch. Vielen Dank!
Vinayak Garg

@ VinayakGarg hat gerade das durchlaufen: D
Clabacchio

1

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.


Ich denke, dass der erste Absatz ungenau ist: Rüstzeit und Haltezeit sind zwei verschiedene Dinge, die sich beide auf die Zeit beziehen, zu der die Eingabe STABIL sein muss. Die erste bezieht sich auf die Zeit vor der Uhr (normalerweise unter Berücksichtigung des 50% -Punkts des Übergangs) und die zweite auf die Zeit nach der Uhr. Diese Zeit fasst also das Fenster zusammen, in dem sich die Eingabe NICHT ändern darf.
Clabacchio

@clabacchio: Wenn die Einrichtungszeit positiv ist, bezieht sie sich auf einen Moment vor der Taktflanke. Wenn die Haltezeit positiv ist, bezieht sie sich auf einen Moment nach der Taktflanke. Eine signifikante Anzahl von Geräten hat jedoch eine negative Haltezeit, was bedeutet, dass das verbotene Fenster vollständig vor der Taktflanke liegt. Einige haben eine negative Rüstzeit, was bedeutet, dass das verbotene Fenster vollständig der Taktflanke folgt. Wenn ein Gerät eine Rüstzeit von 15 ns und eine Haltezeit von -2 ns hat und sich ein Signal 5 ns vor der Uhr ändert, ist dies eine Verletzung der Rüstzeit oder eine Verletzung der Haltezeit? Ich würde vorschlagen, dass es entweder sein könnte, ...
Supercat

@clabacchio: ... abhängig vom Grund für das relative Timing. Wenn sowohl Takt- als auch Datensignale gleichzeitig an der Quelle geschaltet würden, die höhere kapazitive Belastung des Takts ihn jedoch um zusätzliche 5 ns im Vergleich zu den Daten verzögerte, würde ich die resultierende Bedingung als "Haltezeitverletzung" bezeichnen, da sich die Daten früher als geändert haben es sollte relativ zur Uhr haben. Übrigens, wenn die Uhr um 16 ns verzögert würde, würde ich das immer noch als "Haltezeitverletzung" bezeichnen, obwohl der Latch die Daten nicht innerhalb des "verbotenen Fensters" umschalten würde, da sich die Daten mehr als 2 ns früher ändern würden .
Supercat

+1 Danke für die nette Erklärung. Leider kann ich nicht mehr als eine Antwort akzeptieren. :)
Vinayak Garg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.