可以说有一个信号a
。当信号变高时,它必须至少在三个正时钟沿保持高电平。
我们可以将属性写为
property p;
@(posedge clk) $rose(a) -> a[*3];
endproperty
对于以下情况,该属性失败。
时钟_ _ _ | = = = | _ _ _ | = = = | _ _ _ | = = = | _ _ _ | = = = |
一个_ _ | = = = | _ _ | = = = = = = = = = = = = = = = = = =
这不符合规范,其中 a 在中间变低,但会被下一个姿势拉高,因此上述断言不会抓住这一点。
谁能告诉是否有任何方法可以编写断言来捕获这个错误?
谢谢