0
SystemVerilog中的整數類型與大多數語言一樣,在溢出時進行迴繞。我想知道這在限制條件下是否也是如此。例如:SystemVerilog約束中的溢出
class Test;
rand bit [3:0] a;
rand bit [3:0] b;
constraint c { a + b <= 4'h6; }
endclass;
當隨機化這個類的對象,是有可能得到一個解決方案,其中a == 7
和b == 12
,這將滿足自7 + 12 = 19,其環繞於3約束,3是少於6?
如果是這樣,這將有助於制定約束爲
constraint c { a + b <= 6; }
,其中6是32位有符號整數和總和被迫與32位精度計算? (如果隨機變量的類型爲int
,這當然不是解決方案)
運行模擬以查看所得結果。它會回答你的問題。 – toolic