关于sdr sdram布线和fpga连接的问题
我正准备画ep3c55f484的板子,外带两片sdr sdram。由于以前没用过sdr sdram,有不少疑问:1、关于sdram的走线长度;
很多资料以及网友说,sdram的走线要尽量等长,有的说组内长度要控制在50mil内。
可我手头有一块红色飓风ep2c35的开发板,fpga和sdram之间的走线长度就相差比较大,肉眼看上去误差至少有1~2cm。而有的pcb更过分,比如:http://218.16.124.207/bbs/bbs_content.jsp?bbs_sn=3431572&bbs_page_no=1&search_mode=2&search_text=fpga
在77楼的pcb图(中间是fpga,右侧是sdram ),走线的差距更大。
2、关于与fpga的连线;
很多网友说,同一片sdram尽量连线到fpga的一个BANK内,可我看红色飓风ep2c35的开发板:一片sdram的地址、数据竟然连线到了3个bank(B5,B6,B7)。
3、sdr的管脚是不是可以和fpga的任意I/O管脚连接?需要使用特殊功能管脚吗?比如DQ/DM/DQS
4、fpga和sdr sdram之间需要串联匹配电阻吗?很多网友说需要,或者至少需要在几个控制信号上串联。同样,在红色飓风ep2c35的开发板上,没有串联匹配电阻:(
请各位大虾指教。。。 布线是否好决定sdram能跑多快。
还有,找个Altera原厂的开发板PCB看看。 楼上的意思是不是可以这样理解:
如果走线的长度控制的好(比如差距小于50mil)+ 加了串联匹配电阻+管脚都分配在一个BANK内,这样sdram可以跑得很快,比如166M。
否则速度就跑的比较低?
是不是sdr sdram 对布线要求不严格,只要画的不是太离谱都可以正常运行?只不过是运行频率低一些罢了? 关注。。。 sdram容限比ddr宽很多,但最好遵循等长 等个毛的长啊,去看看altera stratix II DSP开发套件,根本不用care.你又不能跑3,4百M。不用care 200MHz之内,尽管拉线…… 谢谢各位的回复!
看了大家的发言以及看了几个别人的板子,对这些问题有了一点答案,说出来请大家指正吧~
1、关于sdram的走线长度:
对于sdr sdram来说,由于频率不是很高,所以走线比较宽松,只要芯片靠近fpga,基本上可以‘随便连线’;
2、关于与fpga的连线:
基本上是尽量考虑布线的方便性,连线到2个BANK甚至3个BANK都没问题;
3、对于sdr sdram来说,不用考虑特殊管脚,只要是I/O就行,但最好把CLK连接到PLL_OUTp管脚,方便后期调整时钟;
4、在sdram比较靠近fpga的情况下,不用串联匹配电阻。
不知道我总结的对不对,请大虾们发表一下看法~ 1、走线长度只是保证信号完整性的手段之一。我觉得地线会更重要一些,还有,即使严格等长,也要考虑信号线过长所带来的其他问题,所以,有的时候,串个电阻会更好。当然,一般PC100、PC133的要求并不太高,10cm内相差2cm是无所谓的。要是再长或差别更大,最好进行仿真测量。
2、FPGA除了考虑连线方便以外,也要考虑延迟时间。CPLD的Pin2Pin延迟是固定和可预期的,但是FPGA的Pin2Pin延迟并不相同,不过对于SDRAM来说,可以忽略。当然,尽量在一个bank内也是有好处的。
3、时钟Pin是特殊设计的,可以保证传递信号时的相位延迟。
4、匹配电阻很多时候都可以省略,但是产品和开发板完全不是同一级别的东西。
所以,如果是自己学习,基本上不用考虑太多问题,尤其是低密度、低速的电路。但是对于工业用,还是要尽可能的严谨一些。很多措施都是必要且有效的手段。稳定性出了问题就很难搞定,最好在设计的时候就尽可能多的考虑,不让问题出现才是关键。
好吧,我知道这个例子很烂,但是的确很重要,那就是---水桶效应。
重视每一个细节,才是取胜之道。工业品不同于其他。
想想阿莫的风格就知道了。 看过一些板卡单单在SDRAM的时钟引脚上串联了电阻,数据和地址都没有。纳闷。 时钟线串电阻?
一般是数据线串电阻,时钟线是上下拉的电阻,为了EMI。 回复【2楼】pebble
楼上的意思是不是可以这样理解:
如果走线的长度控制的好(比如差距小于50mil)+ 加了串联匹配电阻+管脚都分配在一个bank内,这样sdram可以跑得很快,比如166m。
否则速度就跑的比较低?
是不是sdr sdram 对布线要求不严格,只要画的不是太离谱都可以正常运行?只不过是运行频率低一些罢了?
-----------------------------------------------------------------------
其实。。。。搞SDRAM,平时都不是很注意的,等长要一定的,我通常跑133,还没有出现过什么问题,SDRAM其实要求不高。 如果是166的话,不等长也是没事的。
我的两片166的SDRAM数据、时钟最长是150mm,最短90多mm,一样跑的很好的。--系统时钟就是166的。
当然了,你上面如果做的很好,那就更安全可靠了。 mark 大家说时钟133、166,是不是sdram时钟只能这两种选啊,没有100M? 有的。PC100就是这个标准。不过一般133较容易实现,166器件一定要保证原厂原装才可以。如果阿莫这里有就好了。呵呵 133的跑100时钟也行 回复【11楼】laoxizi 老曦子
-----------------------------------------------------------------------
最长150mm,最短90mm,相差60mm,就是6cm啊,单位没写错吧? 关注。。。 1ns相当于十几厘米的PCB走线,频率不高的根本不关心 回复【17楼】pebble
回复【11楼】laoxizi 老曦子
-----------------------------------------------------------------------
最长150mm,最短90mm,相差60mm,就是6cm啊,单位没写错吧?
-----------------------------------------------------------------------
实际上,最长与最短的数据线相差不止6cm呢。又有什么关系,反正板子跑的很好。
另外,单纯考虑线长也不对,还要综合看走线、退耦、布局等等因素。
只是说,等长布线在SDRAM中要求不高而已。 回复【15楼】nano 纳诺
有的。pc100就是这个标准。不过一般133较容易实现,166器件一定要保证原厂原装才可以。如果阿莫这里有就好了。呵呵
-----------------------------------------------------------------------
哪里有好的166的SDRAM买啊。。。 SDRAM走线要求不严格,阻抗注意一下就可以了。信号在PCB上的传播速度是5.9英寸/ns,SDRAM跑100MH的话是10ns一个周期,你算算你要走线长度差多少才会导致数据超出有效窗口。呵呵,想让它不好用都难。 好贴,又长见识了 mark 学习了!!! LZ好,我就是你说的77楼PCB。
看下23楼的朋友的回帖对你有帮助。
为什么等长呢?为了数据保持建立时间,信号在PCB上有传播速度。另外FPGA 引脚好像可以调时间的,(哎,对硬件还是缺乏了解)
高速通常采用绕线等长,就是蛇形线。控制板子参数就可以实现这些线的阻抗控制。很多软件多可以算PCB阻抗,比如SI900,CAM350(没有用过,一个做PCB的人说的),板长也多是有误差的,多少他告诉我,忘记了。
以上我也是模棱两可,但以全盘脱出了。
建议LZ不要再想这些问题了,尽管布线把。把SDR管脚分配在FPGA的专用管脚上应该更好点 回复【23楼】WeightU4Ever
sdram走线要求不严格,阻抗注意一下就可以了。信号在pcb上的传播速度是5.9英寸/ns,sdram跑100mh的话是10ns一个周期,你算算你要走线长度差多少才会导致数据超出有效窗口。呵呵,想让它不好用都难。
-----------------------------------------------------------------------
5.9 in = 14.986 cm
MARK 目前,同楼主一样也搞sdram一般的红色旋风 系列的 板子都无法达到100M(时序上无法满足) 一般 30-50MHz 还是没什么问题。
个人认为 SDRAM包含两个部分,一个是FPGA中的SDRAM控制器的时序关系。一个是PCB上走线的时间关系,要满足SDRAM芯片的建立和保持时间关系。速度越高布线的延迟时间越是苛刻。一般保持你的数据在 0.9ns 就能上100M(数据、控制线相对于时钟) ALTERA 的SDRAM控制如是! 我做过,也是两片SDRAM,不过最高跑到100M,在高就不行了 两片sdram,那数据线和地址线复用的吗? 两层板呢?楼主总结的东西还能用吗?据说两层板的阻抗匹配没法算,两层板的sdram要怎么走线,线宽多少?需要什么处理啊 mark 貌似老一点的主板用到都是166的内存条,不过大多都是8位的:( 两层板也可以算阻抗,信号线两边加两条地线,底层铜平面保持完整,用polar si9000就能算 学习一下 学习中 MARK...受用啊。。。 跑100M的话,爱怎么拉就怎么拉 nano 发表于 2010-4-15 11:39 static/image/common/back.gif
1、走线长度只是保证信号完整性的手段之一。我觉得地线会更重要一些,还有,即使严格等长,也要考虑信号线 ...
说的好 收藏 bone 发表于 2010-4-14 14:21 static/image/common/back.gif
200MHz之内,尽管拉线……
Mark!讨论结果有指导意义 很好的帖子学习了 尽可能等长,老的内存条上就有等长布线。 乱连线当然是不行的 , 参考官方设计啦! 要求确实不算高 ,但也不能乱连线啊! 大侠们来讨论下DDR2呢,时钟频率可以达300MHz 理想情况SDR sdram的走线时要等长,altera建议布线在top/bottom的banks,效果会好于你布线在side banks。(不同IObank速度也有差别)
从sdram时序上看,数据线的时序要求比地址线、控制线更苛刻。特别在sdram和fpga应用的话,一般是4、8、page突发模式,这种情况下,地址线地址更新没那么频繁。(除非你采用单字节读写);
所以DQ能尽量等长走线就等长走线,而控制线、地址线要求宽松很多,这大概也就能解释为什么开发板商把sdram步在不同bank。
我的板子没有加串联电阻下直连,可以跑6ns的sdram时钟。 SDRAM在200M以内没有严格的等长限制? nano 发表于 2010-4-15 11:39 static/image/common/back.gif
1、走线长度只是保证信号完整性的手段之一。我觉得地线会更重要一些,还有,即使严格等长,也要考虑信号线 ...
受益匪浅!!! 看了评论受益匪浅 mark,受益匪浅 学习了 放假看看帖子{:lol:} mark{:lol:}
页:
[1]