您如何在 specman 中使用 gen 生成“randc”类型的实现?
例子:
list_l : list of uint(bits:3);
keep list_1.size () == 8;
我想以这样的方式生成列表的所有元素都应该在(0 -7)之间随机出现。
您如何在 specman 中使用 gen 生成“randc”类型的实现?
例子:
list_l : list of uint(bits:3);
keep list_1.size () == 8;
我想以这样的方式生成列表的所有元素都应该在(0 -7)之间随机出现。
当前在列表上定义的约束将确保生成的列表包含范围内的所有值[0..7]
。
使用gen
将根据需要生成列表。
例子
list_l : list of uint(bits:3);
keep list_l.size () == 8;
generate_list() is {
gen list_l;
}
如果您希望所有列表项都是唯一的,请在列表中添加以下约束:
keep list_l.all_differnt(it);
可以使用“is_a_permutation()”伪方法来用每个值填充列表一次。
例子
list_l : list of uint(bits:3);
keep list_1.is_a_permutation(all_values(uint(bits:3)));
或者
keep list_1.is_a_permutation({0;1;2;3;4;5;6;7});
请注意,在此示例中,“is_a_permutation()”将列表大小限制为 8。