Einrichten und Halten der Zeitausgabe bei Verletzung

Stellen Sie sich ein D-Flip-Flop mit positiver Flanke und Eingangssignal X mit einer Setup-Zeit von 20 ns und einer Haltezeit von 0 ns vor. 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) für 20 ns (Setup-Zeit) nicht stabil sind, bevor sie von 1 auf 0 gehen. Die Ausgabe ist also nicht vorhersehbar, oder?

Als ich meinen Professor danach 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?

Antworten (5)

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

Geben Sie hier die Bildbeschreibung einWenn sich die Daten innerhalb dieses Fensters ändern/umschalten, ist die Ausgabe unvorhersehbar oder metastabil.

In Ihrer Frage schalten Daten innerhalb des Setup-Fensters vor der 6. Taktflanke um, was bedeutet, dass die Ausgabe unvorhersehbar ist.

Vielleicht kannst du deinen Professor Tomo korrigieren.
Und es ist erwähnenswert, dass Haltezeiten aufgrund interner Verzögerungen negativ sein können. Das heißt, bei einigen ICs können Sie die Daten tatsächlich freigeben, bevor die Taktflanke eintrifft. Aber es bleibt ein Fenster, in dem die Daten stabil sein müssen.
Kleine 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 angezeigt. Das Ergebnis ist in diesen Fällen tatsächlich deterministisch, aber zusätzlich zu den Eingaben stark von der Temperatur abhängig. 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 ist tatsächlich selten das Problem).

Dein Professor muss die Kräuter reduzieren.

Da sich die Daten innerhalb der Setup-Zeit ändern und da die Setup-Zeit eine minimale Zeitspanne vor der Uhr ist, 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 übergehen und oszillieren.

Wenn die Daten zwischen den Setup- und Hold-Zeiten stabil sind, garantiert der D-Latch-Hersteller, dass die Ausgabe des D-Latch vorhersehbar ist, was im Datenblatt steht.

Wenn sich die Daten während des Setup-to-Hold-Fensters ändern, ist die Ausgabe wahrscheinlich eine solide 0 oder 1, aber der Hersteller macht keine Angaben dazu.

Es ist wahrscheinlich nur eine solide 0 oder 1, es ist nicht garantiert. Der Ausgang könnte metastabil werden. Dies bedeutet, dass es eine endliche und unvorhersehbare zusätzliche Zeit geben könnte, die über die im Datenblatt angegebene normale Ausbreitungsverzögerung hinausgeht, für die zwei von diesem Ausgang angesteuerte Gatter unterschiedliche Entscheidungen darüber treffen könnten, ob es eine 0 oder 1 war. Das ist eine schlechte Sache.

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

Wenn die Eingabe die Erfordernisse der Aufbau- und Haltezeit erfüllt, dann ist die Ausgabe im Wesentlichen "garantiert", um die Eingabe widerzuspiegeln; Wenn es gegen die Setup-Zeit verstößt, ist das Verhalten nicht mehr garantiert oder vollständig vorhersehbar, wie Sie sagen.

Ihr Professor hat möglicherweise "irgendwie wahrscheinlich" Recht in dem Sinne, dass er möglicherweise ausdrückt, wie das Ausgangssignal höchstwahrscheinlich enden wird, insbesondere wenn er die Setup-Zeit 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. Setup- 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 zum Wirksamwerden der Taktflanke hat, ist der Ausgang höchstwahrscheinlich das, was der Eingang "um" (bis zu) 20 ns vor der Taktflanke war. wie Ihr Professor vorschlägt. Aber das einzige, was für das Gerät spezifiziert ist, ist, dass, wenn die Setup- und Hold-Zeiten eingehalten werden, der Ausgang dem Eingang folgt.

Mit anderen Worten, Sie haben vielleicht beide bis zu einem gewissen Grad Recht, aber Ihre Interpretation ist zu 100% richtig, während die Antwort Ihres Professors nur "wahrscheinlich" richtig ist, und das Ausmaß, in dem seine Antwort richtig sein wird, ist - wie Sie sagen - unberechenbar.

(Und natürlich würden Sie diese Antwort in einem praktischen - und nicht in einem akademischen - Sinne nur in einem Design verwenden, bei dem es akzeptabel wäre, dass die Ausgabe in diesem Taktzyklus "wahrscheinlich 1" ist, ohne dass angegeben wird, wie wahrscheinlich oder wo dies war 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 eher selten.)