SVA属性为简单波形

时间:2016-06-26 01:03:40

标签: verilog system-verilog verification asic system-verilog-assertions

波形: -

Waveform

我做了一个属性:

property p1;
   a |=> (b == 1)[=2] ##1 (c == 1)[=2]
endproperty

但是这个属性对于这个波形不起作用,它在“c”之前不适用于3个或更多“b”,并且在第一个“b”之后它不适用于“c”。 / p>

我需要一个可以在“a”信号之后传递的属性,只需2“b”,然后只需“2 c”,它们之间有任何数量的间隙。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在c上的脉冲期间,没有指定b不应该是1,在b上的脉冲期间也没有指定c不应该是1。

那么,这样的事情怎么样:

property p1;
   a |=> ((c == 0) throughout (b == 1)[->2]) ##1 ((b == 0) throughout (c == 1)[->2]);
endproperty

[->N]运算符是完全非连续重复运算符 goto重复运算符。使用goto重复,表达式必须保持在匹配的最后一个循环中;换句话说,一旦发生指定的重复次数就实现匹配。