一)回顾源同步时序计算
5 B' g$ f, h/ S' L" vSetup Margin = Min Clock Etch Delay – Max Data Etch Delay – Max Delay Skew – Setup Time
( D3 Y) t) a, _4 m( [4 kHold Margin = Min Data Etch Delay – Max Clock Etch Delay + Min Delay Skew + Data Rate – Hold Time
8 N1 k- g4 |+ q9 }2 P0 ~$ I
下面解释以上公式中各参数的意义:
7 v' g0 `6 g- L2 ~+ j
Etch Delay:与常说的飞行时间(Flight Time)意义相同,其值并不是从仿真直接得到,而是通过仿真结果的后处理得来。
: V. F0 s8 C4 v* z* D请看下面图示:
+ v9 c# Y0 ^0 J" A l
图一为实际电路,激励源从输出端,经过互连到达接收端,传输延时如图示Rmin,Rmax,Fmin,Fmax。
. d# d0 S R6 G! p) } n& a: _
图二为对应输出端的测试负载电路,测试负载延时如图示Rising,Falling。通过这两组值就可以计算得到Etch Delay 的最大和最小值。
7 u+ U6 b' G% k R0 K
3 f6 _, G {. ] D6 L% E/ J图 1 Raw Etch Delay
$ V) n" l- r+ m' H
' y' x y2 t5 J图 2 Test Load Measurement
$ y; W1 A5 @2 @
Delay Skew*:Delay Skew描述的是信号在缓冲输出前时钟和相对应数据的相对位置,如图三所示。SKEW_MIN和SKEW_MAX分别确定了无效数据无效窗口的起点和终点。它们的值可正可负,负值表明数据边沿超前于对应的时钟边沿,反之亦然。
! v$ m" l2 _& d0 W
& u5 ]4 x; R8 B2 E7 N
图 3 Delay Skew
" ^' q5 _/ B( L$ s, @Setup/Hold Time:即接受器件正确锁存数据的最小建立和保持时间。
0 Y- A1 p9 H* Q从以上叙述可以清晰看出,时序计算公式中的参数可以分为三类:第一类是Delay Skew,由输出端所用器件决定,从数据手册中可以得到;第二类为Etch Delay,由互连电路决定,需要通过仿真和计算得到;第三类为Setup/Hold Time,由接收端所用器件决定,同样可以从其数据手册中得到。
% H( v# \( H6 [
二)使用时钟PLL的系统时序分析
. W0 R# ?3 H5 b首先,来看一个简单的是使用时钟PLL的系统接口。如图四所示,数据信号通过传输线直接连接,时钟从输出端(Source)出来后输入时钟PLL,然后PLL输出至接收端(Target),PLL自身有反馈回路。
/ O' }5 N% B) K% u
2 M& |2 R/ H% [
图 4 Clock PLL Interface Diagram
) @1 V+ h: l+ I) u' R7 @1 D) E
从传输网络的角度看,此接口由四条网络组成,分别是数据(data),PLL时钟输入(clkin),PLL时钟输出(clkout)和时钟反馈(clock_fb)。
/ b& e' D* H6 ]& W5 U; B对应于第一部分的计算公式,可以很容易确定第一类和第三类参数,也就是图示的Delay_Skew,即输出端参数,和SETHLD,即输入端参数。下面来确定第二类,即互连延时。
" x2 \8 h* W H4 H z
定义:
7 D+ G: ^# |% \IC(Clock Input to the PLL)为源端时钟输入到时钟PLL的Etch Delay,
( o' c& o8 I- u' L) V1 M
OC(Clock Output from the PLL)为时钟从PLL输出到接受器件的Etch Delay,
6 ~$ ~3 l$ a, K. ~FB为PLL的反馈回路的延时,
; N& ]1 F4 g [( x! T
NX为PLL的输入到输出的延时,
9 a% }) w: y+ _, f5 V/ i6 x则:
6 K5 ]) X' z* p! c0 P2 k总的时钟延时
8 y1 D# e7 u% [& \
Min Clock Etch Delay = Min IC + Min NX + Min OC – Max FB
0 Y5 H( Q; c# T' Y+ R" a! ]+ r
Max Clock Etch Delay = Max IC + Max NX + Max OC – Min FB
/ B' q, O: E# x8 @. }: E6 W1 e
将得到的总的时钟和数据信号延时代入到时序计算公式,就可以计算出使用时钟PLL的系统时序裕量。
3 w/ _" e& z* k7 Y* `$ s. I0 c' P
三)使用Quantum-SI仿真计算使用时钟PLL的系统时序
0 ]* l8 x4 _1 o9 l7 y6 D" V1 hQuantum-SI支持时钟PLL系统时序分析,它领先的信号完整性(SI)和时序分析功能可以快速解决此类问题。
1 R: e5 s" q0 }, sQuantum-SI以电路接口为中心,可以在一个接口上建立多个传输网络,而Quantum-SI可以分析这不同传输网络之间的时序关系。如图五,图六所示
9 f. p4 a( A6 ~" d! X9 q3 a
0 F9 j5 h1 V8 i4 u6 q- y) {% |* U
图 5 Transfer Net
5 G) V) {& F2 X
/ _- O* ]0 z& k$ _) J图 6 Setup/Hold Margin by variation
1 a' F7 G7 |1 T' R4 J1 s图六是在图五的传输网络建立后,Quantum-SI自动仿真分析得到。
% P4 D9 o1 d& P" X9 R% O! m可以知道,对于系统的时序分析,需要清楚器件内部的时序关系,测试负载的概念与应用,互连传输延时等。而使用时钟PLL的系统,需要清楚时钟信号的传输路径。
; H& o: m$ M3 Z1 i! m对于复杂高速的系统时序分析,需要考虑不同参数,如电压/温度/工艺等对时序的影响。Quantum-SI在高速信号完整性和时序分析方面提供了一个完整的解决方案。
y U* V4 R0 ?* P2 v