硬件设计之二——信号设计01:DDR设计

时间:2024-03-13 18:23:18

硬件设计之二——信号设计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型结构。

硬件设计之二——信号设计01:DDR设计

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层板那样有完整的参考平面,只能做共面参考。

硬件设计之二——信号设计01:DDR设计

2.2 信号换层次数

信号的换层是不可避免的。

DDR信号的换层次数,原则上来说不要超过两次,即SoC扇出后换层一次(到走线层),到DDR颗粒端换层一次(走线层换到贴片层)。

并且,对于高速信号,还会要求在换层过孔附近要有GND过孔提供回流路径。这一点在DDR的走线中,一般没有空间单独打孔,近似的以芯片的GND过孔为回流路径。

2.3 信号的回流路径

这部分从概念上来说归属于2.1,但是为什么要单独列为一点?是因为很容易被忽略。

有的设计人员会发现,明明DDR信号的参考平面是完整的,但是信号测量出来总是过冲很大,系统稳定性也不好,运行若干个小时后会发生死机,宕机现象,频率不高,却无法避免。

比如下图,在回流方向上,整齐的若干个过孔(黄色框部分),完全阻断了信号的回流路径。信号质量很容易产生问题,引起读写数据出错。

硬件设计之二——信号设计01:DDR设计

先列出这几个印象比较深的注意点,其它部分想起来了再做补充。