打印

spartan6控制ddr2的问题

[复制链接]
5963|39
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我用mig操作ddr2时,发现写入的直和读出来的值不同,我把写数据时cmd_bl设置为8,读时也是设为8,但是发现读的时候rd_count的值感觉不太对。
我的时钟为125M,我用40M外部时钟倍频到133M(没有125M,不知道是不是这个问题)。我的操作时序为:1,初始化后cmd_instr为refresh。2,把数据写入FIFO。3,执行write命令。4,delay一段时间,同时cmd_instr设为refresh。5,执行read命令。6将数据读入FIFO。
附件中为我用chipscope抓出来的数据,请大家帮忙下,谢谢了。
mcb_test.rar (8.78 KB)

mcb_test.zip

8.78 KB

相关帖子

沙发
GoldSunMonkey| | 2012-10-24 12:17 | 只看该作者
可能是时钟的问题,为什么要有这种差异呢?

使用特权

评论回复
板凳
fengsining|  楼主 | 2012-10-24 12:30 | 只看该作者
这个我用dcm倍频的时候,想着倍成125M,但是只能配到133M,我当时想着可能问题不是太大,先按照这个来试试。
猴哥,那我再操作上是否存在着有误的地方,压缩文件中是我的一些代码和ucf文件。

使用特权

评论回复
地板
GoldSunMonkey| | 2012-10-24 12:43 | 只看该作者
操作是标准操作应该没有问题。
S6是硬核,所以我没太看代码。

使用特权

评论回复
5
GoldSunMonkey| | 2012-10-24 12:52 | 只看该作者
一点点查吧

使用特权

评论回复
6
fengsining|  楼主 | 2012-10-24 13:00 | 只看该作者
好的,谢谢猴哥。

使用特权

评论回复
7
shiyinjita| | 2012-10-24 13:06 | 只看该作者
1# fengsining
跟时钟应该没有太大的关系,
1 : 你在生成的test里面能不能仿真通过呢 ?
2 :你的电路图中有没有mcb4_rzq的2R电阻接地 ?
我和你是一样的问题 。

使用特权

评论回复
8
GoldSunMonkey| | 2012-10-24 13:14 | 只看该作者
1# fengsining
跟时钟应该没有太大的关系,
1 : 你在生成的test里面能不能仿真通过呢 ?
2 :你的电路图中有没有mcb4_rzq的2R电阻接地 ?
我和你是一样的问题 。 ...
shiyinjita 发表于 2012-10-24 13:06
我觉得一点点查吧。我一般都是用开发板做,遇到的问题肯定和你们不一样。
没能帮到你们。不好意思。

使用特权

评论回复
9
fengsining|  楼主 | 2012-10-24 13:25 | 只看该作者
猴哥太客气了。

使用特权

评论回复
10
okyouwin| | 2012-10-24 13:35 | 只看该作者
帮不上忙、、、

使用特权

评论回复
11
ococ| | 2012-10-24 13:41 | 只看该作者
chipscope里面看不得BL值。
另外看你的截图,读命令的使能貌似不是一个时钟,这样就给了多个读命令吧。

另外我觉得使用MIG的时候 系统钟和 端口钟一般是独立的吧。我使用系统钟400M时,端口钟100M。当然这不是规定。

使用特权

评论回复
12
fengsining|  楼主 | 2012-10-24 13:51 | 只看该作者
11# ococ
我没有抓出BL 的值。我读命令时能是用了几个周期的时间,我该成一个周期试试看。

使用特权

评论回复
13
fengsining|  楼主 | 2012-10-24 13:53 | 只看该作者
11# ococ
而且因为我没有端口时钟,只能通过倍频后给~~~这个也是我一直没有怎么用工程内部给的test程序的原因。因为我觉得改完后跟我自己再写可能没有多少区别了。

使用特权

评论回复
14
fengsining|  楼主 | 2012-10-24 13:57 | 只看该作者
7# shiyinjita
我原理图上接了一个100欧姆的电阻。我在生成mig时内部设置的那个设置了50欧姆的,应该是满足的。
test程序因为我这时钟端口是内部dcm倍频后的,修改后我觉得跟我自己写的可能差不多,就没有去试这个程序

使用特权

评论回复
15
shiyinjita| | 2012-10-24 16:26 | 只看该作者
14# fengsining
我不是那个意思,你说的那个电阻是ODT的电阻,目的是阻抗匹配的,
我的意思是说 在实际电路中有个RZQ引脚,你看看有没有通过2R电阻接地,如果接地了话,那么就会通过 输入终端 进行校准,如果没有,那么选择软校准模式。
还有 关于仿真,你可以在生成的testbench中,找到modal模型,利用你的控制程序,以及DDR2的IP核,还有DDR2的模型,就可以仿真了。

使用特权

评论回复
16
shiyinjita| | 2012-10-24 16:28 | 只看该作者
14# fengsining
对了你有没有联系方式啊,晚上回去后和你讨论以下DDR2吧 ,我现在也卡在这。
我的QQ是531641252 ,你到时候加一下啊 。

使用特权

评论回复
17
fengsining|  楼主 | 2012-10-24 16:33 | 只看该作者
本帖最后由 fengsining 于 2012-10-24 16:36 编辑

16# shiyinjita
我的qq号码:408698096
你的qq需要验证回答问题的~~
还有,引脚上接了一个电阻为100欧姆的,然后接地的。

使用特权

评论回复
18
gibenlin| | 2012-10-24 17:44 | 只看该作者
看看解决问题吧

使用特权

评论回复
19
fengsining|  楼主 | 2012-10-26 17:56 | 只看该作者
5# GoldSunMonkey
猴哥,我的MCB现在用自己带的test程序测试,我抓chipscope发现读写状态机总是停留在CMD_WAIT中,然后p0_cmd_en经常为高,instr总是停留在0或者1,这个结果每次重新下载后跑chipscope可能不太一样,但跑一次后发现就一直停留在这个上面描述的状态了,请问是什么原因啊?
我的calib_done和error,sys_clk_p,sys_clk_n,rest_i这五个信号是没有端口的,都是我自己内部设置的寄存器之类的。不知道是不是这个的影响?

使用特权

评论回复
20
星星之火红| | 2012-10-26 22:38 | 只看该作者
sys_clk_p,sys_clk_n这个是差分时钟啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

37

帖子

1

粉丝