Verilog中readmemh的替代品

nod*_*nja 5 verilog

我正在尝试将文件中的值加载到这样的二维数组中.

 reg  [31:0] RAM[63:0];
 initial
      $readmemh("memory.dat",RAM);
Run Code Online (Sandbox Code Playgroud)

有哪些替代方案?如果我想要对值进行硬编码,那么代码是做什么的?

too*_*lic 5

如果要对值进行硬编码,只需分配给每个内存位置:

initial begin
    RAM[0] = 32'h1234_5678;
    RAM[1] = 32'h9abc_def0;
    RAM[2] = 32'haaaa_5555;
    // etc.
end
Run Code Online (Sandbox Code Playgroud)

另一种替代方法$readmemh是使用文件IO系统任务,例如$fopen$fscanf(参考IEEE标准或您的模拟器文档).