局部控制:disable iff。
property my_prop;
@(posedge clk) disable iff(!rst_n) a |-> b ##1 c;
endproperty
全局控制:
$ assertoff暂时关闭所有断言的执行。$ asserton重新启动断言执行。如果在执行$ assertoff时断言正在执行,断言不会被终止。
$ assertkill将会终止你设计中的所有断言,包括已经执行的断言。$ asserton开重新启动断言执行。
注:在复位时,所有信号均发生改变,此时时序关系已经不满足,用assertkill()终止,否则将断言报错
initial begin: assertion_control
fork
forever begin
wait(rst_n == 0);
$assertkill();//终止断言
wait(rst_n == 1);
$asserton();//重启断言
end
join_none
end