class square;
rand bit arr [3][3];
function void pre_randomize();
arr[0][1] = 1;
$display ("%p",arr);
endfunction
constraint ab_c {
foreach (arr[i,j]) {
if (arr[i][j] == 1) {
if (i > 0 && j > 0 && j < 2 && i < 2) { arr[i+2][j-1] == 1;
}
else arr[i][j] == 0;
}
}
}
我有一个 3x3 数组,我想创建一个模式,当arr[0][1]
(起始位置) 为 1 时,我希望将其设置arr[2][0]
为 1。约束求解器似乎在随机化后将pre_randomize
值设置arr[0][1]
为 0。这是预期的吗?