如何在specman中声明固定长度列表?

时间:2008-08-21 18:13:01

标签: specman

在E(specman)中我想声明作为列表的变量,我想修改它们的长度。

对结构的成员来说很容易做到:

thread[2] : list of thread_t;

虽然函数中的“常规”变量不起作用,但我必须做类似的事情:

var warned : list of bool;
gen warned keeping {
    it.size() == 5;
};

有没有更好的方法来声明固定大小的列表?

2 个答案:

答案 0 :(得分:4)

像你一样坚持只会在初始化时修复大小,但是后来仍然可以添加或删除元素,你是否试图防范这种情况?我能想到的唯一方法是保证元素不会在以后添加或删除,这样就会发出一个同步大小的事件!=预定数量:

event list_size_changed is true (wanted.size() != 5) @clk;

我能提供的唯一另一件事就是难以保留一些语法糖:

var warned : list of bool;
keep warned.size() == 5;

答案 1 :(得分:-1)

我对specman一无所知,但固定大小的列表是一个数组,因此可能会指向某个地方。