Specman动态生成多个受约束的项目

时间:2017-01-24 07:24:31

标签: specman e

我需要以这种方式约束这些多个字段:

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; }; }; }; abc生成一组新值。上面的代码不起作用,因为他们的值在我的模拟中没有改变。知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

生成一个字段时,其他字段无法更改其值,它们是约束的输入。鉴于您的约束条件,如果另外三个字段无法更改,则字段只能有一个正确的值。

您可能需要修改设计并将带有约束的字段放在结构体下,并且具有此结构类型的字段。因此,不是四个单独的一个,你只有一个,它将完成工作。