【发布时间】:2022-01-23 01:17:00
【问题描述】:
我在如何设置 dist 约束方面遗漏了一些东西。我试图在两个范围 [0:31] 和 [32:65535] 之间获得相等的权重。我设置了一个简单的测试:
class data;
rand bit [15:0] field1;
constraint c_f1 { field1 dist {[0:31] := 1, [32:65535] := 1};}
endclass
module testbench;
initial begin
data test_h;
test_h = new();
repeat(10) begin
assert(test_h.randomize());
$display("field1 = %h", test_h.field1);
end
end
endmodule
但是,我看到的大多数值 > 32。我在这里误解了什么?
【问题讨论】:
-
EDA Playground 副本:edaplayground.com/x/9H9V
标签: constraints system-verilog