Ich möchte sagen "Wenn es eine unbegrenzte Anzahl von Eingängen gibt, bekomme ich schließlich eine Ausgabe", wie kann ich das tun?Wie kann ich SystemVerilog-Sequenzeigenschaften in Asserts verwenden?
In anderen Teilen des Skripts möchte ich eine begrenzte Anzahl von Eingängen annehmen, so dass ich nicht einfach schreiben kann "nehme an, dass es eine unbegrenzte Anzahl von Eingängen gibt" und global halten.
Bisher habe ich geschrieben Eigenschaften:
property always_another_valid_input;
@(posedge clock) ##[1:$] valid_input;
endproperty
property foo;
@(posedge clock) always_another_valid_input |-> ##[0:$] bar == 1;
endproperty
assert property (foo);
aber wenn ich diese laufen bekomme ich einen Fehler: property instance always_another_valid_input is not allowed in sequence expression
.
Wenn ich beide Seiten der |->
mit einer Nicht-Sequenz-Eigenschaft ersetzen, bekomme ich immer noch einen Fehler. Es funktioniert nur, wenn beide Seiten Nicht-Sequenz-Eigenschaften sind.
Gibt es eine gute Möglichkeit, dies zu umgehen?