EDA365电子论坛网

标题: 求助一个PCB互连设计题目! [打印本页]

作者: frankyon    时间: 2008-5-29 11:21
标题: 求助一个PCB互连设计题目!
主题不能发表题目( m8 w0 K1 {' `) A$ u
我要在后面跟题目 请不要删除哦 谢谢
作者: frankyon    时间: 2008-5-29 11:25
标题: 这个是题目! 谢谢
题:  逻辑和SRAM进行互连设计,数据总线为双向传输。不考虑串扰 噪声等干扰因素。 根据数据计算在PCB上走线的长度要求?(设PCB传输延迟为200ps/in)7 @3 P, A. U2 w+ C7 ~* @
类型:   时钟周期、最大输出有效时间、最小输出保持时间、最小输入建立时间、最小输入保持时间 (ns)" V  R; }' A# K: E& m4 r0 _
SRAM : 7.5、4.2、1.5、1.5、0.5
2 b9 ]. t' i$ B* A2 `逻辑    : 7.5、2.2、1.2、1.8、0.3
作者: Allen    时间: 2008-5-29 11:43
用Cadence资料上的公式直接套即可。
作者: Allen    时间: 2008-5-29 11:46
暂时找不到Cadence那个ppt了,转一个文章给你参考:
6 \1 y" _# _- O, V时序计算和Cadence仿真结果的运用
7 X5 H# D0 s2 D+ z8 q摘要:本文通过对源同步时序公式的推导,结合对SPECCTRAQuest时序仿真方法的分析,推导出了使用SPECCTRAQuest进行时序仿真时的计算公式,并对公式的使用进行了说明。
6 V% x2 m% r) t5 N. ^) q# n8 {一、前言
9 e+ Y2 _4 n  H; ~2 G    通常我们在时序仿真中,首先通过时序计算公式得到数据信号与时钟信号的理论关系,在cadence仿真中,我们也获得了一系列的仿真结果,怎样把仿真结果正确的运用到公式中,仿真结果的具体含义是什么,是我们正确使用Cadence仿真工具的关键。下面对时序计算公式和仿真结果进行详细分析。
* e, p8 o# }7 y: C$ [6 u+ u# L9 f二.时序关系的计算8 n: o. p- @; D1 V8 E$ l1 ~
    电路设计中的时序计算,就是根据信号驱动器件的输出信号与时钟的关系(Tco——时钟到数据输出有效时间)和信号与时钟在PCB上的传输时间(Tflytime)同时考虑信号驱动的负载效应、时钟的抖动(Tiitter)、共同时钟的相位偏移(Tskew)等,从而在接收端满足接收器件的建立时间(Tsetup)和保持时间(Thold)要求。通过这些参数,我们可以推导出满足建立时间和保持时间的计算公式。
9 U2 N" R( V$ _: ?    时序电路根据时钟的同步方式的不同,通常分为源同步时序电路(Source-synchronous timing)和共同时钟同步电路(common-clock timing)。这两者在时序分析方法上是类似的,下面以源同步电路来说明。
% P3 c* S; p: @; U    源同步时序电路也就是同步时钟由发送数据或接收数据的芯片提供。图1中,时钟信号是由CPU驱动到SDRAM方向的单向时钟,数据线Data是双向的。3 M  ~8 r- l6 i0 n
/ \+ ^/ @1 w3 C( ~
( z" K1 s( P5 S3 H

) ~3 J! N/ c6 w- b" Z图2是信号由CPU向SDRAM驱动时的时序图,也就是数据与时钟的传输方向相同时的情况。
: Y# F8 t  p  g8 }
3 m1 e# A/ ^) A0 n! W) G9 b
; v. n6 H  d3 z2 S- O8 ?: `$ N1 x2 a( c; {, W9 Q
图中参数解释如下:7 o4 V! V; G9 Z% e4 v
Tft_clk:时钟信号在PCB板上的传输时间;
6 a9 w! s" `- ]6 @- w3 c8 wTft_data:数据信号在PCB板上的传输时间;
) r0 j9 @5 I# J2 S- z# G4 }% Z3 UTcycle:时钟周期
8 W6 F) B  H) J4 K- j& U: q# [/ Q8 DTsetup':数据到达接收缓冲器端E1时实际的建立时间;
5 ], Z: ?& n8 C: j# ^/ PThold':数据到达接收缓冲器端E1时实际的保持时间;
: a* ^3 Z. c. ?: b1 hTco_max/Tco_min:时钟到数据的输出有效时间。7 H4 `- l* a' B3 S' `
    由图2的时序图,我们可以推导出,为了满足接收芯片的Tsetup和Thold时序要求,即Tsetup'>Tsetup和Thold'>Thold,所以Tft_clk和Tft_data应满足如下等式:
5 m% K8 F: l& F* s$ V' DTft_data_min>Thold-Tco_min+Tft_clk         (公式1)' a8 Y3 V. Q- p/ d9 v# Z) i
Tft_data_max<Tcycle-Tsetup-Tco_max+Tft_clk                (公式2)
+ V" S; A1 v1 V& h- V0 I8 T    当信号与时钟传输方向相反时,也就是图1中数据由SDRAM向CPU芯片驱动时,可以推导出类似的公式:& q5 Q  L, l" J2 I* e) ^
Tft_data_min>Thold-Tco_min-Tft_clk              (公式3)/ m8 _" w0 h$ V% X9 u6 h( I' {" q
Tft_data_max<Tcycle-Tsetup-Tco_max-Tft_clk                  (公式4)
& L' s3 ], I+ v1 v    如果我们把时钟的传输延时Tft_clk看成是一个带符号的数,当时钟的驱动方向与数据驱动方向相同时,定义Tft_clk为正数,当时钟驱动方向与数据驱动方向相反时,定义Tft_clk为负数,则公式3和公式4可以统一到公式1和公式2中。+ M( {  m' K# w2 ^% k7 y
三.Cadence的时序仿真) W" c2 l. u, u4 n5 `* K) E
    在上面推导出了时序的计算公式,在公式中用到了器件手册中的Tco参数,器件手册中Tco参数的获得,实际上是在某一种测试条件下的测量值,而在实际使用上,驱动器的实际负载并不是手册上给出的负载条件,因此,我们有必要使用一种工具仿真在实际负载条件下的信号延时。Cadence提供了这种工具,它通过仿真提供了实际负载条件下和测试负载条件下的延时相对值。8 D* [+ m8 I6 Z% B9 H, Q
    我们先来回顾一下CADENCE的仿真报告形式。仿真报告中涉及到三个参数:FTSmode、SwitchDelay和SettleDelay。其中Cadence时序仿真的结果是通过SwitchDelay和SettleDelay两个参数反映出来的。# }* Z( K+ W& U! u' S, K
    在解释FTSmode、SwitchDelay和SwitchDelay前先解释一下BufferDelay曲线的含义。BufferDelay曲线是Cadence仿真器断开实际负载,带上驱动芯片器件手册提供的测试负载条件下获得的一条曲线。测试负载是在IBIS仿真模型库中设置的。Cadence仿真报告中的延时测量是以BufferDelay为基准曲线,以V Measure为起始测量点获得的相对延时值。
; s$ z  h3 Y) O' ~FTSmode:定义了当前仿真驱动器的特性,分为Fast、Type和Slow。该三种特性是在IBIS模型中定义的,Fast是驱动器沿最快的模式,Slow是驱动器沿最慢的模式,从而定义了驱动器在正常工作条件下的两种极限特性。; e6 E8 i9 Z" Y/ t3 i0 W3 l
SwitchDelay: 定义为SwitchDelayFall和SwitchDelayRise两者的最小值。图3给出了SwitchDelayFall和SwitchDelayRise的图形解释。7 }. |8 o+ @' ]! }
SwitchDelayFall:是从BufferDelay下降沿的Vmeasure点开始到接收波形下降曲线第一次穿过高电平阈值时的延时值。5 o* ?; h6 C  `8 O
SwitchDelayRise:是从BufferDelay上升沿的Vmeasure点开始到接收波形上升曲线第一次穿过低电平阈值时的延时值。/ V5 O& L/ w; T# g: W4 \
SettleDelay:是SettleDelayFall和SettleDelayRise两者的最大值。图3给出了SettleDelayFall和settleDelayRise的图形解释。
  v# L* l4 r5 n/ k4 g6 O" e: TSettleDelayFall:是从BuferDelay下降沿的Vmeasure点开始到接收波形上升曲线最后一次穿过高电平阈值时的延时值。  T4 y2 C7 R  v/ ~9 p  l
    从SwitchDelay和SettleDelay的定义我们可以看出,SettleDelay是一个与输入端的建立时间(Tsetup)有关的量,SwitchDelay是一个与输入端保持时间有关的量(Thold)。6 |2 \0 A5 E0 N1 T# f
/ i( ~- ^& [2 [5 ~) {) R$ v. f' w
! s: b- t2 o. X/ h/ P; @
# Q: T2 D! H. [5 J/ v
    公式1和公式2中的Tft_data与Tft_clk在Cadenee仿真工具中是通过仿真获得的数据,它与Cadence仿真中fast和slow状态下的SwitchDelay与SettleDelay参数有关。( p* l7 Y" {) `# ^8 ?0 k
    为了了解Cadence仿真中的SwitchDelay和SettleDelay与时序公式中参数的关系,我们重新分析一下包含有BufferDelay曲线的时序图。
. F* K2 N. p$ Z5 ~% }5 R* ^6 _* j
: T5 M) B: `: f. T4 c! I
4 K5 }; i$ M! C$ r+ {/ P+ b+ F2 X8 n2 v! f1 s. Y# U0 C; k% Y
  在图4中,时钟输出和数据输出使用的是BufferDelay曲线,此时Tco是时钟BuferDelay曲线和数据BufferDelay曲线之间的延时关系,这种定义符合“手册中的Tco是在特定负载下测得的”说法。
3 ?5 K" D& j$ F( E7 W( z    在图4中,CPU CLK OUT(BuferDelay)和CPU Signals OUT(Buferdelay)是在测试负载条件下的信号输出波形(对应于图3中的BuferDelay曲线,而不是驱动端输出曲线),SDRAM CLK IN和SDRAM Signals IN是在实际负载条件下输入端口的仿真波形。
; k: A( \  `+ t5 l+ L# B; I5 m    在器件手册中给出时序关系时,对于时钟信号,通常以某一测量电压为时间测量点,如图4中的Vmeas1和Vmeas2,对于驱动端测量电压点为驱动器件手册中定义的测量点,对于接收端测量电压点为接收器件手册中定义的测量点。在Cadence仿真时,对于接收端电压测量点的设置,通常在接收器件模型中,把输人高低门限电平定义成Vmeas2来实现。对于驱动端电压测量点的设置,是在驱动器件模型参数中设置的。此时对于时钟仿真的结果是,时钟信号的SettleDelay和SwitchDelay值相等。8 ]5 Q- N, _4 z! v( ^
    对于数据信号的测量点就稍微有点复杂了,这要根据手册中Tco的测量方式来确定,有的器件手册Tco是从时钟的Vmeas到数据的Vmeas来测量的,有的手册是从时钟的Vmeas到数据的门限电平来测量的。如果采用从时钟的Vmeas到数据的门限电平来测量的,则在Cadence仿真中,要对高低电平门限分别作为测量点仿真,然后取最恶劣的仿真结果。0 |5 i8 w- f! Z, s7 x
    对于公式中数据的延时Tft_data,从Cadence仿真中对SettleDelay和SwitchDelay的定义和图4中的时序关系可以看出,Tft_data就是仿真结果中的SettleDelay和SwitchDelay参数,并且SettleDelay是与建立时间(Tsetup)有关,SwitchDelay是与保持时间(Thold)有关,因此公式中的Tft_data_min对应仿真结果中的SwitchDelay,Tft_data_max对应仿真结果中的SettleDelay,考虑到通常Slow状态的延时比Fast状态的延时要大,因此,公式中的Tft_data_min对应仿真结果中Fast状态的SwitchDelay,Tft_data_max对应仿真结果中Slow状态的SettleDelay。5 d' Z4 Q0 ^0 x* n6 n: b
    对于公式中时钟的延时,从测量方式中可以看出Tft_clk=SettleDelay=SwitchDelay,考虑到同一公式中仿真状态的一致,因此,公式中与Thold有关的不等式中的Tfl_clk对应于Fast状态的仿真值,与Tsetup有关的不等式中的Tft_clk对应Slow状态的仿真值。写成公式就是:& D" Z, f$ ~5 b( Q) n' ~# F- e
Tft_data_fast_switchdelay>Thold口Tco_min+Tft_clk_fast               (公式5)
! o4 c& Q) U( y8 J, k( k+ LTff_data_slow_settledelay<Tcycle-Tsetup 口Tco_max+Tft_clk_slow           (公式6)
9 x$ K8 J! ]: l" j& H    在实际仿真中,我们只要保证仿真结果满足公式5和公式6的时钟和数据关系,也就保证了单板工作时序的正确性。8 w9 Z! C2 F6 g' R, U
四.总结
$ q8 z& O( q" O/ g' L    Cadence公司的Allegro SI和SigXplor设计工具为硬件开发工程师提供了一个功能强大的高速PCB仿真手段,通过仿真设计,可以设计出符合要求的信号时序和信号完整性,从而提高单板和系统的工作稳定性,降低开发风险和开发成本。
% R( J" c9 q9 g! _
4 [7 l" c5 u- p1 }6 Q$ [% x  d[ 本帖最后由 allen 于 2008-5-29 11:55 编辑 ]
作者: frankyon    时间: 2008-5-29 12:51
标题: 非常感谢
非常感谢ALLEN  . T. X7 z5 A: {* k5 x
正在研究!
作者: liqiangln    时间: 2008-5-29 15:06
标题:
算时序前:
! _# R3 k: @: ~$ w# U
# a+ n& ]) _( Z5 R6 a0 N! U要了解 数据在时钟的那个沿发,那个沿收,要不就不好弄了!!
作者: gaiwu    时间: 2008-6-5 22:43
以前是算过时序问题,可谁老记着这些.- S, j; P8 c6 }
另外我有个时序问题一直还没理清,就是差分信号的相位误差是怎么确定的,推算公式是什么,不是经验值
作者: wpsghr    时间: 2008-6-6 11:22
,学习中
作者: cmos    时间: 2008-6-6 13:40
不会啊。我去面的时候,怎么没考这道题目?
$ h+ t9 Z* B0 Y, X  f7 I# g  Z+ O' n& t7 M, V5 N* A
[ 本帖最后由 cmos 于 2008-6-6 13:44 编辑 ]
作者: frankyon    时间: 2008-6-10 12:42
标题: 你是不是搞定啦!!恭喜
是科技园威新软件那边么 ?
作者: meijingguoyu    时间: 2008-9-9 15:22
这么麻烦' J8 B, S8 e+ m' P, I
我终于知道差距了,继续努力!
作者: emanule    时间: 2008-9-14 16:27
看不懂啊  差距太大了  呜呜 需要继续努力!
作者: sleepyingcat    时间: 2008-9-22 09:54
一直都有这样的一道题!
作者: yun12    时间: 2008-9-23 18:00
听详细
作者: hust_yojin    时间: 2009-3-6 14:20
总版主太牛X了!
作者: lovelyday    时间: 2009-3-6 17:08
好帖啊
作者: refine1986    时间: 2009-11-29 12:07
本帖最后由 refine1986 于 2009-11-29 12:23 编辑 " I( k: [: Z& @! e5 m: n

. D8 g1 j' k9 N  P可以套用飞行时间计算公式:' Y! `4 ^  u4 f' N# [' y( o- M4 M
Tflightmax<ClockPerild-Driver_Tcomax-Skew-Jitter-Crosstalk-ReceiverSetup+Tft_clk_max
7 l1 q% ~' f1 t- zTflightmin>ReceiverHold-Driver_Tcomin+Skew+Crosstalk+Tft_clk_min
; D  c+ D; q+ m7 ~0 O0 O该题中:
. W' Z( D2 G7 @# w(设PCB传输延迟为200ps/in), q" S& h2 c! K3 ^& J( ]; j: d
6 P; V3 Y. A& A+ j( g类型:   时钟周期、最大输出有效时间、最小输出有效时间、最小输入建立时间、最小输入保持时间 (ns)EDA365论坛网站|PCB论坛网|PCB layout论坛|SI仿真技术论坛7 m7 y- m+ w" f4 B3 B9 [- ~" ~( L  C
SRAM : 7.5、4.2、1.5、1.5、0.5
4 d  _' j9 b. ~, |3 e6 q6 ~2 x: X4 ?& X  w逻辑    : 7.5、2.2、1.2、1.8、0.3; T& N1 Q+ @4 R" q
Skew,Jitter,Crosstalk,Tft_clk均忽略,为0;) u& S) S& q6 z: w/ p* Z
从逻辑到SRAM:. Q/ D$ w% i4 B
      Tflightmax<7.5-2.2-1.5=3.8
; x. O; C: E! P+ M      Tflightmin>0.5-1.2=-0.7
$ B0 j. _# f4 p  e5 B走线长度为0~19in
; V1 T7 T" k) J, U从SRAM到逻辑:$ ?+ M! F2 q* X
      Tflightmax<7.5-4.2-1.8=1.5
9 a1 o% u2 G' K: H8 u4 t% c      Tflightmin>0.3-1.5=-1.2
2 b. C! }5 A9 _! `+ y走线长度为0~7.5in
# h- N+ Y& Q; x+ n* D& H2 ~- Y
; g8 [5 q, s9 j0 P2 M$ h如有不妥,欢迎大家指正
作者: willyeing    时间: 2011-1-28 09:50
嘿嘿不要记公式,要理解各个参数的意思,画出时序图,一看就知道公式是咋来的,给公司写过一个ppt,无法导出,要不然可以共享给大家!!!
作者: xiaxiang    时间: 2012-4-21 14:32
谢谢分享。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2