我想知道什么时候在SVA中使用->
和=>
? 是否有系统verilog断言中的 - >和=>有什么区别?
sequence A;
req |-> ##1 gnt;
endsequence
sequence B;
req |=> ##1 gnt;
endsequence
任何差异,请让我知道.. 谢谢。
我想知道什么时候在SVA中使用->
和=>
? 是否有系统verilog断言中的 - >和=>有什么区别?
sequence A;
req |-> ##1 gnt;
endsequence
sequence B;
req |=> ##1 gnt;
endsequence
任何差异,请让我知道.. 谢谢。
所不同的是当先行(左边的表达式)成功,莫非随之(表达式右侧)开始在相同的时钟周期|->
(重叠)或在下一时钟周期|=>
(非重叠)。
一个方便的方法来记住这是-
只有一个栏,所以这是重叠的。 =
中有两个横杠,因此不重叠。
|=>
相当于|-> ##1
因此,req |=> ##1 gnt;
相当于req |-> ##2 gnt;
参考IEEE Std 1800-2012 § 16.12.6 意义
property name(); Enabling sequence (|-> or |=>) Consequent sequence endproperty
结果:
时启用序列是“真(1'b1的)比它检查..如果结果因之序列seq是真实的比断言通过,如果后果seq是'假比断言失败..
当启用seq是'假而不是它通过,但显示为'viscus成功' 会让你无法看到绿色箭头波形
而...
property name(); sequence1 (## delay) sequence2 endproperty
这是这个东西的主要区别..我认为这可能有帮助