制造/封装
本文章主要涉及到对DDR2和DDR3在设计印制线路板(PCB)时,考虑信号完整性和电源完整性的设计事项,这些是具有相当大的挑战性的。文章重点是讨论在尽可能少的PCB层数,特别是4层板的情况下的相关技术,其中一些设计方法在以前已经成熟的使用过。
1. 介绍
目前,比较普遍使用中的DDR2的速度已经高达800 Mbps,甚至更高的速度,如1066 Mbps,而DDR3的速度已经高达1600 Mbps。对于如此高的速度,从PCB的设计角度来讲,要做到严格的时序匹配,以满足波形的完整性,这里有很多的因素需要考虑,所有的这些因素都是会互相影响的,但是,它们之间还是存在一些个性的,它们可以被分类为PCB叠层、阻抗、互联拓扑、时延匹配、串扰、电源完整性和时序,目前,有很多EDA工具可以对它们进行很好的计算和仿真,其中Cadence ALLEGRO SI-230 和Ansoft’s HFSS使用的比较多。
表1显示了DDR2和DDR3所具有的共有技术要求和专有的技术要求。
表1: DDR2和DDR3要求比较
2. PCB的叠层(stackup)和阻抗
对于一块受PCB层数约束的基板(如4层板)来说,其所有的信号线只能走在TOP和BOTTOM层,中间的两层,其中一层为GND平面层,而另一层为 VDD 平面层,Vtt和Vref在VDD平面层布线。而当使用6层来走线时,设计一种专用拓扑结构变得更加容易,同时由于Power层和GND层的间距变小了,从而提高了PI。
互联通道的另一参数阻抗,在DDR2的设计时必须是恒定连续的,单端走线的阻抗匹配电阻50 Ohms必须被用到所有的单端信号上,且做到阻抗匹配,而对于差分信号,100 Ohms的终端阻抗匹配电阻必须被用到所有的差分信号终端,比如CLOCK和DQS信号。另外,所有的匹配电阻必须上拉到VTT,且保持50 Ohms,ODT的设置也必须保持在50 Ohms。
在 DDR3的设计时,单端信号的终端匹配电阻在40和60 Ohms之间可选择的被设计到ADDR/CMD/CNTRL信号线上,这已经被证明有很多的优点。而且,上拉到VTT的终端匹配电阻根据SI仿真的结果的走线阻抗,电阻值可能需要做出不同的选择,通常其电阻值在30-70 Ohms之间。而差分信号的阻抗匹配电阻始终在100 Ohms。
图1 : 四层和六层PCB的叠层方式
3. 互联通路拓扑
对于DDR2和DDR3,其中信号DQ、DM和DQS都是点对点的互联方式,所以不需要任何的拓扑结构,然而列外的是,在multi-rank DIMMs(Dual In Line Memory Modules)的设计中并不是这样的。在点对点的方式时,可以很容易的通过ODT的阻抗设置来做到阻抗匹配,从而实现其波形完整性。而对于 ADDR/CMD/CNTRL和一些时钟信号,它们都是需要多点互联的,所以需要选择一个合适的拓扑结构,图2列出了一些相关的拓扑结构,其中Fly- By拓扑结构是一种特殊的菊花链,它不需要很长的连线,甚至有时不需要短线(Stub)。
对于DDR3,这些所有的拓扑结构都是适用的,然而前提条件是走线要尽可能的短。Fly-By拓扑结构在处理噪声方面,具有很好的波形完整性,然而在一个4 层板上很难实现,需要6层板以上,而菊花链式拓扑结构在一个4层板上是容易实现的。另外,树形拓扑结构要求AB的长度和AC的长度非常接近(如图2)。考虑到波形的完整性,以及尽可能的提高分支的走线长度,同事又要满足板层的约束要求,在基于4层板的DDR3设计中,最合理的拓扑结构就是带有最少短线(Stub)的菊花链式拓扑结构。
图2: 带有2片SDRAM的ADDR/CMD/CNTRL拓扑结构
对于DDR2-800,这所有的拓扑结构都适用,只是有少许的差别。然而,菊花链式拓扑结构被证明在SI方面是具有优势的。
对于超过两片的SDRAM,通常,是根据器件的摆放方式不同而选择相应的拓扑结构。图3显示了不同摆放方式而特殊设计的拓扑结构,在这些拓扑结构中,只有A和 D是最适合4层板的PCB设计。然而,对于DDR2-800,所列的这些拓扑结构都能满足其波形的完整性,而在DDR3的设计中,特别是在1600 Mbps时,则只有D是满足设计的。
图3: 带有4片SDRAM的ADDR/CMD/CNTRL拓扑结构
4. 时延的匹配
在做到时延的匹配时,往往会在布线时采用trombone方式走线,另外,在布线时难免会有切换板层的时候,此时就会添加一些过孔。不幸的是,但所有这些弯曲的走线和带过孔的走线,将它们拉直变为等长度理想走线时,此时它们的时延是不等的,如图4所示。
图4: Trombone 和 Vias的实例
显然,上面讲到的trombone方式在时延方面同直走线的不对等是很好理解的,而带过孔的走线就更加明显了。在中心线长度对等的情况下,trombone 走线的时延比直走线的实际延时是要来的小的,而对于带有过孔的走线,时延是要来的大的。这种时延的产生,这里有两种方法去解决它。一种方法是,只需要在 EDA工具里进行精确的时延匹配计算,然后控制走线的长度就可以了。而另一种方法是在可接受的范围内,减少不匹配度。
对于trombone线,时延的不对等可以通过增大L3的长度而降低,因为并行线间会存在耦合,其详细的结果,可以通过SigXP仿真清楚的看出,如图 5,L3(图中的S)长度的不同,其结果会有不同的时延,尽可能的加长S的长度,则可以更好的降低时延的不对等。对于微带线来说,L3大于7倍的走线到地的距离是必须的。
图5: 针对trombone的仿真电路和仿真波形
trombone线的时延是受到其并行走线之间的耦合而影响,一种在不需要提高其间距的情况下,并且能降低耦合的程度的方法是采用saw tooth线。显然,saw tooth线比trombone线具有更好的效果,但是,它需要更多的空间。由于各种可能造成时延不同的原因,所以,在实际的设计时,要借助于CAD工具进行严格的计算,从而控制走线的时延匹配。
考虑到在图2中6层板上的过孔的因素,当一个地过孔靠近信号过孔放置时,则在时延方面的影响是必须要考虑的。先举个例子,在TOP层的微带线长度是 150 mils,BOTTOM层的微带线也是150 mils,线宽都为4 mils,且过孔的参数为:barrel diameter=8mils,pad diameter=18mils,anti-pad diameter=26mils。
这里有三种方案进行对比考虑,一种是,通过过孔互联的这个过孔附近没有任何地过孔,那么,其返回路径只能通过离此过孔250 mils的PCB边缘来提供;第二种是,一根长达362 mils的微带线;第三种是,在一个信号线的四周有四个地过孔环绕着。图6显示了带有60 Ohm的常规线的S-Parameters,从图中可以看出,带有四个地过孔环绕的信号过孔的S-Parameters就像一根连续的微带线,从而提高了 S21特性。由此可知,在信号过孔附近缺少返回路径的情况下,则此信号过孔会大大增高其阻抗。当今的高速系统里,在时延方面显得尤为重要。
现做一个测试电路,类似于图5,驱动源是一个线性的60 Ohms阻抗输出的梯形信号,信号的上升沿和下降沿均为100 ps,幅值为1V。此信号源按照图6的三种方式,且其端接一60 Ohms的负载,其激励为一800 MHz的周期信号。在0.5V这一点,我们观察从信号源到接收端之间的时间延迟,显示出来它们之间的时延差异。其结果如图7所示,在图中只显示了信号的上升沿,从这图中可以很明显的看出,带有四个地过孔环绕的过孔时延同直线相比只有3 ps,而在没有地过孔环绕的情况下,其时延是8 ps。由此可知,在信号过孔的周围增加地过孔的密度是有帮助的。然而,在4层板的PCB里,这个就显得不是完全的可行性,由于其信号线是靠近电源平面的,这就使得信号的返回路径是由它们之间的耦合程度来决定的。所以,在4层的PCB设计时,为符合电源完整性(power integrity)要求,对其耦合程度的控制是相当重要的。
图6: 带有过孔互联通道的s-parameters
图7: 图6三种案例的发送和接收波形
对于DDR2和DDR3,时钟信号是以差分的形式传输的,而在DDR2里,DQS信号是以单端或差分方式通讯取决于其工作的速率,当以高度速率工作时则采用差分的方式。显然,在同样的长度下,差分线的切换时延是小于单端线的。根据时序仿真的结果,时钟信号和DQS也许需要比相应的ADDR/CMD /CNTRL和DATA线长一点。另外,必须确保时钟线和DQS布在其相关的ADDR/CMD/CNTRL和DQ线的当中。由于DQ和DM在很高的速度下传输,所以,需要在每一个字节里,它们要有严格的长度匹配,而且不能有过孔。差分信号对阻抗不连续的敏感度比较低,所以换层走线是没多大问题的,在布线时优先考虑布时钟线和DQS。
5. 串扰
在设计微带线时,串扰是产生时延的一个相当重要的因素。通常,可以通过加大并行微带线之间的间距来降低串扰的相互影响,然而,在合理利用走线空间上这是一个很大的弊端,所以,应该控制在一个合理的范围里面。典型的一个规则是,并行走线的间距大于走线到地平面的距离的两倍。另外,地过孔也起到一个相当重要的作用,图8显示了有地过孔和没地过孔的耦合程度,在有多个地过孔的情况下,其耦合程度降低了7 dB。考虑到互联通路的成本预算,对于两边进行适当的仿真是必须的,当在所有的网线上加一个周期性的激励,将会由串扰产生的信号抖动,通过仿真,可以在时域观察信号的抖动,从而通过合理的设计,综合考虑空间和信号完整性,选择最优的走线间距。
全部0条评论
快来发表一下你的评论吧 !