硬件设计之二——信号设计01:DDR设计
在目前的处理器架构中,DDR是必不可少的一部分。毫无疑问,DDR部分是系统高速信号中最重要的部分。
本文分为2部分,一部分是对于信号处理的规则,另一部分是一些注意事项。
一 DDR设计规则
这部分的设计以硬件设计指导为参考。大部分的SoC厂商都会在这里给出明确的规则说明,比如intel,AMD,安霸,TI等。也有少部分SoC厂商会给出一句‘请完全复制参考设计’。。。
下面以安霸A7L对DDR的要求为例,其他平台的其实大同小异。
1.1 拓扑结构
对于拓扑结构的选择,一定要看芯片是否支持读写平衡(Read and Write Leveling)。
如果不支持和DDR2一样按T拓扑处理。(保证CPU到DDR各支点等长,注意终端电阻要接到最大的T点上)
支持读写平衡情况下:
2-4片颗粒:走T点或是Fly-by都可以; 4片及以上颗粒:建议走Fly-by。
A7L采用了T型结构。
1.2 一般性规则:
一般性规则: | ||||||||||||
DDR3的任何走线层,参考地都要完整,不得有断续; DDR3区域内地平面不得切断。1.5V电源要覆盖整个DDR3禁布区。此禁布区目的是防止其他信号干扰DDR3接口。此区域内仅允许走DDR3接口信号; DDR3芯片电源平面的目的是DDR3设备和A7L有最短的电源、地回路,并且干扰最小; DDR3布线区内不允许有无关信号,包括所有层; 为提高信号完整性,走线长度要尽量短; |
1.3 退耦电容
退耦电容靠近器件摆放。
电容到电源的管脚不超过125mil。
每个退耦电容要求有2个过孔(每个管脚一个)。退耦电容不允许共用过孔。
1.4 参考电压
参考电压DDR_VREF分压电阻位于DDR3和A7L中间。
DDR_VREF宽度至少20mil。BGA扇出区、过孔拥塞区可适当变窄,但应尽量接近20mil。
DDR_VREF要尽量短。
1.5 DDR3:信号布线用例
记忆体总线的阻抗(Z)在±10%以内。DDR3接口布线的关键在于阻抗匹配和长度匹配。所以,不同的PCB层,走线宽度会不同。
时钟信号组:
信号:DDR_CK/DDR_CK_BAR。
线长600~1400mil。
长度匹配在±10%以内。
差分阻抗100-ohm。
DDR_CK/DDR_CK_BAR平行走线。
DDR_CK/DDR_CK_BAR间距取决于差分阻抗要求。
和其它信号组的间距2倍于线宽。
地址和命令信号组:
信号:DDR_BA_[0:2],DDR_ADDR_[0:14],DDR_RAS,DDR_CAS,和DDR_WE。
长度与DDR_CK匹配,±50mil。
单端阻抗50-ohm。
和其它信号组的间距2倍于线宽。
数据选通信号组:
信号:DDR_DQS_[0:1]/DDR_DQS_BAR[0:1]。
长度匹配:
——DDR_DQS_[0:1]和DDR_DQS_BAR[0:1] ±10mil。
——和DDR_CK ±50mil。
差分阻抗100-ohm。
走线间距取决于差分阻抗要求。
和其它信号组的间距2倍于线宽。
数据信号组:
信号:DDR_DQ_[0:15]/DDR_DM_[0:1]。
长度匹配:
——DDR_DQ_[0:15]和DDR_DM_[0:1]和DDR_CK匹配 ±50mil(最好的情况是完美匹配于DDR_DQS_[0:1])。
单端阻抗50-ohm。
和其它信号组的间距2倍于线宽。
以上是DDR信号设计规则。
二、DDR设计的注意事项
这部分介绍一下DDR的PCB设计的一些实际经验。
2.1 参考平面
原则上希望DDR信号都能参考GND。
实际设计中,如果是4层板的话,一般PCB叠层架构是signal-GND-PWR-signal,而DDR信号都在同一层是不现实的,那么必然会有部分参考PWR——注意,这里的PWR是指DDR的电源平面。此时,同一组信号,要保障有同一个参考面。比如信号线分组是这样的:
GROUP0:DQ0-DQ7,DQM0,DQS0P/DQS0N;
GROUP1:DQ8-DQ15,DQM1,DQS1P/DQS1N;
那么同一组内的信号,不能有的参考GND,有的参考PWR。
而如果是2层板的情况下,那么只能做共面参考。比如某低成本SoC,就采用了双面板的PCB叠层,DDR信号部分就没办法像4/6/8层板那样有完整的参考平面,只能做共面参考。
2.2 信号换层次数
信号的换层是不可避免的。
DDR信号的换层次数,原则上来说不要超过两次,即SoC扇出后换层一次(到走线层),到DDR颗粒端换层一次(走线层换到贴片层)。
并且,对于高速信号,还会要求在换层过孔附近要有GND过孔提供回流路径。这一点在DDR的走线中,一般没有空间单独打孔,近似的以芯片的GND过孔为回流路径。
2.3 信号的回流路径
这部分从概念上来说归属于2.1,但是为什么要单独列为一点?是因为很容易被忽略。
有的设计人员会发现,明明DDR信号的参考平面是完整的,但是信号测量出来总是过冲很大,系统稳定性也不好,运行若干个小时后会发生死机,宕机现象,频率不高,却无法避免。
比如下图,在回流方向上,整齐的若干个过孔(黄色框部分),完全阻断了信号的回流路径。信号质量很容易产生问题,引起读写数据出错。
先列出这几个印象比较深的注意点,其它部分想起来了再做补充。