我有如下代码,但在编译错误时失败。
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] 引用越界数组字
动态数组需要使用new[]
或同时从数组中的副本进行分配。所以你需要做
m_mem = new[4];
之前可以参考m_mem[3]
。
或者,您可能打算声明一个关联数组而不是动态数组。
mem_blk m_mem[bit [15:0]];
然后写入m_mem[3]
分配该条目。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句