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.
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?
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.
quelle
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.
quelle
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.)
quelle
Die Ausgabe ist unbekannt und ein Simulator spiegelt dies wider, indem er den Ausgabewert auf 'X' setzt.
quelle