news 2026/3/26 0:32:56

PCB设计十大神则之一-等长

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PCB设计十大神则之一-等长

为什么我们这么喜欢等长?打开PCB设计文件,如果没有看到精心设计的等长线,大家心中第一反应应该是鄙视,居然连等长都没做。也有过在赛格买主板或者显卡的经验,拿起板子先看看电容的设计,然后再看看绕线,如果没有绕线或者绕线设计不美观,直接就Pass换另一个牌子。或许在我们的心中,等长做的好,是优秀PCB设计的一个体现。

稍微复杂一点的高速板子,绕等长要占据总设计时间的20%~30%。如果等长规则更严格,或者流程控制不好,做了等长之后再反复修改,这个时间还会更多。

说到等长要求,先说说什么是“裕量”哈。“裕量”是设计时保留的安全间距,百度百科的解释更简单:多出来一部分,就称之为裕量。到底要多多少,什么才是安全,那就见仁见智了。每个人的安全感不同,对“裕量”的定义就不一样。但是在时序设计的时候,有一个现象比较普遍,那就是裕量层层放大,比如产品经理可能要求等长范围是±100mil,项目经理可能就会更严格到±50mil,然后到具体的实施工程师,可能就变成±5mil了。碰到一些“安全感”不足的工程师,那就恨不得是完全等长,没有偏差。

数字电路中,信息的正确读取往往依赖于信号之间的时序关系。如果一条数据线的传播时间比与其配对的时钟线长得多,当时钟沿到达时,数据可能尚未有效建立,这便造成了建立时间违例;反之,如果数据线太短,旧数据可能保持过久,影响下一个周期的读取,产生保持时间违例。这两种情况都会引发数据捕获错误。信号的传播延迟与走线的物理长度直接相关,也与走线所处的介质材料及其介电常数有关。通过强制这组信号的走线长度在一个非常接近的范围内,设计者旨在最小化因路径不同而引入的时序偏差,为所有信号创造一个相对公平的“起跑线”,确保它们在复杂的数字舞步中能够精准合拍。

并非所有走线都需要等长,也并非所有等长要求都同样严苛。等长的必要性完全取决于信号的工作模式和速率。对于典型的异步信号或低速控制线,长度差异通常无关紧要。但对于同步并行总线,尤其是源同步系统,等长变得至关重要。在DDR SDRAM接口设计中,等长规则极其复杂且严格:同一字节通道内的所有数据线需要等长;数据信号与对应的数据选通信号之间需要等长;而地址命令控制信号组内部也需要等长,但它们与数据组之间的长度要求可能不同。对于PCI Express、SATA等高速串行差分信号,等长要求则主要体现在差分对内部的两条单端线之间,这是为了保持差分信号的完整性,避免共模噪声。此外,随着信号速率进入更高领域,仅关注总长度相等可能还不够,还需考虑因过孔、测试点、连接器引入的额外延迟差异,此时“等时”的概念比单纯的“等长”更为精确,需要借助仿真工具来验证。

关于等长(主要在DDR内存中)与等时

相对等长,动态等长,静态等长https://www.cnblogs.com/Snowden/p/15765482.html

1.Total Etch Length:总的走线长度,是用来约束一根线或者一组线总的最大最小长度。

2.Min/Max Propagation Delays:最大最小传播延时,其实跟Total Etch Length一个意思,因为延时也能通过长度来衡量,只不过这项多了一个pin delay。

3.Relative Propagation Delay:相对传输延迟,

这项是我们平常用的最多的一项等长规则,首先这项约束针对的是一组线,

以某一根线为基准,其他走线长度和基准的差别必须在一个范围内

4.Differential Pair:差分对,用来约束差分对内等长,

差分对内等长要求总结如下:
1.差分对内整体控制等长<=5mil;
2.如果有换层,每一层的走线差分对内控制等长<=5mil(考虑不同层传输延时的差别);
3.大于5G的高速串行总线,考虑实时等长,也就是当走线的偏差大于25mil的时候,必须在600mil以内进行补偿,可以反向拐角来补偿,也可以按照3W规则小波浪绕线补偿;
4.Break out区域,偏差可以放大到30mil,不等长的范围可以增加到800mil,如果换层,每层走线之间的不等长偏差也从<=5mil加大到<=10mil。
第1点、可以直接通过Static Phase来进行约束,实际上我们平常所处理的差分对内等长设的都是静态规则,只要保证整体等长即可。至于是绕大波浪还是小波浪,在哪儿绕波浪,这些都还是有讲究的,有些同学处理等长的时候虽然满足了静态规则的要求,但是提交上来的等长依然不合格,大多都是波浪没处理好的原因,由于篇幅关系我们后面再来介绍。

相对等长,动态等长,静态等长 - 这人很有趣 - 博客园https://www.cnblogs.com/Snowden/p/15765482.html

列举下自己做过的,或者认可的等长设计要求,之前的部分答复如下:

1、 等长从来都不是目的,系统要求的是等时……

2、 除了差分对内的等时是为了相位之外,绝大多数的等时都是为了时序!

3、 为了时序而绕线,就一定要搞通时序关系,看懂时序图
把时序问题简单讲清楚,是一个巨大的挑战,高速先生的精神就是迎难而上,前仆后继。我的目标是不给大家看复杂的时序图,也不引用什么比喻联想,让大家简单理解时序。

共同时钟总线的时序特点是,时钟的上一个边沿,发送芯片打出数据,然后在下个时钟边沿,接收芯片接收数据。为了简化后面的理解,假定时钟达到驱动端和接收端的时间一致,也就是时钟线等长(这也是最常规的设计思路)。

影响时序的因素有Tco,Tskew,Tjitter,Tcrosstalk……,看起来很复杂,简单来说,只要满足两个条件,即可达成时序要求:

1、 一个时钟周期之内,数据要完成从驱动端发出,到达接收端,并有足够的建立时间

2、 第二个数据来到之前,前一个数据要有足够的保持时间

满足条件1,就要求Tclk能包容数据到达所需的是所有时间,这些时间包括了数据输出延时(Tco),数据飞行时间(Tflighttime),数据保持时间要求(Tsu),以及所有七七八八影响时序的因素(Tcrosstalk,Tjitter……),并且所有这些因素都要取最恶劣情况。

TPCB skew+Tclock skew +Tjitter +Tco data +Tflt data +Tsetup<Tcycle

满足条件2,就是下个数据最快会在最小数据输出延时(Tco min)加上最小数据飞行时间(Tflighttime min)之后达到,数据必须在下个数据达到之前有足够的保持时间。


Tco data +Tflt data +Tclock skew+Tpcb skew>Thold

真正设计的时候,我们需要从器件手册查找相应的数据来进行时序计算。从理解角度来说,却不用那么复杂。

<p style="text-align: center;>
0.3ns<Tfly time<0.7ns

上图是一个实际案例计算后的结果,我们从中只要看懂两个事情:

一、共同时钟总线时序关系随着TClk的减小,难度急剧加大。33M、66M的共同时钟总线,适度关注拓扑结构和端接来保证信号质量就够了,不需要任何绕线。100M以上的共同时钟总线时序开始变得紧张,133M以上的系统,建议一定要做时序分析,否则风险很大。

二、共同时钟总线时序是对总长的要求,不是等长,借用Cadence Allegro的规则管理器来解释,共同时钟总线最合适的电子规则是Total Etch Length,而不是我们常用的各种Propagation Delay。

注:100M或者133M以上的时候,由于时序非常紧张,有可能通过控制外部时钟Skew(布线或者调整寄存器)的方式来调节时序,这时对以上不等式两边进行调整的过程中会涉及到总长的差异问题。但是也还是用Total Etch Length的规则来约束设计,而不是Propagation Delay

1、共同时钟总线时序关系随着速率增加,时钟周期减小,设计难度增加

2、共同时钟总线时序是对总长的要求,一般情况下可以理解为尽量走短;没有等长要求。

3、如果因为时序调整的原因,需要绕线的时候,尽量保证长线不要绕的更长

4、100M以上的共同时钟总线,建议进行时序计算,避免风险

源同步总线时序

上一篇《PCB设计十大误区-绕不完的等长(二)》文章不知道大家有没有看晕了,讲时序确实是吃力不讨好哈。看看上一篇文章大家的回复:

@南昌米粉-萝卜妈:最大还是受限于Tco,一般2点几个ns,速率越高时序越难满足,所以共同时钟就升级为源同步,信号时钟从同一个芯片发出。

@绝对零度:主要因素是时钟的串扰,数据的Tco难以减小。解决方法就是使用源同步时钟系统,和差分时钟。典型应用就是DDR。

@山水江南:共同时钟总线的数据时长与时钟时长不匹配,还受时序偏差最大的通道影响,如:时钟偏差、数据偏差、Jitter、串扰等。使用源同步时钟,让时钟和每Bit数据一起发送,消除时钟和数据的偏差。

@Erick:随着频率的提高,共同时钟的限制因数有如下:时钟到达两个芯片的clock skew,数据中各个data的skew,以及clock和data之间的skew越来越难控制. 采用源同步时钟,可以有效解决clock skew,而且clock 和data采用组内差分走相同路径也可以解决clock和data之间skew. 但是源同步受限与clock频率的提高来提升带宽,这样就要讲讲内嵌时钟的大serdes了。

上期问题:影响共同时钟总线速率提升最关键的因素有哪些?行业是怎么解决这个问题的?(提示:内同步时钟和源同步时钟)

重点的:

1.影响共同时钟时序很重要的一个因素是较大的Tco,当然飞行时间也是一个问题。

2.由于芯片工艺因素以及适当的保持时间需求,Tco不能太小,通常都在3ns以上,甚至有的Tco max达到5.4ns,这时候如果时钟速率在133M以上,一个时钟周期的时间基本被Tco吃掉了。

3.综上因素,共同时钟总线速率很难提升到200M以上,其实行业公认共同时钟总线速率在133M以上的时候设计难度已经非常大了。

Tco是影响共同时钟总线速率的重要因素,那么有什么办法可以解决这个问题呢?

工程师的创新力是无穷的,解决办法也非常简单,不再用外部时钟来同步数据了,而是时钟和数据一起往前走。你数据发出有Tco延时,我时钟发出照样有Tco延时,于是两个Tco就抵消了。晕了?我们看图说话,如下图所示:

1.CLK触发之后,经过一个相同的Tco延时,数据和Strobe信号一起发出

2.数据和Strobe信号经过同样的Flight Time,达到接收端

3.接收端根据Strobe信号来对数据进行采样,需要满足建立保持时间

这样的方式就是源同步时序总线,由于Strobe和Data一起出发,一起行动,解决了时钟触发的延时(Tco)问题,也一起克服路上遇到的艰难险阻(T Flight Time)。这个方式是不是很像生活中理想的夫妻模式呢?

这种情况下,走线的长短已经不是问题了,反正我们步调一致。对了,关键就是步调一致,反映到走线,就是尽量等长。再次借用Cadence Allegro的规则管理器来解释,源同步时钟总线最合适的电子规则就是我们常用的Propagation Delay啦。

如果我们把源同步时钟总线比喻成夫妻生活,步调一致,一起克服困难;那么返回头看看共同时钟总线,是不是可以理解为恋爱时候的关系呢,虽然男女之间的目的是一致的,都是到达接收端(结婚),然后有一定的裕量(生活)。但是由于没有达成信任与默契,需要更多的外部条件来协调。然后女生对男生说,不管你有多好,基本条件(房子车子)是要满足的,这就是Total Etch Length的要求,你必须满足一个最大最小的范围条件。

DDR3/DDR4时序关系概述

DDR是典型的源同步时序,我们就以DDR3为例,详细说明下DDR设计需要满足的时序关系。

上文说到,源同步时钟的目标就是Strobe和Data一起到达,然后满足到达之后的建立保持时间关系。按照这个目标,只要Strobe和Data等长设计,好像DDR的速率提升就不是什么问题了。不去说什么能不能跑到10Gbps或者更高速率,至少在DDR3的1600Mbps不会有什么困难。总共一两百皮秒的建立保持时间需求,就算加上derating的数据,对于1.25ns的Tck来说,好像都不会有任何问题。

但是下面这张表格告诉我们,源同步时序系统速率提升之后,除了Tck变小会让时序裕量变小之外,还有更多其他因素会影响时序。

码间干扰(ISI),数据线之间的串扰(Crosstalk),还有同步开关噪声(SSN)等,都会吃掉大量的时序裕量。

所以在设计中,我们要遵循下面的分组等长原则(DDR3的DQS和CLK不需要用绕线等长的方式来控制时序,而是通过芯片内部的读写平衡功能,我们在DDR3系列文章中已经多次提出来了)

PCB设计十大误区-绕不完的等长_pcb 布线等长 弯度怎么算-CSDN博客

下面是PCB设计时的等长要求:

在实际的PCB布局布线中,满足等长要求是一场与空间、层叠和干扰约束的博弈。设计师通常在完成关键元器件放置和大致布线规划后,才会着手精细的长度匹配。这个过程往往需要通过添加蛇形线来实现——即有意将较短的走线绕成蜿蜒曲折的形状,以增加其电气长度,从而与同组内较长的走线对齐。蛇形线的走法大有讲究:它的振幅、间距需要被精心控制,过紧的耦合可能引入不必要的串扰,不规则的形状可能影响阻抗连续性。现代专业的电子设计自动化工具提供了强大的等长布线功能,能够实时显示走线长度,并允许设计者设定目标长度和公差范围,自动或半自动地协助完成蛇形线的添加。但工具并非万能,设计师的经验判断依然不可或缺,例如需要优先保证关键信号的最短路径,在哪些区域适合进行长度补偿,以及如何避免在匹配长度时破坏电源完整性和电磁兼容性。

为了满足某一组所有信号线的总长度满足在一个公差范围内,通常要使用蛇形走线将总长度较短的信号线绕到与组内最长的信号线长度公差范围内,这个用蛇形走线绕长信号线的处理过程,就是我们俗称的 PCB 信号等长处理。等长的目标是为了满足同组信号的时序匹配要求。

绕等长是高速PCB设计中的一个常见操作,但是很多工程师并不清楚为什么要绕等长?也不清楚到底哪些信号需要绕等长?

目的:

在传输线基础知识一文中,我们提到传输线是存在延时的;所以如果传输线不等长,那么信号在PCB上的延时也将不同。

如果两根信号有时序要求(如:CLK和DATA),那么由传输线不等长引入的时差就有可能导致时序错误,从而造成通讯或传输的数据错误。

因此绕等长的目的就是:为了减小信号的传输时差(或者说为了信号等时)。

时序要求

现在我们知道绕等长就是为了满足时序要求,那么哪些信号有时序要求呢?

我们先了解下信号传输的4种基本方式:

  1. 异步(内时钟同步)传输:两个IC或设备以各自的时钟为参考时钟,通过计时机制或握手机制进行数据传输的一种通信方式。
  2. 共同时钟(外时钟)同步传输:两个IC使用同一个外部时钟作为参考时钟进行数据传输的一种通信方式。
  3. 源同步传输:发送端同时发送时钟和数据信号,接收端根据发送端提供的时钟提取出数据的一种通信方式。
  4. 时钟数据恢复方式:发送端只发送数据,接收端从数据信号中同时提取数据与时钟的一种通信方式。

异步传输方式的信号对时序无要求,所以也就不存在绕等长的要求。

共同时钟同步传输方式的信号传输速率一般都较低(300Mbps以下),对时序的要求不严苛,一般情况下不需要等长绕线;如果信号传输速率大于100Mbps或者PCB空间不紧张的情况下,也可以做绕等长处理,但是需要注意绕线长度不要太长。

源同步传输方式的时钟和数据是同时从发送端传输到接收端,对信号时序的要求最高,如果时钟和数据存在时差,就会导致采样点发生偏移,严重时数据提取错误。

时钟数据恢复方式传输的信号时钟和数据是共同传输的,不存在传输时差。

我们就只要了解哪些信号的传输方式是源同步传输即可。

需要绕等长的信号

DDR

首先可以想到的就是DDR信号(DDR是最常见的源同步传输方式的信号之一),DDR中所有的控制线和地址线都是在CK上升沿与CK#下降沿的交叉处被采样;而数据线与其对应的DQS、DQS#(数据选通)信号同步。

DQS、DQS#为数据选通(锁存)信号,双沿有效,写数据时输入,信号沿与数据中心对齐;读数据时输出,信号沿与数据边沿对齐。

以16bit DDR为例,其一共可以分为三组来做等长处理:

第一组:CLK/CLK#、地址线与所有的控制线

第二组:D0~D7、DQS0、DQM0

第三组:D8~D15、DQS1、DQM1

eMMC & SDIO

其次就是eMMC总线和SDIO总线,在这两种总线中,DATA信号和CMD信号都是与CLK同步。

所以eMMC总线和SDIO总线中DATA信号、CMD信号和CLK信号需要一起做等长处理,支持HS400的eMMC总线还有DATA Strobe信号,也需要和数据线做等长。

媒体独立接口(MII)

MII是媒体访问控制(MAC)子层和物理层(PHY)之间的接口,从媒体独立接口(Media Independent Interface)一文中我们可知,MII总线一般分为两部分(Tx和Rx),TX数据线与TXCLK信号保持同步;RX数据线与RXCLK信号保持同步。

所以MII总线的等长处理可以分为两组:

第一组:TXD[0:3]、TX_CLK

第二组:RXD[0:3]、RX_CLK

同理,RMII、GMII、RGMII、XGMII都需要分成两组做等长处理。

HDMI

在HDMI 2.1之前,HDMI有三对差分数据线和一对CLK信号,但是这组CLK信号只是作为参考信号,在接收端倍频用于数据信号的采样,传输时并不与数据信号同步。

所以在HDMI2.1之前,只要保证三对数据线绕等长即可(实际根据HDMI协议规定,HDMI 2.0的对间Skew可以允许最大2000mil,就算不绕等长也基本不会有问题)。

而对于HDMI 2.1,由于其采用了时钟数据恢复技术,不会存在时差,所以可以不用绕等长。

不需要绕等长的信号

根据上面的描述,我们也可以总结出不需要绕等长的信号有:

  1. UART(低速信号线,异步传输方式)
  2. SPI(低速信号线)
  3. I2C(低速信号线)
  4. Nand Flash并行总线(低速信号线)
  5. XAUI(高速信号总线,时钟数据恢复技术)
  6. USB(高速信号总线,时钟数据恢复技术)
  7. PCIE(高速信号总线,时钟数据恢复技术)
  8. HDMI 2.1(高速信号总线,时钟数据恢复技术)
  9. SATA(高速信号总线,时钟数据恢复技术)
  10. MDI接口(网口)(高速信号总线,时钟数据恢复技术)

高速PCB设计Allegro等长设置终极指南-凡亿PCB

PCB设计中常见的走线等长要求 - 知乎

等长调节 | 嘉立创EDA专业版用户指南

Allegro-设置差分对-走线/等长规则_allegro差分对组间等长-CSDN博客

走线等长是连接理想电路原理图与稳定现实硬件产品的一座关键桥梁。它超越了简单的连接性任务,深入到对信号在时间维度行为的深刻理解。一个优秀的PCB设计工程师,不仅会机械地遵循规则中给定的长度公差数值,更会探究其背后的时序预算来源,理解特定接口协议的物理层规范,并能根据实际的板级情况做出合理权衡。在日益追求高性能与高可靠性的电子设备中,对走线等长的精确掌控,正如同一位指挥家对乐团各声部的精准协调,虽不总是处于聚光灯下,却是最终呈现和谐完美乐章不可或缺的基石。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/18 2:05:52

3分钟搞定!FlashAI通义千问大模型本地部署完整指南

3分钟搞定&#xff01;FlashAI通义千问大模型本地部署完整指南 【免费下载链接】通义千问 FlashAI一键本地部署通义千问大模型整合包 项目地址: https://ai.gitcode.com/FlashAI/qwen 还在为复杂的AI模型安装而头疼吗&#xff1f;FlashAI通义千问大模型整合包让你零基础…

作者头像 李华
网站建设 2026/3/14 7:16:25

NIST SP800-53中文翻译:信息安全从业者的终极参考指南

NIST SP800-53中文翻译&#xff1a;信息安全从业者的终极参考指南 【免费下载链接】NISTSP800-53翻译稿 本开源项目提供了NIST SP800-53早期版本的中文翻译稿&#xff0c;致力于为信息安全领域的研究者和技术人员提供权威参考。翻译内容详尽准确&#xff0c;帮助用户深入理解信…

作者头像 李华
网站建设 2026/3/20 11:18:05

突破想象边界:新一代跨平台文本转图像生成引擎

突破想象边界&#xff1a;新一代跨平台文本转图像生成引擎 【免费下载链接】Stable-Diffusion-NCNN Stable Diffusion in NCNN with c, supported txt2img and img2img 项目地址: https://gitcode.com/gh_mirrors/st/Stable-Diffusion-NCNN 你是否曾经梦想过&#xff0c…

作者头像 李华
网站建设 2026/3/17 10:58:16

IEC104 协议 | 帧格式 / 调试(篇 3)

注&#xff1a;本文为 “ IEC104 协议” 相关合辑。 未整理去重&#xff0c;如有内容异常请看原文。 图片清晰度限于引文原状。 电力 101/104 规约中遥测量类型转换 milletluo 于 2017-04-11 20:17:31 发布 引言 DL/T 634.5101-2002 与 DL/T 634.5104-2009 标准规定遥测量可…

作者头像 李华
网站建设 2026/3/13 0:17:12

Spring AI与MCP集成实践:构建智能应用的新方式

Spring AI与MCP集成实践&#xff1a;构建智能应用的新方式 引言 在当今人工智能快速发展的时代&#xff0c;如何将AI能力无缝集成到现有应用中成为了开发者面临的重要挑战。Spring AI作为Spring生态系统中的AI集成框架&#xff0c;结合MCP&#xff08;Model Context Protocol&a…

作者头像 李华
网站建设 2026/3/12 23:22:13

DETR模型优化终极指南:3大剪枝策略快速提升推理性能

DETR模型优化终极指南&#xff1a;3大剪枝策略快速提升推理性能 【免费下载链接】detr End-to-End Object Detection with Transformers 项目地址: https://gitcode.com/gh_mirrors/de/detr 你是否正在为DETR模型在边缘设备上的部署而苦恼&#xff1f;庞大的参数量、缓慢…

作者头像 李华