SP6 DDR、GTP总结

[复制链接]
2130|7
手机看帖
扫描二维码
随时随地手机跟帖
andous|  楼主 | 2013-7-12 14:57 | 显示全部楼层 |阅读模式
我看BBS上有很多人遇到SP6 DDR、GTP调试问题。我把个人一些经验给大家分享。欢迎拍砖

DDR MIG
XILINX 的这个DDR MIG整体上是没有问题的,这个core没有误码和丢帧的情况,误码测试了几个月都没有问题。
SP6支持最大四片DDR,如果要把四片全用起来确实会存在一些问题。
问题1:BANK的问题
如果把四片整体读写,也就是看成一片DDR的话,分别为两个BANK,在判断MIG里面的FULL或者empty信号时,时序上会有问题。
我们用的最大做到100M,再往上做user 时钟就有问题了,因为这个距离实在太长了,垮了BANK。

问题2:缓存的问题
用过DDR的就会发现,这个DDR的缓存特别小,用起来特别别扭。
他的CMD最大长度是64,如果是32bit数据,最大长度就是64*4 = 256个字节。就算是128位宽的,也就是1K字节。
大家想象我们电视标清信号需要多大宽带,拿1280X720为例,这个一行的数据量就是1280X3 = 3840吧好像是,呵呵,数学没学好,
大致就是这个数字。1K的字节怎么能够。这样的话,我们就需要多发几次CMD。这样用就比较别扭,你既要判断视频buffer的空满指示,
又要判断这个MIG的缓冲区的满溢程度、

问题3:利用率比较低
有问题2就看以看出,MIG的设计也是基于内部的buffer做缓存。然后发起CMD,这个也取决于外部写入此buffer的快慢。
这个地方有个比较纠结的地方,就是读写数据和发起CMD的时间。
如果CMD发早了,那么buffer肯定不满,这样写DDR就比较碎。
如果等满了再发,那么写的过程要等待。

GTP的问题
GTP的问题相对较少,本人觉得还是比较好用的。
不过也遇到了一个问题,datasheet上说允许接收和发送时钟有200个PPM的频偏。但是我们用比较精准的时钟,频偏差在20个PPM以内。
还是有误码,最终也没有解决,没办法了,只能做成同源的了,没有影响,但是这个地方为啥有误码,不是很理解。之前我们
用V5的GTX就没有误码。
做硬件的时候一定要看好datasheet上说的。不要漏,最好看三遍。不然你会吃大亏的,你懂得.....

相关帖子

qin552011373| | 2013-7-12 19:23 | 显示全部楼层
好高深啊  暂时没接触过ddr

使用特权

评论回复
GoldSunMonkey| | 2013-7-12 19:29 | 显示全部楼层
感谢分享啊

使用特权

评论回复
GoldSunMonkey| | 2013-7-12 19:30 | 显示全部楼层
很多东西都是和具体应用相结合的。很多东西分析的有道理。
不过看出来,兄弟是做视频的

使用特权

评论回复
GoldSunMonkey| | 2013-7-12 19:30 | 显示全部楼层
加精了

使用特权

评论回复
andous|  楼主 | 2013-7-15 11:15 | 显示全部楼层
GoldSunMonkey 发表于 2013-7-12 19:30
很多东西都是和具体应用相结合的。很多东西分析的有道理。
不过看出来,兄弟是做视频的 ...

呵呵,不错,这个项目是传输视频的

使用特权

评论回复
tergy2012| | 2013-7-15 15:53 | 显示全部楼层
谢谢分享 啊

使用特权

评论回复
GoldSunMonkey| | 2013-7-18 00:03 | 显示全部楼层
andous 发表于 2013-7-15 11:15
呵呵,不错,这个项目是传输视频的

我还是比较聪明的

使用特权

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

本版积分规则

21

主题

275

帖子

8

粉丝