1

$assertoff;SystemVerilog アサーションでは、との違いは何$assertkill;ですか?

どちらもアサーションの実行を停止しているようです。

4

2 に答える 2

3

$assertoffすでにアクティブ状態にあるものを除いて、アサーションを停止します。

アサーションは、トリガーされるとアクティブになり、失敗または完了に移行するのを待機します。アクティブ状態のアサーションを停止または強制$assertoff終了しません。

$assertkillすべてのアサーションを停止し、すべてをオフ状態に移動します。

ケイデンスのヘルプから:

$assertoff
$asserton が検出されるまで、指定されたすべてのアサーションのチェックを中断します。アサーション アクション ブロックを含め、既に実行中のアサーションは、引き続き実行されます。

$assertkill
現在実行中の指定されたすべてのアサーションのチェックを停止し、$asserton が検出されるまで、指定されたすべてのアサーションのチェックを一時停止します。
注: IEEE 1800 SystemVerilog 標準に従って、$assertkill タスクは、スケジューリングの問題により、即時アサーションおよび非一時的な同時アサーションには影響しません。

于 2013-03-01T14:21:17.703 に答える