发新帖我要提问
123
返回列表
打印

请教,SPARTAN-6使用DDR2时错一个数的问题!!

[复制链接]
楼主: gnr_zhao
手机看帖
扫描二维码
随时随地手机跟帖
41
gnr_zhao|  楼主 | 2013-5-10 11:44 | 只看该作者 回帖奖励 |倒序浏览
另外,SPARTAN-6原语里是没有PLLADV的,只有PLLBASE但是MIG生成的工程调用的都是PLLADV,这两个是通用的?

使用特权

评论回复
42
snk12| | 2013-5-10 12:43 | 只看该作者
本帖最后由 snk12 于 2013-5-10 12:52 编辑

改infrastructure_inst中的pll_adv, 不要用mig生成的, 使逻辑时钟跑在62.5M左右, 即CLKOUT2,  , 怎么说呢
pll_adv共生成了4个时钟,前2个用于ddr,一个给系统逻辑。 你的系统要用到的就是这个时钟,其实就是个操作fifo的读写时钟。
比如你的输入时钟是125M, 你想DDR2跑在500M,  假设你就用了一个fifo的模式,128位,每时钟操作就是16字节,那逻辑时钟跑在62.5M就够了,62.5*16=1000M是你的最大带宽,如果要800M的话,那逻辑时钟要设成100Mhz才不会浪费ddr2的带宽
PLL_ADV设成这样DIVCLK_DIVIDE=1, C_CLKFBOUT_MULT=4,CLKOUT0_DIVIDE=1,CLKOUT1_DIVIDE=1,CLKOUT2_DIVIDE=8

不用抓DQ位的,抓Fifo出来的数据,然后错误位号%16取余就能得到DQ位

你的问题是你不去看文档资料就在这提问, 这种涉及很多细节需要 看文档, 别人很难回答的全面
你还是先看下xilinx的mig文档吧,那上面说的很清楚的。
或网上有一篇介绍使用ddr2的**,应该能让你知道mig时钟是怎么回事。
http://www.**.com/mayMAN/blog/10-03/186414_eb41d.html

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
GoldSunMonkey + 4 很给力!
43
gnr_zhao|  楼主 | 2013-5-10 13:28 | 只看该作者
snk12 发表于 2013-5-10 12:43
改infrastructure_inst中的pll_adv, 不要用mig生成的, 使逻辑时钟跑在62.5M左右, 即CLKOUT2,  , 怎么说呢
...

UG388和UG416我都看过很多遍了。您发的这个**我半年前就考到我电脑里了,虽然我们考个东西很难,也看过两遍了至少。
我比较不喜欢遇到问题直接问别人,都是实在找不到,很郁闷了才问,这次领导催的太急,
里面关于时钟怎么生成的我也看过,我也知道每个生出来的时钟是做什么用的,但是这次仿真是第一次遇到说VCO的频率范围不对,之前从来没有过,我觉得应该是和PLLADV的参数设置规则有关,虽然不能很确定。
我再看看吧!我考个UG382进电脑吧!
MCB的读路径的这个64深度的FIFO出来的数一直都在看,就是看这个发现最开始的64个数多读了一遍!所以想看MCB和DDR接口处的数是不是这里就已经开始错了,看这里的地址对不对,一直看不成!

使用特权

评论回复
44
gnr_zhao|  楼主 | 2013-5-10 13:28 | 只看该作者
snk12 发表于 2013-5-10 12:43
改infrastructure_inst中的pll_adv, 不要用mig生成的, 使逻辑时钟跑在62.5M左右, 即CLKOUT2,  , 怎么说呢
...

很感谢你一直很有帮助很耐心的回复!!!

使用特权

评论回复
45
gnr_zhao|  楼主 | 2013-5-10 14:04 | 只看该作者
本帖最后由 gnr_zhao 于 2013-5-10 14:05 编辑

您说的是用之前的125M输入时钟的MIG工程来改PLL参数得到500M的时钟!我又建了一个250M输入的MIG工程,在这个里面遇到了仿真问题,说这个250M没有在VCO的频率范围内,这个范围最低是400M,这个错误是出现在MODELSIM里面的!我板子的晶振还是125,所以我在EXAMPLE DESIGN里加了个DCM,把输入的125M先倍频到250然后送PLL。
为什么选择这个方法,我记得UG416里不建议直接改顶层参数,如果要改也要去重新生成核。我怕我有哪个不明显的地方忘了改,一直卡在那里!
125M应该比250更不那个范围内,为什么从来没有报过错呢?

使用特权

评论回复
46
GoldSunMonkey| | 2013-5-10 23:33 | 只看该作者
gnr_zhao 发表于 2013-5-10 11:33
DQ是PIN我要怎样可以用CHIPSCOPE来抓这个PIN呢?加IOBUF肯定不行,我试过。IDDR2我看有人建议过,不会用 ...

这个还是不要用的,这个会引起其他的问题

使用特权

评论回复
47
GoldSunMonkey| | 2013-5-10 23:34 | 只看该作者
还没搞定么??这是一个硬核,兄弟。

使用特权

评论回复
48
gnr_zhao|  楼主 | 2013-5-12 23:20 | 只看该作者
fvco=fin*M/D
PLL的这个fvco的范围要在400M到1440M之间才行
这就是为什么在125M输入时钟时clkout0=fin*4/(1*2)不能把2约分掉的原因
在我修改成250M输入后一直报错说fvco频率不在范围内,是因为我忘了在顶层修改参数,而是在pll所在的这个文件里修改的,参数没有起到作用
所以之前一直无法仿真

现在仿真没问题了,但是读数写数还是不对,仿真能看到没有发现哪里不对,好像是时钟还是有问题
明天继续

这个硬核是不是应该很简单才对的??为什么做的这么费事呢??出现各种问题!!!

使用特权

评论回复
49
GoldSunMonkey| | 2013-5-13 21:00 | 只看该作者
gnr_zhao 发表于 2013-5-12 23:20
fvco=fin*M/D
PLL的这个fvco的范围要在400M到1440M之间才行
这就是为什么在125M输入时钟时clkout0=fin*4/( ...

如何了?兄弟?怎么没有回复了?

使用特权

评论回复
50
gnr_zhao|  楼主 | 2013-5-14 01:04 | 只看该作者
换了250Mddr2时钟后,出不来,仿真没问题
但是debug不行,好像是哪里时钟还是不对

使用特权

评论回复
51
GoldSunMonkey| | 2013-5-14 13:54 | 只看该作者
gnr_zhao 发表于 2013-5-14 01:04
换了250Mddr2时钟后,出不来,仿真没问题
但是debug不行,好像是哪里时钟还是不对 ...

降低时钟呢?
我觉得如果时钟设置有问题,可以想办法换换。
如果是板卡等长线有问题,就降低速率。

使用特权

评论回复
52
gnr_zhao|  楼主 | 2013-5-14 23:13 | 只看该作者
GoldSunMonkey 发表于 2013-5-14 13:54
降低时钟呢?
我觉得如果时钟设置有问题,可以想办法换换。
如果是板卡等长线有问题,就降低速率。

时钟设置应该没问题了
现在怀疑rzq阻抗不对
明天试试

跑在250M已经是不高了,ddr2芯片推荐的最低200

使用特权

评论回复
53
gnr_zhao|  楼主 | 2013-5-17 12:36 | 只看该作者
系统跑在500,ddr2跑在250时calib_done没有拉高的问题找到了
mcb_wrapper的输入时钟周期这个参数设置没有改,在顶层把这个改成4000ps就好了
数据还是有些问题
这个帖子有点长了,我要结了它从新开一个

使用特权

评论回复
54
gnr_zhao|  楼主 | 2013-5-17 12:44 | 只看该作者
威望都给出去了怎么还说没结贴啊!!

使用特权

评论回复
55
gnr_zhao|  楼主 | 2013-5-17 13:04 | 只看该作者
感谢大家的回复和关注!!
你们的回复对我帮助很大!!!

使用特权

评论回复
56
GoldSunMonkey| | 2013-5-17 22:55 | 只看该作者
gnr_zhao 发表于 2013-5-14 01:04
换了250Mddr2时钟后,出不来,仿真没问题
但是debug不行,好像是哪里时钟还是不对 ...

结帖没我分数。:'(

使用特权

评论回复
57
GoldSunMonkey| | 2013-5-17 22:55 | 只看该作者
gnr_zhao 发表于 2013-5-17 13:04
感谢大家的回复和关注!!
你们的回复对我帮助很大!!!

又开新帖了?

使用特权

评论回复
58
xjsxjtu| | 2013-5-19 22:59 | 只看该作者
GoldSunMonkey 发表于 2013-5-17 22:55
又开新帖了?

我看是开新帖了

使用特权

评论回复
59
干吧得| | 2013-12-26 17:17 | 只看该作者
gnr_zhao 发表于 2013-5-6 19:51
现在去加班,再好好用example_design自带的ila来chipscope看一下
不知道为什么我自己做的cdc文件,加进去后 ...

最近也在调试ddr2,用chipscope看了一下,初始化都未完成,自己加了个cdc看,布局布线太慢了,之前跑自带的ila,还能快点,但是我一直不知道在代码里加ila,icon后,怎么用chipscope看,请问可以教一下吗?不胜感激。

使用特权

评论回复
60
陌路绝途| | 2013-12-26 20:39 | 只看该作者

使用特权

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

本版积分规则