2008-08-21 67 views
2

在E(specman)我想声明变量是列表,我想修正它们的长度。如何在specman中声明一个固定长度的列表?

很容易为一个结构的成员做:

thread[2] : list of thread_t; 

而对于函数中的“常规”变量上面不行,我必须做一些事情,如:

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

是否有更好的方式来声明一个固定大小的列表?

回答

4

像你一样努力保持只会在初始化时修复大小,但是元素仍然可以在以后添加或删除,您是否试图防范这种情况?我能想到的唯一的办法,以保证内容不会被添加或更新落下的发射同步的大小事件=预定量:

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

,我可以提供唯一的其他东西是有点坚硬的句法糖:

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

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

相关问题