创建 xSignal
概览
- 了解在 Altium Designer 中创建 xSignals 的各种方法,从手动选择焊盘到使用 xSignals 多芯片向导。
- 理解向导如何分析源元件、网络、目标元件及可能的路径,包括经过串联无源元件和分支的路径。
- 了解如何将 xSignals 组织为类,并在需要时以此为基础设置等长调谐规则。
xSignal 是由设计人员定义的两个节点之间的信号路径; 这两个节点可以位于同一网络中, 也可以位于不同网络中。
可使用 以下方法定义 xSignal:
- 使用 xSignals Multi-Chip Wizard。 这是创建 xSignal 最常用的方法,下文将对此进行介绍。
此外,还可以先选择相关对象,再选择相应命令,具体方法如下:
-
根据选定的焊盘创建单个 xSignal。选择所需的起始焊盘和终止焊盘(如果存在串联端接元件,这些焊盘可以位于不同网络中)。可以直接在设计空间中选择焊盘,也可以在 Nets 模式下使用 PCB 面板查找并选择焊盘(如下图所示)。选中焊盘后,在设计空间中右键单击选定的焊盘, 然后 执行 xSignals » Create xSignal from Selected Pins 命令;也可以在 PCB 面板中右键单击其中一个选定的焊盘,然后执行 Create xSignal 命令。新建的 xSignal 将列在 PCB 面板的 xSignals 模式中。
- 选择源元件,然后右键单击该元件,并从上下文菜单中选择 xSignal » Create xSignals between Components 命令。此时将打开 Create xSignals Between Components 对话框,其中已选中指定的源元件。下文将介绍该对话框。
- 在设计空间中选择一个或多个串联元件, 然后右键单击其中一个选定的元件,并从上下文菜单中选择 xSignal » Create xSignals from Connected Nets 命令。此时将打开 Create xSignals From Connected Nets 对话框,其中已选中指定的源元件及与该元件相连的网络。下文将介绍该对话框。
- 有时可能需要在现有 xSignal 内创建一个 xSignal,此时可以使用 PCB 面板的 xSignal 模式。确保已启用面板顶部的 Select 选项,找到当前 xSignal,在面板的 xSignal Primitives 部分选择所需的焊盘,然后在设计空间中右键单击其中一个选定的焊盘,并使用本列表第 2 步中介绍的方法完成操作。

在面板的 Nets 模式下选择两个焊盘,右键单击其中一个选定的焊盘,然后选择 Create xSignal。请注意,这两个焊盘位于不同的网络中。
xSignals 多芯片向导
xSignals Multi-Chip Wizard 用于在单个源元件和多个目标元件之间创建 xSignal。Wizard 采用以元件为导向的方法来识别潜在的 xSignal:选择单个源元件、相关网络和目标元件后, Wizard 会分析从源元件到目标元件的所有潜在路径,包括经过串联无源元件以及沿各个分支延伸的路径。随后,您可以根据设计需要选择要生成的 xSignal, 并可按需创建等长设计规则。Wizard 还 可用于为多种常见接口和存储器电路自动创建 xSignal 和 xSignal 类。
该向导还支持多轮操作:从最初在 xSignal Routes 页面上创建的 xSignal 总集合中, 您可以选择一个子集,为其定义类和规则,然后返回总集合,选择另一个子集并为其定义类和规则,以此类推。
Wizard 的一大优势是能够在 Wizard 与 PCB 编辑器之间轻松交互。在向导的任意页面上单击某个 xSignal,PCB 上对应的焊盘和所有布线都会高亮显示。
目前,该向导不支持自动添加 T 形结点标识符,这些标识符通常也称为连接点或分支点。如果设计中包含分支布线,建议您:
- 如果存在无源元件(例如串联端接电阻),则调整从源元件到该无源元件的布线长度。
- 调整各分支中从 T 形结点到目标元件的布线长度。
- 如有需要,调整无源元件与 T 形结点之间的剩余布线长度(如果没有无源元件,则从源元件开始调整)。
要打开 xSignals Multi-Chip Wizard,请从主菜单中选择 Design » xSignals » Run xSignals Wizard 命令,或在 PCB 布局中右键单击,然后选择 xSignals » Run xSignals Wizard。此时将显示向导的起始页面。

向导的起始页面xSignals Multi-Chip Wizard
xSignals 多芯片向导模式
在 Wizard 的第二页,系统会要求您选择 Custom Multi-Component Interconnect、On-Board DDR3 / DDR4 或 USB 3.0。Custom Multi-Component Interconnect 模式用于在选定的源元件与多个目标元件之间定义多个 xSignal,而 On-Board DDR3 / DDR4 模式用于为 DDR3 或 DDR4 存储器创建 xSignal。USB 3.0 模式用于为每个 USB 3.0 通道创建 xSignal、xSignal 类和等长规则。请选择适合您需求的模式。
自定义多元件互连模式
在此模式下,可使用向导在选定的源元件与多个目标元件之间定义多个 xSignal。向导采用面向元件的方法来识别潜在的 xSignal:您选择一个源元件、所需网络以及目标元件后,向导会分析从源元件到目标元件的所有潜在路径,包括经过串联无源元件以及沿各个分支延伸的路径。随后,您可以选择要生成的 xSignal。除了为元件间的多个网络定义端到端 xSignal 外,向导还允许您为这些端到端信号的各个区段创建 xSignal(从源输出引脚到串联端接元件,以及从串联端接元件到目标输入引脚)。根据您启用的设置,向导还可以创建 xSignal 类,以及针对这些 xSignal 的网络长度匹配设计规则。完成向导后,即可开始长度调谐。
向导的配置分为多个页面。页面数量取决于电路配置。例如,如果存在串联端接元件,就会出现额外的页面。下面介绍各页面的配置。
选择源元件
使用此页面选择一个源元件。可使用表格顶部的 Filter 和 Min Pin Count 字段来查找所需元件。支持 * 和 ? 通配符。
选择源网络
选择与所选源元件连接的所需网络。可使用表格顶部的 Filter 和 Label 字段来 查找所需网络。只有连接到所列网络的引脚才会成为信号路径的起点。
选择目标元件
选择所需的目标元件。可使用表格顶部的元件 Filter 和 Min Pin Count 字段来 查找所需元件。
xSignal 路径
此向导页面列出了从各个 Source Pin 到各个 Destination Pin 的建议 xSignal。单击某个条目,即可在 PCB 上高亮显示对应的 xSignal。
分析网络路径并识别出潜在的 xSignal 后,向导会尝试缩小结果范围,仅列出您可能 感兴趣的组合。这些就是端到端 xSignal;上图显示了它们在向导前几页所选的源元件和目标元件之间的连接。图中还显示,向导已在每条路径中检测到串联端接元件 RA1。RA1 实际上是一个包含四个电阻的排阻。在这种情况下,向导会自动创建逻辑关联,假定每个电阻都横跨排阻,将连接到元件上相对引脚的网络配对。
由于每个电阻的引脚彼此相对这一假设并非始终正确,您可以使用 Dest Pin 列中的下拉列表,选择任何其他可用的出线网络。或者,启用表格顶部的 Show all alternative paths 选项,以显示可用于生成 xSignal 的所有潜在网络组合。对于要创建 xSignal 的每一行,勾选其复选框。已启用的 xSignal 将添加到本页底部 Include created xSignals into class 字段所显示的类中。请输入新名称,或从下拉列表中选择一个名称。
xSignal 长度调谐
此页面用于为已启用的 xSignal 自动创建长度匹配设计规则。对于希望由此新设计规则约束的 xSignal,请启用 only。如果您的设计需要多条具有不同要求的规则,在后续流程中,您还可以为尚未定义规则的 xSignal 定义其他规则。此初始阶段同样会显示完整的端到端 xSignal。在后续向导页面中,您将有机会为 xSignal 内的各个区段定义设计规则,例如从输出引脚到串联端接电阻的区段。
如果不想调谐 xSignal 的长度,请启用 No, I don't want to tune the length of my xSignals。启用此选项后,本页上的其他选项均不可用。要编辑和访问其他选项,请启用 Yes, I want checked xSignals to have the same routed length。
xSignals Class Base Name 字段用于为当前选定的 xSignal 定义名称。请输入一个有意义的名称,同时考虑到您可能会对其他 xSignal 重复此过程。随后,这组 xSignal 将由一条设计规则进行约束,该规则采用您在 Matched Lengths Rule Base Name 字段中输入的名称,并使用指定的 Length Tolerance。
源端到无源元件的长度调谐
如果所选网络集合中包含串联端接元件,向导会显示额外的页面,让您为这些网络区段创建额外的 xSignal 和设计规则。上图中,此向导页面用于为选定的、从源引脚延伸到端接元件的 xSignal 创建长度匹配设计规则。如果需要为这些区段创建 xSignal、xSignal 类或设计规则,请启用 Yes, I want these segments to have the same length for next xSignals 选项,启用所需的 xSignal,并定义 xSignals Class Base Name、Matched Lengths Rule Base Name 和 Length Tolerance。系统将创建额外的 xSignal,以供此长度匹配规则使用。
无源元件到目标端的长度调谐
此页面用于为选定的、从端接元件延伸到目标引脚的 xSignal 创建长度匹配设计规则。如果需要,请启用 Yes, I want these segments to have the same length for next xSignals 选项,启用所需的 xSignal,并定义 xSignals Class Base Name、Matched Lengths Rule Base Name 和 Length Tolerance。系统将创建额外的 xSignal,以供此长度匹配规则使用。
报告并继续
此向导页面将详细列出即将创建的 xSignal 数量和设计规则数量。
在页面底部,您可以选择:
- Continue length tuning for created signals – 如果您在之前的页面中禁用了某些 xSignal,现在需要继续为这些 xSignal 定义其他规则,请选择此项。
- Restart wizard for the same source component – 如果您想放弃这些设置,并在保留所选元件和网络的情况下重新启动向导,请选择此项。
- Finish wizard – 如果您已完成此源元件的 xSignal 和设计规则创建,请选择此项。
这些 xSignal 已可进行长度调谐。要开始调谐,请从主 Route 菜单或 Active Bar 中选择 Interactive Length Tuning 选项(
)。
板载 DDR3 / DDR4
在此模式下,向导将自动为板载 DDR3/DDR4 创建 xSignal、xSignal 类、匹配长度组、差分对长度匹配规则和 Fly-By 拓扑。向导假定将采用 Fly-By 布线拓扑。
选择源元件
在此页面中,Wizard 根据位号前缀和引脚数量识别所有可能的源元件和目标元件。使用 Controller/Memory Devices 字段筛选元件/存储器件,并根据需要,使用向上/向下箭头为 Source Component 和 Target Components 设置 Min Pin Count。然后选择一个源元件及目标元件。
地址组
此页面的功能如下:
-
Fly-By Topology 和 T-Branch Topology 选项均受支持。从下拉列表中选择所需的拓扑。
- 如果选择 Fly-By Topology,目标器件将按 Fly-By 布线的点到点顺序列出。软件将尝试自动确定顺序。如果在元件布局之前运行向导,则需要使用下拉控件手动设置点到点顺序。
- 如果选择 T-Branch Topology(如上所示),则一半目标器件会显示在源器件之前,另一半显示在源器件之后。使用下拉控件按需排列目标元件。
-
Define xSignal Class Name Syntax:
-
初始默认值为
ADDR_PP[#] -
[#]表示存储器件的数量。 -
如有需要,可以更改
PP后缀。
-
初始默认值为
-
向导会分析元件,并在设计中查找这些后缀,然后使用下文详述的方法显示完整的名称格式。如果不正确,请进行更新。
- 此处的目的是自动查找与这些功能对应的网络。找到网络后,会将命名格式填入字段中。
-
随后会检查元件之间的网络,找到后缀后,再识别前缀。例如,向导会查找
_A[#]以定位地址线。 - 如果未找到后缀以“_”开头的网络,则仅查找“_”后面的文本。同时还会检查其他分隔符,例如“-”或“.”。
- 如果无法自动确定格式,则必须手动定义这些字段。使用下拉列表从电路板上的现有网络中进行选择。
- 定义顺序和命名格式后,单击 Analyze Syntax & Create xSignal Classes 按钮以构建 xSignal 列表。向导会根据格式及元件的连接方式生成 xSignal 类,并显示在对话框右侧的网格中。Classes Created 的数量将与存储器件的数量一致。
- 创建的类的数量(例如 4)以及每个类中 xSignal 网络的数量(例如 26)。
- xSignal 按类分组,每个 xSignal 类占一列。系统会为每个类创建一条长度匹配设计规则。表格中的子标题表示这些 xSignal 的源元件和目标元件。
- 如果自动生成的列表不完整或不正确,请单击 Modify Nets in xSignal Classes 按钮打开 Edit xSignal Class 对话框,手动向类中添加网络或从类中删除网络。请注意,如果随后再次单击 Analyze Syntax & Create xSignal Classes 按钮,手动更改将丢失。
识别数据组网络
最后一步是识别属于数据组的所有网络。
此页面的功能如下:
-
用户定义的 xSignal 类名称格式:
-
初始默认值为
DATA_BL[#] -
[#]表示字节通道的数量,该数量由数据线总数除以前面定义的数据总线宽度确定。 -
如有需要,可以更改
BL后缀。
-
初始默认值为
- 向导会分析元件,并在设计中查找这些后缀,然后显示完整的名称格式。如果不正确,请使用下拉列表进行更新。
- 定义命名格式后,单击 Analyze Syntax & Create xSignal Classes 按钮以构建 xSignal 列表。向导会根据格式及元件的连接方式生成 xSignal 类,并显示在对话框右侧的表格中。创建的类的数量将与连接到存储器件的字节通道数量一致。表格区域上方会显示创建的类的数量(例如 8)以及每个类中 xSignal 网络的数量(例如 11)。
- 系统会为这些 xSignal 类创建长度匹配设计规则。表格中的子标题表示字节通道 xSignal 的源元件和目标元件。
- 如果自动生成的列表不完整或不正确,请单击 Modify Nets in xSignal Classes 按钮打开 Edit xSignal Class 对话框,手动向类中添加网络或从类中删除网络。请注意,如果随后再次单击 Analyze Syntax & Create xSignal Classes 按钮,手动更改将丢失。
- 单击 Create Spreadsheet 按钮,为向导创建的 xSignal 生成 XLS 格式的电子表格。
创建的 xSignal 和 xSignal 类
向导会为以下对象自动创建 xSignal 和 xSignal 类:
- Address Group 页面中详述的地址 xSignal。
- Data Group 页面中详述的数据 xSignal。
USB 3.0
向导可以处理用户指定的每一对控制器与连接器之间的所有 USB 3.0 通道。向导会自动评估连接到控制器的差分对网络,检测其中延伸至连接器的网络。该路径可以包含无源元件和多个网络。向导使用一个 xSignal 类来标识每个差分对,并使用一个从控制器到连接器的 xSignal 来标识差分对的每条支路。
选择 USB 3.0 后,页面上将显示 Matched Length Tolerance Within Diff Pair 的设置项。请输入合适的值。此值用于向导创建的设计规则 ,并且可以随时在 PCB 规则与约束编辑器中更改。此类用户自定义设置会被保存,以供日后使用。
对于 USB 3.0,每个 USB 用户端口称为一个 channel。如图所示,每个通道包含三个差分对:发送、接收和数据。
选择源元件和目标元件
在此页面上,向导根据位号前缀和引脚数量 识别所有可能的源元件和目标连接器。
- 根据需要设置 Controller 位号、Connector 位号的筛选前缀,以及 Min Pin Count 的值。
- 选择一个源元件。
- 选择一个或多个目标元件。
通道定义差分对组
在此页面上,定义命名语法,供向导识别相关的发送、接收和数据差分对网络,并将其包含在 xSignal 中。随后,每对 xSignal 将被归入一个 xSignal 类 ,这些类用于定义等长设计规则的作用范围。
此页面的功能如下:
-
控制器的位号显示在 Components 标签旁边。旁边的下拉列表包含向导上一页中选择的所有 Connectors。
- 所显示的命名语法选项适用于下拉列表中的每个连接器。请依次选择各个连接器,并检查所选命名语法是否完整 且合适。
- 如前所述,对于 USB 3.0,每个 USB 用户端口称为一个 channel。通道数(Channels Total)可设置为 1 至 32。通常,每个连接器有一个通道。
-
每个 USB 3.0 通道内都有三条从控制器到连接器的差分对路径:发送、接收和数据。向导会为每个正端网络创建一个 xSignal,根据需要跨越串联元件,并为每个负端网络创建另一个 xSignal,然后创建一个 xSignal 类来表示该控制器到连接器的差分对。Define xSignal Class Name Syntax 组用于指定这些 xSignal 类的名称。如果尚未定义差分对,向导还会创建合适的差分对。
-
Define xSignal Class Name Syntax – 创建的 xSignal 类将按指定方式命名,其中的
[#]将替换为分配给每个通道的数值。根据需要输入所需的字符串。
-
Define xSignal Class Name Syntax – 创建的 xSignal 类将按指定方式命名,其中的
-
Channel <N> – 这些字段定义用于识别相关发送/接收/数据网络名称的掩码。
- 向导内置了大量预定义命名方案模板,会对其进行检查,通常 会自动填充这些字段。如果未自动填充,请从下拉列表中选择正确的名称 ,或输入合适的网络名称语法。
-
配置好命名字段后,单击 Analyze Nets & Create xSignal Classes 按钮。
-
向导将为所有通道创建 xSignal、xSignal 类和等长规则。请注意,每次重新运行向导时都会创建这些对象。如果计划再次运行向导,请先将其删除。
-
- 生成的 xSignal 类名称及其成员 xSignal 将详细列在表格中。
- 单击 Create Spreadsheet 按钮,生成 XLS 格式的电子表格,其中包含向导创建的 xSignal。
- 单击 Finish 完成向导。
在元件之间创建 xSignal 对话框
如果需要定义大量 xSignal,使用 Create xSignals Between Components 对话框会更加高效。通过 Design » xSignals » Create xSignals 命令可打开此对话框,其中显示源元件 和目标元件 ,并允许您在一次操作中创建一个或多个 xSignal。

使用此对话框可快速识别和创建多个 xSignal ,并将其添加到所需的 xSignal 类中。
操作步骤如下:
- 选择一个 Source Component。
- 选择一个或多个所需的 Destination Components。
- 选择所需的 Source Net(s)。当前连接到所选源元件的所有网络都会列出。对于属于特定类的网络,请从 Net Class 下拉列表中选择该类。
- 单击 Analyze 按钮。软件会针对所选网络,尝试识别所选源元件与目标元件之间可能存在的 xSignal。所有包含所选网络且连接所选源元件与目标元件的可能 xSignal 都将列在 xSignals 字段中。请注意,分析算法会遵循所选网络的当前拓扑结构,这会影响所推荐的 xSignal。
- 分析完成后,可能的 xSignal 将列在对话框下方区域中,且默认全部启用创建。请仔细检查推荐的 xSignal 列表,仅启用所需的条目。使用右键快捷菜单中的命令可切换多个条目的启用状态。
- 在对话框底部选择所需的 class,或输入名称以创建新类。如果未选择任何类,仍会创建 xSignal,之后可在 对象类浏览器 对话框(Design » Classes)中将其添加到任意 xSignal 类。 使用类可以大幅简化设计规则的创建和配置。
- 单击 OK 创建 xSignal。
对话框将关闭,您将返回 设计空间。新建的 xSignals 将列在 PCB 面板的 xSignals 模式中。
从相连网络创建 xSignals 对话框
如果要创建包含串联端接元件的 xSignals,使用 Create xSignals from connected nets 命令是一种不错的方法。选中元件后,即可通过主菜单中的 Design » xSignals 子菜单或右键菜单中的 xSignals 子菜单使用此命令。
此命令用于从选定的串联端接元件(例如电阻或电容)向外构建 xSignals。它支持一个或多个分立元件,也支持一个或多个多单元封装式元件,例如电阻网络。运行此命令后,将打开 Create xSignals From Connected Nets 对话框。

使用此对话框可创建跨越选定串联元件的 xSignals。在此示例中,系统提出了两个可能的 xSignals,但只会创建其中一个。
操作步骤如下:
- 选择一个 Source Component。
- 选择所需的 Source Net(s)。列表中将显示当前连接到所选源元件的所有网络。对于属于特定类的网络,请从 Net Class 下拉列表中选择该类。
- 单击 Analyze 按钮。软件将尝试识别所选源元件及其选定网络中可能存在的 xSignals。所有可能的 xSignals 都将列在 xSignals 字段中。
- 分析完成后,可能的 xSignals 将列在对话框下部,并且默认全部启用创建。请仔细检查建议的 xSignals 列表,仅启用所需的项。使用右键快捷菜单中的命令可切换多个条目的启用状态。
- 在对话框底部选择所需的 class,或输入名称以创建新类。如果未选择类,仍会创建 xSignals,您可以在 对象类资源管理器 对话框(Design » Classes)中将其添加到任意 xSignal 类。 使用类可以大大简化设计规则的创建和配置。
- 单击 OK 以创建 xSignals。
对话框将关闭,您将返回 设计空间。新建的 xSignals 将列在 PCB 面板的 xSignals 模式中。
网络拓扑的作用
定义 xSignal 时,定义的是两个节点或焊盘之间的信号。然而,在 PCB 面板的 xSignals 模式中选中该 xSignal 时,它实际上会沿着这两个焊盘之间的连接线路径显示, 表明软件假定 xSignal 将沿此路径布线。之所以如此,是因为它遵循为该网络定义的拓扑。网络拓扑由适用的 Routing Topology 设计规则定义; 默认拓扑为最短路径。
这个简单的动画展示了一个连接到四个 DDR3 存储器芯片的 CPU,该设计将采用菊花链(fly-by)布线策略。DRAM_A2 xSignal 类包含四个 xSignals。首先选中该类,然后依次选中每个 xSignal。您可以看到 xSignal 路径如何遵循网络拓扑,而当前拓扑设置为默认值—— 最短路径。

由于网络拓扑当前设置为最短路径,xSignals 并未遵循从处理器到存储器芯片的所需路径。
xSignal 创建命令
除了 Design » xSignals » Create xSignals 命令外,当满足特定条件时,xSignals 子菜单中还会提供其他 xSignal 创建命令。
下表概述了这些命令及其可用条件:
| 命令 | 说明 |
|---|---|
| Create xSignal from selected pins | 立即创建单个 xSignal。当设计空间中选中了两个或更多焊盘时,此命令可用;它与右键单击其中一个选定焊盘时显示的命令相同。 |
| Create xSignals between components | 当设计空间中选中了元件时,此命令可用。运行后,将打开 在元件之间创建 xSignals 对话框,并预先选中相应元件。确保已选择正确的源元件和目标元件,然后完成分析/创建过程。 启动该命令后,将打开 在元件之间创建 xSignals 对话框。按以下步骤使用此对话框创建 xSignals:
|
| Create xSignals from connected nets | 当需要针对一个或多个串联端接元件创建 xSignals 时,请使用此命令。选择端接元件,然后运行此命令以打开 从相连网络创建 xSignals 对话框,即可完成一组 xSignals 的创建过程。按以下步骤使用此对话框创建 xSignals:
|
| Create xSignals | 打开 在元件之间创建 xSignal 对话框。此命令始终可用。使用此对话框创建 xSignal 的步骤如下:
|
在平衡 T 型拓扑中定义分支点
平衡 T 型布线策略的挑战之一,是如何使主干以及 T 型分支点之后各分支的长度相等。网络中的可用节点仅位于焊盘处,因此无法分别为主干以及从分支点到各分支末端的路径定义独立的 xSignal。下图中的红点标出了分支点。
解决此问题的一种方法是在网络中添加一个单引脚元件。创建一个仅含单个焊盘的元件,焊盘尺寸与设计中使用的过孔尺寸相同。如果分支点元件的焊盘为单层焊盘,也可以将其放置在盲孔或埋孔的起始层或终止层上,与该过孔配合使用,从而使布线方式完全灵活。如果只想在 PCB 上包含分支点元件,请将分支点元件的 Type 设置为 Mechanical,以将其从 BOM 中排除,并避免与原理图产生同步问题。如果计划在原理图中包含分支点元件,则可将元件的 Type 设置为 Standard (no BOM)。

平衡 T 型布线可能需要对中间分支点之间的路径进行等长匹配。
由于分支点是网络中的一个节点,现在您可以根据需要,分别为主干、各主分支以及各次级分支定义 xSignal。随后即可使用这些 xSignal 来限定等长设计规则的作用范围,让设计人员完全掌控长度匹配的精细程度。

















