访问2D打包数组就像它是一维的一样

时间:2016-02-29 23:28:03

标签: arrays memory system-verilog

我有一个打包的数组,用于存放一系列单词,如下所示:

reg [31:0][79:0] H;

据我所知,压缩数组存储为一个连续的内存块,所以我想知道是否有办法访问这些值,好像它们是在一维数组中声明的那样:

H[500] <= x;

哪个与H[11][15] <= x相同。这可能吗?我需要在数组中填充不在字边界的各个块,这样可以使事情变得更容易。

1 个答案:

答案 0 :(得分:2)

你需要的是一个打包的工会

union packed {
         logic [31:0][79:0] words;
         lofic [0:2559]     bits;
         logic [7:0][319:0] bytes;
} H;

如果数学正确,则以下内容相同

H.words[11][15] <= x;
H.bits[500] <=x;