首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

高速PCB设计中的时序分析及仿真策略解析(2)

高速PCB设计中的时序分析及仿真策略解析(2)

而数据延时:

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)式。分析这两个不等式可以看出,调整的途径只有三个:发送时钟延时、接收时钟延时和数据的延时。调整方案可这样进行:首先假定发送时钟延时严格等于接收时钟延时,即Tflt_CLKA_MIN-Tflt_CLKB_MAX =0和Tflt_CLKB_MIN-Tflt_CLKA_MAX =0(后文将对这两个等式的假设产生的时序偏差进行考虑),然后通过仿真可以得出数据的延时范围,如果数据延时无解则返回上述两个等式,调整发送时钟延时或接收时钟延时。下面是宽带网交换机中GLINK总线公共时钟同步数据收发的例子:首先假定发送时钟延时严格等于接收时钟延时,然后确定数据的延时范围,代入各参数,(1)和(2)式分别变为:

1.5-Tflt_DATA_SETTLE_DELAY_MAX-Tmargin>0

0.5+Tflt_DATA_SWITCH_DELAY_MIN-Tmargin>0

在不等式提示下,结合PCB布局实际,确定Tflt_DATA_SETTLE_DELAY_MAX<1.1;tflt_data_switch_delay_min>-0.1,剩下0.4ns的余量分配给了两个时钟的时差和Tmargin。在SPECCTRAQUEST中提取拓扑并进行信号完整性仿真,进而确定各段线长及拓扑结构。对此结构(共12种组合)进行全扫描仿真,得到Tflt_DATA_SETTLE_DELAY_MAX=1.0825 Tflt_DATA_SWITCH_DELAY_MIN =-0.0835004,符合确定的1.1和-0.1的范围指标。由此可以得出GLINK总线数据线的约束规则:①匹配电阻到发送端的延时不应大于0.1ns;②数据线必须以0.1ns进行匹配,即每个数据线都必须在0.65ns~0.75ns之间。有了上述的约束规则就可以指导布线了。

下面再考虑硬性规定 Tflt_CLKA_MIN-Tflt_CLKB_MAX=0和Tflt_CLKB_MIN-Tflt_CLKA_MAX=0带来的影响。事先约束发送时钟和接收时钟完全等长(在实际操作中以0.02ns进行匹配)在CADENCE环境下,进行时钟仿真,得到结果:|Tflt_CLKA_MIN-Tflt_CLKB_MAX|<0.2和|tflt_clkb_min-tflt_clka_max|<0.2。可见留给tmargin的余量为0.2ns。

最终的仿真结果是:① 匹配电阻到发送端的延时不应大于0.1ns;②数据线以0.1ns进行匹配,即每个数据线都必须在0.65ns~0.75ns之间;③发送时钟和接收时钟以0.02ns匹配等长;④Tmargin=0.2ns。有了上述拓扑结构样板和约束规则就可以将SPECCTRAQUEST或ALLEGRO导入到CONSTRAINS MANAGER中。当这些设计约束规则设置好后,就可以利用自动布线器进行规则驱动自动布线或人工调线。

2 源同步时序关系及仿真实例

164b99f68a472786f134e55b30ad5296.jpg
所谓源同步就是指时钟选通信号CLK由驱动芯片伴随发送数据一起发送,它并不象公共时钟同步那样采用独立的时钟源。在源同步数据收发中,数据首先发向接收端,经稍短时间选通时钟再发向接收端用于采样锁存这批数据。其示意图如图2所示。源同步的时序分析较公共时钟同步较为简单,分析方法很类似,下面直接给出分析公式:

建立时间:Tvb_min+(Tflt_clk_min-Tflt_data_settle_delay_max)-Tsetup-Tmargin>0

保持时间:Tva_min+(Tflt_data_switch_delay min-Tflt_clk _max)-Thold-Tmargin>0

其中,Tvb为驱动端的建立时间,表示驱动端数据在时钟有效前多少时间有效;Tva为发送端的保持时间,表示驱动端数据在时钟有效后保持有效的时间;其他参量含义同前。下面以通信电路中很常见的TBI接口为例介绍源同步时序分析及仿真过程。TBI接口主要包括发送时钟和10bit的发送数据、两个接收时钟和10bit接收数据。RBC0、RBC1为两个接收时钟,在千兆以太网中,这两个时钟频率为62.5MHz,相差为180°,两个时钟的上升沿轮流用于锁存数据。根据数据手册的时序参数,代入上式可得:

2.5+Tflt_clk _min-Tflt_data__settle_delay_max -1-Tmargin>0

1.5+Tflt_data__switch_delay min-Tflt_clk _max -0.5-Tmargin>0

仿照前述分析方法:假设时钟、数据信号线的飞行时间严格相等,即时钟和数据完全匹配,然后分析它们不匹配带来的影响。上式变为

1.5-Tmargin>0

1-Tmargin>0

可见,无论是建立时间还是保持时间都有很大的余量。经过仿真,发现数据和时钟完全匹配等长(以0.02ns匹配为例),仍有0.3ns的差别,即

Tflt_clk_min-Tflt_data_settle_delay_max<0.3

Tflt_data_switch_delay min-Tflt_clk_max<0.3

取Tmargin=0.5ns得到时钟和数据的匹配为0.2ns,即数据和时钟的长度匹配不应超过0.2ns。

4.jpg
(a)无匹配电阻时钟线(125MHZ)(b)加源端串联匹配电阻

图3 仿真波形

在实际仿真中首先就时钟和数据的信号完整性进行分析仿真,通过适当的端接匹配得到较好的接收波形。图3是一组无源端匹配和有源端匹配时钟线的不同仿真波形比较,从中可以看出首先进行信号完整性仿真的必要性。

在公共时钟同步中,数据的发送和接收必须在一个时钟周期内完成。同时器件的延时和PCB走线的延迟也限制了公共时钟总线的最高理论工作频率。故公共时钟同步一般用于低于200MHz~300MHz的传输速率,高于这个速率的传输,一般应引入源同步技术。源同步技术工作在相对的时钟系统下,采用数据和时钟并行传输,传输速率主要由数据和时钟信号间的时差决定,这样可以使系统达到更高的传输速率。笔者通过对宽带以太网交换机主机和子卡板进行信号完整性分析、时序分析及其仿真,大大缩短了产品的设计周期,通过分析仿真有效地解决了高速设计中出现的信号完整性、时序等方面的问题,充分保证了设计的质量和设计速度,真正做到了PCB板的一次通过。主板和子卡板目前已经通过调试,并顺利转产。
返回列表