在SystemVerilog断言中处理重置

Ari*_*Ari 5 system-verilog system-verilog-assertions

以下两个属性有何不同?

property p1;
    @(posedge clk) disable iff (Reset) b ##1 c;
endproperty

property p2;
    @(posedge clk) (~Reset & b) ##1 c;
endproperty

assert property (p1);
assert property (p2);
Run Code Online (Sandbox Code Playgroud)

dav*_*_59 6

非常不一样.

In p1,Reset异步未采样.在评估期间的任何时候p1,Reset成为真实,财产被禁用.当Reset为false时,每次尝试posedge clock检查在b一个时钟周期之后c是否为真,尝试通过是否为真,否则失败.如果在任何时候重置为真,则所有活动尝试都将被终止.

In p2,Reset同步采样.每次尝试posedge clock检查在~Reset &b一个时钟周期之后c是否为真,尝试通过是真的,否则它失败.如果Reset变为真,则尝试将失败.