문제

With SystemVerilog Assertions what is the difference between $assertoff; and $assertkill; ?

They both seem to stop the execution of the assertions.

도움이 되었습니까?

해결책

$assertoff will stop assertions except those already in the active state.

Assertions are active once triggered and waiting to move to failed or completed. $assertoff will not stop or kill the assertions in the active state.

$assertkill will stop all assertions, moving all to state off.

From Cadence Help:

$assertoff
Suspends checking of all specified assertions until $asserton is encountered. An assertion that is already executing, including assertion action blocks, will continue executing.

$assertkill
Halts checking of all specified assertions that are currently executing, then suspends checking of all specified assertions until $asserton is encountered.
NB: Per the IEEE 1800 SystemVerilog standard, the $assertkill task has no effect on immediate assertions and non-temporal concurrent assertions, due to scheduling issues.

다른 팁

$assertoff is nothing but it's stops checking all specified assertion unless and untill sunsequent of $assert is on.

While u processing on an assertion it is not to affected whether my assertion is pass or fail.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top