Verilog数组表示及初始化,以三维数组为例,二维及一维应该类似;
reg [19:0] array1 [0:7][0:15][0:8]; //3维数组,用来存储梯度直方图
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
//array1 [0:7][0:15][0:8] <= 0;
$readmemh("pds_cell_0.txt", array1);
end
首先直接给数组赋值—— //array1 [0:7][0:15][0:8] <= 0;,报错;
网上搜了一下,要用给memery赋值的方式,于是生成了一个txt文档,注意文档的内容格式要符合如下要求:
1101
1110
1000
0111
0000
1001
0011
...
我这里是直接赋值为0,所以我的pds_cell_0.txt内容就是
0
0
0
...
这种方法用modelsim仿真是OK的,
但是QUARTUSII综合不能通过,怎么办呢?