我想知道什麼時候在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
這是這個東西的主要區別..我認爲這可能有幫助