没有所谓的“三维数组”。
只有这种
reg [7:0] mem [0:255];
initial的时候可以做到初始化,但仅限于仿真,initial是不可综合的。
integer k;
initial begin
for(k=0;k<256;k=k+1) begin mem[k] = 8'h55; end
end
如果是要求可以综合的电路的话,可以这样(addr和wr_en,rd_en你自己定义吧。):
integer k2;
reg [7:0] dout;
always @(posedge clk or negedge rst_n) begin
if(~rst_n) for(k=0;k<256;k=k+1) begin mem[k] = 8'h55; end
else if(wr_en) mem[addr] <= din;
end
always @(posedge clk or negedge rst_n) begin
if(~rst_n) dout <= 8'h0;
else if(rd_en) dout <= mem[addr];
end
温馨提示:答案为网友推荐,仅供参考