4. 长度匹配原理:为什么需要等长?
这个问题,说白了就是一句话:信号在PCB上跑,需要时间。
你想想看,一组并行总线,8条数据线,1条时钟线。如果它们长度不一样,到达接收端的时刻就会有先后。时钟采样的是“同时刻”的数据,如果数据到早了,或者到晚了,采样点就对不准。
我刚开始接触高速设计那会儿,也犯过嘀咕:“不就差那么几毫米嘛,能有多大影响?”结果项目调试时,DDR跑在400MHz就频繁报错。查了一天,最后发现是DQS和DQ的等长没做好,差了快200mil。
4.1 时钟歪斜与建立/保持时间
为什么等长这么关键?核心原因有两个:建立时间和保持时间。
接收端芯片要求在时钟沿到来之前,数据必须稳定一段时间,这叫建立时间(tSU)。时钟沿过去之后,数据还要稳定一段时间,这叫保持时间(tH)。
如果某条数据线比时钟线长太多,数据到得晚,时钟采到的可能是上一个周期的数据——建立时间违例。
反过来,如果某条数据线比时钟线短太多,时钟刚采完,新数据就冲过来了——保持时间违例。
其中 tflight 就是走线延迟。走线越长,tflight越大,裕量越小。
我之前做过一个项目,用了一款FPGA,手册上写的tSU只有100ps。但是PCB上有一组信号的等长没控制好,长度差了800mil。换算下来,延迟差了约130ps。建立时间直接吃光,还倒欠30ps。那板子跑起来就是间歇性死机,用示波器看眼图,采样点乱成一团。
4.2 影响时延的三个物理因素
走线时延不仅取决于长度,还跟PCB的叠层材料有关。我个人习惯把它拆成三个部分:
- 介质介电常数(Dk):板材的Dk越高,信号在内部的传播速度越慢。FR4的Dk一般在4.2到4.5之间,而罗杰斯高频板材可以低到3.0。
- 走线几何长度:这个最直观。总长度越长,时延越大。每1英寸的FR4走线,延迟大约在160ps到180ps之间。
- 走线拓扑结构:T型分支、桩线都会增加额外的反射路径,等效拉长电气延迟。
| 板材类型 | Dk(典型) | 延迟(ps/inch) | 适用场景 |
|---|---|---|---|
| 普通FR4 | 4.5 | ~180 | 低速、消费电子 |
| 低损耗FR4 | 4.0 | ~170 | DDR4、千兆以太网 |
| Rogers 4350B | 3.48 | ~158 | 射频、高速SerDes |
| Megtron 6 | 3.6 | ~160 | 25Gbps+ 高速背板 |
4.3 等长设计到底在等什么?
很多人以为等长就是把所有信号画得一样长。其实不是。真正等的是时序关系。
不同类型的信号,对等长的要求也不同:
- 时钟与数据:时钟线必须在所有数据线的中间长度,不能太长也不能太短。通常约束是正负25mil以内。
- 数据与数据:并行数据组内部,互相之间的长度差必须严格控制。DDR3/DDR4通常要求组内误差在±20mil。
- 差分对内:正负两条线必须等长。差分对内的等长误差,通常是±5mil以内,甚至更严。
- 跨组信号:不同数据组的走线,可以允许更大的长度差,只要不影响片内的时序校正。
嗯,这里要注意:等长不是目的,保证时序裕量才是。我曾经在一个项目中,DDR3的地址控制信号,长度虽然做到了±50mil以内,但时钟线一直放在最长的那一根。后来发现,部分信号的建立时间还是有点紧张。调整了一下,把时钟放在中间长度,所有时序都变好了。
4.4 不等长带来的典型问题
不等长会引发一系列信号完整性问题,我总结了几种常见现象:
- 误码率升高:数据被时钟在错误的窗口采样,错误率从10⁻¹²直接跳到10⁻⁶。
- 眼图塌陷:眼图闭合度变差,眼睛的高度和宽度同时受损。
- 系统不稳定:有些板子低温下能跑,高温下就崩。温度变了,板材Dk微变,走线延迟跟着变,本来就紧的时序直接突破底线。
- 调试周期延长:我见过一个团队,为了规避不等长的问题,把DDR频率降了20%。后来发现,等长改好后,频率能直接拉到标称值的110%。
4.5 等长设计的内在逻辑
讲了这么多,我们把核心逻辑梳理一下。为了便于理解,我用一张图来展示等长设计的因果关系。
这张图把等长设计的逻辑串了一遍:正因为有建立/保持时间的物理限制,加上板材Dk和走线长度不可忽略的时延,所以必须用长度匹配来保证时序裕量。如果不做等长,时序违例、眼图闭合、系统不稳定就会找上门。最后,蛇形线、时钟居中、组内约束这些具体方法,就是用来解决这个问题的。
4.6 总结几个速查要点
最后,我把自己平时做等长设计时的几个习惯分享给你:
- 先看手册:芯片手册里会写明等长要求。DDR4一般是±20mil,有些MIPI屏要求±10mil。照着做,别自己乱猜。
- 控制时钟走线:时钟线不要比所有数据线长,也不要比所有数据线短。我习惯把时钟放在数据线的长度中间范围。
- 差分对内优先:差分对内部的正负线,长度差必须做到最小。哪怕其他组放松点,差分对也要死守。
- 仿真验证:6层以上板、速率超过1Gbps的,一定要用仿真工具算一遍时序。不要只靠经验,经验也会翻车。