如何将约束应用于列表列表,类似于对简单列表的操作:
list_size: uint;
my_list: list of uint;
keep my_list.size() == list_size;
keep for each (item) using index (item_index) in my_list { item == item_index;};我的意图是创建类似这样的东西:
list_size:uint;
grosslist_size:uint;
my_grosslist: list of list of uint;
keep my_grosslist.size() == grosslist_size;
keep for each (grossitem) using index (grossindex)in my_grosslist {
grossitem.size() == list_size;
// keep for each (item) using index (item_index) in grossitem {
// item == item_index + grossindex * 100;
// };
};如何使用Specman语法编写上面注释的3行代码?请注意,约束只是举例说明,实际上我需要应用更复杂的约束,而不是索引列表项……
提前谢谢。
发布于 2016-02-16 17:49:52
您编写的代码确实是list- of -list的正确用法。请注意,缺少一个空格,并且每个的内部都不需要额外的'keep‘。除此之外,它是有效的。
<'
extend sys {
list_size:uint;
grosslist_size:uint;
my_grosslist: list of list of uint;
keep my_grosslist.size() == grosslist_size;
keep for each (grossitem) using index (grossindex) in my_grosslist {
grossitem.size() == list_size;
for each (item) using index (item_index) in grossitem {
item == item_index + grossindex * 100;
};
};
};
'>https://stackoverflow.com/questions/35410335
复制相似问题