如何在verilog中给二维数组一个初始值

How to give a two dimensional array an initial value in verilog

我正在开发一个包含一个主设备和三个从设备的 SPI 模块。在测试台上,我想通过一个作为 SPI 模块输入的多维数组给每个从机一个并行负载

reg [7:0] slaves_inload [3:1]= ?

我不知道应该在 RHS 上写些什么。假设我想分别为奴隶 [1]、[2]、[3] 传递 8'b111011018'b101010108'b10001000

初始化数组的一种方法如下:

reg [7:0] slaves_inload [3:1] = '{8'b10001000, 8'b10101010, 8'b11101101};
                                 //    3            2            1

此语法可以在 IEEE Std 1800-2017 的第 10.9.1 节中看到数组分配模式