如何在systemverilog中处理结构体初始化

郑岩

我有如下代码,但在编译错误时失败。

typedef struct {
    logic [7:0] mem_data[1024];
} mem_blk;

mem_blk m_mem[];
...
...
logic [7:0] data = 'h12;
m_mem[3].mem_data[0] = data;

错误信息是:Error- [SV-RTOOBAW] 引用越界数组字

戴夫_59

动态数组需要使用new[]或同时从数组中的副本进行分配所以你需要做

m_mem = new[4];

之前可以参考m_mem[3]

或者,您可能打算声明一个关联数组而不是动态数组。

mem_blk m_mem[bit [15:0]];

然后写入m_mem[3]分配该条目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章