
做高速PCB设计,差分对是绕不开的坎。很多工程师刚接触时,总觉得差分对设置很玄乎,其实说白了就是两件事:约束规则和走线手法。今天不讲虚的,直接按我平时画板的习惯来捋一遍。
一、先搞清楚差分对是什么
差分对就是一对等长、等宽、间距恒定的信号线,一个走正信号,一个走负信号。好处是抗干扰强,EMI小,所以USB、HDMI、DDR这些高速接口基本都用它。
但要注意,差分对不是简单地把两根线并排走就完事。它要求两根线严格对称,长度差要控制在几十mil以内,间距也要恒定,否则阻抗不连续,信号反射就来了。
二、在Allegro里怎么设置差分对
我用的是Cadence Allegro,其他EDA工具思路也差不多。设置差分对分三步:
1. 定义差分对
打开约束管理器(Constraint Manager),在Physical选项下找到Net,把要组成差分对的两根网络选中,右键选择Create Differential Pair。命名的时候建议带后缀,比如USB_P和USB_N,方便后面区分。
2. 设置线宽和间距
差分对的阻抗通常有要求,比如90Ω或100Ω。这个要靠叠层和线宽间距来实现。一般先算好线宽和间距,然后在约束管理器里设置:
- 线宽(Line Width):根据阻抗计算值填,比如5mil。
- 间距(Gap):就是两根线中心到中心的距离,比如8mil。
- 差分对到其他网络的间距也要设,防止串扰。
这些值不是拍脑袋定的,要用SI9000之类的工具算,或者参考芯片手册的推荐值。
3. 设置等长规则
差分对要求两根线长度差尽量小,一般控制在5mil以内。在约束管理器的Relative Propagation Delay里,给差分对设置等长目标,比如以其中一根为基准,另一根的长度差设为0。
三、走线的实战技巧
设置好规则后,走线就轻松多了。Allegro里走差分对有专门的命令,叫Route Differential Pair,快捷键一般是RD。走的时候注意这几点:
1. 尽量走直线,少拐弯
差分对最忌讳绕来绕去,拐弯处容易产生阻抗突变。如果必须拐弯,用45度角,别用90度。拐角处两根线的长度差要补回来,所以拐弯后要检查等长。
2. 保持间距恒定
走线过程中,两根线的间距要一直保持设置的值,不要忽大忽小。Allegro在走差分对时会自动锁定间距,但如果你手动调整了其中一根,另一根不会自动跟,所以最好用推挤模式(Push)来走。
3. 等长绕线
如果两根线长度差超了,就需要绕线。Allegro有自动绕线功能,快捷键是Shift+R,但自动绕出来的线往往比较丑,而且可能引入额外的串扰。我习惯手动绕,用蛇形走线的方式,把长的那根绕短一点。
绕线的时候,注意绕线的间距要满足3W原则,就是绕线部分的间距至少是线宽的3倍,否则耦合太强,反而影响信号质量。
4. 过孔的处理
差分对换层时,过孔要成对打,而且尽量靠近,保持对称。过孔本身会带来阻抗不连续,所以过孔附近可以加一些地过孔来提供回流路径。
四、检查与优化
走完线后,别急着完事,先跑一遍DRC,看看有没有违反规则的地方。然后在约束管理器里查看差分对的等长报告,确认长度差在允许范围内。
如果发现等长超了,可以用绕线调整。如果阻抗不满足,可能需要改线宽或间距,这时候要回叠层里重新算。
最后,用仿真软件验证一下信号质量,比如看眼图。虽然仿真不是必须的,但高速板最好做一下,省得打样回来出问题。
五、常见坑点
最后说几个我踩过的坑:
- 差分对没设等长规则,结果两根线差了几十mil,信号质量差。
- 间距设得太小,生产时良率低,或者阻抗不对。
- 绕线绕得太密,导致串扰增大。
- 过孔位置不对称,回流路径不一致。
总之,差分对设置和走线,核心就是“对称”和“恒定”。只要抓住这两点,多画几块板,自然就熟练了。







