让我们说我有两个属性;
property p1;
sig_a ##1 sig_b;
endproperty
property p2;
sig_a |=> sig_b;
endproperty
现在,如果我做这样的断言:
a1: assert property (p1);
a2: assert property (p2);
a1和a2有什么不同吗?
答案 0 :(得分:0)
system_verilog property
和sequence
语法之间有区别。
property p1
没有触发条件。换句话说,它将始终在计时事件中被检查。它仅提及要检查的操作顺序。即sequence
在sv断言中。您可以按照以下方式假设property p1
。
property p1;
1'b1 |-> sig_a ##1 sig_b;
endproperty
如果sig_a为零值,它将始终失败。
现在property p2
的触发条件为sig_a == non_zero值。如果此条件为真,则它将在1个时钟事件后评估sig_b值。