在 E (specman) 中,我想声明作为列表的变量,并且我想修复它们的长度。
对于结构体的成员很容易做到:
thread[2] : list of thread_t;
而对于函数中的“常规”变量,上述方法不起作用,我必须执行以下操作:
var warned : list of bool;
gen warned keeping {
it.size() == 5;
};
有没有更好的方法来声明固定大小的列表?
最佳答案
像您这样的严格保持只会在初始化时修复大小,但稍后仍可以添加或删除元素,您是否试图防止这种情况?我能想到的保证以后不会添加或删除元素的唯一方法是发出一个与大小同步的事件!= 预定数量:
event list_size_changed is true (wanted.size() != 5) @clk;
我能提供的唯一的另一件事是一些硬保持的语法糖:
var warned : list of bool;
keep warned.size() == 5;
关于specman - 如何在 specman 中声明固定长度的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696/