直击高速PCB设计真相 拿下时序分析与仿真

2014-11-20 09:54 来源:电子信息网 作者:娣雾儿

数据建立时间的时序分析

由第一个条件可知,数据信号必须先于时钟CLKA到达接收端,才能正确地锁存数据。在公共时钟总线中,第一个时钟周期的作用是将数据锁存到DRIVER的输出端,第二个时钟周期则将数据锁存到RECEIVER的内部,这意味着数据信号到达RECEIVER输入端的时间应该足够早于时钟信号CLKA。为了满足这一条件,必须确定时钟和数据信号到达RECEIVER的延时并保证满足接收端建立时间的要求,任何比需要的建立时间多出来的时间量即为建立时间时序余量Tmargin。在图1的时序图中,所有箭头线路表示数据信号和时钟信号在芯片内部或传输线上产生的延时,在下面的箭头线路表示从第一个时钟边沿有效至数据到达RECEIVER输入端的总延时,在上面的箭头线路表示接收时钟CLKA的总延时。从第一个时钟边沿有效至数据到达RECEIVER输入端的总延时为:

TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA

接收时钟CLKA下一个周期的总延时为:

TCLKA_DELAY=TCYCLE+TCO_CLKA+Tflt_CLKA

要满足数据的建立时间则必须有:

TCLKA_DELAY_MIN-TDATA_DELAY_MAX-Tsetup-Tmargin>0

展开并考虑时钟的抖动Tjitter等因素整理后得到:

TCYCLE+(TCO_CLKA_MIN-TCO_CLKB_MAX)+ (Tflt_CLKA_MIN-Tflt_CLKB_MAX)-TCO_DATA_MAX-Tflt_DATA_SETTLE_DELAY_MAX-Tjitter-Tsetup-Tmargin>0 (1)

式(1)中TCYCLE为时钟的一个时钟周期;第一个括号内是时钟芯片CLOCK BUFFER输出时钟CLKA、CLKB之间的最大相位差,即手册上称的OUTPUT-output skew;第二个括号内则是CLOCK BUFFER芯片输出的两个时钟CLKA、CLKB分别到达RECEIVER和DRIVER的最大延时差。式(1)中TCO_DATA是指在一定的测试负载和测试条件下,从时钟触发开始到数据出现在输出端口并到达测试电压Vmeas(或VREF)阈值的时间间隔,TCO_DATA的大小与芯片内部逻辑延时、缓冲器OUTPUT BUFFER特性、输出负载情况都有直接关系,TCO可在芯片数据手册中查得。

由公式(1)可知,可调部分实际只有两项:Tflt_CLKB_MIN-Tflt_CLKB_MAX和Tflt_DATA_SETTLE_DELAY_MAX。单从满足建立时间而言,Tflt_CLKA_MIN应尽可能大,而Tflt_CLKB_MAX和Tflt_DATA_SETTLE_DELAY_MAX则要尽可能小。实质上,就是要求接收时钟来得晚一点,数据来得早一点。

数据保持时间的时序分析

为了成功地将数据锁存到器件内部,数据信号必须在接收芯片的输入端保持足够长时间有效以确保信号正确无误地被时钟采样锁存,这段时间称为保持时间。在公共时钟总线中,接收端缓冲器利用第二个时钟边沿锁存数据,同时在驱动端把下一个数据锁存到数据发送端。因此为了满足接收端保持时间,必须保证有效数据在下一个数据信号到达之前锁存到接收端触发器中,这就要求接收时钟CLKA的延时要小于接收数据信号的延时。

TCLKA_DELAY=TCO_CLKA+Tflt_CLKA

而数据延时:

TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA_SWITCH_DELAY

若要满足数据的保持时间,则必须有:

TDATA_DELAY_MIN-TCLKA_DELAY_MAX-Thold-Tmargin>0

展开、整理并考虑时钟抖动Tjitter等因素,可得如下关系:

(TCO_CLKB_MIN-TCO_CLKA_MAX)+(Tflt_CLKB_MIN-Tflt_CLKA_MAX)+TCO_DATA_MIN+Tflt_DATA_SWITCH_DELAY_MIN-Thold-Tmargin-Tjitter>0 (2)

式(2)中,第一个括号内仍然是时钟芯片CLOCK BUFFER输出时钟之间的最大相位差;第二个括号内继续可以理解为时钟芯片输出的两个时钟CLKA、CLKB分别到达RECEIVER和DRIVER的最大延时差;要满足数据的保持时间,实际可调整的部分也只有两项,即Tflt_CLKB_MIN-Tflt_CLKA_MAX和Tflt_DATA_SWITCH_DELAY_MIN。单从满足保持时间的角度而言,Tflt_CLKB_MIN和Tflt_DATA_SWITCH_DELAY_MIN应尽可能大,而Tflt_CLKA_MAX则要尽可能小。也就是说,若欲满足保持时间,就要使接收时钟早点来,而数据则要晚点无效(invalid)。

< 1 2 3 4 > 
PCB 仿真

相关阅读

暂无数据

一周热门