Einrichten und Halten der Zeitausgabe bei Verletzung

9

Betrachten Sie ein durch eine positive Flanke ausgelöstes D-Flipflop mit dem Eingangssignal X mit einer Einrichtzeit von 20 ns und einer Haltezeit von 0 ns. Was wird die Ausgabe sein?

C ist ein Taktsignal mit einer Periode von 40 ns.

Geben Sie hier die Bildbeschreibung ein

Während der 6. positiven Flanke sehen wir, dass die Daten (oder X) 20 ns (Einrichtungszeit) nicht stabil sind, bevor sie von 1 auf 0 gehen. Die Ausgabe ist also nicht vorhersehbar, oder?

Als ich dies meinem Professor fragte, sagte er, dass der Ausgang des Flipflops der Wert des Eingangs (X) vor 20 ns sein würde, was hier 1 ist.

Ist er richtig?

Zephyr
quelle

Antworten:

17

Wenn die Einrichtungszeit des Flip-Flops 20 ns beträgt, bedeutet dies, dass die Daten mindestens 20 ns vor der Erfassung der Taktflanke stabil sein müssen. In ähnlicher Weise ist die Haltezeit die Zeitdauer, nach der Daten stabil bleiben müssen, nachdem eine Taktflanke aufgetreten ist. Zusammen definieren sie ein "Setup-Hold-Fenster", in dem Daten stabil bleiben müssen.

Geben Sie hier die Bildbeschreibung ein Wenn sich die Daten in diesem Fenster ändern / umschalten, ist die Ausgabe unvorhersehbar oder metastabil.

In Ihrer Frage bedeutet das Umschalten der Daten im Setup-Fenster vor der 6. Taktflanke, dass die Ausgabe nicht vorhersehbar ist.

Mitu Raj
quelle
Vielleicht können Sie Ihren Professor Tomo korrigieren.
Mitu Raj
8
Erwähnenswert ist, dass die Haltezeiten je nach internen Verzögerungen negativ sein können. Das heißt, für einige ICs können Sie die Daten tatsächlich freigeben, bevor die Taktflanke eintrifft. Es bleibt jedoch ein Fenster, in dem die Daten stabil sein müssen.
WhatRoughBeast
1
Kleinere Korrektur: Bei modernen Prozessen tritt echte Metastabilität nur in einem Fenster auf, das in der Größenordnung von Femtosekunden liegt. In der überwiegenden Mehrheit der Fälle, in denen Setup / Hold verletzt wird, wird keine Metastabilität festgestellt. Das Ergebnis in diesen Fällen ist tatsächlich deterministisch, hängt jedoch zusätzlich zu den Eingaben stark von der Temperatur ab. Ich würde dem Professor immer noch nicht zustimmen und ich würde Ihnen zustimmen, dass die Ausgabe in jeder Hinsicht unvorhersehbar ist, aber Metastabilität ist nicht das Problem (und in der Tat ist es selten das Problem).
Jalalipop
7

Ihr Professor muss die Kräuter reduzieren.

Da sich die Daten innerhalb der Einrichtungszeit ändern und die Einrichtungszeit eine Mindestzeit vor der Uhr ist, für die die Daten stabil sein müssen, ist es unmöglich zu sagen, ob die Ausgabe eine Null oder eine Eins sein wird. Tatsächlich könnte es sogar in einen metastabilen Zustand eintreten und schwingen.

Trevor_G
quelle
5

Wenn die Daten zwischen den Rüst- und Haltezeiten stabil sind, garantiert der D-Latch-Hersteller, dass die Ausgabe des D-Latch vorhersehbar ist, wie es im Datenblatt angegeben ist.

Wenn sich die Daten während des Setups ändern, um das Fenster zu halten, ist es wahrscheinlich, dass die Ausgabe eine feste 0 oder 1 ist, aber der Hersteller macht keine Aussage darüber, welche.

Es ist wahrscheinlich nur eine solide 0 oder 1, es ist nicht garantiert. Die Ausgabe könnte metastabil werden. Dies bedeutet, dass es eine endliche und unvorhersehbare zusätzliche Zeit geben kann, die über die im Datenblatt angegebene normale Ausbreitungsverzögerung hinausgeht und für die zwei von dieser Ausgabe gesteuerte Gates unterschiedliche Entscheidungen darüber treffen können, ob es sich um eine 0 oder eine 1 handelt. Dies ist eine schlechte Sache.

Neil_UK
quelle
4

Wenn die Eingabe die Anforderungen an die Setup- und Haltezeit erfüllt, wird die Ausgabe im Wesentlichen "garantiert", um die Eingabe widerzuspiegeln. Wenn es die Einrichtungszeit verletzt, ist das Verhalten nicht mehr garantiert oder vollständig vorhersehbar, wie Sie sagen.

Ihr Professor kann "irgendwie wahrscheinlich" in dem Sinne richtig sein, dass er ausdrückt, wie das Ausgangssignal am wahrscheinlichsten sein wird, insbesondere wenn er die Rüstzeit als deterministische Beschreibung des Verhaltens des Flip-Flops interpretiert. eher als eine Mindestanforderung mit möglichen Abweichungen von einem Satz von Bedingungen zum nächsten. Aber Ihre Interpretation und Ihr Instinkt sind wirklich auf dem richtigen Weg. Rüst- und Haltezeiten werden im Allgemeinen verwendet, um Min / Max-Werte auszudrücken, für die das Verhalten über Prozess- / Spannungs- / Temperaturschwankungen hinweg zuverlässig vorhergesagt werden kann, und wenn der Eingang diese verletzt, kann der Ausgang nicht zuverlässig vorhergesagt werden.

Wenn das Flip-Flop im Allgemeinen eine Verzögerung von bis zu 20 ns vom Eingang bis zu dem Punkt hat, an dem die Taktflanke wirksam wird, ist es am wahrscheinlichsten, dass der Ausgang das ist, was der Eingang "um" (bis zu) 20 ns vor der Taktflanke war. wie Ihr Professor vorschlägt. Für das Gerät wird jedoch nur angegeben , dass die Ausgabe der Eingabe folgt, wenn die Rüst- und Haltezeiten eingehalten werden.

Mit anderen Worten, Sie mögen beide bis zu einem gewissen Grad richtig sein, aber Ihre Interpretation ist zu 100% richtig, während die Antwort Ihres Professors nur "wahrscheinlich" richtig ist und der Grad, in dem seine Antwort richtig sein wird - wie Sie sagen -. unberechenbar.

(Und natürlich würden Sie diese Antwort in einem praktischen - und nicht in einem akademischen - Sinne nur in einem Entwurf verwenden, in dem es akzeptabel war, dass die Ausgabe in diesem Taktzyklus "wahrscheinlich 1" war, ohne anzugeben, wie wahrscheinlich das war oder wo Es gab keine wirklichen Konsequenzen dafür, dass das Flip-Flop möglicherweise "für eine Weile" in einen metastabilen Zustand überging. Diese Anwendungen sind in der Regel seltener.)

BobH
quelle
3

Die Ausgabe ist unbekannt und ein Simulator spiegelt dies wider, indem er den Ausgabewert auf 'X' setzt.

Alter Furz
quelle