SystemVerilog アサーションを勉強しています。Valid-ack仕様を確認するためにSVAを適用しました。スペックは以下の通りです。
valid が駆動される (0 から 1) 場合、ack が駆動される (1) まで、valid は 1 に等しい必要があります。ack がディアサートされると (1 から 0)、valid もディアサートされます (1 から 0)。
この仕様を確認するために、2 つのプロパティ (pr1 と pr2) を書きました。以下のリンクから SVA コードを確認できます。 https://www.edaplayground.com/x/5gHd
2 つのプロパティがまったく同じように機能することを期待していました。ただし、pr2 は期待どおりに機能しません (valid は 1 に等しいが ack は 50ns で 0 に等しいため、50ns でアサーションが失敗する可能性があると予想していました)。
波形: https ://www.edaplayground.com/w/x/u5
pr2 (50ns) で何が間違っていますか?
よろしくお願いします、