像访问一维一样访问二维压缩数组

Access 2D packed array as if it were one dimensional

我有一个压缩数组,用于保存一系列单词,如下所示:

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

据我了解,打包数组存储为连续的内存块,因此我想知道是否有一种方法可以访问这些值,就好像它们是在这样的一维数组中声明的那样:

H[500] <= x;

H[11][15] <= x相同。这可能吗?我需要填充数组中不在字边界处的各种块,因此这会使事情变得容易得多。

你需要的是压缩联合

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;