2016-04-23 14 views
0

Ich arbeite für einen Halbleiterhersteller. Wir versuchen oft, unsere Designs zu testen, um sicherzustellen, dass die Sequenzen, die wir auf unseren Teilen ausführen, zwei Punkte in einem Schaltplan verbinden, zum Beispiel signal_a und signal_b. Die zwei Signale haben normalerweise mehrere Durchgangsgatter, die angeschaltet werden müssen, um die zwei Signale zu verbinden. Um zu überprüfen, ob dies korrekt geschieht, gehen wir normalerweise durch den Schaltplan und die Simulation, um zu überprüfen, ob alle Pass-Gates korrekt eingeschaltet wurden. Es scheint, als hätte Verilog bereits einen eingebauten Befehl, um dies zu überprüfen. Zum Beispiel etwas Ähnliches wie:Test für die Verbindung zwischen zwei Punkten in einem Schaltplan

verbunden würde auf 1 gesetzt werden, wenn sie verbunden sind, und auf 0, wenn sie nicht sind. Ich würde es begrüßen, wenn mir jemand in die richtige Richtung zeigen könnte, wenn so etwas existiert. Anmerkung Ich dachte daran, ein Kraftsignal in den Code zu setzen, um signal_a umzuschalten und zu sehen, ob es bei signal_b mit einem Zähler auftaucht, aber dies funktioniert nicht in allen Fällen, die ich brauche, weil signal_a in einem anderen Zustand als 1 ist dreht den Würfel ab.

+0

Dann können Sie diesen Test logischerweise nicht durchführen, wenn 1 Pin den Würfel zum Stillstand bringt. Sie haben nicht viel über den IC-Typ und seine Funktionen angeboten. Hat es einen 4-poligen Testkanal? (JTAG) – Sparky256

Antwort

0

Sie können versuchen, SV-Zusicherungen mithilfe der Sequenz zu verwenden, um zu testen, dass signal_a immer gleich wie signal_b ist.

assert (signal_a == signal_b) else $error("It's gone wrong");