打印

首次SPARTAN-6上调试ddr2,各种问题请教!!!

[复制链接]
6824|56
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gnr_zhao|  楼主 | 2013-5-17 13:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前发过一个,有点长了,估计大家也看烦了,在下面这个链接里
https://bbs.21ic.com/icview-536325-1-1.html

问题还是没有彻底解决,新开一个帖子继续请教
我会总结在这次调试过程中的每一个问题

现在的情况是:
1.系统时钟250M,ddr2跑在125M时
当RZQ接75欧电阻,example_design不加mig生成的chipscope调试用的三个核时图像没问题,加入后会把最开始的64个数读两遍
当RZQ接75欧电阻,example_design加入mig生成的chipscope调试用的三个核时图像没问题,不加后会把最开始的64个数读两遍
错数时给出的读地址都没有问题(chipscope看的是送给mcb的地址,不是送到ddr2的pin上的地址)
2.系统时钟500M,ddr2跑在250M时,example_design加入mig生成的chipscope调试用的三个核时
当触发信号选择送给MCB何从MCB读回的两个数据的首位时,出错,接收的是完全不对的乱数,写给MCB的数从观察上看只写了一行,而且第一个数还没有写进去
当触发信号选择用户接口我自己生成的用于测试的数据的首位时,还是前64个个数重复了一边,但是数都写到ddr2里也读回来了
此种情况不加三个debug的核时,读写没问题,还是错64个数

现在就是这样的情况,以我的经验我感觉硬件有问题,不是很确定
因为之前几次觉得硬件问题,最后都是程序里有哪里不对,导致的
您觉得呢???

相关帖子

沙发
GoldSunMonkey| | 2013-5-17 22:56 | 只看该作者
降低速率试一下

使用特权

评论回复
板凳
xjsxjtu| | 2013-5-19 22:59 | 只看该作者
GoldSunMonkey 发表于 2013-5-17 22:56
降低速率试一下

听猴哥的啊

使用特权

评论回复
地板
gnr_zhao|  楼主 | 2013-5-21 16:30 | 只看该作者
试过了,系统跑在125,DDR2跑在62.5。还是一样,改一下CHIPSCOPE触发信号,图像就会从错到对,从对到错!

使用特权

评论回复
5
ococ| | 2013-5-21 17:32 | 只看该作者
1.SP6里面的MCB是硬核,本身没有问题,我已经用过好几次了。
2.不知道你所说的系统时钟和DDR2的时钟具体指哪个时钟。
    在MCB的模块顶层,c1_sys_clk是输出到FPGA外面和DDR2芯片连接的时钟。跑在400M是很稳定的。我曾经试过500M,看图像效果没问题。
   用户端口的时钟c1_p0_cmd_clk,c1_p0_wr_clk,c1_p0_rd_clk是可以根据需要选择的。你可以选同一个时钟,如果c1_sys_clk输入400M,这三个时钟可以选择100M。
MCB内部有FIFO对读写数据进行缓存,还需要防止FIFO的空满。
   

使用特权

评论回复
6
GoldSunMonkey| | 2013-5-21 21:17 | 只看该作者
gnr_zhao 发表于 2013-5-21 16:30
试过了,系统跑在125,DDR2跑在62.5。还是一样,改一下CHIPSCOPE触发信号,图像就会从错到对,从对到错! ...

从错到对,从对倒错是什么意思?

使用特权

评论回复
7
GoldSunMonkey| | 2013-5-21 21:18 | 只看该作者
ococ 发表于 2013-5-21 17:32
1.SP6里面的MCB是硬核,本身没有问题,我已经用过好几次了。
2.不知道你所说的系统时钟和DDR2的时钟具体指 ...

1 是的。2说的更清楚一点,让OCOC帮帮你

使用特权

评论回复
8
gnr_zhao|  楼主 | 2013-5-22 08:05 | 只看该作者
DDR2时钟就是送给DDR2的工作时钟,系统时钟就是 MCB给DDR2送数的系统数据流时钟,这两个时钟应该是2倍的关系。
我修改一下CHIPSCOPE的触发信号,对工程结果影响很大,有时候错64个数,有时候一切正常。
我在SP605上验证了我的工程,没有看图像,只是CHIPSCOPE抓数据看了一下,初步测试没问题。我现在比较怀疑硬件上哪里不对,不确定!

使用特权

评论回复
9
gnr_zhao|  楼主 | 2013-5-22 08:11 | 只看该作者
ococ 发表于 2013-5-21 17:32
1.SP6里面的MCB是硬核,本身没有问题,我已经用过好几次了。
2.不知道你所说的系统时钟和DDR2的时钟具体指 ...

多谢你的关注!我现在送给DDR2的工作时钟已经试过了62.5 125 250。都有问题,在我的设计里MCB内部写读和CMD路径的FIFO在操作的时候都有判断是否写满的设计,满了不会再写。我的BL就是用的最大的64,每次写满,读空后再写!

使用特权

评论回复
10
gnr_zhao|  楼主 | 2013-5-22 08:19 | 只看该作者
这个板子在设计的时候为了避免干扰,DDR2的数据线地址线没有过孔。我现在想用逻辑分析仪看一下这些信号,目前看没有任何方法,在硬件测试上有什么建议吗??大家!!

使用特权

评论回复
11
ococ| | 2013-5-22 13:22 | 只看该作者
板子如果有干扰应该也只是当DDR2速率很高的时候有影响,你的DDR2芯片的VREF的0.9V电压正常吗?

使用特权

评论回复
12
gnr_zhao|  楼主 | 2013-5-22 15:33 | 只看该作者
ococ 发表于 2013-5-22 13:22
板子如果有干扰应该也只是当DDR2速率很高的时候有影响,你的DDR2芯片的VREF的0.9V电压正常吗? ...

正常!

使用特权

评论回复
13
ococ| | 2013-5-22 15:46 | 只看该作者
本帖最后由 ococ 于 2013-5-22 15:50 编辑

我觉得还是你控制读写有问题。
你配置的MCB的用户端口的数据是多少bit?读写地址是怎么计算出来的?

使用特权

评论回复
14
gnr_zhao|  楼主 | 2013-5-22 16:02 | 只看该作者
ococ 发表于 2013-5-22 15:46
我觉得还是你控制读写有问题。
你配置的MCB的用户端口的数据是多少bit?读写地址是怎么计算出来的? ...

用户接口32位
我一次写最大的BL,就是64个32位数给MCB,所以地址做成每次增加128的计数器,这个计数器左移三位送MCB,即P0_MCB_CMD_ADDR_O
现在这个地址是00000400 00000800 这样递增的

使用特权

评论回复
15
gnr_zhao|  楼主 | 2013-5-22 16:04 | 只看该作者
ococ 发表于 2013-5-22 13:22
板子如果有干扰应该也只是当DDR2速率很高的时候有影响,你的DDR2芯片的VREF的0.9V电压正常吗? ...

这个VREF应该是参考电压,对吧,内核电压是不是应该是1.8V的那个!

使用特权

评论回复
16
gnr_zhao|  楼主 | 2013-5-22 16:08 | 只看该作者
ococ 发表于 2013-5-22 15:46
我觉得还是你控制读写有问题。
你配置的MCB的用户端口的数据是多少bit?读写地址是怎么计算出来的? ...

现在出错的时候,看数据就是把400这个地址开始的64个数,在800这个地址正确的时候又读了一遍。800地址给到MCB了,但是读的是400地址的数!不是每帧都这样,有一些帧会这样错!

使用特权

评论回复
17
ococ| | 2013-5-22 16:13 | 只看该作者
本帖最后由 ococ 于 2013-5-22 16:18 编辑

问题应该就出在你的地址上面。
生成的地址计数器不能左移三位,左移一位就可以了。
例如你每次写地址依次为十进制0,128,256....则送给MCB地址端口的数据应该是十进制0,256,512.....

使用特权

评论回复
18
gnr_zhao|  楼主 | 2013-5-22 16:30 | 只看该作者
ococ 发表于 2013-5-22 16:13
问题应该就出在你的地址上面。
生成的地址计数器不能左移三位,左移一位就可以了。
例如你每次写地址依次为 ...

我试了,数据全错了!
这个地址的低两位不是要保证是00吗?我这样移相当于给低两位补了两个零!
我这样做的前后64个数没有挨着存,我也没有追求这样!

使用特权

评论回复
19
ococ| | 2013-5-22 16:35 | 只看该作者
本帖最后由 ococ 于 2013-5-22 16:38 编辑

最低位保证00?你的DDR2芯片的数据位是32吧,我没这样用过。
我以为你要连续存。

使用特权

评论回复
20
gnr_zhao|  楼主 | 2013-5-22 16:40 | 只看该作者
ococ 发表于 2013-5-22 16:35
最低位保证00?我没这样用过。
我以为你要连续存。

我看UG388上说的,如果使用32位用户接口,地址的低两位要是0。
应该是,只有这样,才会在DDR2内部把32位数据分两次存到4个地址里!每个地址存8位!我是这样理解的,我觉得应该没错!
我现在怀疑硬件有问题可能性大,没法证明,电压都对!

使用特权

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

本版积分规则

17

主题

93

帖子

0

粉丝