Altifigence Academy

23 / 37 · Konzept

Abtastzeitpunkte und Kausalität im Zeitdiagramm

Zeitdiagramme unter Trennung von kombinatorischem Einschwingen, Taktabtastung und Ereignisfolge lesen.

Auch innerhalb eines Zeitpunkts gibt es eine Reihenfolge

Änderungen mit demselben Zeitstempel geschehen nicht gleichzeitig ohne Ursache. In ereignisgesteuerter RTL-Simulation stabilisieren sich Werte nach aktiven Ereignissen und nichtblockierendenNonblocking Sequenzielle RTL-Zuweisung mit <=. Nach Auswertung der rechten Seite wird die Aktualisierung geplant, sodass Register derselben Flanke den alten Zustand verwenden. Mehr erfahren Aktualisierungen. Reale Bauelemente ändern sich nach Clock-to-Q und kombinatorischer LaufzeitLaufzeit Zeit nach einer Eingangsänderung, bis der Ausgang auf dem richtigen Wert stabil ist. Logische Äquivalenz und zeitliche Eigenschaften sind getrennte Aussagen. Mehr erfahren. Unterscheiden Sie beide Modelle.

Die Vorhersagetabelle trennt Eingabe anlegen → kombinatorisch auswerten → an steigender FlankeSteigende Flanke Übergang des Takts von 0 auf 1. Nicht zu verwechseln mit dem gesamten hohen Pegelintervall CLK=1. Mehr erfahren erfassen → Zustand aktualisieren. Prüfen Sie im verwendeten Werkzeug Eingabe- und Aufzeichnungszeitpunkte.

Der tatsächliche Ereignisplan und die Ausgabeaufzeichnung sind maßgeblich. Die vier folgenden Schritte sind Kategorien der Vorhersage und bedeuten keine vier Taktzyklen.

Stimulus und Beobachtungszeitpunkt trennen
  1. Eingänge treiben: a, b und sel ändern
  2. Kombinatorisch auswerten: y = sel ? b : a
  3. Steigende Flanke: y unmittelbar vor der Flanke übernehmen
  4. Nach Aktualisierung beobachten: sampled_y vergleichen

Erwartungswerte unabhängig berechnen

yk=sk‾ak+skbk,qk+1=yky_k=\overline{s_k}a_k+s_kb_k,\qquad q_{k+1}=y_k

Berechnen Sie y für jedes Eingabepaket und tragen Sie gesondert ein, an welcher Flanke es q erreicht. Die erste abweichende Zeile grenzt die Ursache auf Eingabezeitpunkt, Auswahlfunktion oder Speicherung ein.

Übergänge von stabilen Zuständen unterscheiden

Sind beide Daten gleich, muss ein Auswahlwechsel denselben Endwert liefern; unterschiedliche interne Laufzeiten können dennoch einen kurzen Glitch erzeugen. Umgekehrt ist nicht jeder normale Ausgangswechsel ein Glitch. Logische Zeitdiagramme und physische Timing-Analyse beantworten verschiedene Fragen.

Ein Testbench, der Stimuli an derselben steigenden Flanke wie das DUT ändert und sofort liest, kann einen Race erzeugen. Trennen Sie Treiben und Beobachten oder verwenden Sie klare Synchronisation wie Clocking-Blocks. Die DDS-Übung verwendet Eingabe-JSON und feste Einzeltaktregeln; fügen Sie keinen beliebigen #delay-Testbench hinzu.

Selbst ausprobieren

Wenn y und sampled_y am Ende beide 1 sind, sind dann auch alle Zwischenzyklen korrekt?

Erklärung lesen

Nein. Vertauschte Auswahl oder eine um einen Zyklus verspätete Speicherung können bei abschließendem a=b=1 dieselben Endwerte liefern. Vergleichen Sie jede Flanke und schließen Sie sel-Wechsel bei a≠b ein.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.