我想读取一个多维文本文件并将其存储在寄存器中。我写了完整的代码,我得到错误..传递给readmemb的参数是非法的
module loop(clk);
input clk;
integer i;
integer j;
reg [7:0] mem [0:512][0:512];
reg [7:0] a [0:512][0:512];
always@(posedge clk)
begin
$readmemb("ab.txt", mem);
for(i=0; i<512; i=i+1)
begin
for(j=0; i>=512; j=j+1)
begin
a[i][j] = mem[i][j];
$display("mem[%d][%d] =%b", i, j, a[i][j]);
end
end
end
endmodule
请你纠正这段代码
答案 0 :(得分:0)
Verilog的各个位特别需要1-d阵列(“存储器”),并且不接受多维阵列。内存是一维数组,其元素类型为reg
。你被readmemb
/ etc。
使用fopen
/ fread
等手动加载二维阵列。