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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10853|回复: 13

[求助] xilinx V7 485T开发板上调试DDR3遇到的问题,求各位高手帮忙,谢谢

[复制链接]
发表于 2013-11-12 17:23:49 | 显示全部楼层 |阅读模式

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

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

x
我最近在V7 485T上调试DDR3,用ISim做仿真时,app_rdy一直为低,请问这是什么原因呢?同时,UG中关于输入信号的时序给的特别简单,有哪位高手给一个输入时序的图吗?我的仿真如下,app_rdy一直为低,求高手帮助! QQ截图20131112172854.jpg
发表于 2013-11-12 22:24:24 | 显示全部楼层
你定义ddr3的模型类型了吗?define,时钟给对了吗?testbench连接ddr3的模型了吗?
 楼主| 发表于 2013-11-13 11:38:10 | 显示全部楼层
回复 2# zyzfgpzgh

时钟有两个,一个参考时钟clk_ref_i(我用的单端的),我设的200M,一个系统时钟sys_clk_i,我用的800M。没理解你说的DDR3模型是什么意思。我是用的产生的user_design/rtl文件夹下的产生的代码。顶层模块为DDR3.v。然后建立了一个testbench进行仿真,信号也都连线了。输入按照UG上的描述给的,但是UG上给的不清楚。结果app_rdy一直为低,不知道什么原因。求帮助
发表于 2013-11-14 11:32:23 | 显示全部楼层
你先看看phy_init_done信号是否完成了。如果拉高了,而app_rdy一直为低,那只能说ddr3的核还没完成初始化你就一直向核里面写命令和数据。如果phy_init_done信号拉低,那说明你的核设置不对,你说你的核用的是800MHz时钟,我不能理解,我记得核的两个时钟,一个是参考时钟,用的一般是200MHz,还有一个是工作时钟,周期一般从2500~3300ns,也就说频率是在400Mhz-300Mhz的范围内,你用800MHz完全不可能。
发表于 2013-11-14 11:33:21 | 显示全部楼层
而且好好参考ddr3用户接口,即app_*的时序要求,app_rdy为低的时候,不允许进行任何读写操作的。
 楼主| 发表于 2013-11-14 20:29:18 | 显示全部楼层
回复 5# zyzfgpzgh


   非常谢谢你的解答。时钟应该是可以到800M的,它的范围是1072~3300ps; 现在我跑通了仿真,主要是之前我以为只要user_design里边的ddr模块就够了,貌似仿真时还得添加DDR3的model才行。但是我不太理解app_rdy时高时低(如下图)是为什么啊?不是应该变高后一直为高才对吗?如果时高时低,它低电平的时候我就没办法写入数据。比如一种应用场景是:外部输入的数据数据率为10M,我希望将输入的数据逐个存入DDR3中;但是app_rdy有时候会变低,那变低的那个时钟对应的数据就不能成功存入DDR3了啊。求指导
QQ截图20131114202913.jpg
发表于 2013-11-14 22:04:32 | 显示全部楼层
app_rdy信号,如果说起来,可以这么认为。在ddr3-ip核的内部是有个命令寄存器的,如果这个寄存器满了,app_rdy就为低,否则为高。如果此信号为低,那么就不要再写入指令。你可以分成两个状态:1,写入状态,此状态en为1,地址等也是对的。然后进入2状态。2状态:检测app_rdy是否仍然为高,如果为高,则en等拉低,否则en等信号仍然有效,直到app_rdy为高。
 楼主| 发表于 2013-11-15 12:05:14 | 显示全部楼层
回复 7# zyzfgpzgh


   谢谢哈!如果那样的话,我输入的数据是10M的话,我是不是还要FIFO一下,要不可能app_rdy为低,而下一个数据已经来了,就不能成功写入了。或者是:输入数据10M,我用一个很高很高的时钟往DDR3里边写,比如800M。一次不成功,还可以写下一次。这样就可以有80次的机会往里边写。是这个意思吗?谢谢
发表于 2013-11-15 12:49:40 | 显示全部楼层
接口肯定得用fifo转一下。你好好看看mig说明书里关于用户接口的时序。
发表于 2014-1-23 14:48:02 | 显示全部楼层
请教:用片外差分时钟输入的clock wize,然后产生两个ddr3时钟信号,接到ddr3上。应该怎么接才能正确?
我尝试了两种情况:
(1)差分输入到clock wize,产生两个时钟信号,并加buf,然后链接到ddr3控制器上,报错。
(2)差分输入到clock wize,产生两个时钟信号,去掉buf,然后链接到ddr3控制器上,抱错。
如何让ddr3和目前的系统使用同一个时钟系统?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-29 09:40 , Processed in 0.029668 second(s), 10 queries , Gzip On, Redis On.

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