高速PCB设计中的时序分析及仿真策略
为了正确无误地接收数据,必须综合考虑数据的建立时间和保持时间,即同时满足(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中。当这些设计约束规则设置好后,就可以利用自动布线器进行规则驱动自动布线或人工调线。
图3 仿真波形
2 源同步时序关系及仿真实例
所谓源同步就是指时钟选通信号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为发送端的保持时间,表示驱动端数据在时钟有效后保持有效的时间;其他参量含义同前。下面以通
《高速PCB设计中的时序分析及仿真策略(第3页)》