第 16 章 规则

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

规则设置 ಠ_ಠ

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

要访问和检查设计规则设置,请点击👆设置 > 设计规则。

规则类别

设计规则分为三类:

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

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

设置安全间距

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

TIP

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

🏃‍♂️‍步骤

  1. 点击👆设置 > 设计规则,规则层次结构区域,点击👆默认按钮,然后点击👆安全间距按钮。

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

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

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

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

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

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

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

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

    TIP

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

相同的网络矩阵

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

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

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

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

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

布线规则 ಠ_ಠ

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

设置高速规则

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

TIP

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

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

🏃‍♂️‍步骤

  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. 网络对网络
  12. 网络对网络层级

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

设置默认规则

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

🏃‍♂️‍步骤

  1. 点击👆设置 > 设计规则,然后点击👆默认按钮。
  2. 要定义默认的“安全间距”、“布线”或“高速”规则,请点击👆相应的按钮。
  3. 点击👆报告按钮可生成规则报告。

设置类规则

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

🏃‍♂️‍步骤

  1. 点击👆设置 > 设计规则,然后点击👆类按钮。

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

    TIP

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

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

    • 在列表框中选择👉一个类别,以在“可用”和“已选”列表框中显示网络,或点击👆添加按钮创建一个新类别。

    • 要将网络分配给某个类别,请在“可用”列表框中选择👉网络,然后点击👆“添加”。

    TIP

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

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

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

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

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

    TIP

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

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

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

设置网络规则

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

🏃‍♂️‍步骤

  1. 点击👆设置 > 设计规则,然后点击👆网络按钮。

  2. 选择👉要为其定义上的“安全间距”、“上的“布线”和上的“高速”规则的网络。

    TIP

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

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

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

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

设置条件规则

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

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

TIP

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

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

🏃‍♂️‍步骤

  1. 点击👆设置 > 设计规则,然后点击👆条件规则按钮。

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

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

    TIP

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

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

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

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

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

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

  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. 点击👆工具 > Layout 。
  2. 点击👆“设计”选项卡。
  3. 在“设计”选项卡上,选中✅“对比设计规则”复选框。
  4. 点击👆 同步PCB至ECO。

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

导出规则至 PCB

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

🏃‍♂️‍步骤

  1. 点击👆工具 > Layout。
  2. 点击👆“设计”选项卡。
  3. 在“设计”选项卡上,选中✅“对比设计规则”复选框。
  4. 点击👆 同步ECO至PCB。

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