我需要以这种方式约束这些多个字段:
XDocument xdoc = XDocument.Load(filePath)
我基本上想要定期为struct my_struct {
a : uint;
b : uint;
c : uint;
d : uint;
keep 3*a + 4*b + 5*c + 6*d == 206 and a + b + c + d == 50;
my_method() @clk_event is {
while (TRUE) {
if (ctr == 0) {
gen a;
gen b;
gen c;
gen d;
};
if (ctr == 50) {
ctr = 0;
} else {
ctr += 1;
};
wait cycle;
};
};
};
,a
,b
和c
生成一组新值。上面的代码不起作用,因为他们的值在我的模拟中没有改变。知道怎么做吗?
答案 0 :(得分:2)
生成一个字段时,其他字段无法更改其值,它们是约束的输入。鉴于您的约束条件,如果另外三个字段无法更改,则字段只能有一个正确的值。
您可能需要修改设计并将带有约束的字段放在结构体下,并且具有此结构类型的字段。因此,不是四个单独的一个,你只有一个,它将完成工作。