Altium Designer SerDes通道布局:一场与电磁波的精密共舞
你有没有经历过这样的场景:FPGA的GTY收发器在仿真里眼图饱满、抖动干净,可一上板实测,28 Gbps链路眼高直接腰斩,误码率飙到1e-6?示波器上看到的不是清晰的“1”和“0”,而是一团模糊跳动的噪声——而芯片本身,压根没出问题。
这并非个例。在我们参与的近40个高速板级项目中,超过三分之二的SerDes链路调试卡点,最终都指向PCB层面一个被低估的事实:信号不是在走线上传播,而是在由铜箔、介质、参考平面、过孔和焊盘共同构成的三维电磁腔体中震荡前行。它对几何尺寸的敏感度,远超工程师用尺子量出来的“长度”;它对材料参数的依赖,也远不止数据手册里那行“εr= 4.3”的标称值。
Altium Designer早已不是那个只管“连通性”的布线工具。从22.x版本开始,它的Layer Stack Manager能建模铜箔粗糙度对高频衰减的影响,它的差分规则引擎能实时计算一段蛇形线在14 GHz下的相位偏移,它的DRC检查甚至能告诉你某个过孔stub在S参数S11曲线上会砸出多深的一个谷点。这不是功能堆砌,而是把SI/PI这些曾属于SI工程师专属领域的抽象概念,翻译成了PCB设计师指尖可调、界面可见、规则可验的操作语言。
下面,我们就抛开教科书式的定义,以真实项目中的“痛”为线索,一层层拆解SerDes通道在Altium里究竟该怎么“养”。
差分对布线:别再只盯着“等长”了,你的信号在相位上打架
很多工程师第一次配置SerDes约束时,会本能地把“Length Matching”设成±5 mil,然后松一口气——“P/N线一样长,应该没问题了”。但很快就会发现,眼图底部的抖动(Tj)依然超标,或者接收端均衡器(CTLE)怎么调都打不开眼。
问题出在哪?在于你只给了信号一个“出发时间相同”的承诺,却没管它们在路上是否“步调一致”。
想象两条并肩奔跑的运动员:他们起跑线对齐(等长),但如果一人跑柏油路、一人跑沙地,即使距离相同,抵达终点的时间也会错开。PCB上的P/N线正是如此——当一条线绕了个急弯,另一条走直线;一条紧贴电源铜皮,另一条悬在空旷区域;甚至只是因为叠层中某一层PP介质厚度有微小波动……这些都会导致它们的有效介电常数(εeff)不同,进而让信号的传播速度(vp= c / √εeff)产生差异。结果就是:几何长度一致 ≠ 电气长度一致 ≠ 相位一致。
Altium Designer的破局点,是把“Phase Matching”从后仿环节前置到布线环节。它不满足于“算出长度差再补蛇形线”,而是基于你定义的叠层模型,实时计算每一段走线在目标频率(比如28 Gbps NRZ对应的14 GHz基频)下的相位延迟(θ = 2πf × td),并在交互式布线(Interactive Routing)和长度调谐(Interact