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