约束给出范围警告不相关

时间:2014-06-16 09:25:11

标签: specman

以下代码在DEPR_NEG_OR_LARGE_SELECT_WEIGHT上创建警告:

keep soft MyVar == select {
 0xffffffffff: 0;
 10: [1..10];
 10: [11..20];
};
keep MyVar != 0;

我希望支票只考虑相关范围......

2 个答案:

答案 0 :(得分:0)

0xffffffffff不是选择权重的合法语法。只有介于0和MAX_INT之间的值才有效。

该工具可以保护您免受非法表达。正如您在编写任何其他非法代码时遇到加载/编译时错误一样。它并不试图理解更深层次的含义,或者是否完全调用代码。

答案 1 :(得分:0)

这应该足以满足您的需求。

keep soft MyVar == select {

  1: [1..10];

  1: [11..20];

};

keep MyVar != 0;

keep soft MyVar in [1..20]; // This is also enough in place of weighted random constraint.