第 16 章 规则

随着设计复杂度的增加,您可以使用设计规则来控制各种设计对象之间的交互。使用设计规则可以指定焊盘、铜箔和走线等设计对象之间的间隙。您还可以为网络、网络组、类和差分对指定设计规则。使用规则报告可以检查您的设置。您还可以在原理图和 PCB 设计之间导入和导出规则。

规则设置

设计规则允许您为设计分配通用的布线约束,例如走线宽度和间距。网表中的选项允许您将已建立的设计规则以及连接性和元件信息传递到 SailWind Layout。

要访问和检查设计规则设置,请单击设置 > 设计规则菜单项。

规则类别

设计规则分为三类:

  • 设置间隙规则——指定设计中各种对象类型之间允许的最小气隙;走线到走线、通孔到走线等。
  • 布线规则——分配或禁止通孔类型、指定长度最小化类型,或允许或禁止布线。
  • 设置高速规则——指定高级设计规则的最小和最大参数,例如并行性、延迟、电容等。

每个类别的信息都在单独的对话框中输入和编辑,您可以通过设置菜单中的设计规则命令访问该对话框。

设置安全间距

使用“间隙规则”对话框定义对象之间允许的间距。导入对象时,在线 DRC 和验证设计程序会使用这些规则检查并报告间隙违规情况。

TIP

您可以使用“设置条件规则”对话框将间隙配置保存为一个集合,以便仅当所选项目与第 305 页上的层次结构顺序的不同级别接触时才应用于所选项目。

🏃‍♂️‍步骤

  1. 单击“设置 > 设计规则菜单项,单击规则层次结构,然后单击安全间距按钮。

  2. 在“同一网络”区域中,定义同一网络中项目之间的边到边间隙值:

    • 要定义任意两个对象之间的最小间距,请在相应的文本框中键入值。
    • 要为一个矩阵列中的所有文本框定义相同的间距值,请按该列上方的按钮并键入一个值。
    • 要为一个矩阵行中的所有文本框定义相同的间距值,请按左列中的按钮并键入一个值。
    • 要为矩阵中的所有文本框定义相同的间距值,请按全部按钮并键入一个值。

    表 33. 间隙规则 - 相同网络 - 边到边间隙选项

    安全间距 描述
    SMD 转通孔 表面贴装焊盘和逸出通孔之间的最小间距。
    SMD 到角 表面贴装焊盘和第一个走线弯曲点之间的最小间距。
    Via 到 Via 同一网络中两个过孔之间的最小间距。
    垫到角 通孔焊盘和第一个走线弯曲点之间的最小间距。
    追踪到角落 一条走线与另一条走线的弯曲点之间的最小间距;例如,当一条走线在 T 型接头处分叉并且两条走线中的一条有弯曲点时。
  3. 在“走线宽度”区域中,在文本框中键入值以将走线宽度限制为以下值范围:

    • 在“推荐”框中,输入布线开始时要分配给走线的宽度。
    • 在“最小值”和“最大值”框中,布线例程会遵循这些值,这些值必须使用走线宽度来实现某些高速布线功能,例如阻抗匹配。
  4. 在间隙区域中,使用间隙矩阵定义两种对象类型之间的边到边间隙:

    • 要定义任意两个对象之间的最小间距,请在相应的文本框中输入值。要为同一矩阵列中的所有文本框定义相同的间距值,请按下该列上方的按钮并输入一个值。
    • 要为矩阵行中的所有文本框定义相同的间距值,请按左列中的按钮并输入一个值。
    • 要为矩阵中的所有文本框定义相同的间距值,请按全部按钮并键入一个值。
  5. 在其他区域中,可选择设置其他间隙值,其中包括:

    表 34. 清算规则 - 其他 - 清算选项

    安全间距 描述
    钻到钻 两个钻孔之间的最小边到边间距。
    身体接触 两个组件主体之间的最小边到边间距。
  6. 单击“确定”,或者单击“删除”以从规则层次结构中删除此组安全间距。

    TIP

    您不能删除默认安全间距。

相同的网络矩阵

使用相同的网络矩阵来定义同一网络中的项目之间的边到边间隙值。

要定义任意两个对象之间的最小间距,请在相应的文本中输入值 盒子。 要为矩阵列中的所有文本框定义相同的间距值,请点击该列上方的按钮。输入一个值,然后点击“确定”。

  • 要为矩阵行中的所有文本框定义相同的间距值,请按左列中的按钮。输入一个值,然后单击“确定”。
  • 要为矩阵中的所有文本框定义相同的间距值,请按“全部”按钮。输入一个值,然后单击“确定”。

表 35. 相同网络矩阵 - 间隙选项

安全间距 描述
SMD 转通孔 表面贴装焊盘和逸出通孔之间的最小间距。
SMD 到角 表面贴装焊盘和第一个走线弯曲点之间的最小间距。
Via 到 Via 同一网络中两个过孔之间的最小间距。
垫到角 通孔焊盘和第一个走线弯曲点之间的最小间距。
追踪到角落 一条走线与另一条走线的弯曲点之间的最小间距;例如,当一条走线在 T 型接头处分叉并且两条走线中的一条有弯曲点时。

布线规则

使用“布线规则”对话框指定交互式布线和自动布线的规则。您可以指定默认布线规则集以及特定网络的布线规则。

设置高速规则

使用高速规则对话框定义并行度、串联、屏蔽、布线长度、短截线长度、延迟、电容、阻抗和匹配长度的规则。

TIP

使用高速规则时,请遵守以下规定:

  • 导入 SailWind 后,EDC(电动力学检查)例行检查布线后是否正确满足规则(屏蔽和匹配长度除外)。
  • 您可以使用“设置条件规则”对话框将高速配置保存为一个集合,或者仅当它与第 305 页上的层次顺序的不同级别接触时才应用于选定项目。

🏃‍♂️‍步骤

  1. 单击设置 > 设计规则菜单项,单击规则级别,然后单击高速按钮。

  2. 在并行度区域中,在并行度框中键入长度和间隙的值,以限制同一层上不同网络中的走线可以一起运行的距离。

  3. 在串联框中输入长度和间隙的值,以限制不同层上不同网络中的走线可以一起运行的距离。

    表 36. 高速规则选项

    选项 描述
    并行性 限制同一层上不同网络中的走线可以一起运行的距离。
    串联 限制不同层上不同网络中的走线可以一起运行的距离。
    TIP

    配置高速规则选项时,请遵循以下准则:

    • 这些值决定了与特定项目以及设计中其他所有项目的距离和间距。要设置更窄的检查范围,请使用“设置条件规则”来定义具体的“源”和“针对”项目。
    • 长度定义了允许的最大平行/串联距离。
    • 间隙定义了走线之间的最小间隙,低于该间隙时将应用平行/串联规则。
  4. 单击“入侵网络”可指定在并行/串联检查期间网络是否为入侵或干扰源。

  5. 在规则区域中,键入以下最小值和最大值:

    表 37. 高速规则-最小/最大值

    规则 描述
    长度 定义最小长度和最大长度。
    短截线长度 指定最大短截线长度。短截线长度是从 T 点到线路终点的距离。
    延迟 定义最小和最大延迟时间(以纳秒为单位)。
    电容 定义皮法拉的最小和最大电容。
    阻抗 定义以欧姆为单位的最小和最大阻抗。
    TIP

    这些文本框将走线宽度限制在一定范围内。建议在布线开始时为走线分配该宽度。布线程序会遵循最小值和最大值,因为某些高速布线功能(例如阻抗匹配)必须使用走线宽度。

  6. 某些布线器可以根据需要将某些网络布置为屏蔽其他网络;“使用网络”列表框中的网络会在所选网络的两侧上下布线,以提供干扰防护。在“屏蔽”区域中,点击“屏蔽”即可调用屏蔽规则。

    TIP

    使用屏蔽时,请遵循以下准则:

    • 您只能在“层定义”对话框中指定与平面层关联的网络来屏蔽其他网络。如果没有平面层,“屏蔽”区域将显示为灰色。
    • 如果您的布线器支持屏蔽,您可以在“间隙”和“使用网络”文本框中指定屏蔽间隙值以及要用作屏蔽的网络。
  7. (可选)在匹配区域中,选中匹配长度复选框以调用匹配规则,并输入容差值。

    TIP

    使用长度匹配时,请遵循以下几点:

    • 长度匹配是您可以传递给支持它的自动布线器的相同长度要求参数。
    • 此规则规定了匹配的长度组中最短长度与最长长度之间允许的最大差值。
  8. 单击“确定”,或单击“删除”从规则层次结构中删除此组高速规则。

    TIP

    您不能删除默认高速规则。

设置规则

使用“规则”对话框输入逐项安全间距、路线指引以及可选高速检查命令的值。您还可以指定将规则传递给 SailWind Logic 的计量单位:密耳、公制或英寸。

🏃‍♂️‍步骤

  1. 单击设置 > 设计规则菜单项。

  2. 在单位列表框中,选择密耳、公制或英寸。

  3. 选择要设置或修改规则的规则层次结构级别。

    TIP

    当您指定其中一个层次级别时,您可以访问安全间距、路线或高速表单。

  4. 单击相应的按钮来定义层次结构中特定级别的规则。

  5. (可选)单击“报告”按钮以访问“规则报告”对话框,您可以在其中为已定义的部分或全部规则选择默认报告。

规则层次结构

在规则层次结构中,某些规则的优先级高于其他规则。例如,网络规则优先于类规则,类规则又优先于默认规则。

表 38. 规则层次结构和优先顺序

规则 优先级 描述
设置默认规则 至少 当没有其他单独定义的规则时应用于对象的规则。
设置类规则 网络集合的规则,称为类,需要相同的规则。
设置网络规则 最高 特定网络的规则。

规则层次结构的优先顺序

所有规则的完整优先级顺序如下,从最低到最高。默认值 1 表示层次结构的最低级别,优先级最低。顺序的另一端是 Net against Net with Level,它是层次结构的最高级别,具有最高的优先级。它代表了您可以分配给 SailWind Logic 中对象的最具体的规则。

  1. 默认
  2. 默认层级
  3. 类层级
  4. 网络
  5. 网络层级
  6. 类对类
  7. 类对类层级
  8. 网络对类
  9. 网络对类层级
  10. 网络对网络
  11. 网络对网络层级

另请参阅设置默认规则、设置类规则、设置网络规则、创建规则报告。

设置默认规则

使用默认规则对话框可以定义适用于层次结构中未包含在任何其他规则定义中的所有对象的规则。

🏃‍♂️‍步骤

  1. 单击设置 > 设计规则菜单项,然后单击默认按钮。
  2. 要定义默认的“间隙”(第 300 页)、“布线”(第 302 页)或“高速”(第 302 页)规则,请单击相应的按钮。
  3. 单击第 310 页的报告按钮可生成规则报告。

制定类规则

使用“类规则”对话框可以定义适用于网络集合(称为网络类)和多个网络类的规则。

🏃‍♂️‍步骤

  1. 单击设置 > 设计规则菜单项,然后单击类按钮。

  2. 在“类”列表框中,选择一个类名,或者指定要应用规则的新名称。

    TIP

    类列表框通过名称定义网络类,并在括号中注明适用于该类的规则(如果有)。

  3. 在网络区域中,按如下方式从网络类中添加或删除选定的网络:

    在列表框中选择一个类别,以在“可用”和“已选”列表框中显示网络,或单击“添加”按钮创建一个新类别。• 要将网络分配给某个类别,请在“可用”列表框中选择网络,然后单击“添加”。

    TIP

    一个网络只能属于一个网络类。“可用”列表框仅包含不属于任何网络类的网络。

  4. 要从类中删除网络,请在选定列表框中选择网络,然后单击删除。

  5. (可选)选择一个类名,然后单击“重命名”以更改所选类的类名。

  6. (可选)选中“显示具有规则的类”复选框以仅列出具有至少一组规则定义的类。

  7. 对于每个类别,单击相应的按钮来为网络类别定义安全间距、布线或高速规则。

    TIP

    选择类别名称时,每个规则类型下方都会出现一个图标,指示该类别中规则定义的层次结构级别。例如,如果某个类别仅定义了“安全间距”,则“安全间距”图标下方会显示“类别”图标,而“布线”和“高速”图标下方会显示“默认”图标。

  8. 在显示的相应规则对话框中,提供要应用的规则的值,然后单击“确定”返回到“类规则”对话框。

  9. 完成所有类规则的定义后,单击“确定”。

设置网络规则

使用网络规则对话框定义适用于单个网络或多个网络的规则。

🏃‍♂️‍步骤

  1. 单击设置 > 设计规则菜单项,然后单击网络按钮。

  2. 选择要为其定义第 300 页上的“间隙”、“第 302 页上的“布线”和第 302 页上的“高速”规则的网络。

    TIP

    选择网络名称时,每个规则类型下方都会出现一个图标,指示该网络规则定义的层级。例如,如果一个网络同时定义了“间隙”和“高速”规则,则“间隙”和“高速”图标下方会显示“网络”图标,而“布线”图标下方会显示“默认”图标。

  3. (可选)选中“显示带有规则的网络”复选框,仅列出具有至少一组规则定义的网络。

  4. (可选)单击“报告”按钮查看规则报告。

  5. 单击默认按钮将网络规则恢复为默认规则。

设置条件规则

使用条件规则设置对话框来应用第三组覆盖规则,这些规则仅当项目满足层次顺序的其他特定级别时才适用。

一旦您按照第 305 页上的层次结构顺序为某个组设置了安全间距,这些规则就会应用于所有其他对象。

TIP

使用条件规则时,请遵循以下准则:

  • 您可以将某个层用作反对对象,其中为网络等对象设置的规则仅当网络在该层上布线时才适用。
  • 您可以进一步优化此规则,使用另一个网络作为反向对象,并指定要应用规则的层。如果这两个网络在此层相交,则它们必须遵守此间隙。您可以通过创建条件规则集来定义这些关系。

🏃‍♂️‍步骤

  1. 单击设置 > 设计规则菜单项,然后单击条件规则按钮。

  2. 在“源规则对象”区域中,选择“类”、“网络”或“全部”以同时指定类和网络。然后指定要检查规则的对象。

  3. 在针对规则对象区域中,选择类、网络或层,然后指定检查规则的对象。

    TIP

    选择“层”以将层用作反对对象或在特定层上应用项目到项目规则。

  4. (可选)在“定义条件对象”区域的“应用于层”区域中,选择要检查规则的层。

  5. 在现有规则集列表框中,选择规则集来为选定规则集的特定间隙或高速定义定义适当的值。

  6. 创建规则集后,在“当前规则集”区域中定义“间隙”或“高速”值。

  7. 选择“间隙”以输入您希望源项目和反对项目彼此之间保持的最小间隙,然后单击“矩阵”以输入更多特定于项目的间隙。

  8. 选择“高速”以输入第 302 页上用于并联和串联检查的间隙值。源对抗条目用作串扰条件检查的受害方-干扰方指定。

  9. 单击“创建”以编译新的规则集参数并向“现有规则集”列表框添加描述,或单击“删除”以从“现有规则集”列表框中删除选定的规则集。

创建差分对

识别电气上表现为差分对的网络或管脚对,并为其定义规则。您可以为差分对设置不同的属性,这将影响它们的布线方式。差分对属性

确定受控间隙区域中走线之间的间隙、最小和最大走线长度,以及如何应对受控间隙区域中的障碍物。

🙊限制

虽然您可以在 SailWind Logic 中定义这些规则,但它们仅在 SailWind Router 中使用。

🏃‍♂️‍步骤

  1. 单击设置 > 设计规则菜单项,然后单击差分对按钮。

  2. 在可用列表中,双击第一个网络,然后双击第二个网络。

    TIP

    网络不能存在于多个差分对中。“可用”列表仅显示尚未分配给差分对的网络。

  3. 单击“添加”。

  4. 在最小值框中输入最小走线长度值。

  5. 在最大值框中输入最大走线长度值。

  6. 在差分对属性区域的所有层行中,输入线宽和间距值。

    TIP

    限制:您不能删除所有层。

  7. 要设置每层的宽度和间隙,请点击“添加”,点击新添加行中的“图层”单元格,然后选择要设置宽度和间隙值的图层。然后在相应的单元格中输入“宽度”和“间隙”值。

    TIP

    使用差分对时,请遵循以下准则:

    • 设置差分对宽度和每层间隙使您能够更好地控制 阻抗。

    • 间隙规则会取消任何定义差分对之间间隙的其他规则。因此,间隙是最小间隙,必须尽可能提供。

    • 如果您选择了多个差分对,并且层设置并非属于所有选定的差分对,则“层”列将不可用。

    • 如果您选择多个具有相同层设置的差分对,但“宽度”和“间隙”值不一致,“宽度”和“间隙”单元格将显示为空。您可以输入一个新值,单击“确定”或“应用”后,新值将应用于所有选定的差分对。

    另请参阅差分对层层次结构。

  8. 单击“自动布线期间限制层更改”可强制在单个层上布线该对。

    此设置不会限制交互式布线时的图层更改。

  9. 单击“允许对拆分绕过障碍物”可允许通过暂时超出对布线间隙来绕过受控间隙区域中的障碍物。

    此设置适用于自动布线,并且在交互布线时不会限制绕过障碍物进行分割。

  10. 在最大障碍物数量框中输入路线要绕过的最大障碍物数量。

    TIP

    起点区或终点区的障碍物不计算在内。

  11. 在“最大障碍物尺寸”框中,输入障碍物周围允许的最大走线间距。该尺寸适用于障碍物最长的水平或垂直尺寸。

    TIP

    起始区或结束区的障碍物大小未检查。

  12. 单击“确定”。

差分对层级结构

您可以为各层以及各层的类别指定差分对宽度和间隙值;然而,一个层也可能属于一个或多个类别。例如,第 2 层也可能是平面层,也可能是外层。

因此,遵循以下层次结构来定义哪些图层设置优先:

  1. 所有图层
  2. 平面层
  3. 外层
  4. 内层
  5. 各个层
TIP

各个图层具有最高优先级。

创建规则报告

使用“规则报告”对话框可以生成您定义的部分或全部规则的报告。默认情况下,将生成所有规则的完整报告。

🏃‍♂️‍步骤

点击“设置 > 设计规则菜单项,然后点击“报告”按钮。您可以生成以下报告:

表 39. 规则报告类型

报告类型 描述
规则类型 显示指定网络和类的指定规则。点击任意按钮组合(包括“差分对”)即可报告网络对。
显示每个网络或选定网络的指定规则。单击“所有网络”或在列表框中选择特定网络。
课程 显示每个类或选定类的指定规则。单击“所有类”或在列表框中选择特定的网络类。
输出 单击“规则集”可显示当前层次结构中与默认规则不同的所有规则。单击“规则值”可显示当前层次结构级别中的所有规则,即使这些规则的值与默认规则相同。
默认规则 显示指定网络和类的默认规则。

从 PCB 导入规则

使用 SailWind Layout Link 的设计选项卡从指定的 SailWind ASCII 文件中读取设计规则,包括层设置和层数等。

🏃‍♂️‍步骤

  1. 单击工具 > SailWind Layout 菜单项。
  2. 单击“设计”选项卡。
  3. 在“设计”选项卡上,选中“比较设计规则”复选框。
  4. 单击 PCB 中的 ECO。

将当前 SailWind Logic 原理图中的网络表与当前 SailWind Layout 设计中的元件和网络表进行比较,并更新原理图。

导出规则至 PCB

使用 SailWind Layout Link 的设计选项卡将设计规则导出到指定的 SailWind ASCII 文件,包括层设置和层数等。

🏃‍♂️‍步骤

  1. 单击工具 > SailWind 布局菜单项。
  2. 单击“设计”选项卡。
  3. 在“设计”选项卡上,选中“比较设计规则”复选框。
  4. 单击 ECO 到 PCB。

将当前 SailWind Logic 原理图中的网络表与当前 SailWind Layout 设计中的元件和网络表进行比较,并更新布局设计。