在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3024|回复: 5

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

[复制链接]
发表于 2017-11-8 10:22:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 chenbeihp 于 2017-11-8 10:23 编辑

最近仿真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仿真赋初值吗?(全零即可)
发表于 2017-11-8 13:13:04 | 显示全部楼层
MIG core 在 init   calibra的时候,会反复读写bank0  row 0 ,这样你读的row 0 col 0 的值就和初始化的不一样了。
可以在例化 ddr controller的时候进行设置用哪个bank 哪个row 进行初始化 calibra。
 楼主| 发表于 2017-11-8 13:55:56 | 显示全部楼层
回复 2# y23angchen

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





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


复制代码
发表于 2017-11-10 15:13:00 | 显示全部楼层
回复 3# chenbeihp


   是的。
发表于 2017-11-10 22:50:58 | 显示全部楼层
从未遇到过这个问题呢。。。
发表于 2018-2-12 23:05:55 | 显示全部楼层
thanks a lot !!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-25 17:11 , Processed in 0.017482 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表