浅述DDR的PCB设计

2014-12-25 06:38许小华
科技视界 2014年24期
关键词:眼图完整性时序

许小华

(上海广电电子有限公司,中国 上海200233)

1 DDR 的信号完整性

1.1 介绍

保证信号完整性,是DDR 设计中具有举足轻重的作用。信号不完整, 会使系统不稳定, 甚至导致系统不工作。 主要有以下因素决定:PCB 叠层、阻抗、互联拓扑、时延匹配、串扰、电源完整性和时序。

1.2 PCB 叠层(stack up)及阻抗

对于一块PCB 来说, 一个好的PCB 叠层设计对PCB 线路的阻抗,信号完整性是很重要的。 比如四层板,所有信号线都走在顶层,底层。 内层是GND 平面,VCC 平面。 六层板以上的PCB,信号层与电源,地层是参差叠层的。每个有高速信号的信号层必须有一个完整的参考平面与之相对应。 对于DDR 来说,单端阻抗必须控制在50-60 Ohm,而且是要恒定连续的。 对于差分线,差分阻抗必须控制在100 Ohm。比如CLK,DQS 信号。

1.3 互联拓扑结构

一般拓扑结构有:1 .菊花链;2.树形;3.fly-by

在这几种拓扑结构中, 菊花链式拓扑结构在SI 方面有很大的优势。 在仿真当中,能明显看出菊花链拓扑结构比其它拓扑结构有更好的波形完整性。

Fly-By 拓扑结构是一种特殊的菊花链,它不需要很长的连线,甚至有时不需要短线(Stub)。 Fly-By 拓扑结构在处理噪声方面,具有很好的波形完整性。

现在我们运用Cadence SI 仿真软件进行一下仿真,就菊花链拓扑与树形拓扑结构,看看这两种拓扑结构对信号质量的影响。

我们此次仿真的实例有两个DDR3 芯片。频率为800M,时钟是在上升沿及下降沿都采样数据。相当于是一个1600M 的频率。我们就提取其中一个地址线来进行一下仿真。此次仿真我们用来验证菊花链拓扑结构相比于其它拓扑结构的优势。

先来看看树形拓扑结构的仿真波形。

在提取拓扑仿真模型时,我们导入能表现芯片各项参数的真实的IBIS 模型。 主控芯片及DDR 的IBIS 模型,可以在相关的芯片厂商网站下载得到。 其中导线的阻抗我们控制在55 Ohm+/-10%。 我们此次的信号的端接匹配采用的是主控芯片及DDR3 芯片内部自有的ODT端接匹配。 故我们就不再在外部再加端接匹配电路。 然后我们开始进行仿真激励参数的设置,频率设置为800M,随机输入1024 个码元,时钟上升沿下降沿都采集数据。

图1

仿真结果图如图1, 我们截取了其中一个DDR 地址线管脚的仿真眼图。从此眼图可以看出,信号质量不是很好。有过冲,下降沿太缓,振铃等问题,眼睛挣得不是很圆。

再来看看菊花链拓扑结构仿真波形。

我们一样导入主控芯片及DDR 芯片IBIS 模型。 一样设置好导线阻抗为55 Ohm+/-10%。 激励信号跟上面同样的设置。 频率设置为800M,随机输入1024 个码元,时钟上升沿下降沿都采集数据。 然后开始仿真,同样看的是上面同一个DDR 地址线管脚的仿真图。

图2

仿真眼图如图2,此眼图与上面的眼图比起来,有明显的改善。 说明菊花链拓扑结构相比于树形拓扑结构来说信号质量更好。

2 DDR 时序分析

信号完整性除了要保证信号质量还需要保证DDR 信号的时序问题。 信号经过传输线到达接收端之后,必须满足建立时间和保持时间这两个时序参数。他们可以从芯片的数据手册中获得。时钟沿有效时,要求数据必须已经存在一段时间,这就是器件需要的建立时间(Setup Time);而时钟边沿触发之后,数据还必须要继续保持一段时间,以便能稳定的读取,这就是器件需要的保持时间(Hold Time)。

根据芯片间信号传递方式的不同信号类型可分为同步和异步两种。

同步信号是通过时钟来同步数据传输的,有严格的时序关系, 时序仿真主要针对是同步信号。 根据时钟传递方式不同,同步信号可以分为外同步、内同步、 源同步。

异步信号。 没有时钟作为基准,而且工作频率较低,时序容易满足,一般不需要时序仿真。 主要关注信号质量,如'"单调性.过冲、噪声容限。 但异步信号的各个信号间,也是有时序的。 如片选、读写、地址、数据等,可以确定一个合适的信号作为基准,用相同的方法进行时序仿真。

我们现在来分析一下物联网中用到的一款OTT 产品。 其中主芯片是一款MAVELL 控制芯片,DDR3 采用南亚系列1600Mbps 的DDR3 芯片。 我们通过分析其数据与时钟DQS 的时序,指导制定PCB设计规则。DDR3 数据由选通信号DQS 作为时钟来采样。 它们采用的是源同步。 从数据手册上查到相关参数如下。

MARVELL 主芯片参数 南亚DDR3 芯片参数

Tmarvellco 105 ps Tddrco 102ps

Tmarvellsetup 43 ps Tddrsetup 45ps

Tmarvellhold 8 ps Tddrhold 10ps

Tmarvellclk 1250ps Tddrclk 1250ps

Tclkjitter 10ps Tclkjitter 10ps

其中Tco 为第一个时钟沿来时数据达到有效信号所需要的时间;Tsetup 为建立时间; Thold 为保持时间; Tclk 为一个时钟周期;Tclkjitter 为时钟的抖动。

我们现在开始计算从MAVEL 芯片写入DDR3 数据时序. 首先先假定DQS 信号是同步的.对于源同步信号,输入端时序计算如下。

建立时间的时序计算公式为:

(1)Tclk/2-Tmarvellco-Tfly-Tclkjitter>=Tddrsetup

保持时间的时序计算公式为:

(2)Tfly+Tmarvellco-Tclkjitter>=Tddrhold

其中Tfly 为信号在PCB 线上传输时延。

由(1)式变换代入数据得

(3)Tfly<=1250/2-105-45-10=465ps

由(2)式变换代入数据得

(4)Tfly>=10-105-10=-105ps

然后再考虑时钟的延迟。 于是Tfly=Tdq-Tdqs,

假设Tdq>Tdqs

其中Tdq 为数据信号在PCB 上传输时的延时; Tdqs 为DQS 信号在PCB 上传输时的延时

式(3)Tflt 代入Tdq-Tdqs 得

(5)Tdq-Tdqs<=1250/2-105-45-10=465ps

式(4)Tflt 代入Tdq-Tdqs 得

(6)Tdq-Tdqs>=10-105-10=-105ps

假设Tdq<Tdqs

建立时间的时序计算公式为:

(7) Tclk/2-Tmarvellco +Tfly-Tclkjitter>=Tddrsetup

变换Tflt 代入Tdq-Tdqs 及数据得

(8)Tdqs-Tdq>=45+105+10-625=-465;

保持时间的时序计算公式为:

(9)Tmarvellco-Tfly-Tclkjitter >=Tddrhold

变换Tflt 代入Tdq-Tdqs 及数据得

Tdqs-Tdq<=105-10-10=85ps;即Tdq-Tdqs>=-85

最终我们得到

-85<=(Tdq-Tdqs)<=465;

再来分析一下MARVELL 读取DDR 芯片的时序。 因数据在读写时,DDR 与主控芯片各自都有个DQS 信号来控制数据的读与写。因此上面的公式(1),(2),(7),(9)一样适用。

故照上面公式(5),(9)代入数据计算得到最终结果:

Tdq-Tdqs<=Tclk/2-Tddrco-Tmarvellsetup-Tclkjitter=1250/2-102-43-10=470ps

Tdqs-Tdq<=Tddrco-Tmarvellhold-Tclkjitter=102-8-10=84

即-84<=(Tdq-Tdqs)<=470

综上所述,两种情况都分析后得到

-84<=(Tdq-Tdqs)<=465

我们在设计PCB 走线规则时可以设计数据线DQ 参照DQS 信号+/-84ps,或更严格+/-50ps。 然后通过仿真,把延时转换成PCB 上的走线长度。 上面是数据线的时序。 地址的时序也可以通过上述的步骤进行仿真。 然后得出PCB 设计规则。

猜你喜欢
眼图完整性时序
稠油热采水泥环完整性研究
基于Sentinel-2时序NDVI的麦冬识别研究
XGPON BOSA光器件眼图分析及测试
基于93000ATE的高速信号眼图测试的研究与实现
基于FPGA 的时序信号光纤传输系统
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
基于眼图的数字通信干扰效能指标构建与评估
一种毫米波放大器时序直流电源的设计
无线电监测中实测眼图与分析*
精子DNA完整性损伤的发生机制及诊断治疗