对PCB上的布线长度进行交互式调整
上级页面:High Speed Design
高速设计中布线的两大核心挑战是,如何控制布线阻抗和如何匹配关键网络长度。控制布线阻抗,可以确保离开输出引脚的信号能够被目标输入引脚正确接收。匹配布线长度,可以确保关键信号能够在同一时间到达目标引脚。调整和匹配走线长度对于差分对布线也很重要。
Interactive Length Tuning和Interactive Diff Pair Length Tuning命令(从Route菜单或使用Active Bar上的 按钮启动)提供了优化和控制网络长度或差分对长度的动态手段,以确保您可以根据设计中的可用空间、规则和障碍插入幅度可变的绕线模式。
有三种调整模式可供选择:Accordion、Trombone和Sawtooth。
长度调整属性可以基于设计规则、网络属性或您指定的值。可以通过Properties面板的Interactive Length Tuning模式,对这些绕线模式的控件进行访问——在长度调整过程中,按Tab键以在该模式下打开面板。
网络长度调整
长度调整功能的优势在于,其巧妙地将复杂的软件算法与直观的用户控件相结合。添加长度调整段时,仅需沿布线路径移动光标,并通过长度调整算法对构成调整段的各种线路和弧线的尺寸和位置进行自动计算和插入。在添加过程中,使用键盘快捷键控制调整段的样式和属性。
以下为交互式长度调整过程:
- 如果您想要根据规则进行长度调整,请对Matched Length和Length的设计规则进行配置。
- 从Route菜单(或者使用Active Bar上的 按钮),启动Interactive Length Tuning命令。
- 按Tab键,在Interactive Length Tuning模式下打开Properties面板,选中一种长度调整模式,然后单击设计空间暂停按钮覆盖( ),以恢复放置。
- 选中一条布线。您仅需在单击某个网络或差分对(或任何自由线或线路)后,沿布线路径滑动或移动光标。
以下章节将更详细地描述这些步骤。
设计规则的配置
在长度调整过程中,需要遵守两条设计规则,即Matched Length规则和Length规则,而这两条规则均在PCB Rules and Constraints Editor的High Speed类别中。这两条规则在设计中重要程度,将完全取决于潜在问题是否偏移(信号在不同时间到达——使用Matched Length规则)相关,还是与整体信号延迟相关(使用Length规则)。
匹配长度设计规则
Matched Length设计规则规定,所有目标网络均须在指定公差范围内(显示图片),以该组中最长网络的长度为限进行布线。目标网络集将按照规则范围或查询进行定义。
长度调整工具将在目标网络集内找到最长网络,并向您提供以下内容的有效范围和目标长度(Value):
TargetLength = Longest routed net in set
MinLimit = LongestNet - MatchedLength Rule Tolerance
MaxLimit = TargetLength
长度设计规则
Length 设计规则指定了网络或网络集的整体布线长度。目标网络长度不得超过指定的Minimum和Maximum长度(显示图片)。
长度调整工具将在目标网络集内找到最长网络,并向您提供以下内容的有效范围和目标长度(Value):
TargetLength = Longest routed net in set
MinLimit = Rule Minimum
MaxLimit = Rule Maximum
如何应用重叠规则
如果有相关Length规则和Matched Length规则,则长度调整工具将在考虑这两条规则的基础上,制定出最严格的约束集。
有效范围和目标长度(Value)将按照以下方法确定:
TargetLength = Longest routed net in set, or lowest MaxLimit from rules
MinLimit = (LongestNet - MatchedLength Rule Tolerance), or highest MinLimit from rules
MaxLimit = TargetLength
ValidRange = Highest MinLimit to Lowest MaxLimit
(Length和Matched Length规则的最严格组合)
例如,如果Length规则指定的最大长度小于按照Matched Length规则确定的最长现有布线长度,则将以Length规则为准,且在调整过程中将使用其较短长度。面板将显示每条规则的计算Min Limit和Max Limit,并据此检查目标长度是否符合预期。
在以上所示图片中,Length规则和Matched Length规则均适用于目标网络。请注意,最严格值来自Matched Net Length规则(公差为0.5毫米),而Max Limit值显示,目标网络集中最长网络的当前长度为46.836毫米(小于Length规则允许的最大值)。在此示例中,由于长度范围内的最严格允许公差为Matched Length规则中定义的公差(0.5毫米),因此该公差被用于计算ValidRange。目标长度始终为更严格最大长度。
调整模式的选择
请在启动Length Tuning命令后,在设计空间中单击布线进行长度调整前,按Tab键,打开Interactive Length Tuning模式下的Properties面板,其中Accordion、Trombone和Sawtooth按钮均可用。单击相应的按钮,以选择所需模式,然后单击设计空间暂停按钮覆盖( ),以恢复放置。
模式几何属性
Accordion模式几何属性
- Max Amplitude – 是指折叠段能够延伸的最大高度(从原始布线路径处测量)(可以小于此值,例如,为了避开现有障碍)。为了在输入数字时指定单位,请在数值后面加上后缀mm或mil。
- Space – 是指相邻手风琴折返路径中心线之间的距离。
- Miter – 是指当Style为Mitered Lines或Mitered Arcs时,调整模式转角的斜接百分比。
-
Style – 是指手风琴转角的样式,可以选择Mitered Lines、Mitered Arcs或Rounded。
Trombone模式几何属性
- Space – 相邻长号折返路径中心线之间的距离。
- Miter – 是指当Style为Mitered Lines或Mitered Arcs时,调整模式转角的斜接百分比。
-
Style – 是指长号转角的样式,可以选择Mitered Lines、Mitered Arcs或Rounded。
- Single Side – 创建绕线模式,以确保其仅从原始布线路径上向一个方向伸展。
Sawtooth模式几何属性
- Angle – 是指前后齿缘相对于被调整网络原始布线路径的坡度。
- Tooth Width – 是指齿顶宽度。
- Min Joint – 是指在创建第一个齿前放置的第一个共线线路段的最小长度。
- Min Height – 是指最小允许齿高。
- Actual Height – 是指在被调整原始布线路径中心线与齿顶线路段中心线之间测得的当前齿高。
- Single Side – 创建绕线模式,以确保其仅从原始布线路径上向一个方向伸展。
- Fixed Size – 将Sawtooth Height固定为当前高度,并防止创建非该尺寸的齿。
调整模式放置
当在Properties面板中选择了所需的调整模式后,单击设计空间中的布线,以开始对其进行长度调整。将光标沿布线向拟添加折叠段方向移动。将出现调整模式,并随着光标的移动而继续增长。以下动画显示了放置手风琴调整模式的示例。
在长度调整过程中,按Tab键打开Interactive Length Tuning模式下的Properties面板,并在该面板上即时更改所选调整模式的属性(目标长度和几何属性)。单击设计空间暂停按钮覆盖( ),以恢复放置。
目标长度的控制
有三种方法可用于指定目标长度,即:手动定义;基于已布线网络,或按照设计规则定义。
在Interactive Length Tuning模式下,Properties面板的Target部分包含可用于选中所需Target Length模式的选项。调整模式的形状和尺寸既可以通过该面板下半部分包含的选项进行定义,亦可以使用快捷键进行交互式控制。
- Manual – 将长度输入Value字段。将保留Recently Used Lengths,以备再次使用。
- From Net(调整网络时) / From Diff. Pairs(调整差分对时) – 从设计中的网络/差分对列表中,选择网络/差分对。
-
From Rules – 相关Length和Matched Length设计规则。然后,软件将按照这些规则的最严格组合运行。双击面板上列表中的一条规则,以详细检查其属性。如需了解关于在调整网络时如何应用Length和Matched Length设计规则的更多信息,请参阅设计规则的配置部分。
Value/Target Length字段将显示Interactive Length Tuning或Differential Pair Length Tuning命令拟通过添加被放置调整模式实现的整体长度。如果已启用Clip to Target选项,则调整模式长度将在达到目标长度后,被自动裁剪。
PCB面板的使用
当PCB面板被设置为Nets模式时,它将显示布线信号的当前长度。面板的默认模式为Name、Node Count、Routed长度和Un-Routed (Manhattan)长度。在面板列标题区域右键单击,以显示可供选中额外列的菜单,亦可以隐藏现有列。
如果配置了Length设计规则,则规则所针对的每个网络的布线状态同样将以彩色显示,且如果布线长度小于规则最小值,则以黄色高亮显示,如果网络符合规则,则为透明,而如果布线长度超过规则最大值,则以红色高亮显示。
Net Length Gauge的使用
如果定义了Length规则和/或Matched Length规则,则您可以在交互式布线和交互式长度调整过程中,通过显示Length Tuning Gauge进行长度监控。当您在布线或调整时,请使用快捷键Shift+G,切换Gauge的开关状态。
Gauge将以数字形式显示当前Routed Length,而红色/绿色滑块将显示Estimated Length。如果您正在对现有布线进行长度调整,则Estimated Length为所有已放置线路和弧线长度之和(实际物理长度)。如果您在对网络进行交互式布线时使用了Length Gauge,则Estimated Length为已放置布线长度与到目标焊盘的剩余距离(连接线长度)之和。
在交互式布线过程中,您可能疑惑地发现,Routed Length甚至尚未达到规则最小值,但Gauge滑块却在规则最小值与最大值之间——如下图所示。这是因为在交互式布线过程中,滑块表示Estimated Length,其中:
Estimated Length = Routed Length + distance to target (length of connection line)
Gauge按照如下方式运行:
- 一个定义Gauge轮廓的矩形框。
- 两个表示最小和最大允许长度的垂直黄色条带。如上所述,最小和最大长度将根据设计规则中定义的最严格约束进行确定。
- 一个显示网络当前Routed Length(在长度调整过程中),或Estimated Length(在交互式布线过程中)的红色或绿色滑块。如果当前长度由超出范围降至最小与最大允许长度之内,则滑块将从红色变为绿色。
- 当前Routed Length(已放置线路和弧线长度)将以数值形式显示在Gauge滑块上(例图中为62.781毫米)。
-
Gauge的矩形轮廓表示可能的总长度范围,其上下限含义取决于您所选择的目标长度模式。
- 如果模式为Manual或From Net,且没有相关Length规则,则滑块框的下限为当前网络的长度,而上限为指定的Max长度。
- 如果模式为Manual或From Net,且有相关Length规则,滑块框的下限将按规则或为当前布线长度(以较小者为准),而上限由用户定义。
- 如果模式为From Rule,且有相关Length规则、相关Matched Length规则或两者兼有,则滑块框的下限将按规则或为当前布线长度(以较小者为准),而滑块框的上限将按规则的MaxLimit确定。
Length Gauge示例
- Gauge最小值(Gauge左侧边缘)为45(最低MinLimit)
- Gauge最大值(Gauge右侧边缘)为48(最高MaxLimit)
- 左侧黄色条带(最高MinLimit)为46.58
- 右侧黄色条带(最低MaxLimit)为47.58(在上图中,被绿色条带遮挡)
- 绿色条带(TargetLength)为47.58(集合中最长网络的布线长度,等于MaxLimit)
- 绿色滑块和叠加数值(当前布线长度)为47.197。
在长度调整过程中进行模式几何特性控制
在交互式长度调整过程中,模式几何属性可以通过Properties面板或使用快捷键进行即时更改。在长度调整过程中,可用的快捷键包括:
为什么调整模式有时会消失?
调整引擎将根据当前几何设置创建调整模式。这些设置组合,以及当前线路宽度,可能导致调整引擎无法创建某种模式形状。如果您在进行长度调整时,模式未出现,请尝试以下步骤:
- 在操作过程中,将显示Properties面板,以确保您可以查看各种设置。在交互式长度调整过程中,它将自动显示Interactive Length Tuning模式。
- 对于Accordion和Trombone模式,按Spacebar以循环显示各种模式,并使其处于Mitered Lines模式。
- 对于Accordion和Trombone模式,多次按快捷键1,可将Miter减少到零。
- 对于Accordion和 Sawtooth模式,当您首次点击某条布线,以调整其长度时,将出现一个矩形选择框。如果它非常大(超出相邻布线一大段距离),请多按几次该键以减少振幅/高度。每按一次该键 ,振幅/高度即会按当前Step设置降低;Step设置的合理值为最大振幅/实际高度设置的约1/10。如果Step设置过大,请在键盘上按Tab键以暂停长度调整,输入一个合适的Step值,然后单击 按钮以恢复长度调整。
- 对于Accordion和Sawtooth模式,如果在您开始调整时,白色轮廓矩形太小,请按 键增加振幅/高度。
如果您按照上述步骤操作,则将在进行长度调整时看到矩形调整段。在您处理Accordion模式时,请记住这些额外要点。
- 调整引擎最容易创建的Style为Mitered Line accordions。
- 当使用Mitered Arcs样式时,当前Miter量也将与Amplitude和Space设置一同运行。如果使用了该Style,则您应在找到合适的Amplitude和Space值之前,使用较小的Miter量,然后将Miter逐步提高至所需量。
- 由于调整引擎创建半圆形末端的能力与当前Amplitude和Space设置密切相关,因此最难创建的形状为Rounded tuning accordions。通常可以在Amplitude > Radius + Route Width时,创建模式。
已放置调整模式的操作
为了修改某个已放置调整模式,请单击将其选中并显示编辑手柄。单击并拖动某个边缘或顶点,以调整模式边界区域的尺寸——模式部分将自动调整尺寸,以适应边界区域的最新形状。
可以使用Properties面板(当选中某个调整模式时,其将显示相关模式)。使用控件,更改已选中模式的属性。
也可以在交互式编辑过程中,使用快捷键。使用时,请单击并按住某个已选中调整模式。
已放置Accordion模式的重塑
下面是一段视频,演示了如何调整Accordion模式的尺寸。
当选中某个Accordion对象时,将显示其多边形铺铜轮廓,如以下动画所示。多边形铺铜轮廓的外部形状将由一系列边进行定义:其中每条边均在两端以端顶点表示,显示为白色实心方块(下图中A);中间为中心顶点,显示为白色空心方块(下图中B)。各端顶点表示两条边的交汇位置。
我们可以使用标准多边形铺铜形状编辑技术,对已选中Accordion模式的形状进行编辑,如以下动画所示。当对某个多边形铺铜对象进行编辑时,有三种编辑模式可用,即Slide/Miter、Incurvate(弧线)和Move。可以通过在拖动顶点或边缘时,按Shift+Spacebar键在三种模式中循环切换当前模式。关于光标在电路板上的位置以及当前活动编辑模式的反馈,均可以在Status栏和Heads-Up Display中查看。
已放置Accordion模式的旋转
当您对多个网络的长度进行调整时,可能难以适应额外调整模式。如果您使用的是Accordion模式,则可以将其旋转,以便将其置于障碍之间,或者增加额外模式。以下视频演示了如何旋转某个已放置Accordion模式。
为了旋转某个已选中Accordion模式,请按住Ctrl键,然后:
- 单击并拖动Accordion选择框的任何一端,使其围绕Accordion的另一端旋转。
- 单击并拖动Accordion选择框的任何一边,使其围绕Accordion的中心旋转。
- 在旋转过程中,按R键可以切换(开/关)旋转,以45度增量启停。
已放置Trombone和Sawtooth模式的操作
对于Trombone和Sawtooth模式,模式构建所在多边形铺铜区域将位于可被认为套筒的包络中。单击以选中某个已放置模式并显示套筒。
根据您在套筒上单击和按住的位置,有许多不同移动和尺寸变化行为可供使用。您可以单击和拖动三个区域,如上图所示。
- 单击并拖动Zone 1或2,以延长或拓宽模式。请注意,无需单击手柄以调整模式尺寸;可以在套筒边缘沿线任何位置使用。
- 单击并拖动Zone 3,以沿着或垂直于原始布线路径自由移动模式。
- 在Properties面板中,编辑所选模式的属性。
可以在点击和拖动过程中,使用快捷键Shift和Ctrl,以下列方式修改行为:
- 按Shift键,并在Zone 1或3单击并拖动,使模式沿着原始布线路径滑动,并保持模式在布线路径上的侧向分布。
- 按Ctrl键,并在Zone 2或3单击并拖动,使模式垂直于原始布线路径移动。
已放置调整模式所在层的更改
对于在设计空间中选中的已放置调整模式的Properties面板,其在Properties区域内含有Layer下拉菜单。可以使用该下拉菜单,快速更改放置调整模式的信号层。
请注意,您可以选择多个布线对象(调整模式、线路、弧线),并通过一次操作即可改变其信号层。了解关于Strategies for Selecting the Routing的更多。
差分对的长度调整
我们还可以使用Interactive Differential Pair Length Tuning调整命令(Route菜单),参考其他差分对的长度来调整某个差分对的长度。类似于差分对布线,该命令将对差分对内的两个网络同时实施。
如果您想要对差分对进行长度调整,请创建以下适用于差分对集的规则:
- 定义匹配长度规则的对间长度匹配要求。为了配置该规则,以参考某个差分对长度对另一个差分对的长度进行测试,请启用Group Matched Lengths选项。
- 定义对内长度匹配要求的第二条更高优先级匹配长度规则。为了配置此规则,以参考一个差分对成员的长度对另一个差分对成员的长度进行测试,请启用Within Differential Pair Length选项。
调整差分对长度时,最好:
- 对差分对进行布线。
- 首先使用Interactive Differential Pair Length Tuning命令,在差分对之间进行长度调整。进行长度调整时,应将最长差分对内的最长信号长度作为Target Length,并以此长度为限调整差分对内的最长网络。
- 然后,使用Interactive Length Tuning命令,参考差分对内其他网络,对各差分对内的较短网络进行长度调整。
- 此时,您可以使用PCB Rules and Violations面板,检查差分对内Matched Net Length规则。为此,请在面板的Rule Classes部分选中Matched Net Lengths,然后右键单击所需的Matched Length规则,并在上下文菜单中选中Run DRC Rule <RuleName>命令。必要时,请调整单一网络调整手风琴。
- 然后,使用PCB Rules and Violations面板,按照以上流程,检查对间Matched Net Length规则。必要时话,调整差分对调整手风琴。
网络和差分对信息
Properties面板的Net Information或Differential Pair Information区域详细说明了当前正在进行长度调整的网络/差分对(或者,对于在设计空间中选中的已放置调整模式,已进行长度调整的网络/差分对)。
网络信息 | |
Net Name | 是指所选网络名称。 |
Net Class | 是指网络所属类(如可用)。 |
Total |
|
Selected |
|
差分对信息 | |
Name |
差分对名称。 |
Class Name | 差分对所属类(如可用)。 |
将调整模式转换为基元
长度调整模式是一种集合型组对象——由基元线路和/或弧线段组成。类似于元件、坐标、尺寸和多边形铺铜等其他组对象,长度调整模式也可以进行分解。换言之,可将其转换为其无成分基元,然后对基元进行单独修改。修改时,可通过Tools » Convert子菜单,使用Explode Length Tuning to Free Primitives命令,或者双击Unions子菜单。请注意,在PCB编辑器中对任何对象进行分解是一种单向流程,对象一旦被分解,即无法转换回该对象的原始类型。
另见
- 布线
- 交互式布线
- 差分对布线
- 受控阻抗布线
- 布线的修改
- High Speed Design
- 信号完整性讲师和行业专家Eric Bogatin的网站 http://www.bethesignal.com/
- 高速设计讲师和行业专家 Howard Johnson博士的网站 http://www.signalintegrity.com/
- 高速PCB设计讲师和专家 Lee Ritchey的网站 http://www.speedingedge.com/