总线时序分析方法_第1页
总线时序分析方法_第2页
总线时序分析方法_第3页
总线时序分析方法_第4页
总线时序分析方法_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高速数字总线时序分析及计算方法High Speed Digital Parallel Bus Timing Analysisand Calculation Method朱永辉UTStarcom 深圳研发中心 Common Hardware摘要:本文先从简单数字总线模熨开始,全面分析了各种因素卜高速数字总线时 序裕量的计算方法,并推导出浪本的汁笄公式。然后以岛速SDRAM总线为 实例,分析了三种时钟模式下时序裕量的计算实例。最后以此理论为指导,对X 项目SDRAM总线作出了最优化的调整。Abstract: Based on basic digital bus model, this paper

2、completely summarize timimg budget analysis of high speed digital bus under various situations, and deduce the basic calculation equation. Then, based on high speed SDRAM bus, this paper analyze the timing budget calculation examples in three clocking modes And finally, an optimal timing adjust ion

3、is made for X project according to the theory of this pape 匚关键词:高速数字总线,时序分析,时序裕量计算,SDRAM总线,总线时序调 整Keyword: High Speed Digital Bus. Timing Analysis, Timing Budget Calculation, SDRAM bus, Bus Timing Adjusting1. 总线时序分析的目的许炙项H都面临着开发,测试时间短,而lime-to-Market JK力乂很人,在这种情况卜如 何设计町靠的数字系统,对工程师是一个很人的挑战。保证数字总线时序的町

4、靠性是数字系 统可靠工作的最重要的前提.特别在通信系统中,对系统吞吐量,CPU处理能力等耍求越 來越高,因此必须要用到各种各样的高速数字总线,如内存的SDRAM, DDR接II,高速 的CPU接I I以及芯片2间的并行"连接I I等。这比癸型的总线基本上工作在100MHz频率 以上,每个时钟周期小丁 10纳秒(10-9秒),在这么高的速度下,数据总线上每一个时钟周 期内耍求数据被正确地读出和写入,保证这一过程的并不是单单凭设计经验而是要旅对总线 时序的理解和精确的计算。如果发生数字总线的时序错谋,会导致谋码,卄法指令法地 址存取直至系统不能川动等不川预测的灾难性后果。本文总结了数字总

5、线时厅分析及计舁方 法,并且对SDRAM总线的时序计算做出了全而的总结。I 时序分析的目的:为了使数据总线上的数据正确地被输入芯片根据时钟锁存,也就是 输出芯片必须满足输入芯片的输入建立时间和输入保持时间的要求.2. 总线时序分析及基本模型计算2. 1简单总线模型总线的模型如图一所示,IC1输出数据到IC2,并且IC1和IC2在同一时钟Clock卜工 作。图二表明了-般总线的时序关系,当IC1输出数据时,IC1在上升沿Z后打出数据,上 升沿到数据在数据总线上仃效的时间称为时钟到数据的延时,即Tcoo然后输入芯片IC2会 在卜一个时钟的上升沿去锁存数据总线上的数据。CLOCK /DATA Fig

6、ure: 1总线电路模型Figure: 2总线时序图Teo:芯片输出数据时,时钟上升沿后,数据在数据总线上仃效的时间(时钟到数据延时), 此数据需耍用到最人值Tcomax及最小值Tcomin。Tsu:芯片作为输入时,数据所需的建立时间(时钟上升沿前数据维持的时间),建立时间的 满足永远以最小值来计算。Th:芯片作为输入时,数据所石的保持时间(时钟卜降沿后维持的时间),保持时间的满足 永远是最小值來计算。从以上时序分析的冃的町知,IC1的输出数据在数据总线上的维持时间必须要满足IC2 的建立时间(Tsu)及保持时间(Th)的最小需求。我们假设时钟同时到达IC1和IC2的时钟输入端,那么为了满足I

7、C1的输出必须满足 IC2正确输入的条件。从输入的Tsu考虑:Tsu = Tclk _ Teo max为了满足Tsu的条件,Tsu必须:Tclk 一 Teo max > Tsu =>Tclk > Tsu + Teo max从上而式了,我们还町以推算出,在给定的时蚀频率卜,输入的建立时间的时序裕凤SetupTimeM arg in - Tclk 一 Tsu 一 Teo max(1)从上面的式子,我们可以得出一个重婆结论:I如果电路板在输入的建立时间方面发生问题,我们可以通过降低芯片的运行频率(増 大Tclk)来满足所需的建立时间的要求.从输入的Th考虑:min > Th从

8、上面的式子我们可以推算出输入保持时间的时序裕最:(2)HoldTimeM arg/n = 7co(min) - Th 从(2)式我们可以看到IC输入时,可以得出以卜雨要结论:I数据输入的保持时间的时序裕量只和输入衛出芯片本身的特性有关,而与时钟运行频率无关,如果PCB走线不能满足芯片输入保持时间的要求,那么简单地降低芯片的运 行频率是没有任何帮助的.2. 2实际总线模型时序裕量计算如果考左数据在PCB上的传输延迟和时钟到达发送和接收芯片的延迟,那么讣算时序 裕量就会变得复杂些,定义以下几个变最:Tflight:这个变杲定义数据信号在PCB传输线上到达输入点所石的时间,就是平时所说的传 输时延或

9、飞行时间。Tskcw:这个变駁定义时钟信兮到达发送IC和接收IC时钟引脚的时间差异。Tcrosstalk:由丁伸扰引起的数据沿变化,孑致数据到达时间发生轻微的摇摆。Tjitter:由于时钟抖动引起的时钟周期的变化考虑这些因素后,建立时间和保持时间的裕量就会相应的发生变化,如卜公式所示:SetupM arg in = Tclk - Teo max- Tsu 一 Tflight + Tskew - Tjitter - Tcrosstalk(3)HoldM arg in = Teo min - Th + TJlight 一 Tskew - Tcrosstalk(4)Tskew是时钟到达两个芯片的时间

10、延迟,这个参数在PCB布线时町以任意调的。从上面的 式子中,可以看到Tskew在建立时间和保持时间中的作用分别为一正一负,因此我们可以 有以下结论:I如果想通过调整时钟的延迟来增加建立时间的裕量,那么必须牺牲相应的保持时间的裕量。反之如果想增加保持时间的裕量,那么必须牺牲相应的建立时间的裕量。由J输入的建立时间裕彊和保持时间裕鼠必须人丁零,所以:Tclk - Teo max- Tsu 一 TJlight + Tskew - Tjitter - Tcrosstalk > 0Teo min Th + Tflight Tskew Tcrosstalk > 0从上面的式子,就可以得出数据总

11、线所能走的最大距离和最小距离的定量公式:Tflight < Tclk 一 Teo max-Tsu + Tskew - Tjitter - Tcrosstalk(5)Tflighl >Th- Teo min + Tskew + Tcrosstalk(6)这两个公式为PCB的布线计算提供理论的依据。在Cadence的SPECCTRAQuest的时 序分析模型,就是根据这两个公式来计算。以上基本公式考偲j" Tskew, Tjitter, Tcrosstalk对时序裕kt的影响。这些信号在很炙情 况卜是以正负的指标來衷明在-淀范川内的漂移,山设计者无法预测这些指标是帯來正的 影

12、响还是负的影响,因此以下定义取正负号的原则:1. 在计算公式1中,也就是计算机最长布线时,这些指标所取的正负号应该使布线长度值 达到最小。2. 在计算公式2中,也就是计算最短布线时,这些指标所取的正负号应该使布线长度值达 到最大。这两个原则会使我们的时序计算达到最严格的指标。3. SDRAM数据总线时序裕量计算实例SDRAM是典熨的高速并行总线结构,以卜部分我们以SDRAM总线为例说明总线时序 裕杲计算方法及原则。和上面介绍的基本原理稍有不同,SDRAM总线是双向总线,所以必 须分别计算读/写两种情况,才能确定时序裕量。以卜-图三是SDRAM总线输出数据时的时序图,另外三张表格分别是SDRAM

13、. SDRAM 控制器,及外部时钟芯片的AC时序指标,我们以这些时序指标为依据进行各种SDRAM V. 作方式卜时序裕鼠计算。Figure: 3 SDRAM总线数据输出时序从图三的SDRAM时序图屮叮以看出,输出芯片在T3上升沿时准备输出数据,而输入 芯片在T4上升沿处,锁存总线上的数据。ACCHARACTERISTICS-7EPARAMETERSYIVBOLMINrviAXAccess time from CLK (pos. edge)CL = 3SC5.4CL = 2SC5.4Address hold timelAH0.8Address setup timelAS1.5CLK high-l

14、evel widthU2.5CLK low-level widthtCL2.5Clock cycle timeCL = 3WK(3)7CL = 2lCK(2)7.5CKE hold timeIKH0.9CKC setup time»CKS1.5CSl RAS± CAS札 WE DQM hold timetCMM0.9CW RAS*, CAS粒 W". DQM setup timetCMS1.5Data-in hold timetDH0.8Data-in setup timelDS1.5Data-out high-iinpedance timeCL = 3tHZ(3

15、)5.4CL = 2lHZ(2)54Data-out low-impedance timetLZ1Data-out hold time (load)lOH3Figure: 4 SDRAM 时序指标SignalsDescription133MHzUnitsLoadingMin.Max.ECC7:0Setup0.8nsSData630Setup1.3nsSData63:OT ECC7:0Hold0.4nsSCAS*, BankSel(1:0Output Delay1.13 1ns50pFDAdr12:0Output Delay1.136ns50pFSDaM*7:0JOutput Delay1.13

16、.7ns30pFSDOT7:0h DWrVSRAS*Output Delay1.137ns50pFSCS3:0rOutput Delay1.238ns50pFSData63:OT SCS(3:OaOutput Delay1.238ns30pFECC7:0Output Delay1.34 1ns30pFFigure: 5 SDRAM控制誥时序指标TO"Cycle to Cycle Jitter""】t/-100Aliy Output to An/ Cutput SkevM代fiquncy150D fferent frequency300Figure: 6时钟芯片技术

17、指标3. 1外部时钟源统一提供时钟工作方式这种SDRAM的工作方式如下图所示:33MHz50PPMFigure: 7:外部时钟源统一提供时钟工作方式在这种SDRAM匸作方式卜,外部时蚀源统一产生时钟,然后分发到SDRAM控制器 和SDRAM芯片的时钟引脚。3. 1.1从写路径考虑此时SDRAM控制器输出数据到SDRAM芯片,则SDRAM控制器的输出必须满足 SDRAM芯片的建立时间和保持时间的要求,此时Tsu = 1.5ns.Th = 0.8/5晶体是输出33MHz, 50PPM, I大I此:Tjitler_osc = 1/33M 仕:* 50/1000000 = 0.00152恥=±

18、;0.00076恥 ° 一般的时序裕鼠都是十分Z纳秒级别的,从上式中我们町以知道胡体的Jitter非常小,在 实际的时序计算屮完全可以忽略为零。从时钟芯片的技术指标图中可知输出时钟的川血为土 lOOps,即土0. lnso由丁我们忽略了 晶体的J itter指标,因此:Tjitler = ±0.1$在PCB布线屮,我们可以把从时钟芯片出來的两个时钟到SDRAM控制器和SDRAM布得 完全等长,因此时钟Skew可以认为零,即:Clock 2 一 Clock 1 = 0ns但是任何的锁相环芯片出來的时钟并不足完全等相位的,因此这个相位的相差其实充当了Tskcw这个角色,从上而时

19、钟芯片的数据手册中,可以得到:Tskew = 150/75 = 0.15ns另外宙丁这个150ps的Skew,其实我们并不能确定到底是哪个时钟输出是捉前了,或是落 后了,因此我们必须从最坏的情况去考虑,那么Tskew就变为:Tskew = ±0.15ns从SDRAM控制器时序指标农格中町以即到控制器数据总线的输出延迟(Output Delay)垠 小是1.2ns,最大是3.8ns,即:Teo min = 1.2s,7?omax = 3.S/5根据仿其及佔测的结果,可以认为由信兮完整性及串扰(crosstalk)所引起的时序误差最人 为土0. lns» 即:Tcrosstal

20、k = ±0.1$从以上的数据,根据公式(5), (6)就町以计算当SDRAM作为输入时:Tflight < Tclk 一 Teo max- Tsu + Tskew - Tjitter 一 Tcrosstalk=7.519ns 一 3,3ns -1.5ns - 0.15ns - 0. ins - 0. ns = 1 ,S69ns7'flight > Th Teo min l Tskew I Tcrosstalk=0.8/15 -1.2ns + 0.15ns + 0. Ins = -0.15ns以上公式计算时,Tskew, Tjitter, Tcrosstalk等指

21、标前面冇正负兮,取iE负兮的原则如前所 述。综介以上计算结果,在写路径时Tflight在布线时必须满足:-05ns < Tflight < 1.869/?5(7)如果以PCB板上每英寸的时延是0.18ns/inch计,则:-0.025/nc/? < DataTraceLength < 8.845/?c7z(8)这个负号的意义是,即使数据线的布线长度为零(廿实上这是不町能的),也町以满足 时序的要求。这个意义也是非常自观的,因为SDRAM控制器的输出保持时间长达1.2ns, 而SDRAM输入的保持时间只0.8ns,还仃一泄的裕彊,即使布线氏度为冬,也町以远远 地满足耍求。

22、2. 1. 2从读路径考虑此时SDRAM芯片输出数据到SDRAM控制器。上面的计算过程仅仅计算了读操作时 的单向情况,由J- SDRAM数据总线是双向的,那就必须也要考虑SDRAM作为输出,而 SDRAM控制器作为输入时的情况。同理,参考计算公式完全相同,只不过需耍满足的建立时间和保持时间应该以SDRAM控 制器的数据手册上为准,所以:Tsu = 1.3ns, Th = 0.4/zj而Tcomin变为SDRAM输出时数据在数据总线上所保持的最小时间,在SDRAM数据于册 上这个数据是*OH, Tcomax变为SDRAM输出时的AC所以:Teo niin = 3ns, Teo max = 5.4

23、s其它参数完全相同:Tskew = ±0.15ns. Tcrosstalk - ±0.1/?5从以上的数据,根据公式(5), (6)就町以计算当SDRAM作为输出时:Tflight < Tclk - Teo max-Titr + Tskew - Tjitter 一 Tcrosstalk=7.519$ - 5 Ans 一 1.3ns 一 0.15$ 0. Ins 一 0. ns = 0.469/?$Tflight > Th 一 Teo inin + Tskew + Tcrosstalk=0.8/u - 3ns + 0.15ns + 0. Ins = 一 1.95$

24、综合以上计算结果,在读路径时,Tflight在布线时必须满足:一 1,95ns < Tflight < 0.469/5(9)如來以PCB板上每英寸的时延是0.18ns/inch计,贝U:-O.Sinch < Data Trace Leng th < 2.bin ch(10)综合(8) (10)的条件,在此条件下,SDRAM的数据总线走线长度应该是:-Q.025inch < DataTraceLength < 2.6inch(11)这个布线的长度限制留给PCB的布线工程师的余地已经很小了。这种布线方式余地小的根本原因是因为SDRAM输出的时延Tcomax达5.

25、4ns,导致 SDRAM控制器的建立时间很难被满足。而SDRAM输出的保持时间又K达3ns,远远满足 SDRAM输入建立时间的要求,在这情况卜,我们町以用以卜的方法来进行优化:I可以适当地调整时钟的Skew来获得最优化的布线方案调整方法,使Clock 1和Clock2的Skew调整为以卜的关系:Clock 2 - Clock 1 = 0.7/25即SDRAM控制器时钟滞后于SDRAM时钟0.7ns,这样就可以使SDRAM比刚才方式提前 0.7ns发出数据,使SDRAM控制器获得额外的建立时间,当然如前所述,这是以牺牲保持 时间为代价的。写路径时,由T Tskew缩小0.7ns (-0.7ns)

26、,按照原来计算结果(7):-0.15/?5-0.7/5' < TJliht < 1.869/5 -0.7/5一 0.85/5 < Tflight v 169血(12)读路径时,由FTskew增大了 07ns(+0.7ns),按照原来的计算结果(9):一 1.95ns + 0.7ns < Tflight < 0.469$ + 0.7ns-1.25ns < Tflight <1.169ns综合以上条件,布线约束条件变为:-0.85/5 < Tflight < 1.169ns-Clinch < DataTraceLength <

27、; 6.4inch(13)这个布线条件中最大布线距离与原来公式(11)相比,已经增加了近4英寸,因此更容易布 线。3.2 SDRAM控制器分配时钟工作方式如图八所示,在这种时钟方案卜,由SDRAM控制器产生时钟,并将这个时钟经过PCB 上的走线分配给各个SDRAM芯片,也称为SDRAM源同步方式。SDRAMChipFigure: 8: SDRAM控制器分配时钟工作方式在这种情况F,假设SDRAM出来的时钟,经过PCB后到达SDRAM芯片所需的时间为Tdelayo町知这个Tdelay h定是正的,假设时钟在PCB板上走了 25inch.贝ij:Tdelay = 2.5 * 0Sns = 0.45

28、$ 3. 2.1从写路径考虑SDRAM控制器输出数据的同时也输出时钟,此时:Tskew = Tdelay = 0.45/5其他参数:Tclk =7.519/15,7c<? min = 1.2ns,Teo max = 3.Sns,Tjitter = ±0. Ins.Tcrosstalk = ±0. InsTsu = .5ns.Th = Q.Sns则:Tflight < Tclk 一 Teo max- Tsu + Tskew - Tjitter 一 Tcrosstalk=Tclk 一 Teo nax- Tsu + Tdelay 一 Tjitter 一 Tcrosst

29、alk=7.519/5 - 3.8/?s + 0.45/J - 0. ns = 3.969“s(14)Tflighf > Th 一 Teo min + Tskew + Tcrosstalk=Th 一 Teo min + Tdelay + Tcrosstalkr(15)=0.8/5 -1.2ns + 0.45/5 + 0$ = 05ns综合(14) (15):(16)0.15/w < Tflight v 3.969/15 0.9inch < DataTraceLength < 22inch 2. 2. 2从读路径考虑当SDRAM输出数据,而SDRAM控制器作为输入时,由时

30、钟依然是从SDRAM控 制器输出到达SDRAM,然后SDRAM根据这个时钟送出数据,所以时钟到SDRAM比时钟 到SDRAM控制器落后了 Tdelay,因此:Tskew = -Tdelay = 0.45/5F其它参数:Tclk = 7.59ns.Tco min = 3ns.Teo max = 5 Ans.7jitter = ±0. ns.Tcrosstalk = ±0. ns Tsu = 13ns.Th = 0.4nsTflight < Tclk 一 Teo max- Tsu + Tskew 一 Tjitter 一 Tcrosstalk=Tclk 一 Teo imx-

31、Tsu 一 Tdelay - Tjitter - Tcrosstalk=7.519/Z5 一5Ans 一 .3ns 一 0.45/15 一0.bis 一 0. ins = 0.24/w(17)Tflight > Th 一 Teo Tskew + Tcrosstalk = Th- Teo niiii 一 Tdelay + Tcrosstalk0.4/15 - 3ns - 0.45/w + 0.1/u = -2.95ns(18)综合约束条件(17) (18):一 2.95ns < Tflighl < 0.24ns6Ainch < DataTraceLength < 1

32、.3inch(19)综合SDRAM作为输出和输入时的条件(16) (19),可以得到数据线的约束条件:0.15/5 < Tflight < 0.24nsO.Qinch < DataTraceLength v 1.3inch(20)从以上约束的走线K度看,基本上己经很难实现这样的SDRAM布线,特别在SDRAM 芯片数H多的时候。所以以这种时钟方案T作的SDRAM控制器芯片,直速度很难达到 133MHz, 一般只能宣称工作在100MHz或更低。如果匸作在1 OOMHz,则Tclk变为10ns° 相应给输入建立时河,增加了近2.5ns的裕氐 也就是增加了近13.8inc

33、h的布线余鼠。所以 在100MHz 此种方式布线长度限制变为:0.15/15 v Tflight < 0.24/5 + 2.5ns(21)0.9/nc/i < DataTraceLength < 15.2inch最小走线长度不变,如前所述,是因为数据的保芍时间是和时钟频率无关的。以上的条 件在PCB匕就町以轻易地实现。从这种SDRAM控制器发出时钟的SDRAM T作方式的分 析计算,我们可以得出以卜结论:I 较第一种方式比较,向SDRAM写路径的时序裕更充足了。因为写操作,时钟是滞 后到达SDRAM,因此延长了建立时间.I 从SDRAM读的路径的时序裕量会更小,因为读操作时,

34、时钟到SDRAM控制器比到 SDRAM更超前,因此缩短了 SDRAM控制器的建立时间。I 和第一种方式不同,这种布线方式受到了时钟线绝对长度(时延)而不是相对长度(时 延)的限制只要时钟线的绝对长度超过一定的数值,在某种频率下,布线就不可能 实现。因为在读SDRAM时,Tdelay这个指标可以把所有建立时间消耗完,导致最大 布线长度小于零,也就是不可能实现的布线方式.I 这种源同步方式,最优化的布线方案的前提就是使时钟线的长度尽可能的短。3.3 SDRAM控制器双时钟工作方式。这种方式是某些特别严格的SDRAM控制器所H何的一种匸作方式,极少的SDRAM控 制器采用这种工作方式。如卜图所示:T

35、dk ClOCk SDRAM clockFigure: 9 SDRAM控制器双时钟工作方式和笫 种工作方式相同的是,这种工作方式也是由外部时钟源统-捉供时钟。但不同的是, 这种SDRAM控制器帯仃两个时钟输入端。其中一个时钟(Iblk)用于写路径,而另 个时 钟(SDClkln)用读路径。再另外一个时钟是标准的SDRAM时钟(SDRAM Clock。这 里假设各时钟线的长度:Tclk = L SDRAMClock 二厶 + X; SDClkln 二厶 + X + Y以卜分析这种丁作方式的优点。3. 31写路径考虑写操作时SDRAM控制器根据时钟Tclk发出数据,而SDRAM则根据SDRAM C

36、lock 玄锁存数据。由T SDRAM Clock长度比Tclk耍多出X,所以时钟滞后到达接收端SDRAM一 所以这种匸作方式相当于工作方式2的写路径分析。如丁作方式2结论1所述,这种方式时 钟滞后到达SDRAM,可以使SDRAM获得更长的建立时间。具体X可以到多大,则受限 T SDRAM保持时间的要求。3. 3. 2读路径考虑读操作时SDRAM根据时钟SDRAM Clock发出数据,ifri SDRAM控制器根据SDClkln 公锁存数据。如上图叮知,SDClkln比SDRAM Clock长出Y,同理和写路径一样,町以使 SDRAM控制器获得更长的建立时间。II体Y町以到多人,则受限F SDRAM控制器保持 时间的耍求。由这种丁作方式读写路彳仝的分析可知,SDRAM控制器用双时钟的工作方式,町以使读 写路径都获得额外的建立时间,也就是可以使址人布线长度随Z增人。从以前分析,-般保持时间都是可以远远满足的,如不满足可以延长PCB布线因此这种匚作方式,可以得出 各种PCB布线长度范围以适介丁当前PCB的布局要求。4.X项目中时序调整测试在X项目中,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论