我有如下代码,但它在编译错误时失败。
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引用越界数组字
发布于 2018-08-13 01:46:57
动态数组需要使用new[]
进行分配,或者同时从一个数组中复制。所以你需要做的是
m_mem = new[4];
然后才能引用m_mem[3]
。
或者,您可能打算声明一个关联数组,而不是动态数组。
mem_blk m_mem[bit [15:0]];
然后,对m_mem[3]
的写操作将分配该条目。
https://stackoverflow.com/questions/51811078
复制相似问题