②数据线必须以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 源同步 时序 关系及仿真实例
所谓源同步就是指时钟选通信号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°,两个时钟的上升沿轮流用于锁存数据。根据数据手册的时序参数,代入上式可得:
仿照前述分析方法:假设时钟、数据信号线的飞行时间严格相等,即时钟和数据完全匹配,然后分析它们不匹配带来的影响。上式变为:
1.5-Tmargin>0
1-Tmargin>0
可见,无论是建立时间还是保持时间都有很大的余量。经过仿真,发现数据和时钟完全匹配等长(以0.02ns匹配为例),仍有0.3ns的差别,即,
取Tmargin=0.5ns得到时钟和数据的匹配为0.2ns,即数据和时钟的长度匹配不应超过0.2ns。
在实际仿真中首先就时钟和数据的信号完整性进行分析仿真,通过适当的端接匹配得到较好的接收波形。图3是一组无源端匹配和有源端匹配时钟线的不同仿真波形比较,从中可以看出首先进行信号完整性仿真的必要性。