Altifigence Academy

21 / 24 · Konzept

Ein Scoreboard mit lokalen Invarianten kombinieren

Prüfen Sie Werte, Reihenfolge, Belegung und Wartestabilität anhand übernommener Transaktionen.

Verifikation an der Eingabeübernahme verankern

Ein Scoreboard berechnet für jede übernommene Eingabe ein erwartetes Ergebnis und reiht es ein. Vergleichen Sie bei der Ausgabe das älteste erwartete Element. Die direkte Berechnung aus den Verhaltensregeln statt der Nachbildung jedes Pipelineregisters verringert gemeinsame Fehler. Fügen Sie Einträge nur bei einem Eingabehandshake hinzu; eine anliegende, aber abgelehnte Eingabe ist keine ausstehende Arbeit.

Für übernommene ADD-Eingaben tag10:(250,10) und tag11:(3,5) erwarten Sie [(10,4,carry1),(11,8,carry0)]. Eine gültige, aber wartende Ausgabe entfernt keinen Eintrag. Die Ausgabe von tag10 entfernt nur diesen Eintrag. Ein wiederholtes tag10 oder Wert 8 mit Tag 12 ist falsch, selbst wenn einige Zahlen passen. Berücksichtigen Sie alle relevanten Flags und Begleitfelder.

PrüfungFehlerbeispiele
Ausgabe gegen ReferenzwarteschlangeArithmetik, Reihenfolge, falsche Tags
Accepted-delivered=BelegungVerlust, Verdopplung, falsche Ausgabe
Stabile wartende NutzdatenÜberschreiben vor Übernahme
Belegung innerhalb der GrenzenFIFO-Überlauf oder -Unterlauf
Leere Referenzwarteschlange nach AuslaufenFehlendes letztes Ergebnis

Lokale Invarianten erkennen die erste fehlerhafte Flanke statt nur einer abschließenden Abweichung. Die interne Belegung ist FIFO-Zähler plus Gültigkeitsbits der Stufen. Ergänzen Sie eine Abbruchbilanz, wenn Reset oder Leeren erlaubt sind, und verwenden Sie dieselben Flankenregeln in beiden Beobachtern.

Kombinieren Sie numerische Grenzen mit zeitlichen Fällen: Null, Maximalwerte, Übertrag und Entlehnung, aufeinanderfolgender Verkehr, Leerstellen, lange Wartezeiten, Ersatz bei voller Belegung und abschließendes Auslaufen. Erfassen Sie Zufallsstartwerte für wiederholbare Fehler. Durchlaufen Sie kleine Steuerungsräume vollständig, wo praktikabel.

Abschlussprüfungen benötigen eine Fortschrittsannahme und eine Zeitgrenze. Sobald der Empfänger dauerhaft bereit ist, sollte ausstehende Arbeit auslaufen. Fordern Sie bei unbegrenzten Wartezeiten stattdessen Erhaltung und begrenzte Belegung. Absichtlich verfälschter Übertrag oder Tag-Verzögerung sollte Prüfungen fehlschlagen lassen; dieser Mutationstest misst ihre Empfindlichkeit. Erfolgreiche Node-Modelle bestätigen keine HDL-Verdrahtung, kein X/Z-Verhalten, keine Taktdomänenübergänge und kein Implementierungs-Timing. Berichten Sie nur den tatsächlich beobachteten Ausführungsumfang.

Selbst ausprobieren

Accepted=9 und delivered=5. Der FIFO-Zähler beträgt zwei und beide Stufen sind gültig. Ist die Bilanz konsistent? Was ist wahrscheinlich geschehen, wenn eine weitere Eingabe ohne Ausgabe übernommen wird und die Belegung bei vier bleibt?

Erklärung lesen

Die Bilanz stimmt: 9-5=2+1+1=4. Nach einer weiteren Übernahme ohne Ausgabe wird die Differenz fünf. Belegung vier deutet auf Annahme ohne Kapazität oder ein überschriebenes Element hin. Prüfen Sie die Bereitschaft an der ersten fehlerhaften Flanke.

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