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

标签 specman

在 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/

相关文章:

specman - 声明对 simple_port 值敏感的事件和 event_port 之间的区别

Specman 方法返回大小列表

c 字符串到 specman e 代码

specman - 矛盾软约束的行为

macros - Specman 宏 : How to use optional tags?

specman - 在 Specman e 中,有没有办法为消息提供非最终消息标签?

Specman 宏使用 int_range_list 对象进行集合减法

system-verilog - 在 Specman E 中实现 System verilog 的 $value$plusargs() 系统函数

xml - VLSI:寄存器自动化