1. 等长走线的目的
为了减少信号传输的相对延时,让信号的传输速度一致,等长绕线就是为了统筹信号的时序,等长设计的目的是等时。
2. 建立时间和保持时间
(1)建立时间
建立时间是指时钟前沿数据信号保持不变的时间。
(2)保持时间
保持时间是指时钟跳变后数据需要保持不变的时间。
建立时间和保持时间是芯片识别出信号需要的最小时间量。
信号的速率越高,数据的建立、保持时间窗越窄。时序逻辑要满足建立时间和保持时间的要求,并且保持一定的裕量。
补充:Tco(clock output delay):触发器的响应时间,即时钟上沿到来之后到触发器数据稳定输出(Q)之间的延时。
3. 等长绕线存在的一些问题
3.1 线间串扰
如下图所示,当信号到达 A 点时,因为左右两根走线平行,互相垂直的两根线之间就存在耦合,出现串扰,而串扰会影响信号的延迟。
这是一种近端串扰,串扰噪声的跳变方向与信号的方向相同,随着信号向上传输,B 点持续产生串扰噪声,当信号到达 B 点时,信号与串扰的噪声叠加,使得原信号的上升沿各点电位不同程度的被抬高,从时间轴来看,信号似乎提前达到了 B 点,如下图所示:
蛇形走线的内部产生噪声,反过来叠加到原信号之上。如果绕线没有处理好,就会使得绕线的适得其反。
3.2 信号不同层之间走线
如下图所示的走线,虽然两根信号线长度是一样的,但是一根是在同层走线,而另一根则通过过孔进行了换层。
这里就存在几个问题:
(1)经过了过孔,两根线长度已经不一样了,这个过孔的长度需要计算;
(2)过孔成容性,对延时存在影响;
(3)表层和内层传输速度的差异,因为表层和内层的介电常数不一样,造成型号的传输速度不一样(空气中更低,传输速度更快)。
3.3 信号线的阻抗
不同走线之间的阻抗不一致也会导致延时不一样的问题,如下图的走线,一些 BGA 芯片在出线端与走线端因为空间的关系,常会在出线端线细一些,等到出线完毕了再恢复到正常,如下图:
如果各个走线之间的阻抗差别比较大,那么也会导致信号之间时序的不一致。
实际设计中往往不止这些因素会影响信号的延迟,电源噪声,串扰,阻抗都可能对信号的传输造成干扰,越来越快的信号,时间裕量也越来越小,如果设计的不好,就可能使系统的稳定性受到影响。
4. 等长绕参数设置
如下图所示,主要的参数是 gap 和 H。
走线之间的串扰造成了信号的加速,为了避免对应的问题,就要控制信号之间的串扰。
信号之间的间距越大,串扰越小;耦合长度越小,串扰越小。只要最大限度的能够减少这种串扰,那么就不会对信号的延迟造成太大的影响。
如下图所示,当 gap 为不同时,信号传输的延迟对比。
从左往右,gap 依次等于 1W,2W,3W(H 不变),可以看出,线间的间距越大,信号的延迟越发接近直线走线(虚线为直线走线)。
上图为 gap 不变,然后改变 H 的情况,可知,H 越小,延迟越接近直线走线。
从这两个参数的控制,在蛇形走线时,尽量大的 gap 和尽量小的 H 都能达到比较理想的延迟效果。所以,在 PCB 空间允许的情况下,下面的走线时候比较理想的:
如上图,蛇形线的两侧不是平行的,同时 H 比较小,这样就减小了线间的串扰。绕等长的时候,除了长度,绕线部分的串扰控制时很关键的。
5. 总结
高速的并行信号,差分信号,等长时必要的,但是对于 ±100mil、±50mil、±5mil 等等长误差要求,需结合具体的应用分析,总的来说,等长之间的误差越小,信号之间的延迟是比较统一的,而实际应用中 PCB 的空间,成本等也是设计必须考虑的问题。总的来说,完成一个好的设计是一个系统工程,应该多方面协调、规划、处理,而不应该局限于某个点。