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

时间:2018-03-26 09:13:26

标签: uvm system-verilog-assertions

我有以下属性:

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的评估?

由于

1 个答案:

答案 0 :(得分:0)

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

assert property (reset |-> p_0);

基本上,| =>和| - >是正确联想的:​​

A |=> B |=> C

装置

A |=> ( B |=> C )

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