シミュレーション中、アサーション(assert, cover, assume)の開始・停止(有効・無効)をシステムタスクで制御できます。
[table]
システムタスク,説明
$asserton,アサーションの実行を有効化
$assertoff,アサーションを無効化
$assertkill,アサーションを無効化(強制終了)
[/table]
$assertkill と $assertoff の違いは、呼び出し時に実行中のアサーション(複数クロックにわたるものなど)を強制終了するか、しないかです。
適用する範囲やアサーションの指定もできます。
これらのシステムタスクは、利便性のため用意されていて $assertcontrol で細かく制御でき、等価な動作ができます。
[table th=”0″]
$asserton,”$assertcontrol(3, 15, 7)”
$assertoff,”$assertcontrol(4, 15, 7)”
$assertkill,”$assertcontrol(5, 15, 7)”
[/table]
VCS では、アサーションにカテゴリーを設定し、カテゴリー単位で有効・無効もできる模様。キーワードは、$assert_category_start や $assert_severity_start など。