当今计算机系统DDR3存储器技术已得到广泛应用,数据传输率一再被提升,现已高达1866Mbps。在这种高速总线条件下,要保证数据传输质量的可靠性和满足并行总线的时序要求,对设计实现提出了极大的挑战。
本文主要使用了Cadence公司的时域分析工具对DDR3设计进行量化分析,介绍了影响信号完整性的主要因素对DDR3进行时序分析,通过分析结果进行改进及优化设计,提升信号质量使其可靠性和安全性大大提高。
DDR3内存与DDR2内存相似包含控制器和存储器2个部分,都采用源同步时序,即选通信号(时钟)不是独立的时钟源发送,而是由驱动芯片发送。它比DR2有更高的数据传输率,最高可达1866Mbps;DDR3还采用8位预取技术,明显提高了存储带宽;其工作电压为1.5V,保证相同频率下功耗更低。
DDR3接口设计实现比较困难,它采取了特有的Fly-by拓扑结构,用“Write leveling”技术来控制器件内部偏移时序等有效措施。虽然在保证设计实现和信号的完整性起到一定作用,但要实现高频率高带宽的存储系统还不全面,需要进行仿真分析才能保证设计实现和信号质量的完整性。
对DDR3进行仿真分析是以结合项目进行具体说明:选用PowerPC 64位双核CPU模块,该模块采用Micron公司的MT41J256M16HA—125IT为存储器。Freescale公司P5020为处理器进行分析,模块配置内存总线数据传输率为1333MT/s,仿真频率为666MHz。
在分析前需根据DDR3的阻抗与印制板厂商沟通确认其PCB的叠层结构。在高速传输中确保传输线性能良好的关键是特性阻抗连续,确定高速PCB信号线的阻抗控制在一定的范围内,使印制板成为“可控阻抗板”,这是仿真分析的基础。DDR3总线单线阻抗为50Ω,差分线阻抗为100Ω。
设置分析网络终端的电压值;对分析的器件包括无源器件分配模型;确定器件类属性;确保器件引脚属性(输入\输出、电源\地等)……
前仿真分析的内容主要是在PCB设计之前对电路设计的优化包括降低信号反射、过冲,确定匹配电阻的大小、走线阻抗等,通过对无源器件的各种配置分析选取出最适合的参数配置。
图1:时钟线的拓扑结构
(1)DDR3总线的差分时钟分析
众所周知,在差分传输中,所有信息都是由差模信号来传送的,而共模信号会辐射能量并能显著增加EMI,因此保证差分信号的质量十分重要,应使共模信号的产生降到最低。在对差分时钟分析时不仅要关注其本身的信号质量,由于其它信号都是以差分时钟的来采样数据,因此还需关注其单调性、过冲值等。
本例中差分时钟的fly—by拓扑结构与地址总线一样为串联方式,如图l对处理器P5020驱动4个DDR3内存芯片的时钟拓扑结构,在终端进行简单的电阻匹配,在PCB板上差分走线后,进行反射分析发现接收端反射波形上下过冲较大。在处理器输出端选用正确的下拉匹配电阻,虽电压幅值略有减少,但上下过冲明显减少消除了反射干扰,即减少了差分线的共模分量。对比分析结果如图2。
图2:接收端DDR3的反射波形
(2)验证驱动能力和ODT选项
DDR3内存总线数据信号的驱动能力分为FULL和HALF两种模式,内部终端电阻(ODT)选择也有0Ω、20Ω、30Ω、40Ω、60Ω、120Ω选项,它们分别对应不同的模型用于控制信号反射的影响。为提高信号质量、降低功耗,可通过分析不同模式选取正确的参数模型。
取数据总线对不同的ODT选项进行分析。图3是在不同ODT设置进行分析数据信号形成的眼图波形,从图中可以看出:ODT阻抗越高,在相同驱动激励和走线等情况下转换率越高,幅度越大;在选择ODT=60Ω,其接收波形平缓信号质量最好,无明显抖动和过冲,抖动最小。
图3:数据信号眼图波形
通常串扰是指当信号在传输线上传播时,因电磁耦合对相邻的传输线产生的不期望的电压噪声干扰。它生成前向串扰与后向串扰,其对信号波形主要影响在幅度和边沿上面。
从DDR3数据总线提取3根相邻线,中间一根为被攻击网络,周围2根为攻击网络,采用3线模型进行分析,如下图4走线排列,其受害线为中间走线保持低电平,两边的为攻击线,采用128位伪随机码,根据走线的不同线宽和线间距对其进行串扰分析,看其分析结果如下表1。
图4:走线剖面图
表1 串扰分析结果
从表1可看出间距越大串扰影响越小,这里我们遵循的3W原则即走线边沿间距S是线宽W的3倍将大大减少串扰的影响。但间距增大将牺牲布线空间,因此需综合考虑使在有限的空间中布线最优化。
DDR3是并行总线,其时序属源同步系统,在满足信号质量的前提下,也必须满足时序要求。对于源同步时钟,驱动芯片的数据和时钟信号由内部电路提供即数据和时钟并行传输。DDR3对不同的时序关系采用分组设计,其时序关系如表2。
表2 时序分组关系
源同步时序计算公式:
Tsetup_margin=Tvb—Tsetup—Tskew
Thold_margin=Tva—Thold—Tskew
公式中:
Tsetup margin\Thold_margin:建立时间余量\保持时间余量
Tvb\Tva:驱动端的建立时间和保持时间,Tsetup\Thold接收端的建立时间和保持时间
Tskew:指数据、地址信号参考时钟引起的偏移。
其中Tvb\Tva,Tsetup\Th01d参数值都是能从器件手册中获取,关键是数据与选通信号飞行时间的时序偏移(skew),包含驱动端输出的偏移和在PCB板上的走线长度的偏移,需通过时序仿真非理想随机码进行分析计算得出。
以DDR3数据读写操作为例,根据下表芯片资料中的时序参数进行静态时序裕量的计算,获得PCB设计的时序控制规则。
表3 仿真所需要的时序参数(数据率:1333MHz)控制器:
写操作:
Tsetup_margin=0.25—0.03=0.22ns
Thold_margin=0.25-0.065=0.185ns
读操作:
Tsetup_margin = Thold_margin=(0.38*1.5-0.125)/2 - 0.125=97.5ps
上述计算值是理论上的时序余量,其实源同步时序除本身芯片自身固有特性所带来的延时外还受其他因素的影响,都属于偏移范围,主要包括:
(1)高速总线造成的信号完整性问题如串扰、同步开关噪声、码间干扰(ISI)等影响,需通过信号仿真分析来估算。
(2)高速总线互连所产生的时序偏斜:主要是信号总线互连链路中的布线误差,整个链路含器件封装内部走线、pcb板上走线和走线过孔等产生的时序偏差,可通过等长布线来控制其时序偏斜。
对8位数据总线DQ进行分析,选取一根数据线为受害线,其余数据线为反向伪随机码,条件设为最快驱动,在此最坏情况进行综合仿真,查看其受扰线的波形情况。
比较图5、图6后可看出此数据线受到各方面的因素综合影响,使波形眼图中的眼高和眼宽都相应减小,导致数据总线时序裕量大大减少。上述时序裕量需减去此值再考虑其他噪声因素,结合经验留些时序余量后,就可把时序余量转换成PCB设计时的布线长度约束(约6in/ns)。
图5:DO数据总线理想波形
图6:DQ数据总线最坏情况下的实际波形
(1)等长约束
采用分组等长方式,分组如下:
数据线与DQS、DM信号组:64位数据线按8位一组,每组分别对应其各自的DQS和DM信号;由于数据时序余量最小,组内严格控制延时,以对应的DQS为基准,等长精度在±10mil。
地址线、控制线、时钟线组:需等长控制,地址线与控制线各分支的误差±20mil,它们与时钟线误差在±100mil,差分时钟线之间±5rail。
(2)间距约束
DDR3同组线间的间距保持在2倍线宽;不同组类线的间距保持在3倍线宽;DDR3线与其他jBDDR3线之间的间距应大于50mil,用于串扰控制。
(3)线宽约束
根据传输线阻抗要求和印制板叠层结构计算走线线宽,设置走线线宽规则,保证阻抗的一致性。
同组内总线尽量同层走线,时钟线与地层相邻;尽量少用过孔,如用需组内过孔数相同,保证其一致性;相邻信号走线需交叉,避免长距离的重叠走线,如相邻层间距足够大,可适当降低要求;
走线避免采用直角应用45。斜线或圆弧角走线;尽量采用3W原则走线;
与电源层相邻的信号层中的高速走线应避免跨电源\地平面;
电源层比地层内缩20H(H:电源层与地层的介质厚度);不允许有孤立铜的存在。
DDR3的PCB设计结束后进行后仿分析,用以对前面的仿真分析进行验证。PCB板后仿主要是对DDR3信号质量和时序关系进行分析。
DDR3差分时钟在PCB布线后对其后仿真分析,抽取一对实际时钟走线对所走链路进行分析其波形如下图7:其单调性和上下过冲都满足要求。
图7:差分时钟PCB走线波形图8数据总线写时序
对于布线后的时序验证也是十分重要的环节。在确定好同步信号组及对应的选通信号后利用Cadence软件的BUS setup功能进行综合分析,位数据总线及相应的DQS信号,设定时钟频率666MHz,设定相应ibis模型,加入随机码流,最终进行分析后可通过测量得到时序参数可计算时序裕量,验证PCB布线是否满足相关的时序关系。分析结果见图8。
图8:数据总线写时序
从上图8可测量出数据总线的建立时间和保持时间,根据DDR3数据相应时序进行静态时序计算,再综合考虑其余因素对时序的影响来估算包括其PCB走线长度引起的偏移等,满足其DDR3接收端的建立时间和保持时间的时序正确性,其它时序关系类似可通过此验证。
通过上述Power PC模块的DDR3内存设计分析,了解高速信号反射、串扰、时序等因素对其设计的影响,其仿真分析成为增强计算机系统设计可靠性和稳定性的必要手段,为设计高速数字电路保驾护航。