读取多维文本文件,使用verilog将其存储在寄存器中

时间:2013-09-17 06:01:32

标签: arrays verilog

我想读取一个多维文本文件并将其存储在寄存器中。我写了完整的代码,我得到错误..传递给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

请你纠正这段代码

1 个答案:

答案 0 :(得分:0)

Verilog的各个位特别需要1-d阵列(“存储器”),并且不接受多维阵列。内存是一维数组,其元素类型为reg。你被readmemb / etc。

所困扰

使用fopen / fread等手动加载二维阵列。