基于Cadence的DDR源同步时序仿真研究

时间:2022-08-22 08:22:39

基于Cadence的DDR源同步时序仿真研究

摘要: 以DDR高速总线为例,通过对DDR源同步时序的分析,以此提供一个高速PCB设计中高速总线时序完整的分析方法,从而使设计中的高速总线频率达到真正高速度和大的时序裕量。在此创新地在时序分析过程打破纯粹的理论公式推导,结合仿真分析软件,采用理论计算和仿真图形相结合的方法,使时序分析变得更加简化和直观。这种分析方法在其他高速总线分析中也得到广泛应用,并在实践中得到有效验证。

关键词: 时序完整性; 建立时间; 保持时间; 飞行时间; 缓冲延时

中图分类号: TN710⁃34 文献标识码: A文章编号: 1004⁃373X(2014)08⁃0075⁃04

Research of DDR source synchronization time⁃sequence simulation based on Cadence

TANG Wan⁃ming, FAN Chao⁃yuan

(Chongqing Jinmei Communication Co.,Ltd., Chongqing 400030, China)

Abstract:Taking high⁃speed DDR bus as an example, a complete time⁃sequence analysis method about high⁃speed bus in high⁃speed PCB design is proposed according to the DDR source synchronization time⁃sequence analysis to enable the frequency of high⁃speed bus in design to achieve really high⁃speed and large time⁃sequence margin. The innovation of this paper lies in the time⁃sequence analysis process, which breaks the purely theoretical formula derivation and makes time⁃sequence analysis become more simple and intuitive by combining with simulation analysis software and adopting the method of combining theoretical calculation with simulation graphics. This analysis method has been widely used and well proven in practice in other high⁃speed bus analyses.

Keywords: time⁃sequence integrity; setup time; hold time; flight time; buffer delay

在高速PCB设计中,从广义的角度来看,信号完整性包括时序完整性,时序分析是信号完整性分析中最为复杂的部分[1]。当然,根据时序完整性本身的特征及其复杂性,有时把时序完整性分析和信号完整性独立开来。

信号完整性:信号完整性主要研究PCB走线的拓扑结构、PCB走线的延时和上升时间的关系、信号的端接方式、反射和串扰等,由这些因素引起的信号在接收端的质量发生了变化。也就是说它研究的是单个网络的信号质量问题。

时序完整性:主要研究的是与时钟信号相关的网络[2],尤其是一些高速总线如DDR总线、QDR总线、PCI总线、MII总线。在这些总线中,数据信号与时钟信号、地址信号与时钟信号必须满足一定的时延关系才能正确稳定的读/写数据。分析时序的手段仍然是借助仿真工具,结合时序理论公式,从而计算出总线上各个网络的长度要求。换句话说,时序完整性研究的是时钟信号和数据、时钟信号与地址之间的时延关系。信号完整性分析已经较为广泛,但对时序的深入研究并不多见。本文主要是针对时序完整性中的源同步时序进行简要分析,以DDR总线为典型例子阐述时序分析的过程。

1时序理论基础

时序参数如下[3]:

(1) 建立时间(Setup Time):时钟沿有效时,要求数据已经存在一段时间,这就是器件需要的建立时间。

(2) 保持时间(Hold Time):时钟边沿触发之后,数据还必须要继续保持一段时间,以便能稳定的读取,这就是器件需要的保持时间。

(3) 缓冲延时:指信号经过缓冲器达到有效的电压输出所需要的时间。

(4) Tco:指时钟触发开始到有效数据输出的器件内部所有延时的总和。Tco除了包含缓冲延时,还包括逻辑延时。确定Tco的方法是在源端输出的末端直接相连一个测量负载,一般是50 Ω电阻或30 pF的电容,然后测量负载上的信号电压达到一定电平的时间,这个电平称为测量电压(Vms),一般是信号高电平的[12]。见图1。

图1 缓存延时、逻辑正时及Tco的确定

(5) 传输时延(Propagation Delay):信号从缓冲器出来之后,就要经过传输线到接收终端,信号在传输线上的传输的延时。它只和信号的传播速度和线长有关。

(6) 飞行时间(Flight Time):包含了传播延迟和信号上升沿变化这两部分因素。在做时序分析时,把飞行时间分为最小飞行时间和最大飞行时间,如图2所示。

图2 Cadence软件对时序参数的确定

最小飞行时间(Tflightmin):指在上升沿,信号到达低阈值电压的时间,减去驱动所需的缓冲延迟。最小飞行时间(Tflightmin)对应Cadence里面的最早开关延时(SwitchDelay)时间参数。最大飞行时间(Tflightmax):指在上升沿,信号到达高阈值电压的时间,并保持高电平之上,减去驱动所需的缓冲延迟。最大飞行时间(Tflightmax)对应Cadence里面的最终稳定延时(SettleDelay)时间参数。图2只是对信号上升沿的分析,对于下降沿来说,同样存在着最大/最小飞行时间的参数。在时序计算时实际取的最大飞行时间是在上升沿和下降沿中取最长的那个飞行时间,而最小飞行时间则是取上升和下降沿中最短的那个飞行时间。

2DDR体系结构

DDR(Double Data Rate SDRAM)本质上是不需要提高时钟频率就能加速提高SDRAM的速度,它允许在时钟的上升源和下降沿读取数据,它的速度是标准SDRAM的2倍。至于寻址与控制信号则与 SDRAM相同,仍是在数据的上升沿进行数据读取。DDR技术已经发展到DDR3,理论上速度[4]可以支持1 600 MT/s。这给PCB设计带来了巨大的挑战。尤其是在时序上必须满足数据读/写时延要求。图3是DDR总线的体系结构,其中DQ和DQS是源同步关系,ADD/CMD和CLK/CLK#是源同步关系。

图3 DDR总线体系结构

3源同步时序仿真分析

驱动芯片在发送数据信号(DQ)的同时也产生了选通信号(Strobe),而接收端的触发器由该选通信号脉冲控制数据的读取,因此,这个选通信号也可以称为源同步时钟信号。源同步时钟系统中,数据和源同步时钟信号是同步传输的,需要保证这两个信号的飞行时间完全一致,这样只要在发送端的时序是正确的,那么在接收端也能得到完全正确的时序。整个系统在时序上的稳定性完全体现在数据和选通信号的匹配程度上,包括传输延迟的匹配,器件性能的匹配等等,只要两者条件完全相同,就可以保证系统的时序绝对正确,而对系统的最高时钟频率没有任何限制。

当然,对于任何数据接收来说,一定的建立和保持时间都是必须满足的,源同步时钟系统也同样如此,主要体现在数据信号和选通信号之间的时序要求上。最理想的情况就是选通信号能在数据信号的中央部分读取,如图4所示,这样才能保证最充分的建立和保持时间。引起这些误差的因素就是实际系统中各器件的时序参数Tco的不同,以及布线上引起的差异,为了更好地说明这些偏差(Skew)对时序的具体影响,下面通过时序图分析的方法来计算一下源同步时钟系统中信号的建立时间裕量和保持时间裕量。

图4 理想源同步时序图

3.1建立时序分析

根据源同步时序理论,作出驱动端和接收端时序图如图5所示,首先来分析建立时间过程。图中左边的红线箭头表示数据Data的飞行过程,右边的黑线箭头表示选通信号Strobe的飞行过程。由此:

[Tdata=Tco_data+Tflt_data] (1)

[Tatrobe=Tco_strobe+Tflt_strobe+Tdelay] (2)

式中:[Tco]和[Tflt]分别代表数据、选通信号在器件的内部延迟和信号传输的飞行时间;[Tdelay]是指数据信号和选通信号之间的延迟,由系统内 DLL 延时器件决定,图中假设为一个时钟周期。于是得建立时序裕量的公式为:

[Tsetup_margin=Tstrobe-Tdata-Tsetup-Tjiter] (3)

把式(1)和式(2)带入得式(3)得:

[Tsetup_margin=Tco_strobe+Tflt_strobe+Tdelay- (Tco_data+Tflt_data)-Tsetup-Tjiter] (4)

式中:[Tsetup]表示接收数据端数据的建立时间,从器件手册上获取;将数据和Strobe信号在器件内的延时差异定义为 [Tvb],其值从器件手册上获取;[Tjiter]包括时钟抖动,布线间的串扰及其他因素对时序的影响总和。

将 PCB 走线引起的延时差异,定义为[Tpcb_skew]:

[Tvb=Tco_strobe+Tdelay-Tco_data](5)

[Tpcb_skew=Tflt_strobe-Tflt_data] (6)

将式(5)和式(6)带入式(4),这样可以得到一个简单的建立时间裕量方程:

[Tsetup_margin=Tvb-Tsetup+ (Tflt_strobe(min)-Tflt_data(max))-Tjiter] (7)

结合Cadence仿真平台,得:

[Tsetup_margin=Tvb-Tsetup+ (Tstrobe_SwitchDelay-Tdata_SettleDelay)-Tjiter] (8)

图5 源同步时序建立时间时序图

3.3保持时序分析

源同步保持时序如图6所示,用黑线箭头表示数据从驱动端到接收端的飞行过程。右边红线箭头表示选通信号Strobe从驱动端到接收端的飞行过程。

图6 源同步时序保持时间时序图

保持时间裕量:

[Thold_margin=(Tco_strobe+Tflt_strobe+Tdelay)-(Tco_data+Tflt_data)-Thold-Tjiter] (9)

同样定义:

[Tva=Tco_strobe+Tdelay-Tco_data] (10)

[Tpcb_skew=Tflt_data-Tflt_strobe] (11)

所以有:

[Thold_margin=Tva-Thold+(Tflt_data(min)-Tflt_strobe(max))-Tjiter] (12)

结合Cadence仿真平台有:

[Thold_margin=Tva-Thold+(Tdata_SwitchDelay-Tstrobe_SettleDelay)-Tjiter] (13)

3.2建立时序仿真

这里用工程实例来分析建立时序过程,例子的背景是:CPU为MPC8560,DDRSDRAM是MT46V32M16_1⁃TSOP66。图7是DQS选通信号和DQ数据信号的拓扑结构和仿真结果。从图中可以知道:DQS信号的[Tflt_strobe(min)]为0.677 901 ns,DQS选通信号的[Tflt_strobe(max)]为0.911 877 ns。DQ数据信号的[Tflt_data(min)]为0.677 901 ns,DQ数据信号的[Tflt_data(max)]为0.911 877 ns。同时截取器件的数据手册中的Tvb和Tsetup的时间如图8所示,可得Tsetup为0.4 ns,Tvb为1.2 ns,Tab为1.2 ns。

图7 DQS和DQ的拓扑结构和仿真结果

图8 Tvb和Tsetup/Thold

对于[Tjiter]取值而言,时钟的抖动可以从器件手册中获取,其他干扰带来的影响可以估算,在满足信号完整性的前提下,这个数值比较小,在对时序完整性分析中可以忽略。这里假设一个值,取[Tjiter]为0.05 ns。为了便于理解和计算,把数据填入表1中。从表1可看出DQ数据的[Tsetup_margin]为0.51 ns,[Thold_margin]为0.52 ns。由此可以知道,当DQ和DQS按照等长约束布线时,数据的建立时间和保持时间都有很大的裕量。因此在实际的PCB布线过程中,就是采用这种匹配方法,即数据和时钟的长度匹配不应超过0.51 ns。

表1 建立时间裕量和保持时间裕量的计算

4结语

本文通过对DDR源同步时序理论的深入分析,得到求解DDR总线数据的建立时间裕量和保持时间裕量的方法。再结合Cadence 公司的Allegro SI 和SigXplor时序仿真分析工具,分析了一个实际的工程实例的时序完整性,得到DDR总线布线约束。通过布线前的时序仿真分析,大大提高了单板和系统的工作稳定性,降低开发风险和开发成本。该项目已得到验证并顺利投产。

参考文献

[1] BOGATIN Eric.信号完整性分析[M].李丽平,李玉山,译.北京:电子工业出版社,2005.

[2] HALL S H, HALL G W, MCCALL J A.高速数字系统设计[M].伍薇,译.北京.机械工业出版社,2005.

[3] 周润景,袁伟亭.Cadence高速电路板设计与仿真[M].北京:电子工业出版社,2006.

[4] 孙灯亮.DDR 1&2&3信号完整性测试分析技术探讨[J].国外电子测量技术,2006(9):75⁃79.

[5] 赵海舜.基于Cadence的DDRⅡ仿真设计[J].电子科技,2010(8):5⁃8.

[6] 王爱珍.高速数字PCB板设计中的信号完整性分析[J].现代电子技术,2009,32(1):177⁃180.

上一篇:家族企业代际传承治理模式研究综述 下一篇:网络问政时代的政府管理创新研究