一)回顾源同步时序计算
/ n( {+ J- M) w/ P6 n! q& u9 D
Setup Margin = Min Clock Etch Delay – Max Data Etch Delay – Max Delay Skew – Setup Time
0 c: B' o) m0 u3 b1 w( b: dHold Margin = Min Data Etch Delay – Max Clock Etch Delay + Min Delay Skew + Data Rate – Hold Time
1 \0 n% O# J/ g4 p) c: H- x3 e, D下面解释以上公式中各参数的意义:
6 x9 l6 B) ?, c/ P+ n* JEtch Delay:与常说的飞行时间(Flight Time)意义相同,其值并不是从仿真直接得到,而是通过仿真结果的后处理得来。
* J6 |8 K! r9 x" [# d6 @1 k请看下面图示:
" _, E- ]" x7 \& }+ f: c5 h" K
图一为实际电路,激励源从输出端,经过互连到达接收端,传输延时如图示Rmin,Rmax,Fmin,Fmax。
3 t$ u# i* a. T( @- S" Y4 x+ Y% S图二为对应输出端的测试负载电路,测试负载延时如图示Rising,Falling。通过这两组值就可以计算得到Etch Delay 的最大和最小值。
7 S' r1 a' Y7 c& W$ l7 H
, V9 \1 `# I$ A+ j, b图 1 Raw Etch Delay
9 _* {/ p8 H l: @9 A1 G* q
1 [7 d: x2 [. j2 |! M5 B+ L图 2 Test Load Measurement
* r% X$ Q5 p9 \# W$ p. G. PDelay Skew*:Delay Skew描述的是信号在缓冲输出前时钟和相对应数据的相对位置,如图三所示。SKEW_MIN和SKEW_MAX分别确定了无效数据无效窗口的起点和终点。它们的值可正可负,负值表明数据边沿超前于对应的时钟边沿,反之亦然。
$ }$ L1 K' k% i( S% K* x
. b9 i$ B6 B4 E4 `0 f/ M/ W+ {图 3 Delay Skew
$ _: x0 }7 i" w% K0 E1 ZSetup/Hold Time:即接受器件正确锁存数据的最小建立和保持时间。
4 h- Y- t [+ x# V3 n从以上叙述可以清晰看出,时序计算公式中的参数可以分为三类:第一类是Delay Skew,由输出端所用器件决定,从数据手册中可以得到;第二类为Etch Delay,由互连电路决定,需要通过仿真和计算得到;第三类为Setup/Hold Time,由接收端所用器件决定,同样可以从其数据手册中得到。
" A( s2 ]" w) M: B
二)使用时钟PLL的系统时序分析
3 o/ P- j" D) B7 ?. Y
首先,来看一个简单的是使用时钟PLL的系统接口。如图四所示,数据信号通过传输线直接连接,时钟从输出端(Source)出来后输入时钟PLL,然后PLL输出至接收端(Target),PLL自身有反馈回路。
1 r% ?% Q, Z ^6 r
4 a2 k. o; Z4 b) ?; E. I5 L图 4 Clock PLL Interface Diagram
2 W. u- i& l7 }2 ~3 S* d% C7 j( F: |
从传输网络的角度看,此接口由四条网络组成,分别是数据(data),PLL时钟输入(clkin),PLL时钟输出(clkout)和时钟反馈(clock_fb)。
) E! c8 B' s' d5 w- ^3 f& ?
对应于第一部分的计算公式,可以很容易确定第一类和第三类参数,也就是图示的Delay_Skew,即输出端参数,和SETHLD,即输入端参数。下面来确定第二类,即互连延时。
% P2 D! d) B8 f; M4 W定义:
+ e: Z; T, G7 |& F yIC(Clock Input to the PLL)为源端时钟输入到时钟PLL的Etch Delay,
& C; j8 i6 J1 q. j$ W
OC(Clock Output from the PLL)为时钟从PLL输出到接受器件的Etch Delay,
, I1 m" p' d8 C1 ?+ pFB为PLL的反馈回路的延时,
- O' N; D: ?# `: U4 I% V( Q
NX为PLL的输入到输出的延时,
4 u [" `0 b. [+ [" t
则:
& M# J4 w- B$ x) @* b
总的时钟延时
9 @( L" o; c& UMin Clock Etch Delay = Min IC + Min NX + Min OC – Max FB
) k8 y7 ^+ S6 W7 H* C0 w9 J1 X
Max Clock Etch Delay = Max IC + Max NX + Max OC – Min FB
' l/ x- b3 B% v2 b* X. W; j将得到的总的时钟和数据信号延时代入到时序计算公式,就可以计算出使用时钟PLL的系统时序裕量。
; ?* d9 p; W5 O! C+ C2 m# R
三)使用Quantum-SI仿真计算使用时钟PLL的系统时序
3 {: @( u! f% X: hQuantum-SI支持时钟PLL系统时序分析,它领先的信号完整性(SI)和时序分析功能可以快速解决此类问题。
0 O5 P b O# p9 ^- P
Quantum-SI以电路接口为中心,可以在一个接口上建立多个传输网络,而Quantum-SI可以分析这不同传输网络之间的时序关系。如图五,图六所示
7 Q2 p0 y; X* {
. Y3 T0 |" W6 `7 E" ~
图 5 Transfer Net
' h6 V9 a' ?) b+ `( {% b8 l
) f" {/ b& a( u图 6 Setup/Hold Margin by variation
u" U, ~3 x a9 r! {7 I) s* ~' q- B图六是在图五的传输网络建立后,Quantum-SI自动仿真分析得到。
_# u- `: a1 C5 N! A
可以知道,对于系统的时序分析,需要清楚器件内部的时序关系,测试负载的概念与应用,互连传输延时等。而使用时钟PLL的系统,需要清楚时钟信号的传输路径。
/ x: K' L# L7 }$ T
对于复杂高速的系统时序分析,需要考虑不同参数,如电压/温度/工艺等对时序的影响。Quantum-SI在高速信号完整性和时序分析方面提供了一个完整的解决方案。
# z8 W& k) q" s8 c8 o. D1 u1 t