在现代高速数字电路的设计过程中,工程师总是不可避免的会与DDR或者DDR2,SDRAM打交道。DDR的工作频率很高,因此,DDR的布线(或者Layout)也就成为了一个十分关键的问题,很多时候,DDR的布线直接影响着信号完整性。下面本文针对DDR的布线问题(Layout)进行讨论。
信号引脚说明
VSS为数字地,VSSQ为信号地,若无特别说明,两者是等效的。VDD为器件内核供电,VDDDQ为器件的DQ和I/O供电,若无特别说明,两者是等效的。
对于DRAM来说,定义信号组如下:
- 数字信号组DQ,DQS,xDM,其中每个字节又是内部的一个信道Lane组,如DQ0~DQ7,DQS,LDM为一个信号组。
- 地址信号组:ADDRESS
- 命令信号组:CAS#,RAS#,WE#
- 控制信号组:CS#,CKE
- 时钟信号组:CK,CK#
印制电路板叠层,PCB Stackups
推荐使用6层电路板,分布如下:
- 电路板的阻抗控制在50~60ohm
- 印制电路板的厚度选择为1.57mm(62mil)
- 填充材料Prepreg厚度可变化范围是4~6mil
- 电路板的填充材料的介电常数一般变化范围是3.6~4.5,它的数值随着频率,温度等因素变化。FR-4就是一种典型的介电材料,在100MHz时的平均介电常数为4.2。推荐使用FR-4作为PCB的填充材料,因为它便宜,更低的吸湿性能,更低的电导性。
一般来说,DQ,DQS和时钟信号线选择VSS作为参考平面,因为VSS比较稳定,不易受到干扰,地址/命令/控制信号线选择VDD作为参考平面,因为这些信号线本身就含有噪声。
电路板的可扩展性
根据JEDEC标准,不同容量的内存芯片一般引脚兼容,为了实现电路板的可扩展性,可以做如下处理,如128Mb与256Mb的兼容应用。
未用的DQ引脚
对于x16的DDR器件来说,未用的引脚要作一定的处理。例如x16的DDR来说,DQ15:DQ8未用,则处理如下,将相关的UDM/DQMH拉高用来屏蔽DQ线,DQ15:DQ8通过1~10k的电阻接地用来阻止迸发写时的噪声。
端接技术
串行端接,主要应用在负载DDR器件不大于4个的情况下。
对于双向I/O信号来说,例如DQ,串行端接电阻Rs放置在走线的中间,用来抑制振铃,过冲和下冲。
对于单向的信号来说,例如地址线,控制线,串行端接电阻放置在走线中间或者是信号的发送端,推荐放置在信号的发送端。
说明:DDR的CK与CK# 是差分信号,要用差分端接技术。
并行端接,主要应用在负载SDRAM器件大于4个,走线长度>2inch,或者通过仿真验证需要并行端接的情况下。
并行端接电阻Rt取值大约为2Rs,Rs的取值范围是10~33ohm,故Rt的取值范围为22~66ohm。
如果有必要的话,所有DDR的数据,地址,命令,控制线都是SSTL_2接口,要使用single-ended Parallel Termination,如上图。CKE也可以使用这种端接。
导线宽度和间距:
导线间距和导线宽度S1,S2,S3的定义如下:
- S1表示同一信号组内两相邻导线之间的间距
- S2表示不同信号组之间两相邻导线之间的间距
- S3表示导线的宽度
导线宽度选择为:
导线间距选择:
几点说明:
- DQS一般布线的位置是数据信号组内同一信号组中DQ走线的中间,因此DQS与DQS之间的间距一般不提
- DQS与时钟信号线不相邻
- 为了避免串扰,数据信号组与地址/命令/控制信号组之间的走线间距至少20mil,建议它们在不同的信号层走线
- 时钟信号组走线尽量在内层,用来抑制EMI
导线走线长度
所有DDR的差分时钟线CK与CK#必须在同一层布线,误差+-20mil,最好在内层布线以抑制EMI。如果系统有多个DDR器件的话,要用阻值100~200ohm的电阻进行差分端接。
(1) 若时钟线的分叉点到DDR器件的走线长度<1000mil,要使用100~120ohm的差分端接,如下图:
(2) 若时钟线的分叉点到DDR器件的走线长度>1000mil,要使用200~240ohm的电阻差分端接,因为两个200~240ohm的电阻并联值正好为100~120ohm。如下图所示。
- 数据信号组的走线长度与时钟信号线的误差为+-500mil,组内同一信道的信号线走线误差为+-50mil,从而可以得到,组内不同信道的走线误差为+-1000mil,相同信道的DQS一般走线在DQ中间
- 地址线/命令/控制信号线与时钟信号走线的误差为+-400mil,组内走线误差为+-50mil
- 所有信号的走线长度控制在2inch(5cm)最好
去耦电容
- 推荐使用低ESL(2nH)的电容,大小在0.01uF~0.22uF,其中0.01uF针对高频,0.22uF针对低频
- 建议使用钽电容。相对于电解电容来说,虽然它比较贵,但它具有较好的稳定性,较长的使用周期。一般电解电容随着使用时间的加长,性能下降较多
参考电压
对于较轻的负载(<4DDR器件),可使用下图的方法:
对于较重的负载(>4 DDR器件),可使用IC来产生VREF。IC内部集成了两种电压VTT和VREF,其中VTT在重负载的情况下最高电流可达3.5A,平均电流为0A,VREF的电流比较小,一般只有3mA左右。
VREF走线控制
具体如下图所示:
DDR的VTT设计
当数据线地址线负载较重时,VTT的暂态电流峰值可达到3.5A左右,这种暂态电流的平均值为0A。一些情况下不需要VTT技术(并行端接)。
- 系统中有2个或更少的DDR
- 总线上需要的电流不是很高,中等左右
- 通过仿真验证不需要
VTT电压的产生一般用IC,厂商包括:Intersilm Philips, Semiconductors, Fairchild, National, TI等等。
选用了IC实现VTT,推荐使用下面的原则:
- VTT用Rt端接地址/控制/命令信号线,端接数据信号组VTT=VDDQ/2
- VTT并不端接时钟信号线,时钟信号线使用前面说的差分端接技术
- VTT与VREF走线/平面在同一层,必须具有150mil的距离,推荐它们在不同层
- VTT走线/平面需要至少2个4~7uF的解耦电容,2个100uF的电容。具体放置位置是VTT的两个端点(at each end)
- VTT表面走线宽度至少150mil,推荐250mil
- 上电时序:VTT开始上电必须在VDDQ之后,避免器件latch-up,推荐VTT和VREF同时上电
- 如果走线要分支的话,建议使用T型分支。具体见下图