微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教一下xilinx MIS IP core仿真DDR3时DDR3内存初值的问题

请教一下xilinx MIS IP core仿真DDR3时DDR3内存初值的问题

时间:10-02 整理:3721RD 点击:

最近仿真DDR3 RDIMM内存读写,发现在init_done起来以后先去读取DDR3内存,里面的初值不是0。查看ddr3_model.sv里面的代码,里面写了一段:

  1. `ifdef mem_init
  2.     in = $fopen("mem_init.txt","r");
  3.     while( !$feof(in))  begin  
  4.           memory_write(bank, row, col, data);
  5.           ......
  6.      end
  7. `endif

复制代码


大义应该是需要读取一个txt文件,按照格式把txt文件内存一次写回到memory中作为初始化初值。
但是我觉得这个mem_init.txt文件会比较大,因为我仿真的DDR3 RDIMM内存大小是8GB。

请问一下大家有什么其他方式能够更方便的为memory仿真赋初值吗?(全零即可)

MIG core 在 init   calibra的时候,会反复读写bank0  row 0 ,这样你读的row 0 col 0 的值就和初始化的不一样了。
可以在例化 ddr controller的时候进行设置用哪个bank 哪个row 进行初始化 calibra。


谢谢答复!
再追问一下:
请问这个控制是手动修改这几个参数吗:

  1. parameter CALIB_ROW_ADD = 'H000;
  2. parameter CALIB_COL_ADD = 'H000;
  3. parameter CALIB_BA_ADD = 'H000;

复制代码



   是的。

从未遇到过这个问题呢。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top