使用 Situs Topological Autorouter 实现电路板自动布局

概览

本文介绍 Altium Designer 的 Situs 拓扑自动布线器如何进行 PCB 布线,以及如何做好前期设置以充分发挥其效能。文章重点说明,布线表现很大程度上取决于切实到位的电路板准备工作,包括元件布局、禁布区设置、预布线,以及线宽、间距、过孔和层等设计规则的合理配置。同时,文章也阐明了自动布线的局限性:能否获得良好的布线结果,仍取决于电路板本身是否具备实际可布通性。如果您希望改善自动布线效果,并了解影响布线速度和质量的关键设置,本文将为您提供帮助。继续阅读,让下一块电路板的布局布线更高效。

- Situs 自动布线的基本工作原理,以及其拓扑映射方法为何能在布线路径选择上提供灵活性。
- 哪些电路板设置最影响自动布线的成功率,包括元件布局、禁布区、覆铜、预布线和可布通性。
- 应在 Altium Designer 中检查哪些布线规则和层设置,以提升自动布线的性能和效果。
使用 AI 深入了解:

印制电路板上的连接布线是一项复杂且耗时的工作。 对于大型或高密度电路板,布线可能会占用设计人员大量时间,而自动布线器可以为此提供帮助。

Altium Designer 的 Situs™ 自动布线器采用拓扑分析技术来映射电路板空间。与基于几何或形状的映射不同,这种技术不依赖于障碍物的形状或坐标。拓扑映射能够更灵活地确定布线路径,并且不限制布线方向。

Situs 这一名称源自 Situs Analysis,这是数学的一个分支,研究几何图形或立体中通常不受大小或形状变化影响的性质,如今通常称为拓扑学。

电路板自动布线

Situs 拓扑布线器以一种全新的方式应对自动布线挑战。它首先使用先进的拓扑映射来确定布线路径,然后调用多种经过验证的布线算法,将这种“类人”的路径转换为高质量的布线。作为 PCB 编辑器的组成部分,它遵循 PCB 电气规则和布线规则的定义。

电路板设置

虽然 Situs 的设置和运行都很简单,但要获得最佳布线效果,仍有一些注意事项需要了解。

元件布局

归根结底,元件布局对布线性能的影响最为显著。Altium Designer 的 PCB 编辑器提供了多种工具,例如动态优化的连接线,可用于微调元件布局。最佳的元件布局应使连接线尽可能短,并尽量减少交叉缠绕。

其他良好的设计实践包括:放置元件时,使其焊盘位于规则栅格上,以最大限度地增加焊盘之间可用于布线的空间;在双面板上,将尺寸相近的表面贴装元件放置在正反两面彼此正对的位置;以及查阅器件制造商的数据手册,了解去耦元件的布局指南。这并非完整的布局注意事项清单,只是一些建议。

禁布区

布线器需要一个由已放置的禁布对象构成的闭合边界。通常,该边界沿电路板边缘设置。放置的对象会遵循适用的间距规则,以确保与此边界保持适当距离,满足设计中的机械或电气间距要求。布线器还会遵循此外边界内的禁布区,以及特定层上的禁布区。

您可以使用“从板形创建直线/圆弧图元”对话框,创建沿电路板形状边缘的闭合边界。有关禁布区的更多信息,请参阅特定对象禁布区。

多边形覆铜

多边形覆铜可以是实心的(由一个或多个铜区域填充),也可以是网格状的(由走线和圆弧构成)。中大型网格状多边形覆铜包含大量走线和圆弧。虽然布线器可以对包含此类覆铜的电路板进行布线,但这些覆铜引入的大量对象会增加布线过程的复杂性。

通常,只有在确有需要时,才应在布线之前放置多边形覆铜。例如,用它来构建形状不规则的预布线,如市电输入布线或关键接地区域。否则,最好在布线完成后再向设计中添加多边形覆铜。

是否能够完成布线?

自动布线器是人们尝试理解布线过程、对其建模并自动复现该过程的成果。如果电路板上的某个区域无法手动布线,那么它也无法自动布线。如果布线器在某个元件或电路板的某个区域反复失败,您应尝试对其进行交互式布线。可能存在布局或规则配置问题,导致该处根本无法完成布线。

预布线

对关键网络进行预布线;如果必须确保这些布线在布线过程中不被更改,请启用 Situs 布线策略对话框中的 Lock All Pre-routes 选项来锁定它们。不过,应避免不必要的锁定;大量锁定对象会显著增加布线难度。

使用自动布线器之前,必须先对差分对网络进行手动布线并锁定。否则,布线很可能发生变化,从而影响差分对的信号完整性。

配置设计规则

术语 default rule 用于描述查询作用范围为 All 的规则。

如果某项规则包含最小值、首选值和最大值,自动布线器将使用首选值。

请确保布线设计规则适用于您采用的电路板工艺。针对性差或不合适的设计规则可能导致自动布线性能极差。请注意,除布线拐角规则外,布线器会遵循所有电气和布线设计规则。

规则在“PCB 规则和约束编辑器”对话框(Design » Rules)中定义,该对话框可直接从 Situs Routing Strategies 对话框访问。

如果某项规则包含最小值、首选值和最大值,自动布线器将使用首选值。

Altium Designer 的规则系统具有层次结构。其思路是先为所有对象设置一条默认规则,然后添加其他规则,有选择地应用于具有不同要求的对象。例如,应先设置一条默认的布线宽度规则,涵盖电路板上最常用的布线宽度,再添加后续规则,有选择地应用于其他网络、网络类等。

要检查规则是否应用于正确的对象,请将该规则的查询表达式复制到 PCB 筛选器面板中,并执行 Apply。应当只有该规则所针对的对象通过筛选,并保持正常亮度显示。或者,也可以使用 PCB 规则和违规面板,快速查看当前电路板上任意已定义规则的应用情况。

最重要的规则是宽度和间距规则。这些布线工艺设置决定了布线能够有多紧密。选择这些设置需要进行权衡:走线越宽、间距越大,电路板就越容易制造;而走线越窄、间距越小,电路板就越容易完成布线。建议咨询您的制造商,确定布线宽度和间距的“价格分界点”,低于这些数值会导致制造良率降低、PCB 价格提高。布线工艺除了要满足设计的电气要求,还应与元件技术相适应,确保每个引脚都能完成布线。

构成布线工艺的第三项规则是布线过孔样式。选择时也应使其与所用走线宽度和间距相匹配,同时考虑所选孔径和环宽带来的制造成本。

还应避免设置过多或不必要的规则——规则越多,处理时间越长,布线速度就越慢。自动布线不需要的规则可以禁用。

布线宽度

确保存在一个查询条件为 All 的线宽规则(默认规则),并且其首选值设置适合您最常用的布线宽度。确保该线宽与适当的间距规则配合使用时,能够连接到所有焊盘。对于需要更宽或更窄走线的网络,请配置额外的布线宽度规则。

如果细间距元件的某些引脚属于布线宽度较大的网络(例如电源网络),请尝试从一个电源引脚引出走线,并同时从其两侧的引脚引出走线,以确保这些引脚在物理上可以完成布线。

间距约束

检查是否存在特殊的间距要求,例如细间距元件的焊盘间距小于电路板的标准间距。可以使用适用范围和优先级设置恰当的设计规则来满足这些要求。请注意,虽然可以定义针对某个封装的规则,但该规则不会作用于连接到该封装的走线。如“布线宽度”部分所述,请通过试布线来确保元件引脚可以布线。

布线过孔样式

确保存在一个查询条件为 All 的布线过孔样式规则,并且首选值设置适当。对于需要使用不同于默认规则的过孔样式的网络,请添加优先级更高的规则。

Altium Designer 支持盲孔和埋孔,其使用时机由层叠管理器(Design » Layer Stack Manager)中定义的过孔类型所允许的换层方式决定。与交互式布线一样,自动布线器在两个层之间切换时,会检查当前的过孔类型定义;如果这两个层被定义为盲孔或埋孔层对,则所放置过孔的起始层和终止层就是这两个层。务必了解使用盲孔和埋孔的限制;只有在与制造商协商后才应使用它们。除了制造层叠工艺带来的限制,还需要考虑可靠性和测试可达性。一些设计人员认为,增加布线层数比使用盲孔和埋孔更好。

布线层

确保存在一个查询条件为 All 的布线层规则。其中会列出所有已启用的信号层(在层叠中定义)。根据需要,启用允许布线的层。对于希望仅在特定层上布线的网络,请添加优先级更高的规则。

如果希望自动布线器不对某个特定网络(或网络类)进行布线,请定义一个针对该网络或网络类的布线层规则,并在该规则的约束区域中,确保每个已启用信号层的 Allow Routing 选项均被禁用。该规则的优先级必须高于默认规则(查询条件为 All 的规则)。

层布线方向

首选布线方向在 Layer Directions 对话框中指定,可从 Situs 布线策略对话框打开该对话框。其中会列出所有已启用的信号层(在层叠中定义)。

请选择适当的层布线方向,以适应连接线的走向。Situs 使用拓扑映射来定义布线路径,因此不局限于水平和垂直布线。通常,最好将外层分别设置为水平和垂直方向。但是,如果多层板上存在大量呈“2 点钟”方向的连接,则应将一个或多个内层的首选布线方向设置为该方向。Layer Patterns 布线处理尤其会利用这些信息,选择正确的方向可以显著改善布线时间和质量。请注意,使用斜向布线层时,无需设置一个与其成 90 度的配对层,因为如果需要在斜向布线层上避开障碍物,布线器通常会采用水平或垂直走线。

避免使用 Any 方向。布线器会根据连接走向与层布线方向的吻合程度,选择用于布设该连接的层,因此这种层会成为最后才考虑使用的层。Any 方向通常仅用于单面板。

Layer Directions 对话框
Layer Directions 对话框

布线优先级

使用布线优先级规则,为难以布线的网络或希望布线最整洁的网络设置更高的优先级。

SMD 扇出控制

查询系统包含专门针对不同表面贴装元件封装的关键字,包括 IsLCC(无引线芯片载体)、IsSOIC(小外形集成电路)和 IsBGA(球栅阵列)。系统会自动为最常见的封装创建默认规则,而且由于扇出处理在自动布线过程的早期执行,保留不适用于任何元件的规则几乎不会带来额外开销。如果电路板上存在表面贴装元件,则应至少设置一条 SMD 扇出控制设计规则;对于针对所有表面贴装元件的单条规则,适用的查询条件为 IsSMTComponent。如需了解各个查询关键字如何识别元件封装,请打开查询助手,输入所需关键字,然后按 F1。

扇出规则包含用于控制焊盘向内扇出、向外扇出或同时采用两者的设置。为帮助熟悉扇出控制规则属性的行为,可以对任何尚未分配网络的表面贴装元件运行 Route » Fanout » Component 命令。除了用它检查元件在电路板当前定义的布线工艺下的扇出效果,还可以用它对元件进行扇出,并将其作为预扇出封装保存在库中。在 PCB 工作区中完成扇出后,将元件以及扇出走线和过孔复制并粘贴到库中。

规则优先级

规则的优先顺序或优先级由设计人员定义。当一个对象同时受多条规则约束时,规则优先级用于确定应应用哪条规则。如果优先级设置不正确,可能会发现某条规则完全未被应用。

例如,如果查询条件为 InNet('VCC') 的规则的优先级低于查询条件为 All 的规则,则 All 规则将应用于 VCC 网络。使用 PCB 规则与约束编辑器对话框中的 Priorities 按钮,可打开编辑规则优先级对话框,并根据需要调整优先级。请注意,当两个规则的作用范围不重叠(不针对相同对象)时,优先级并不重要。例如,以下两个规则作用范围中哪一个优先级更高并无区别:InNet('VCC') 或 InNet('GND')。

黄金法则

最重要的步骤是在启动自动布线器之前执行设计规则检查 (DRC)。使用 Route » Auto Route » Setup 或 Route » Auto Route » All 命令时,Situs 会自行执行布线前分析,并在 Situs 布线策略对话框中以报告形式显示结果。 在该对话框中,您可以查看设计的 报告,并选择布线时使用的策略。布线策略是布线器的智能核心,它定义了应使用哪些布线算法以及何时使用, 以便将拓扑图中识别出的“虚拟”布线路径 转化为电路板上高质量、高效率的实际布线。

启动自动布线器之前,请确保布线设置报告中没有问题。启动自动布线器之前,请确保布线设置报告中没有问题。

报告提供的信息包括:

  • 当前为设计定义的、自动布线器将遵循的设计规则(以及每条规则影响的设计对象数量,包括网络、元件和焊盘)
  • 为所有信号布线层定义的布线方向
  • 钻孔层对定义

报告列出了可能影响布线器性能的潜在问题。在可能的情况下,还会提供提示,帮助您更好地做好设计的自动布线准备。在开始对设计进行布线之前,应仔细检查列出的所有错误、警告和提示,并根据需要调整相应的布线规则。

检查所有错误、警告和提示,了解自动布线器将面临哪些潜在问题。检查所有错误、警告和提示,了解自动布线器将面临哪些潜在问题。

在启动自动布线器之前,必须解决所有与布线相关的规则违规问题。违规不仅可能导致违规位置无法布线,还可能使布线器不断尝试在无法布线的区域进行布线,从而大幅降低布线速度。

运行 Situs 自动布线器的注意事项

  • 自动布线器命令位于 Route » Auto Route 子菜单中。
  • Route » Auto Route » All 和 Route » Auto Route » Setup 命令都会打开 Situs 布线策略对话框,区别在于,选择 All 时,对话框中会包含一个 Route All 按钮。
  • 不要害怕尝试。如果结果不理想,可以采取一些措施来改变布线器的布线方式。例如,添加中间清理和拉直处理轮次、增大密集区域周围的空间,或更改层布线方向。
  • 在尝试使用布线器时,例如创建自己的策略来控制各处理轮次的顺序、使用过孔控制选项更改过孔数量、更改布线层方向、限制布线器仅进行正交布线等,请记录您尝试过的各种组合。这样,您就能找出最适合您设计的配置,并重复使用。
  • 先单独运行扇出处理轮次,并评估其质量。您可能需要对存在问题的区域进行手动扇出。
  • 使用 Route » Auto Route 子菜单中的以下命令执行特定的自动布线操作:

    • Net - 对指定网络中的所有连接进行布线。 启动该命令后,自动布线器将初始化,光标将变为十字光标。将光标置于要布线的网络中的任意连接线(或焊盘)上,然后单击 或按 Enter。自动布线器将尝试使用 Main 布线策略,对该网络中的所有连接进行自动布线。
    • Net Class - 对指定网络类中的所有连接进行布线。启动该命令后,将打开 Choose Net Classes to Route 对话框。选择一个或多个要使用自动布线器进行布线的网络类,然后单击 OK,自动布线器将尝试使用 Main 布线策略,对所选网络类中所有网络的所有连接进行自动布线。

      Choose Net Class to Route 对话框
      Choose Net Class to Route 对话框

    • Connection - 对当前设计中指定的焊盘到焊盘连接进行布线。
    • Area - 对完全包含在指定区域内(起点和终点均在区域内)的所有连接进行布线。 启动该命令后,自动布线器将初始化,光标将变为十字光标。定位光标,然后单击以确定布线区域的第一个角点。移动光标以设置布线区域的大小,然后单击以确定第二个角点。自动布线器将尝试使用 Main 布线策略,对起点和终点均位于指定区域内的所有连接进行自动布线。
    • Room - 对完全位于所选 Room 边界内的所有连接进行布线。启动该命令后,自动布线器将初始化,光标将变为十字光标。将光标置于要布线的 Room 上,然后单击 或按 Enter。自动布线器将尝试使用 Main 布线策略,对完全位于该 Room 边界内的所有连接进行自动布线。

      要对完全位于光标所在 Room 边界内的所有连接进行布线, 可以 右键单击该 Room,然后从快捷菜单中选择 Room Actions » Autoroute Room 命令。 启动该命令后,自动布线器将尝试使用 Main 布线策略,对完全位于该 Room 边界内的所有连接进行自动布线。

    • Component - 对从指定元件焊盘引出的所有连接进行布线。 启动该命令后,自动布线器将初始化,光标将变为十字光标。将光标置于要布线的元件上,然后单击 或按 Enter。自动布线器将尝试使用 Main 布线策略,对从所选元件焊盘引出的所有连接进行自动布线,每条连接均布线至遇到的下一个焊盘。

      要对从光标所在元件的焊盘引出的所有连接进行布线,可以右键单击 该 元件,然后从快捷菜单中选择 Component Actions » Autoroute Component 命令。

    • Component Class - 对从指定元件类中各元件焊盘引出的所有连接进行布线。启动该命令后,将打开 Choose Component Classes to Route 对话框。选择一个或多个要使用自动布线器进行布线的元件类,指定 Connections Routing Mode ,然后 单击 OK ,自动布线器将尝试使用 Main 布线策略,对从所选元件类中所有元件焊盘引出的所有连接进行自动布线。

      Choose Component Class to Route 对话框
      Choose Component Class to Route 对话框

    • Connections On Selected Components - 对设计空间中当前所选元件焊盘引出的所有连接进行布线。 启动该命令后,自动布线器将尝试使用 Main 布线策略,对所选元件焊盘引出的所有连接进行自动布线,每条连接均布线至遇到的下一个焊盘。
    • Connections Between Selected Components - 对设计空间中当前所选元件之间的所有连接进行布线。 启动该命令后,自动布线器将尝试使用 Main 布线策略,对所选元件焊盘之间的所有连接进行自动布线。
  • 使用 Route » Auto Route 子菜单中的以下命令控制自动布线过程:
    • Stop - 在当前布线轮次完成后终止自动布线过程。 自动布线器将停止,不再对电路板进行后续布线。板上已完成的布线将予以保留。
    • Reset - 重置自动布线器,即在自动布线器尝试布线之前,初始化其所需的内存。在对整板布线时,此命令可让您即时修改现有布线策略,或切换到其他布线策略。 启动该命令后,将打开 Situs Routing Strategies 对话框。使用该对话框修改当前布线策略(如果允许),或切换到其他策略,然后单击 Route All 按钮。自动布线器将根据修改后的策略或新策略进行布线初始化。
    • Pause - 暂停当前的自动布线操作。启动该命令后,自动布线器的运行将暂时停止。要继续布线,请再次运行此命令(此时显示为 Route » Auto Route » Resume 命令)。

布线轮次和布线策略概述

当前定义的布线策略列在 Situs Routing Strategies 对话框的下方区域中。单击 Add 按钮可打开 Situs Strategy Editor 对话框,在其中指定新策略要包含的布线轮次。也可以使用 Duplicate 按钮复制现有策略,然后根据需要进行编辑。 所包含的各种布线轮次及其执行顺序,构成了自动布线器的“智能”。这些轮次用于将拓扑图中确定的虚拟布线路径转化为电路板上的高质量布线。

已定义的布线策略及其包含的布线轮次,仅在对整板布线时应用。

编辑复制策略的示例。
编辑复制策略的示例。

用户定义的策略可以随时编辑,但默认策略(Cleanup、Default 2 Layer Board、Default 2 Layer With Edge Connectors、Default Multi Layer Board、General Orthogonal、Via Miser)无法修改。

可用的布线步骤如下。这些步骤可以按任意顺序使用。您可以查看现有策略中的步骤顺序,作为参考。

步骤 功能
相邻存储器 连接级布线步骤。用于以简单的 U 形图案,对需要扇出的相邻同网络引脚进行布线。
优化焊盘引出 连接级布线步骤。从每个焊盘的中心沿其长轴方向重新引出走线。如果元件的焊盘在 X 和 Y 方向上的尺寸不同,请务必在“存储器”步骤之后添加“优化焊盘引出”步骤。
完成 连接级布线步骤。它与“主布线”步骤基本相同,但采用不同的代价设置,以解决冲突并完成难以布通的连接。例如,过孔的代价更低,而逆首选方向布线的代价更高。
扇出至信号层 元件级步骤,基于“扇出控制”中定义的扇出设置。它会检查焊盘的排列方式,综合考虑间距、布线宽度和过孔样式,然后选择合适的扇出布局(直列、交错等),以满足设计规则中定义的要求。仅扇出至信号层。
扇出至平面层 元件级步骤,基于“扇出控制”中定义的扇出设置。它会检查焊盘的排列方式,综合考虑间距、布线宽度和过孔样式,然后选择合适的扇出布局(直列、交错等),以满足设计规则中定义的要求。仅扇出至内电层。
全局优化主布线 连接级布线步骤,用于实现最优布线。第一次迭代时忽略冲突和违规,然后提高冲突代价并重新布线,直到不再有违规。此步骤与启用的“正交”选项配合使用,可以生成美观的布线图案。在策略中添加“拐角修整”步骤,可将拐角处理为斜接形式。
紧贴 连接级布线步骤,以允许的最小间距沿现有走线重新布置每个连接。“紧贴”步骤用于最大限度地释放布线空间。请注意,此步骤的执行速度很慢。
层方向布线 连接级布线步骤。仅对符合层布线方向(在容差范围内)的连接进行布线。其代价设置倾向于紧贴或沿着现有走线布线,以最大限度地释放空间。
主布线 连接级布线步骤。使用拓扑图寻找布线路径,然后使用推挤布线器将建议路径转换为实际走线。每个布线策略只能指定一种主布线步骤,即“主布线”“多层主布线”或“全局优化主布线”。
存储器 连接级布线步骤。检查位于同一层、属于不同元件且 X 或 Y 坐标相同的两个引脚。
多层主布线 连接级布线步骤。与“主布线”步骤类似,但其代价设置针对多层板进行了优化。
拐角修整 连接级布线步骤,用于将走线拐角处理为斜接形式。当策略启用了“正交”选项时使用此步骤,它实际上会覆盖该选项,对每条走线的拐角进行斜接处理。如果所用策略禁用了“正交”选项,则无需添加“拐角修整”步骤,因为自动布线器默认会对拐角进行斜接处理。
展开 连接级布线步骤,重新布置每个连接,尝试展开走线以利用空闲空间,并在走线穿过固定对象(如元件焊盘)之间时使其保持等间距。请注意,此步骤的执行速度很慢。
拉直 连接级布线步骤,尝试减少拐角数量。它会沿走线前进至拐角处,然后从该拐角沿水平、垂直、45° 向上或 45° 向下的方向进行探测,寻找该网络上的另一个已布线点。如果找到,则检查这条新路径是否能缩短走线长度。

另请参阅

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Contents
功能可用性

您可使用的功能取决于您所采用的 Altium 解决方案——Altium Develop、Altium Agile Teams、Altium Agile Enterprise,或 Altium Designer(在有效订阅期内)。

如果您在实际软件中未看到文档中介绍的某项功能, 请联系 Altium Sales 了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Contents