长度调谐
概览
- 了解 Altium Designer 如何根据您配置的长度和匹配长度约束,确定目标长度及有效的长度调整范围。
- 了解不同长度调整样式的适用场景,以及如何在交互式长度调整过程中选择样式并调整其属性。
- 理解工具如何处理差分对、以最长网络为目标的长度匹配以及重叠约束,让长度调整过程更加顺畅、结果更加可控。
高速设计布线的两项核心挑战是:控制走线阻抗,以及匹配关键网络的长度。
-
阻抗控制布线 有助于确保从输出引脚发出的信号以良好的状态到达目标输入引脚,并被正确接收。了解有关阻抗控制布线的更多信息。
-
调整走线长度使其相互匹配,可确保时序关键信号同时到达各自的目标引脚。对于差分对布线,长度调整和匹配同样至关重要,尤其是差分对内部两条走线之间的长度匹配。
Interactive Length Tuning 和 Interactive Diff Pair Length Tuning 命令提供了一种动态优化和控制网络或差分对长度的方法,可根据设计中的可用空间、设计约束和障碍物插入幅度可变的调长图案。 长度调整属性可基于预先配置的设计约束、网络属性或您指定的值。
提供三种调长图案样式:手风琴形、长号形和锯齿形。
提供三种调长图案样式,启动交互式长度调整命令后,按 Tab 可选择图案。
配置设计约束
确保关键走线长度匹配的最佳方法是定义设计约束。 长度调整过程中会应用两种设计约束:Matched Lengths 约束和 Length 约束。虽然 Constraint Manager 和 PCB Rules and Constraint Editor 配置这些约束的方法不同,但底层约束是相同的。本页使用 PCB Rules and Constraint Editor介绍操作流程,同时提供补充信息,以便使用 Constraint Manager 的用户参考。
在 PCB 规则与约束编辑器中,Matched Lengths 约束和 Length 约束均可在 High Speed 类别中访问。这两种约束中的任一种或两种都可能对您的设计非常重要,具体取决于潜在问题是与时序偏斜有关(使用长度匹配约束),还是与整体信号延迟有关(使用长度约束)。
Properties 面板显示适用于正在调长的网络的所有设计约束,并选中和高亮显示其中优先级最高的适用约束。
长度匹配设计约束
长度匹配设计约束规定,所有目标网络的布线长度必须与该组中最长网络的长度一致,或者与 Source target 一致(如果约束中提供并选中了该选项)。执行交互式长度匹配时,网络长度将被调整到指定的容差范围内(
)。约束所作用的网络集合由 constraint scope 或查询定义。
长度调整工具会使用所选的 Source target,或查找目标网络集合中最长的网络,并给出有效范围和 Target 长度,具体如下:
-
TargetLength = Longest routed net in set -
MinLimit = LongestNet - MatchedLength Constraint Tolerance -
MaxLimit = TargetLength
了解有关长度匹配约束的更多信息。
长度设计约束
作为网络长度匹配约束的补充,长度设计约束规定了一个网络或一组网络允许的最小和最大布线长度。目标网络的长度必须在指定的 Minimum 和 Maximum 长度之间(
)。
长度调整工具将查找目标网络集合中最长的网络,并给出有效范围和 Target 长度,具体如下:
-
TargetLength = Longest routed net in set -
MinLimit = Constraint Minimum -
MaxLimit = Constraint Maximum
了解有关长度约束的更多信息。
如何处理重叠约束
这两种约束中的任一种或两种都可能对您的设计非常重要,具体取决于潜在问题是与时序偏斜有关(网络长度匹配约束),还是与整体信号延迟有关(长度约束)。
如果同时应用这两种约束,长度调整工具会综合考虑两者,计算出最严格的一组约束。
有效范围和 Target 长度按如下方式确定:
-
TargetLength = Longest routed net in set, or lowest MaxLimit from constraints -
MinLimit = (LongestNet - MatchedLength Constraint tolerance), or highest MinLimit from constraints -
MaxLimit = TargetLength -
ValidRange = Highest MinLimit to Lowest MaxLimit(长度约束与长度匹配约束的最严格组合)
例如,如果长度约束指定的最大长度小于长度匹配约束所确定的现有最长走线长度,则以长度约束为准,在调长过程中使用其较短的长度。面板会显示每项约束计算得出的 Min Limit 和 Max Limit,可据此检查目标长度是否符合预期。
在上图中,Properties 面板显示,长度约束和等长约束均适用于目标网络。请注意,最严格的值来自网络等长约束(
tolerance 1.0mm),Max Limit 值表明目标网络组中最长网络的当前长度为 51.549mm(小于长度约束允许的最大值)。在此示例中,长度范围内允许的最严格公差是等长约束中定义的公差(1.0mm),因此使用该公差来计算 ValidRange。目标长度始终取更严格的最大长度。
选择调谐图案
必须在启动命令之后、开始长度调谐之前选择调谐图案。
要选择调谐图案:
-
启动 Route » Interactive Length Tuning 命令。
-
按
Tab暂停调谐并显示 Properties 面板。 -
选择所需的图案(并根据需要编辑图案设置)。
-
按暂停按钮
返回长度调谐命令(或按 Esc键),随后即可单击网络并调谐其长度。
| Can I change the pattern after starting to tune? | 长度调谐开始后(即已单击某条布线),便无法将所选调谐图案更改为其他图案。Right-click 一次以放下布线(或按 Esc),此时仍处于长度调谐命令中,随后即可按 Tab,访问 Properties 面板并更改图案。 |
| Can I change the pattern properties? | 可以在开始调谐之前、调谐过程中的任何时候或调谐之后(选中图案),在 Properties 面板中配置图案的几何属性。有关详细信息,请参阅下方的手风琴形、长号形和锯齿形几何属性章节。 |
| What is the Step setting? | Step 字段显示在 Properties 面板中单击 |
| What pattern and values are used next time? | 调谐图案默认采用上次使用的图案及设置。 |
调整网络长度
长度调整功能的精妙之处在于,它将复杂的软件算法与直观的用户控制巧妙结合。只需沿布线路径移动光标,即可添加调长线段;构成调长线段的各条走线和圆弧的尺寸及位置均由长度调整算法自动计算并插入。在添加调长线段的过程中,可使用键盘快捷键控制其样式和属性。
放置过程中,使用快捷键控制调长图案的形状和幅度。
调整网络长度的步骤如下:
-
要基于约束进行长度调整,请配置 Matched Lengths 和/或 Length 设计约束。
-
从 Route 菜单启动 Interactive Length Tuning 命令(或使用 Active Bar 上的
按钮)。
-
按
Tab打开 Properties 面板,在其中可以 选择长度调整图案,然后单击设计空间暂停按钮(
)以继续放置。
-
单击设计空间中的一条走线,开始调整其长度。沿走线向要添加蛇形线的方向移动光标, 调长图案便会出现,并随光标移动不断延伸。下方动画展示了放置蛇形调长图案的示例。
-
要在长度调整过程中更改调长图案的属性,请按 Tab 打开 Properties 面板,或使用下文详述的快捷键。
调长过程中控制图案属性的快捷键
调长图案的目标长度由什么决定?
在交互式长度调整过程中,Properties 面板的 Target 部分包含用于选择所需 Target Length 模式(
)的选项。有三种模式可用:手动(用户定义长度)、来自网络/差分对(基于现有网络/差分对的长度)或来自规则(设计约束)。
| Manual | 单击 Manual 按钮,在 Target 字段中输入长度( )。Recently Used Lengths 会被保留,以便再次使用。 |
| From Net / From Diff Pairs | 单击以显示已布线网络/差分对的列表。 选择一个网络/差分对以设置长度 Target( )。 |
| From Rules | 单击以显示适用的长度和/或等长设计约束列表( )。软件将遵循这些约束的最严格组合。双击面板列表中的某个约束,可详细查看其属性。要进一步了解调整网络长度时如何应用长度和等长设计约束,请参阅 配置设计约束 部分。 当前应用的约束以蓝色高亮显示。 调长过程中,您可以单击其他约束条目来更改所应用的约束;该约束将以蓝色高亮显示,目标长度(及描述文本)也会相应更改。 |
| Target | 调长算法尝试通过添加调长线段来达到的长度。请注意,多种原因可能导致调长算法无法添加调长线段,详情请参阅 为什么调长图案有时会消失? 部分。 |
| Clip to Target | 启用后,当长度与 Target 的差值在 Tolerance 以内时,调长算法将停止添加调长形状。 |
监控信号长度
当 PCB 面板设置为 网络模式 时,会显示已布线信号的当前长度。默认情况下,面板显示 Name、Node Count、Routed length, 和 Unrouted (Manhattan) 长度。在面板的列标题区域单击右键可显示菜单,您可以在其中选择其他列,也可以隐藏现有列。请注意, 布线长度的计算依据是构成布线的已放置走线段和圆弧段的长度总和,加上穿过过孔的垂直距离。布线长度计算器不会尝试处理重叠走线段或焊盘内的曲折走线。
要准确计算节点之间的总距离,请启用 Signal Length 列。信号长度计算器会分析布线路径中所有已放置的对象,处理堆叠或重叠对象以及焊盘内的曲折路径,并计入过孔长度。如果网络尚未完成布线,还会计入连接线的曼哈顿(X + Y)长度。进行等长匹配时,请务必启用 Signal Length 列。
如果配置了等长或长度设计约束,受约束的各网络的“信号长度”单元格也会以颜色标示:如果 route length < constraint minimum,则以黄色高亮显示;如果 net passes the constraint,则不着色;如果 route length > constraint maximum,则显示为红色。
进一步了解 PCB 面板的网络部分。
使用网络长度指示器
如果定义了长度约束和/或等长约束,您可以在交互式长度调谐期间显示长度调谐指示器,以监控调谐长度。使用 Shift+G 快捷键可切换指示器的显示与隐藏。
指示器以数字形式显示当前布线长度,红色/绿色滑块则表示估算长度。如果您正在对现有布线进行长度调谐,估算长度就是所有已放置走线段和圆弧段的长度总和(实际物理长度)。

指示器的设置根据适用约束中定义的限制值计算得出。
了解指示器 |
|
| Green slider (and overlaid numerical value) |
当前布线长度,在上例中为 47.197 |
| Left edge of gauge | 指示器最小值,在上例中为 45(最低的 MinLimit) |
| Right edge of gauge | 指示器最大值,在上例中为 48(最高的 MaxLimit) |
| Left yellow bar | 最高的 MinLimit,在上例中为 46.58 |
| Right yellow bar | 最低的 MaxLimit,在上例中为 47.58(在图中被绿色条遮挡) |
| Green bar | TargetLength ,在上例中为 47.58(该组中最长网络的布线长度,等于 MaxLimit) |
为什么调谐图案有时会消失?
调谐引擎根据当前的几何 设置生成调谐图案。这些设置的某些组合加上当前走线宽度,可能会使调谐引擎无法创建调谐图案。
如果您尝试进行长度调谐,但图案未出现,请尝试以下步骤:
-
操作时显示 Properties 面板,以便观察图案的各项设置(
)。可以使用 F11快捷键切换 Properties 面板的显示与隐藏。 -
对于手风琴式或长号式图案,请确保图案处于 Mitered Lines 模式(按 Spacebar 可循环切换模式)。
-
对于手风琴式或长号式图案,将 Miter 减小至零(多次按下 1 快捷键)。
-
首次单击布线以调谐其长度时,会出现一个白色边界矩形,界定调谐引擎可用于创建图案的空间(
)。
-
对于斜接圆弧样式,当前 Miter 设置还会与幅度和间距设置相互影响。如果您使用此样式,可以先采用较小的斜接量,找到合适的幅度和间距值后,再将斜接量增大至所需值。
-
锯齿形图案包含一个 Fixed Size 选项,用于指示调谐引擎使所有调谐图案具有相同尺寸(
)。如果图案未出现,请尝试关闭此选项。长度调谐正确完成后,可根据需要重新启用该选项。
修改已放置的调谐图案
要修改已放置的调谐图案,请单击以选中它并显示编辑控制柄。
调整手风琴式图案边界框的大小可更改幅度或长度;单击并按住可移动图案;在“属性”面板中可编辑样式。
修改已放置的调谐图案 |
|
| Change the style | 单击以选择一个或多个调谐图案,然后在 Properties 面板中更改样式和其他设置。 也可以使用快捷键,单击并按住选定的调谐图案即可使用这些快捷键。 |
| Move a pattern | 单击并拖动可移动图案。手风琴式图案不支持包络概念,因此不支持在拐角处放置或沿拐角滑动,而长号式和锯齿式图案则支持这些操作。了解有关使用长号式和锯齿式图案的更多信息。 |
| Resize the pattern | 单击并拖动边或顶点可调整图案边界区域的大小——图案各部分会自动调整大小,以适应边界区域更新后的形状。 |
| Rotate an accordion | 选择手风琴式图案,按住
|
| Change the layer | 在设计空间中选中已放置的调谐图案后,其 Properties 面板的 Properties 区域中会显示 Layer 下拉列表。使用此下拉列表可快速更改调谐图案所在的信号层( )。 请注意,您可以选择多个布线对象(调谐图案、走线、圆弧),并通过一次操作更改它们所在的信号层。 |
使用已放置的长号式和锯齿式图案
对于长号式和锯齿式图案,构建图案所处的多边形区域可视为一个sleeve。单击以选择已放置的图案并显示其包络。
根据您在包络上单击并按住的位置,可执行不同的移动和大小调整操作。如下方经过颜色增强的图像所示,有三个区域可供单击并拖动:
长号式和锯齿式图案构建在包络形状内,该包络支持多种形状更改编辑操作。
修改长号式或锯齿式图案( ) |
|
| Move the pattern | Click and Drag在区域 3 上操作,可沿垂直于原始布线路径的方向自由移动图案。按住 Shift 可保持图案相对于布线路径的横向分布。 |
| Lengthen or widen the pattern | Click and Drag在区域 1 或 2 上操作,可加长或加宽图案。请注意,调整图案大小时无需单击控制柄;在包络边缘的任意位置操作均可。 |
| Maintain lateral distribution during movement | Shift + Click and Drag在区域 1 或 3 上操作,可沿原始布线路径滑动图案,同时保持图案相对于布线路径的横向分布。 |
| Perpendicular pattern movement | Ctrl + Click and Drag在区域 2 或 3 上操作,可沿垂直于原始布线路径的方向移动图案。 |
差分对长度调谐
差分对长度调谐包含两个方面:一是调节一组差分对中各对的长度,使所有差分对长度一致;二是调节每对中较短网络的长度,此过程称为phase matching。
要对差分对进行长度调谐,请创建以下约束,并将其作用范围设为这组差分对:
-
一个 matched lengths constraint,用于定义 between pairs 长度匹配要求。要比较一个差分对与另一个差分对的长度,请启用 Group Matched Lengths 选项,如上文的等长设计约束部分所述。
-
第二个 matched lengths constraint,用于定义 within-pair 长度匹配要求。要比较差分对中两个成员的长度,请启用 Within Differential Pair Length 选项,如下文所述。
差分对之间的长度调谐
差分对布线完成后,即可通过调谐消除各差分对之间的长度差异。
演示先调谐各差分对的长度,再调谐每个差分对内部的长度。
对间长度调谐 |
|
| Targeting the pairs | 通常,使用以下差分对查询关键字之一,在等长设计约束中指定目标差分对:InAnyDifferentialPair、InDifferentialPair、InDifferentialPairClass、IsDifferentialPair。要匹配各差分对之间的长度,请在等长设计约束中启用 Group Matched Lengths 选项( 如果已定义 xSignals,则可使用它们来设置长度调谐设计约束的作用范围,此时约束中将提供 Source Target 选项。有关更多信息,请参阅使用 xSignals 定义高速信号路径页面。 |
| What is the target length? | 等长设计规则会检测规则作用范围内最长的差分对,并将该差分对的 Longest Signal Length 值用作其他目标差分对的 Max Limit,同时将 Min Limit 设置为 |
| Tune the length of a pair | 要调谐差分对的长度,请运行 Route » Interactive Differential Pair Length Tuning 命令。与差分对布线一样,此命令同时作用于差分对中的两个网络。 了解有关调谐网络长度的更多信息。 |
| Controlling the shape during tuning | 与单网络长度调谐一样,启动长度调谐命令后,必须先选择调谐样式,再单击走线。在长度调谐过程中,可以使用快捷键更改该样式的属性,也可以按 Tab 打开 Properties 面板进行更改。 |
| Monitoring the progress | 在长度调谐过程中,使用 您还可以在 PCB 面板的 Nets 模式或 xSignals 模式下监控进度( |
| Adjusting the finished tuning shape | 调谐形状是可选择、拖动、调整大小和删除的对象。了解有关修改已放置调谐图案的更多信息。 |
| Checking the results | 使用 PCB Rules and Violations 面板检查 between-pair 网络等长约束( )。如有需要,请调整手风琴式调谐图案。 |
差分对静态相位匹配
由于在印刷电路板上以走线形式实现信号对时,所能达到的差分耦合本身较弱,因此,匹配信号对中两个网络的长度,对差分对布线的整体效果至关重要。
长度匹配可确保信号对的正、负两路信号同时到达,这种技术称为 phase matching。 实现相位匹配最简单的方法,是在信号对中较短网络的某个位置添加长度调节图形。这种长度调节称为 static phase matching,即总体长度相匹配,但并未尝试消除沿差分布线路径出现的局部长度不匹配。
演示如何调节每个差分对内部的长度。
差分对内部的静态长度调节 |
|
| Targeting the pairs | 通常,使用等长设计约束并通过以下某个差分对查询关键字来指定差分对:InAnyDifferentialPair、InDifferentialPair、InDifferentialPairClass、IsDifferentialPair。要匹配每个差分对内部的长度,请在等长设计约束中启用 Within Differential Pair Length 选项( )。根据需要配置容差。 |
| Tune the length of the shorter net in the pair | 要调节差分对中较短网络的长度,请运行 Route » Interactive Length Tuning 命令。进一步了解调节网络长度。 |
| Controlling the shape during tuning | 启动长度调节命令后,必须先选择调节样式,再单击走线。在长度调节过程中,可使用快捷键更改该样式的属性,也可按 Tab 打开 Properties 面板。 |
| Monitoring the progress | 在长度调节过程中,使用 也可以在 PCB 面板中,以 Nets 模式或 xSignals 模式( |
| Checking the results | 使用 PCB Rules and Violations 面板检查 within-pair 网络等长约束( |
自动长度调谐
PCB 编辑器还支持对单个网络和差分对进行自动长度/延迟调谐(或多重调谐)。 同时支持常规走线和任意角度走线(任意角度的差分对除外)。
自动调谐过程将尝试根据适用的匹配长度/长度设计约束,对当前选中的网络进行长度调谐。有关详细信息,请参阅配置设计约束部分。
可以自动调谐网络之间、差分对之间以及每个差分对内部的长度。
该功能的使用方法如下:
网络之间的自动长度调谐 ( |
|
| Configure how lengths are matched | 根据需要,为网络/差分对/xSignals 配置长度/匹配长度设计约束(启用 Group Matched Lengths 选项)。 |
| Select nets to be matched | 选择需要进行长度调谐的网络。 |
| Configure the length matching pattern | 从主菜单中选择 Route » Automatic Length Tuning 命令(快捷键: 选择手风琴式图案样式,并根据需要配置其属性。有关详细信息,请参阅选择调谐图案部分。 |
| Auto tune the lengths | 在 Auto Tuning Process 对话框中单击 OK,软件将尝试创建调谐图案。 |
| Configure how lengths are matched | 根据需要,为网络/差分对/xSignals 配置长度/匹配长度设计约束(启用 Within Differential Pair Length 选项)。 |
| Select nets to be matched | 选择需要进行长度调谐的网络。 |
| Static phase matching | 当匹配长度约束中的 Dynamic Phase Matching( )/ Dynamic Phase Tolerance( )选项为 disabled 时,将应用静态匹配。调谐图案会添加在差分对中较短网络沿线的任意位置。 |
| Dynamic phase matching | 当匹配长度约束中的 Dynamic Phase Matching( )/ Dynamic Phase Tolerance( )选项为 enabled 时,将应用动态匹配。调谐图案通常会添加在差分对中较短网络沿线的多个位置。 |
| Configure the within pair Sawtooth tuning properties | 从主菜单中选择 Route » Automatic Length Tuning 命令(快捷键: 根据需要配置锯齿形图案样式的属性。有关详细信息,请参阅锯齿形调谐图案 部分。 |
| Auto tune the lengths | 在 Auto Tuning Process 对话框中单击 OK,软件将尝试创建相位调谐图案。 |
其他调长工具
使网络长度相等
PCB 编辑器主菜单中的 Tools » Equalize Net Lengths 命令可用于匹配由已定义的网络长度匹配设计约束所指定的网络长度。启动该命令后,将打开 Equalize Nets 对话框。
使用此对话框定义蛇形线段的样式和尺寸,软件将添加这些线段以使目标网络的长度相等。单击 OK 后,软件会向设计约束所涵盖的网络集合中所有短于最长网络的网络添加走线段。该命令将尝试向这些较短的网络添加走线,直到满足相关网络长度匹配约束中指定的容差条件。
软件将仅针对所有已定义(且已启用)的网络长度匹配约束执行设计规则检查,并将设计规则验证报告(Design Rule Check - <PCBDocumentName>.html)作为活动文档打开。报告将列出所有违反这些约束的情况。有关适用集合中各网络超出容差的具体数值,请参阅 Messages 面板中的相关消息,示例如下:
Matched Net Lengths: Between Net LCD_RW And Net LCD_RS Length:85.061mm, outside tolerance by 7.564mm
在此示例中,适用的网络长度匹配约束所针对的集合中,最长的网络是 LCD_RS。网络 LCD_RW 的布线长度为 85.061mm,超出约束所定义的容差 7.564mm。
推荐阅读
-
信号完整性讲师及行业专家 Eric Bogatin 的网站 http://www.bethesignal.com/
-
高速设计讲师及行业专家 Howard Johnson 博士的网站 http://www.signalintegrity.com/
-
讲师及高速 PCB 设计专家 Lee Ritchey 的网站 http://www.speedingedge.com/


);或 within 目标差分对的成员,例如 InDifferentialPairClass ('DIFF100') 中的
)。如果约束定义为设计规则,请根据需要设置该选项。
)。如果目标对象为网络、差分对或这两者中任一种的类,请在 Constraint Manager 的 All Rules 视图中将约束添加为 Advanced Rule(
)。
),并使用 Constraint Manager 中 Electrical 视图的 Diff Pair 模式来指定差分对(
)。



)。
)。Recently Used Lengths 会被保留,以便再次使用。
)。
)。软件将遵循这些约束的最严格组合。双击面板列表中的某个约束,可详细查看其属性。要进一步了解调整网络长度时如何应用长度和等长设计约束,请参阅
)。 请注意,您可以选择多个布线对象(调谐图案、走线、圆弧),并通过一次操作更改它们所在的信号层。
)。
)。黄色高亮表示数值低于约束的 Min Limit,红色高亮表示数值高于 Max Limit。
)。如有需要,请调整手风琴式调谐图案。
)。根据需要配置容差。
)监控进度。黄色高亮表示数值低于约束 Min Limit,红色高亮表示数值高于 Max Limit。
)。如有需要,调整蛇形调节走线。
)
)
)/ Dynamic Phase Tolerance(
)选项为 disabled 时,将应用静态匹配。调谐图案会添加在差分对中较短网络沿线的任意位置。
)/ Dynamic Phase Tolerance(
)选项为 enabled 时,将应用动态匹配。调谐图案通常会添加在差分对中较短网络沿线的多个位置。