ActiveRoute
板级设计中最耗时的阶段之一就是为网络进行布线。规则系统负责处理设计约束,例如线宽、过孔尺寸、间距等,但要完成整块板的全布线,仍需要设计人员放置成千上万段走线线段。
自动布线器可以缓解这种痛点,但通常被认为不够理想 ,原因包括:
- 它们无法正确考虑人类设计者在布线时会本能应用的大量细微设计约束。
- 完整配置所需时间过长,以至于很多时候直接交互式布线反而更高效。
- 后续清理可能非常漫长且困难,以至于很多时候交互式布线反而更高效。
PCB 布线的“圣杯”是在设计者可控的前提下,快速产出满足设计规则的高质量结果。这正是 ActiveRoute 试图实现的挑战。
什么是 ActiveRoute?
ActiveRoute 是一种自动化的交互式布线技术,提供高效的多网络布线算法,并应用于你所选择的特定网络或连接。ActiveRoute 还允许设计者交互式地定义一条布线路径或 Guide(引导线),从而定义 the river 新走线将沿其流动的路径。
使这种方法显著优于“常规交互式布线 + 自动布线”组合的关键 ActiveRoute 特性包括:
- 自动优化从引脚/过孔阵列中引出的逃逸走线——这是手工布线中最耗时的部分。
- 高性能——信号网络每条布线用时 < 1 秒。
- 遵守按网络与网络类设置的线宽、间距、层、拓扑与房间等设计规则,并遵循优先级。
- 可同时在多层上布线,并将走线分布到这些层上。
- 直观的 Route Guide(布线引导),设计者可用它来引导走线的放置。
- 采用 River Route(河流式布线)方法,在无需过孔的情况下获得较高的完成率。
- 能够穿过多边形平面并重新铺铜(如果启用了重新铺铜选项)。
- 同时支持单端网络与差分对网络。
- 最后使用强大的 glossing 工具进一步减少拐角并缩短走线。
PCB ActiveRoute 面板
ActiveRoute 遵循 PCB 设计规则中定义的条件与限制,因此使用它只需选择感兴趣的连接或网络 并运行即可。它确实有一些特定的控制功能,可在 PCB ActiveRoute 面板中配置。该 PCB ActiveRoute 面板用于配置并操作 ActiveRoute 提供的各项功能,包括:执行交互式 ActiveRoute;定义 Route Guide 以及其中走线的间距;启用自动长度调谐;以及启用自动引脚互换。强烈建议在开始 ActiveRoute 之前先打开 PCB ActiveRoute 面板。
当 PCB 为活动文档时,打开 PCB ActiveRoute 面板的方法:
-
点击工作区右下角的
按钮,然后 选择 PCB ActiveRoute 菜单选项。
-
点击 View » Panels » PCB ActiveRoute。
使用 PCB ActiveRoute 面板来控制 ActiveRoute 过程。
PCB ActiveRoute 面板用于:
- 启用 ActiveRoute 可用于布线连接的信号层。
- 对所选连接执行 ActiveRoute。
- 启用 ActiveRoute 后的 Glossing 处理。
-
定义 Route Guide。
- 配置希望在 Route Guide 内使用的走线间距(track-to-track spacing)。
- 配置并启用对 ActiveRoute 放置的走线进行长度调谐。
- 配置 Meander(蛇形)选项,使 ActiveRoute 定义更长的布线路径,这可能有助于提高完成率。
- 配置并启用引脚互换。ActiveRoute 可在布线过程中进行引脚互换,以帮助提升布线质量。
该 PCB ActiveRoute 面板内容按可折叠分区组织,每个分区标题旁的 ► 图标用于展开/折叠。下方包含的属性控制信息也按对应分区排列,并以相同方式展开/折叠各分区。
Action
这些是用于控制 ActiveRoute 的主要选项。
-
ActiveRoute - 在面板中点击
按钮,对所选连接执行 ActiveRoute。ActiveRoute 会尝试布通所选连接;或者如果选中了焊盘或过孔,则布通这些网络中的所有连接。请参阅 ActiveRoute 页面以了解更多关于 选择技巧 的内容。
-
Route Guide - Route Guide(布线引导)是用户定义的路径,ActiveRoute 会在该路径范围内对所选连接进行布线。ActiveRoute 的主要目标之一是找到整体最短的走线长度集合,但这未必是每组连接所期望的路径。Route Guide 为设计者提供了一个工具,用于勾勒希望所选连接沿着流动的特定路径。Route Guide 的颜色由为所选连接的 ActiveRoute 所启用的层决定——如果只启用单层,则以该层颜色绘制;如果启用多层,则以默认的 Route Guide 颜色绘制。
-
要定义 Route Guide,先选择要在引导内布线的连接,在面板中点击
按钮,然后点击以定义引导起点位置,继续移动鼠标并点击以定义路径。路径定义完成后,点击 ActiveRoute 按钮,使所选连接沿该路径布线。
-
在放置 Route Guide 期间,可按
或
键使引导变宽或变窄。默认宽度为:对所选连接适用的线宽+间距设计规则之和,除以层数,再乘以 1.3。若需要定义不同路径,可按 Backspace 键撤回(unwind)Guide。
- ActiveRoute 会尝试按设计规则对走线进行间距设置,但不会尝试在 Route Guide 内把走线“铺开”或用满所有可用空间。要在 Route Guide 内展开走线,请使用 Track-Track Space in Route Guide 功能,详见本页后文。
-
要定义 Route Guide,先选择要在引导内布线的连接,在面板中点击
- Tune Selected - 启用此选项后,将应用在面板 Tune 分区中启用的、优先级最高且适用的 Matched Length(等长)规则。
- Pin Swap Routing – PCB 编辑器支持引脚互换,启用此选项可允许 ActiveRoute 在布线过程中执行引脚互换。除启用此选项外,还必须在面板的 Pin Swap 分区中启用所需器件,详见下文。要了解更多引脚互换系统,请参阅 Pin, Pair and Part Swapping 页面。
- Gloss Results – 启用此选项可自动对 ActiveRoute 结果执行 Gloss。Glossing 也可应用于现有的所选走线;要这样做,请运行 Route » Gloss Selected 命令(Ctrl+Alt+G)。更多信息请参阅 Glossing & Retracing of Existing Routes 页面。
Layers
ActiveRoute 可同时在多层上布线。虽然它不能通过放置过孔来实现换层,但可以将连接与网络分配到可用层上。可用层在面板的 Layers 分区中配置。
- Show Signal Layers Only – 默认显示所有可用的信号层与平面层,启用此选项可仅显示信号层。
- List of Layers – 启用 ActiveRoute 可用于信号布线的信号层。ActiveRoute 会将连接分布到可用的信号层上。注意 ActiveRoute 不会放置过孔来实现换层。
Control
这些控件用于放宽 ActiveRoute 在走线间距方面对满足适用间隙设计规则的“专注度”,并允许它采用不那么直接的路径来完成连接。
- Track-Track Space in Route Guide – 此控件用于指示 ActiveRoute 在沿 Route Guide 进行布线时,尝试将被布线的连接彼此拉开多远(线中心到线中心)。该设置必须在定义 Route Guide 之前完成,以便能够根据该间距正确计算导引宽度。使用滑块选择数值,或在编辑框中输入距离。
-
Meander % Over Manhattan Length – ActiveRoute 会尝试沿尽可能短的路径对所选连接进行布线,换句话说,尽量减少蛇形(meandering)。如果 ActiveRoute 的完成率低于预期,增加允许的蛇形量可能有助于提高完成率。默认的最大 Meander 设置为 100%,表示允许走线的总长度为
Manhattan Length + 100% of Manhattan Length。使用滑块选择数值,或在编辑框中输入百分比。请注意,使用 Route Guide 时会忽略蛇形设置,因为 Route Guide 旨在用于定义一条可能会显著增加蛇形的路径。
Tune
ActiveRoute 可以对当前正在布线的连接应用长度调谐,或对选定的现有走线进行长度调谐。
- Match Length Rules for Selected – 此处列出所有已定义的 Matched Length 设计规则。启用该规则,以便 ActiveRoute 将其用于所选连接。
-
Single Ended – 用于调谐单端信号的蛇形(accordion)属性。
- Max Amplitude - 调谐蛇形允许的最大振幅。若存在障碍物(例如现有焊盘、过孔或走线),振幅会自动减小,以确保满足设计规则间隙。
- Min Space - 蛇形形状零交叉点之间的最小边到边间距。
-
Differential Pair - 用于调谐差分对的蛇形属性。
- Max Amplitude - 外侧差分对成员的调谐蛇形允许的最大振幅。若存在放置障碍物,振幅会自动减小,以确保满足设计规则间隙。
- Min Space - 内侧差分对成员的蛇形形状零交叉点之间的最小边到边间距。
Pin Swap
元件中功能等效的引脚可以配置为可互换,请选择 Tools » Pin/Part Swapping » Configure 命令来完成此操作。在执行任何引脚互换(交互式或由 ActiveRoute 执行)之前,每次打开项目都必须先编译(Project 菜单)。
- Components with Pin Swap Enabled – 所有启用了引脚互换的元件都会在此列出,启用你希望在 ActiveRoute 期间可用于自动互换的元件。
Additional ActiveRoute Features
ActiveRoute 是一种自动化的交互式布线器, 使用它简单直接: 选择连接 然后按 Shift+A,即可按照设计规则对其进行 ActiveRoute 布线。ActiveRoute 还包含许多其他功能和控件,使设计人员能够对某些特性与能力拥有更强的控制力。
这些包括:
- 通过放置 Route Guide 来定义布线路径和走线间距。
- 通过 Meander 控件允许更长的布线路径。
- 通过长度调谐自动匹配走线长度。
- 允许引脚互换以简化布线挑战。
下面我们将更详细地逐一介绍。
使用 Route Guide 定义路径
ActiveRoute 的主要目标之一是找到整体最短的一组走线长度,但这未必是每一组连接所期望的路径。Route Guide 为设计人员提供了一个工具,用于拟定希望所选连接沿其流动的特定路径,即使该路径并非最短。
-
Defining the Route Guide - 首先选择要在导引内布线的连接,在 PCB ActiveRoute 面板中单击
按钮,然后单击以定义导引起点位置,并继续移动鼠标并单击以定义路径。路径定义完成后,单击 ActiveRoute 按钮,使所选连接沿该路径进行布线。更多细节请参阅本页后面的 Define a Route Guide 小节。
-
Changing the Route Guide Width - 在放置 Route Guide 期间,可通过按
或
键使导引变宽或变窄。默认宽度为:所选连接适用的线宽+间隙设计规则之和,除以层数,再乘以 1.3。若需要定义不同路径,按 Backspace 键可回退(unwind)导引。
- The Route Guide color - 由为所选连接的 ActiveRoute 提供的可用层决定。如果只启用单层,则以该层颜色绘制; 如果启用多层,则以默认 Route Guide 颜色绘制。
- The track spacing within the Route Guide - 默认行为是 ActiveRoute 按照设计规则对走线进行间距控制,它不会尝试在 Route Guide 内扩散,或使用其中所有可用空间。若要在 Route Guide 内扩散走线,请使用 Track-Track Space in Route Guide 功能,如本页后文所述。

一个视频,展示放置 Route Guide,并在放置过程中交互式更改宽度。
Route Guide 内的 Track-Track Space
使用 Track-Track Space in Route Guide 功能,你可以指示 ActiveRoute 将走线在 Route Guide 的宽度范围内展开。使用滑块选择间距值,或在编辑框中输入数值。Route Guide 会自动调整尺寸以考虑该设置。要实现这一点,你必须在放置 Route Guide 之前配置 Track-Track Space in Route Guide 设置。你还可以在放置过程中通过按
和
键进一步调整 Route Guide 的宽度。

使用 Track-Track Space 功能在 Route Guide 中展开走线。
允许走线蛇形
ActiveRoute 会尝试沿尽可能短的路径对所选连接进行布线,换句话说,尽量减少蛇形。如果 ActiveRoute 的完成率低于预期,Meander 控件允许你增加 ActiveRoute 可使用的蛇形量,这可能有助于提高完成率。默认的最大 Meander 设置为 100%,表示允许走线的总长度为 Manhattan Length + 100% of Manhattan Length。使用滑块选择蛇形值 或在编辑框中输入百分比。
请注意,使用 Route Guide 时会忽略蛇形设置 ,因为 Route Guide 旨在用于定义一条可能会显著增加蛇形的路径。
调谐走线长度
ActiveRoute 可以对当前正在布线的连接 或选定的现有走线应用长度调谐。ActiveRoute 将尝试满足所选的 Matched Length 设计规则。
配置 ActiveRoute 进行长度调谐:
- 在面板的 Action 区域启用 Tune Selected 复选框。
- 在面板的 Tune 区域启用所需的 Matched Length 设计规则。
- 在面板的 Tune 区域配置所需的 Max Amplitude 和 Min Space 设置(单端或差分对)。
Pin Swapping
该软件包含强大的引脚与器件互换系统,并在原理图编辑器与 PCB 编辑器之间联动。ActiveRoute 可以访问引脚互换设置,并在布线过程中在有助于缩短总体布线长度、提升布线质量时交换引脚。
使用引脚互换:
- 在执行任何引脚互换(交互式或由 ActiveRoute 执行)之前,每次打开项目都必须先编译(Project 菜单)。
- 要配置和管理元件的引脚互换设置,请运行 Tools » Pin/Part Swapping » Configure 命令以打开 Configure Swapping Information in Components 对话框。
- 在 PCB ActiveRoute 面板的 Action 区域中启用 Pin Swap Routing 选项。
- 在 PCB ActiveRoute 面板的 Pin Swap 区域中启用所需的元件。
为 ActiveRoute 做准备
1. Create net classes
ActiveRoute 需要先选中网络。若需要进行 ActiveRoute 的网络数量很多,使用 net classes 可在选择过程中提供很大帮助。请参阅本文后面的 Selection Techniques 小节,了解选择连接的最佳方法。
2. Shelve existing polygons
如果在 Preferences 对话框的 PCB Editor - General 页面中启用了 Repour Polygons after Modification 选项,ActiveRoute 可以穿过现有多边形进行布线。或者,也可以使用 Tools » Polygon Pours » Shelve Polygons 命令将多边形搁置(设为不可见,但仍保留在设计中) 。
3. Configure the design rules
- 间距(Clearances)——ActiveRoute 会遵循适用的 clearance design rules,并按其优先级顺序应用。
- 布线宽度(Routing Widths)——它使用适用 width rules 的 Preferred 设置。与交互式布线一样,例如当走线需要从 BGA 下方通过时,要在某个区域改变线宽,可定义一个 Room,并在其中应用一个 Preferred 宽度更窄的线宽规则。如果你无法用该 Preferred 宽度手动布通,ActiveRoute 也同样无法布通。
- 差分对(Diff Pairs)——ActiveRoute 可以布差分对。请确保差分对已正确定义(在 PCB 面板的 Differential Pairs Editor 模式中检查),并确认 Differential Pairs Routing rule(s) 已正确配置(会使用 Preferred 值)。
- 焊盘进线(Pad Entry)——ActiveRoute 会尝试在遵守规则 且不产生锐角的前提下,使用进出焊盘的最直接路径。它遵循 SMT to Corner 与 SMT Pad Entry 规则,但并不总是将走线居中对齐到焊盘中(当启用 SMT to Corner 规则时,交互式布线器会这样做)。它还包含针对差分对焊盘的特殊算法,在保持整洁的同时重点关注对内耦合。
4. Configure the net topology
ActiveRoute 会遵循连接线的模式。如果你有一组网络需要特定拓扑(例如 DDR3/4 的 fly-by),可以使用 xSignals 定义 from-to 顺序。xSignals Multi-Chip Wizard(Design » xSignals » Run xSignals Wizard)可为包含 DDR3/4 与 USB 3.0 类型信号的设计创建 xSignals。或者,也可以在 PCB 面板的 From-To Editor 模式中为某个网络创建 From-Tos ,以定义点对点的连接线模式。
5. Fanout the design
ActiveRoute 不会放置过孔,因此你必须为 BGA、连接器以及使用 SMT 引脚的分立器件创建扇出(外层需要布线的那些引脚除外)。
6. Route the power and ground
ActiveRoute 用于信号网络; 它会忽略分配到电源平面的网络 以及包含超过 20 个引脚的网络(这些被视为电源网络)。如果你想在已完成的设计上使用 ActiveRoute,请删除信号走线 ,但保留电源与地的布线以及扇出。
7. Enable the required routing layers
在 PCB ActiveRoute 面板中启用所需的布线层。下文将进一步说明。
执行 ActiveRoute
要执行 ActiveRoute:
1. Select the connection(s) to be routed
使用 Strategies for Selecting the Routing 页面中介绍的技巧,选择要布线的连接/网络。可以直接选择连接,也可以通过选择某个布线对象(如引脚、走线、过孔或元件)来选择连接。状态栏会显示刚选中的连接数量 ,直到光标移到另一个对象上。
- 当选中连接时,将按适用的 Routing Width design rule 中定义的 Preferred 宽度进行布线。
- 当选中现有走线时, 与所选走线相连的连接将使用该走线的线宽进行布线。
- 当选中元件焊盘时,从所选焊盘引出的所有连接将按 Preferred 规则设置进行布线。
2. Enable the layers to ActiveRoute on
在 PCB ActiveRoute 面板中,启用所选连接要布线的层。ActiveRoute 会将走线分配到这些层上。
如果未选择任何层,则会在活动层上布线;活动层是主 PCB 编辑器窗口底部所选的标签页。
PCB ActiveRoute 面板允许你选择要在哪些层上布线、创建 Route Guide,并启动 ActiveRoute。
3. Define a Route Guide, if required
放置 Route Guide:
- 选择你希望沿着 Route Guide 布线的连接。状态栏会显示刚选中的连接数量 ,直到光标移到另一个对象上。
- 在 PCB ActiveRoute 面板中单击 Route Guide 按钮。
- 光标将显示为 holding 所有已选连接,表示这组连接必须通过该 Guide 流动。将光标移动到合适的起始位置,即你要定义路径的任一端。
- 单击以定义 Guide 的起点位置,并为进入的连接留出空间,使其能够流入 Guide 的弧形端部。
- Guide 的放置方式类似一条非常宽的走线。将光标移动到 Guide 必须转弯的第一个拐角位置 ,然后单击以定义该拐角。
- 继续进行路径定义,在距离连接线终点一定距离处停止,为连接从 Guide 流出并到达目标焊盘/过孔/走线端点留出空间。
- 按 Up Arrow 键加宽 Guide,或按 Down Arrow 键缩窄 Guide。
- 按 Backspace 以撤销上一个 Guide 拐角。
- 右键单击以退出 Guide 放置模式。
任意时刻只能定义一个 Route Guide。
4. Run ActiveRoute
运行 ActiveRoute,你可以:
- 选择 Route » ActiveRoute 命令。
-
单击 Active Bar 上的 ActiveRoute (
) 按钮。
- 单击 PCB ActiveRoute 面板中的 ActiveRoute 按钮。
- 使用 Shift+A 快捷键。
5. Monitor the progress and check for feedback
- PCB 编辑器的状态栏会显示 ActiveRoute 进度。
- Messages 面板会报告完成率。
提升熟练度
-
熟练掌握 ActiveRoute 的关键之一是熟悉快捷键。你最常用的按键序列是:
- Alt+Click - 用于选择单条连接线。
- Alt+Click&Drag- 要在某个区域内选择连接,从右向左拖动可选择所有被触及的连接;从左向右拖动则只选择完全落在选择矩形内的对象。按 Tab 可扩展选择范围,将同一网络(net)中的其他连接也包含进来。状态栏会显示刚选中的连接数量,直到光标移到另一个对象上为止。
- Ctrl+Click&Drag - 要选择元件中的焊盘,从右向左拖动可选择所有被触及的焊盘;从左向右拖动则只选择完全落在选择矩形内的对象。按 Tab 可扩展选择范围,将同一网络(net)中的其他布线对象也包含进来。持续按 Tab 可在所有可能的选择状态之间循环切换。
- Click&Drag - 要选择现有的走线段,从右向左拖动可选择所有被触及的走线;从左向右拖动则只选择完全落在选择矩形内的对象。按 Tab 可扩展选择范围,将同一网络(net)中的其他布线对象也包含进来。持续按 Tab 可在所有可能的选择状态之间循环切换。
- 包含 Shift 可在执行另一次选择时保留当前选择。
- Shift+A 对当前选择执行 ActiveRoute。
- Ctrl+Alt+G - 对当前选择执行 Gloss(光顺)。
-
选择操作只会作用于可见的对象(Ctrl+A 除外):
- 按 Shift+S 可在单层模式之间循环切换(进入/退出),从而只显示关注的那一层。
- 如果设计使用了放置房间(placement rooms),它们可以在设计规则中作为定义的一部分被锁定,也可以被隐藏,以防在 Click&Drag 操作中被选中/移动。可在 View Configuration panel 的 View Options 选项卡中隐藏房间。
-
对 SMD 焊盘进行扇出(Fanout)。ActiveRoute 不会换层,因此你需要先对 SMD 焊盘扇出。为加快扇出过程:
- 在布线某条连接时,按 / 快捷键(数字小键盘)放置一个过孔并释放该连接。如果没有数字小键盘,则使用 2 快捷键(放置过孔但不暂停)。
- 复制并粘贴现有的扇出;PCB 编辑器会自动更新网络名称。此方法可用于多个扇出。
- 保留现有扇出。如果 ActiveRoute 发现更好的方案会修改扇出;如果你不希望它们被更改,则可将其锁定。锁定扇出最简单的方法是:选中扇出走线和过孔(可使用 Properties 面板顶部的 Selection Filter 来辅助此过程),按 F11 打开 Properties 面板,并勾选 Locked 复选框。这样即可一次性锁定所有选中的对象。
- 如果你使用了 Route Guide 并发现完成率较低,可能是路径上障碍物太多,需要将 Guide 加宽。放置过程中按 Up 方向键可加宽 Guide。
- 当 ActiveRoute 完成后,会应用 glossing(如果在 PCB ActiveRoute 面板中启用)。要查看 ActiveRouting 完成时的原始布线结果,按 Ctrl+Z 一次以撤销 glossing。Gloss 命令(Route » Gloss Selected)可用于平滑走线并改善任何布线的焊盘入线效果,不仅限于 ActiveRoute。系统特别针对差分对确保高质量的焊盘入线。要了解更多关于 glossing 的信息,请参阅 Glossing & Retracing of Existing Routes 页面。
- 如果 ActiveRoute 无法工作,通常是因为规则未正确配置。ActiveRoute 失败最常见的原因是没有足够空间容纳走线。请检查规则是否合适,例如,新建 PCB 文件中的默认规则可能对高密度 BGA 类设计来说过大。
- ActiveRoute 会遵循已配置的布线规则,包括线宽、间距、差分对间隙,并可按层、按房间、按类生效。ActiveRoute 不会使用圆弧或任意角度走线进行布线。