[SVA]:有没有办法跳过 SVA 的第一次评估?

[SVA]: Is there a way to skip the first evaluation of an SVA?

我有以下 属性:

property p_0;
 $rose(signal_a) |-> $rose(signal_b) ;
endproperty

我的问题是,在 HW RST 之后,signal_b 上升(正常行为)但断言失败,我希望稍后再评估此检查。

我想与 first_match() 一起工作,如下所示:

p_0_a : assert property ( ! first_match(p_0)) else `uvm_fatal(...)

所以我跳过了这个 属性 的第一个匹配项,但是编译器生成了语法错误。

有没有办法在特定的迭代次数后跳过 SVA 的评估?

谢谢

级联蕴涵运算符 可能会帮助您,例如:

assert property (reset |-> p_0);

基本上,|=> 和 |-> 是 right-associative:

A |=> B |=> C

表示

A |=> ( B |=> C )

即如果A发生,之后立即检查(B |=> C)。如果 A 没有发生,请不要检查 (B |=> C)