Calibre nmDRC 高级边缘处理与输出控制(17)

本文基于 Calibre v2017.1 官方手册,深度解析 边缘聚类生成、无效边缘过滤、输出模式控制、边缘屏蔽与断裂 等高级功能,同时整合虚假测量抑制测量容差的核心配置,覆盖复杂几何验证场景下的精准误差识别与冗余过滤需求,助力提升 DRC 规则的准确性与效率。

一、核心高级功能总览

在维度检查(EXT/INT/ENC)的边缘测量流程中,Calibre 引入了一系列高级机制,用于解决边缘测量歧义冗余误差输出虚假测量误报等问题,核心功能分类及价值如下:

功能模块 核心作用 适用场景
边缘聚类生成 将符合约束的边缘片段分组为边缘簇,仅用于错误导向输出 错误层可视化(如多边缘违规的批量标记)
无效边缘(Trivial Edge)过滤 自动识别并过滤仅含单个点的无效边缘,避免无意义输出 所有维度检查操作,尤其适用于非交换性测量
输出模式控制 支持错误导向、边缘导向、多边形导向三种输出模式 错误报告、边缘提取、违规区域可视化
边缘屏蔽(Edge Shielding) 基于遮挡边缘阻断视线,抑制冗余违规报告 复杂多边形的间距检查(如嵌套图形的间距验证)
边缘断裂(Edge Breaking) 跨图层边界的边缘自动分段,消除虚假误差 双图层维度检查(如 Poly 与 Active 的异层验证)
多边形包含准则 严格定义图层间边缘的测量条件,避免穿透边界的误测 双图层 EXT/INT/ENC 操作的精准测量
虚假测量抑制 识别并排除被遮挡边缘导致的虚假缺口测量 单图层 EXT 缺口检查
测量容差控制 兼容微小数据偏差,避免过度敏感的违规判定 所有维度检查操作(先进工艺精细约束)

二、边缘聚类生成(Edge Cluster Generation)

2. 1. 功能定义

前文所述的边缘测量方法,会在错误导向输出 中生成边缘簇(边缘导向输出或多边形导向输出无此特性)。边缘簇是指由包含错误导向操作的规则检查所输出的、成组的边缘或边缘线段。边缘簇可分为多种不同类型。图 1展示了一个三边缘输出簇的生成过程。

边缘簇是错误导向输出 特有的功能,指由维度检查操作输出的、满足约束条件的一组边缘 / 边缘片段的集合。边缘导向和多边形导向输出无此特性

2.2. 簇类型与生成条件

边缘测量的输出结果可以是单边缘簇、双边缘簇、三边缘簇或四边缘簇,其中双边缘簇 最为常见。单边缘簇可由 INSIDE ALSO(内侧同步)或 OUTSIDE ALSO(外侧同步)次级关键字生成,也可由 Drawn Angled(绘制斜角)或 Drawn Skew(绘制倾斜)操作生成。当 Calibre 将一个边缘图层写入 DRC 结果数据库时,该图层会在对应的接口上转换为一个单边缘簇。

边缘簇的概念仅适用于派生错误图层。对于边缘导向的尺寸检查操作,Calibre nmDRC 会根据输出边缘的来源输入图层,分别发送这些输出边缘。这类输出的生成,与该图层和其他边缘测量输出边缘之间的关联关系无关。

图1 Three-Edge Output Cluster

簇类型 包含边缘数量 典型生成场景
单边缘簇 1 使用 INSIDE ALSO/OUTSIDE ALSO 二级关键字,或 Drawn Angled/Drawn Skew 操作
双边缘簇 2 最常见,如普通间距 / 宽度检查的违规边缘对
三 / 四边缘簇 3/4 多边缘交叉测量,或无效边缘补全导致的扩展簇

2.2.1 Trivial Edges

边缘测量区域可能会生成Trivial Edges,即仅由单个点 构成的边缘。当约束条件指定 "测量区域包含边界"(例如 <= a),且两条被测边缘中,有一条边缘与另一条边缘周围的测量区域仅在边界上存在一个交点时,就会生成平凡边缘。

图2 展示了平凡边缘的生成过程。该示例使用直角度量法构建测量区域,并以 "X" 标记平凡边缘。

图 2 Trivial Edges的生成

在以下场景中,Calibre nmDRC 也会在测量过程中强制生成平凡边缘:假设存在两条边缘 A 和 B,边缘 A 与边缘 B 周围的测量区域相交,但边缘 B 与边缘 A 周围的测量区域不相交 。这种情况的出现,是因为测量区域的相交关系不一定具备可交换性,在非默认度量法中尤为明显。从测量逻辑来看,似乎只需要输出其中一条边缘的结果即可。但如果输出目标是用于结果展示的派生错误图层,仅输出单条边缘的错误信息并无实际意义。因此,Calibre nmDRC 会从边缘 B 生成一条平凡边缘来表征该情况。这条平凡边缘的位置,是边缘 B 上与边缘 A 的输出边缘距离最近,且同时位于边缘 A 对应侧的点。

Trivial Edges不会出现在派生边缘图层 中,因为它们在物理层面不具备实际意义,而派生边缘图层的主要用途是执行联合设计规则检查 。因此,边缘导向的尺寸检查操作绝不会生成平凡边缘,而是会直接丢弃这类边缘,视同其从未存在。平凡边缘可作为错误导向输出的一部分存在,并在多边形导向输出结果中发挥作用。

2.2.2 四边缘输出簇Four-Edge Output Cluster

平凡边缘的生成可能会进一步形成四边缘输出簇。这种情况主要发生在以下场景:从边缘 A 生成了两段输出线段,但边缘 B 没有生成任何输出线段;反之亦然。此时,Calibre nmDRC 会从边缘 B 生成两条平凡输出边缘,每条平凡边缘分别与边缘 A 的一段输出线段相对应,最终形成一个四边缘输出簇。

例如,图 3 展示了四边缘输出簇的生成过程。该示例使用直角度量法 构建测量区域,并以 "X" 标记平凡边缘。测量区域的构建基于区间约束条件

图3 四边缘输出簇

2.2.3 四边缘输出簇Point-to-Point Measurement Output

对于错误导向和多边形导向的尺寸检查操作,测量过程中产生的真实点对点输出会被特殊处理。这类输出由两个平凡边缘(即两个点)构成,其生成源于实际测量过程,而非测量区域相交关系不具备可交换性所致。

例如,若设计的用户单位为微米,且精度(Precision)设为 1000,图 6-15 所示的场景将生成两个由平凡边缘构成的输出簇。

图 4 点对点平凡边缘的生成

为减少错误测量,并为多边形导向输出执行区域构建,工具会对真实点对点输出进行微调:将簇中的每条平凡边缘沿原始边缘的延伸方向延长两个数据库单位。仅在满足以下所有条件时,才会执行点对点输出的延长操作:

  1. 尺寸检查操作的类型为错误导向多边形导向

  2. 未指定 OPPOSITE(反向)或 OPPOSITE SYMMETRIC(反向对称)度量法;

  3. 测量约束条件的形式为 < value(小于某一数值)。

DRC Extend Trivial Edge YES 语句的主要作用,是为多重图形化操作提供错误导向的输入数据。该语句规定:DRC 测量过程产生的点对点平凡边缘输出,将按上述规则进行延长;若上述算法未对其进行延长,则在满足以下场景时,同样执行延长操作:

  1. 该尺寸检查操作非 "仅输出" 类型 ,即其输出不仅用于写入 DRC 结果数据库,或仅用于驱动一个同样只向 DRC 结果数据库输出数据的 Copy(复制)操作;

  2. 尺寸检查操作的类型为错误导向

  3. 该平凡边缘是双边缘簇的组成部分;

  4. 该平凡边缘为真实平凡边缘,即其生成源于实际测量过程,而非测量区域相交关系不具备可交换性所致。

四、Appropriateness Criteria & EM

4.1 Appropriateness Criteria

联合设计规则检查 (即包含多个操作的规则检查)中,你可能需要在最终的尺寸检查操作中,使用包含两个数值的区间约束来抑制冗余错误。

例如,考虑以下规则检查语句(见图 5):

svrf

复制代码
// 金属间距的要求为0.3微米,但当金属宽度小于0.3微米时,金属间距需满足0.4微米的要求
metal_spacing {
    EXTERNAL metal < 0.3
    x = INTERNAL [metal] < 0.3
    EXTERNAL metal x < 0.4
}

图 5 抑制冗余错误(第一部分)

在这条规则检查语句中,第二个 EXTERNAL(外部间距检查)操作会输出两组边缘对。但其中第一组边缘对属于冗余数据,因为第一个 EXTERNAL 操作已生成了类似的错误信息。冗余错误的产生原因是,工具对图层 x 上的同一条边缘执行了两次测量。

解决这类重复问题的一种方法,是在第二个 EXTERNAL 操作中使用区间约束。这可以避免针对 0.3 微米的间距违规,生成两条重复的错误信息。例如,参考以下规则检查语句(见图 5 和图 6):

svrf

复制代码
// 金属间距的要求为0.3微米,但当金属宽度小于0.3微米时,金属间距需满足0.4微米的要求
metal_spacing {
    EXTERNAL metal < 0.3
    x = INTERNAL [metal] < 0.3
    EXTERNAL metal x >= 0.3 < 0.4 // 使用区间约束
}

图 6 抑制冗余错误(第二部分)

在大多数情况下,使用区间约束抑制冗余错误是有效的。但在上述特定示例中,第二个 EXTERNAL 操作仍会生成图 6-17 所示的两组边缘对,且最左侧的那组边缘对并不直观。

最左侧边缘对的产生原因在于:当在尺寸检查操作中使用区间约束时,欧几里得度量法直角度量法 所构建的测量区域会包含边缘侧向的区域。该侧向区域可能会引发非预期的相交(并生成输出结果),而这类相交原本并不属于规则检查的目标范畴。

Opposite(反向)度量法通常可以消除这种效应,因为当该度量法与区间约束联用时,构建的测量区域不包含侧向区域。但如果反向度量法并不适用于当前的检查场景,那么你要么需要理解并接受前文所述的这类错误,要么就需要避免在某些复杂的联合设计规则检查中,使用区间约束来抑制潜在的冗余错误。

注意 区间约束同时适用于平面模式层级模式 的 Calibre nmDRC 应用。但在层级模式应用中,若指定了区间约束但未使用 OPPOSITE 关键字,Calibre nmDRC-H 在处理斜向边缘时,可能会占用大量的 CPU 资源。

4.2 适配性判定规则

尺寸检查操作规定:仅当两条边缘的对应侧彼此相对时,这两条边缘才具备测量适配性。

  • 对于 ENClosure(包围检查)操作:仅当第一个输入图层中边缘 A 的外侧,与第二个输入图层中边缘 B 的内侧彼此相对时,才会测量二者之间的间距;
  • 对于 EXTERNAL(外部间距检查)操作:仅当边缘 A 和边缘 B 的外侧彼此相对时,才会测量二者之间的间距;
  • 对于 INTERNAL(内部尺寸检查)操作:仅当边缘 A 和边缘 B 的内侧彼此相对时,才会测量二者之间的间距。

图 7 更精准地阐释了测量适配性的定义。给定一条边缘 A,区域 IN-A 是指位于该边缘所在直线、与边缘 A 内侧同侧的半平面;区域 OUT-A 是指位于该边缘所在直线、与边缘 A 外侧同侧的半平面。IN-AOUT-A不包含边缘 A 所在的直线。

图 7 边缘的内侧与外侧半平面

基于单条边缘 A 的 IN-AOUT-A 区域定义,两条边缘(A 和 B)之间的可视路径可分为以下三类:

  1. 外侧可视路径 :连接边缘 A 与边缘 B,且同时穿过 OUT-AOUT-B 区域的任意线段;
  2. 内侧可视路径 :连接边缘 A 与边缘 B,且同时穿过 IN-AIN-B 区域的任意线段;
  3. 外侧 - 内侧可视路径 :从边缘 A 指向边缘 B,且同时穿过 OUT-AIN-B 区域的任意线段。

并非任意两条边缘 A 和 B 之间,都存在某一类型的可视路径。基于这一事实,我们可以对测量适配性做出量化定义:

  1. 若边缘 A 与边缘 B 之间存在外侧可视路径 ,则二者适用于 EXTERNAL 检查;
  2. 若边缘 A 与边缘 B 之间存在内侧可视路径 ,则二者适用于 INTERNAL 检查;
  3. 若从边缘 A(来自第一个输入图层)到边缘 B(来自第二个输入图层)之间存在外侧 - 内侧可视路径 ,则二者适用于 ENClosure 检查。

根据适配性的定义,尺寸检查操作判定两条边缘 "彼此相对" 的前提是:两条边缘对应侧之间的夹角小于 180 度

这一 "边缘相对" 的判定逻辑,同样适用于派生边缘图层。派生边缘图层中的边缘,同样具备内侧朝向和外侧朝向(该朝向继承自其原始多边形)。Calibre 数据库会保留边缘的朝向信息,这些朝向信息不仅决定了尺寸检查操作的测量适配性,也对其他需要区分内外侧概念的操作至关重要。

图 6-19 展示了几种边缘构型的示例,这些示例中的边缘外侧,均会被 EXTERNAL 操作判定为 "彼此相对",并标注了对应侧之间的夹角。两条边缘对应侧之间的夹角,被称为适配角 。尺寸检查操作通过方向过滤器来限制适配角的范围。

图 8 边缘外侧之间的适配角

4.3 边缘屏蔽

当尺寸检查操作对两条边缘 A 和 B 进行测量时,若存在屏蔽边缘 ,则测量过程的输出结果可能会被不同程度地抑制。屏蔽边缘是指能够完全或部分阻挡边缘 A 与边缘 B 之间可视路径的边缘 S。

SPACE(间距)规则中,可通过以下关键字集控制边缘屏蔽功能:

svrf

复制代码
EXCLUDE SHIELDED [ 0 | 1 | 2 | 3 | 4 ]

图 9 展示了屏蔽效应的产生原理。

图 9 全边缘屏蔽

可以通过指定 0、1、2、3、4 中的任意一个整数,来定义屏蔽等级;若指定的整数大于 4,则等效于等级 4;若仅指定 EXCLUDE SHIELDED 但未输入整数,默认等级同样为 4。

各屏蔽等级的功能定义如下:

  • 等级 0 :不执行任何屏蔽操作,其屏蔽强度低于工具的默认行为。该等级仅在单独指定 MEASURE ALL(测量全部)关键字时生效;若同时指定了 EXCLUDE SHIELDED,则以该关键字的配置为准。

  • 等级 1、2、3 :均执行全边缘屏蔽 。当屏蔽边缘 S 将违规定义区域(即 EXTERNAL 操作中 REGION 关键字所生成的区域)完全分割为两个独立区域时,全边缘屏蔽会抑制边缘 A 和 B 的测量输出结果。等级 1、2、3 的唯一区别,在于定位屏蔽边缘所消耗的处理时间不同。

    • 等级 1 要求屏蔽边缘 S 必须与边缘 A 或 B 的某一端点相交。有关该类型屏蔽的详细说明,可参考 "减少错误测量" 章节。当未指定 EXCLUDE SHIELDEDMEASURE ALL 关键字时,工具默认使用等级 1。

    • 等级 2 主要供明导国际(Mentor Graphics)内部研发使用,本文不做进一步阐述。

      注意不建议在常规应用中使用等级 2。

    • 等级 3 可确保定位到所有的屏蔽边缘 S,但会导致运行时间显著增加。

  • 等级 4 :与等级 3 相同,等级 4 可确保定位到所有的屏蔽边缘 S,同时还会执行部分边缘屏蔽 (有时也称为 "阴影屏蔽")。部分边缘屏蔽不要求屏蔽边缘 S 将边缘 A、B 之间的违规区域完全分割;只要边缘 A、B 之间某段违规的可视路径被 S 阻挡,该段违规的输出就会被抑制。若存在一组屏蔽边缘 Si,且它们共同将违规区域完全分割,则此时会触发全边缘屏蔽效应。图 6-21 展示了部分边缘屏蔽的效果。

    图 10 部分边缘屏蔽

在以下任意一种情况下,EXCLUDE SHIELDED 关键字会被忽略:

  1. 边缘 A 与边缘 B 相交;

  2. 该操作为双图层操作,且使用了闭合区间 测量约束,并指定了默认度量法或 SQUARE(直角)度量法;

  3. 该操作为双图层操作,且指定了 NOT PROJECTING(非投影)关键字。

出于性能考量,当使用等级 3 和等级 4 时,强烈建议搭配 OPPOSITE 度量法使用。

EXCLUDE SHIELDED 被指定为大于 2 的等级时,工具会采取额外措施以确保找到所有被屏蔽的边缘,其处理逻辑与尺寸检查操作中 EXCLUDE FALSE 关键字的作用机制类似,但会相应增加性能开销。

4.4 相交判定规则

默认情况下,即使两条相交的边缘符合测量适配性判定规则,尺寸检查操作也不会测量其对应侧之间的间距 。但你可以通过指定适当的次级关键字(如 ABUT(邻接)和 INTERSECTING(相交)系列关键字),来修改这一默认行为。

提示 除非有明确的反对理由,否则在所有的尺寸规则检查中,都应添加 ABUT < 90 SINGULAR 关键字配置。

4.5 边缘打断

边缘打断操作发生在双图层尺寸检查操作的执行过程中。对于来自其中一个输入图层的边缘,若其跨越了另一个输入图层中多边形的边界,Calibre nmDRC 会将该边缘分割为多条边缘线段。这种边缘打断方法能够有效消除大量错误,并使双图层尺寸检查操作的输出结果更加精准。

图 11 展示了边缘打断的一个示例。

图 11双图层尺寸检查操作中的边缘打断

边缘打断的具体规则如下:

  1. 若图层 1 中的某条边缘,部分位于图层 2 的多边形内部、部分位于外部,则该边缘会在与图层 2 边缘的交点处被分割为多条线段;

  2. 若图层 2 中的某条边缘,部分位于图层 1 的多边形内部、部分位于外部,则该边缘会在与图层 1 边缘的交点处被分割为多条线段;

  3. 若图层 1 与图层 2 中存在重合的边缘,则这些边缘会在彼此不再重合的位置被分割为多条线段。

因此,经过边缘打断处理后,图层 1(及图层 2)中的每条边缘,都将满足以下条件之一:

  1. 该边缘完全位于另一个图层的多边形内部,仅允许其一个或两个端点接触另一个图层边缘的内侧;

  2. 该边缘完全位于另一个图层的多边形外部,仅允许其一个或两个端点接触另一个图层边缘的外侧;

  3. 该边缘与另一个图层的某条边缘,在其内侧或外侧完全重合。

当有一个或多个输入图层为派生边缘图层时,上述边缘打断方法将不再完全适用。此时,边缘打断方法会按如下规则调整:

  1. 若图层 2 中的某条边缘,与图层 1 中的某条边缘在单一交点处相交(该交点不包含图层 2 边缘的端点),则图层 2 的这条边缘会在该交点处被分割为两段线段;

  2. 若图层 2 中的某条边缘,与图层 1 中的某条边缘重合,则图层 2 的这条边缘会在彼此不再重合的位置被分割为两段或多段线段。

完成边缘打断后,Calibre 应用程序会根据图层 1 和图层 2 中边缘的状态,判定这些边缘是否符合尺寸检查操作的多边形包含判定规则

4.6 多边形包含判定规则

基于双图层尺寸检查操作中执行的边缘打断处理,我们可以通过多边形包含判定规则,对这类操作的执行逻辑做出更严谨的定义。

  1. ENClosure 检查(按图层 X、Y 的顺序):仅当来自图层 X 的边缘 A,位于包含边缘 B 的多边形内部,且来自图层 Y 的边缘 B,既不位于图层 X 的任意多边形内部、也不与图层 X 的任意边缘内侧重合时,才会测量边缘 A 外侧与边缘 B 内侧之间的间距。

  2. EXTERNAL 检查(针对图层 X、Y):仅当来自图层 X 的边缘 A,既不位于图层 Y 的任意多边形内部、也不与图层 Y 的任意边缘外侧重合,且来自图层 Y 的边缘 B,既不位于图层 X 的任意多边形内部、也不与图层 X 的任意边缘外侧重合时,才会测量边缘 A 与边缘 B 的外侧间距。

  3. INTERNAL 检查(针对图层 X、Y):仅当来自图层 X 的边缘 A,位于包含边缘 B 的多边形内部,且来自图层 Y 的边缘 B,位于包含边缘 A 的多边形内部时,才会测量边缘 A 与边缘 B 的内侧间距。

这些判定规则解决了双图层尺寸检查操作中存在的 "边界穿透测量" 问题。也就是说,即使两条边缘的对应侧彼此相对,但只要它们被其他多边形遮挡而无法形成可视路径,工具就会禁止对其执行测量。图 6-23 所示的边缘,在默认情况下不会被测量。

图 12 受多边形包含规则限制而禁止测量的场景

对于双图层 EXTERNAL 检查的多边形包含判定规则,有一个特例:允许被测边缘与另一个输入图层的边缘内侧重合 (但不允许外侧重合)。例如在图 6-23 的 EXTERNAL 示例中,若图层 1 的上边缘与图层 2 的上边缘内侧重合,则工具会对这两条边缘执行测量。

4.7 放宽多边形包含判定规则

在某些场景下,你可能需要放宽多边形包含判定规则 。对于 INTERNALENClosure 操作,MEASURE COINcident(测量重合边缘)次级关键字允许将重合边缘纳入测量范围。对于所有尺寸检查操作,MEASURE ALL 关键字可完全放宽包含判定规则,允许将测量区域内的所有边缘都纳入测量范围。这些关键字的详细说明可参考《SVRF 手册》。

当图层 1、图层 2 或两者均为派生边缘图层时,所有尺寸检查操作的多边形包含判定规则将不再完全适用,原因是派生边缘图层的多边形边界无法被计算。此时,判定规则会按如下方式调整:

  1. ENClosure 检查:若图层 2 为派生边缘图层,则仅当边缘 A 不与图层 2 的任意边缘重合时,才会对其执行测量;若图层 1 为派生边缘图层,则仅当边缘 B 不与图层 2 的任意边缘内侧重合时,才会对其执行测量。

  2. EXTERNAL 检查:若图层 1 为派生边缘图层,则仅当图层 2 的边缘不与图层 1 的任意边缘外侧重合时,该边缘对才符合测量条件;若图层 2 为派生边缘图层,则仅当图层 1 的边缘不与图层 2 的任意边缘外侧重合时,该边缘对才符合测量条件。

  3. INTERNAL 检查:若图层 1 为派生边缘图层,则仅当图层 2 的边缘不与图层 1 的任意边缘重合时,该边缘对才符合测量条件;若图层 2 为派生边缘图层,则仅当图层 1 的边缘不与图层 2 的任意边缘重合时,该边缘对才符合测量条件。

五、输出模式

尺寸检查操作支持三种主要的输出模式:错误导向边缘导向多边形导向

  1. 错误导向尺寸检查操作:生成派生错误图层,该图层主要由边缘簇构成,簇内的边缘成员需共同满足操作的约束条件。以下语法所生成的输出即为错误导向的边缘簇:

    svrf

    复制代码
    INT metal < 0.1 ABUT < 90 SINGULAR

    这类操作的输出(如在图层定义中生成的结果),除了可传递给 DFM AnalyzeDFM PropertyDFM RDB 操作外,无法传递给其他任何图层操作

  2. 边缘导向尺寸检查操作 :通过从单个输入图层生成非聚类的边缘输出,来创建派生边缘图层。你可以利用边缘导向尺寸检查操作进行图层定义,具体方法是使用边缘导向输出操作符 [ ]( )。例如:

    svrf

    复制代码
    x = ENC [cont] metal1 < 0.1

    该语句会将 cont 图层中满足约束条件的边缘线段,写入图层 x。反之,以下语句:

    svrf

    复制代码
    x = ENC (cont) metal1 < 0.1

    则会将 cont 图层中不满足 约束条件的边缘线段,写入图层 x

  3. 多边形导向尺寸检查操作 :通过将错误导向操作输出的边缘簇轮廓转化为多边形,来创建派生多边形图层。你可以利用多边形导向尺寸检查操作进行图层定义,具体方法是使用 REGIONREGION EXTENTS 关键字。例如:

    svrf

    复制代码
    x = ENC cont metal1 < 0.1 OPPOSITE REGION

    该语句会基于满足约束条件的边缘线段创建多边形区域,并将这些区域写入图层 x。在创建用于后续操作的中间图层时,建议搭配使用 OPPOSITEREGION 关键字。

5.1 边缘导向输出

在某些场景下,可能需要让错误导向的测量操作 生成边缘导向的输出结果。本节将提供相关示例,展示如何从错误导向的测量操作中创建派生边缘图层。

例如,以下规则:

svrf

复制代码
rule {EXT poly diff < 0.09}

会生成一个派生错误图层,其中包含 polydiff 图层中,间距小于 0.09 用户单位的边缘对。若你希望输出结果是一个仅包含 poly 图层相关边缘线段的派生边缘图层,可以将图层名放置在方括号 [ ] 内。这种将图层名包含在 [ ] 内的写法,被称为正向边缘导向输出。例如:

svrf

复制代码
x = EXT [poly] diff < 0.09

该语句会创建一个派生图层 x,其中包含 poly 图层中满足操作条件的边缘。

将图层名放置在圆括号 ( ) 内的写法则被称为反向边缘导向输出。反向边缘导向输出会返回那些在常规情况下不会被输出的边缘线段。例如:

svrf

复制代码
x = EXT (poly) diff < 0.09

该语句会创建一个派生图层 x,其中包含 poly 图层中不满足约束条件的边缘。

单个尺寸检查操作中,仅允许出现一次边缘导向输出指定 。也就是说,在一条给定的操作语句中,最多只能使用一组方括号或圆括号。边缘导向输出指定适用于 ENClosureEXTERNALINTERNALTDDRCDFM Measure 操作。

边缘导向输出的结果也可以是错误导向的(即写入 Calibre nmDRC 结果数据库),具体方法是将边缘导向语句嵌入到一条规则检查中。例如:

svrf

复制代码
rule { ENC contact [metal1] < 0.005 }

该语句会将 metal1 图层的正向边缘导向结果,写入 Calibre nmDRC 结果数据库(而非创建一个派生边缘图层)。《SVRF 手册》的 "规则文件示例" 章节提供了大量可供参考的示例。

5.2 多边形导向输出

多边形导向尺寸检查操作的原理是:提取对应错误导向尺寸检查操作所生成的边缘簇中,边缘之间的多边形投影区域,并以此创建派生多边形图层。

例如,以下规则:

svrf

复制代码
rule {EXT poly diff < 0.09 ABUT < 90 SINGULAR}

会生成一个派生错误图层,其中包含 polydiff 图层中,间距小于 0.09 用户单位的边缘簇。若你希望输出结果是一个包含 polydiff 违规区域的派生多边形图层,可以添加 OPPOSITE REGION 关键字集。例如:

svrf

复制代码
x = EXT poly diff < 0.09 ABUT < 90 OPPOSITE REGION

该语句会创建一个派生多边形图层 x,其中包含 polydiff 之间违规区域的多边形。

在以下三种场景中,多边形导向尺寸检查操作无法直接生成规整的多边形投影,需要通过特殊处理来生成多边形输出:

  1. 场景一 :由重合边缘构成的双边缘簇(这种情况大多由 ABUT == 0 次级关键字引发)。若直接基于这类输出边缘构建多边形投影,会生成面积为零的多边形,且该多边形会在合并过程中被消除。因此,工具会实际执行 "从边缘向外生长区域" 的操作:

    • 对于由双图层 EXTERNALINTERNAL 操作生成的外侧重合边缘:从每条边缘的外侧向外生长约两个数据库单位的距离,最终形成一个宽度约为四个数据库单位的矩形,边缘对位于矩形的中间位置;

    • 对于由 ENClosure 操作生成的内侧重合边缘:从每条边缘的内侧向内生长约四个数据库单位的距离,最终形成一个宽度约为四个数据库单位的矩形,边缘对位于矩形的一侧。

  2. 场景二 :由 INSIDE ALSOOUTSIDE ALSO 选项生成的输出。在错误导向模式下,这些选项的输出结果为单边缘簇。为了在多边形导向模式下生成输出,工具会从这些单边缘簇的内侧向外生长约四个数据库单位的距离,最终形成一个宽度约为四个数据库单位的矩形,原始边缘位于矩形的一侧。

  3. 场景三 :测量过程中产生的真实点对点输出 (详见第 157 页 "点对点测量输出" 章节)。由于其多边形投影为面积零的多边形,且会在合并过程中被消除,若直接使用 REGION 选项输出,可能会遗漏真实的错误。因此,在满足以下所有条件时,EXTERNALINTERNALENClosure 操作会先将测量过程生成的边缘长度延长一个较小的数值(约两个数据库单位),再基于延长后的边缘构建 REGION 选项的多边形投影:

    • 测量过程生成了两个真实的平凡边缘;

    • 未指定 OPPOSITEOPPOSITE SYMMETRIC 度量法;

    • 操作的约束条件形式为 < a(小于某一数值)。

尽管多边形导向操作主要用于在联合规则检查中创建中间图层,但你也可以利用尺寸检查操作的多边形导向模式,向 DRC 结果数据库写入数据。多边形导向输出应用于 DRC 规则检查时,具备以下三项潜在优势:

  1. 原本会形成多个错误的相邻边缘簇,可能会被合并为一个整体,从而减少错误数量;

  2. 一些由边缘打断、INSIDE ALSOOUTSIDE ALSO 选项引发的虚假错误,也可能会在合并过程中被消除,进一步减少错误数量;

  3. 对于部分用户而言,多边形导向输出的可视化效果更优。

为说明前两项优势,我们对比以下两条分别采用错误导向和多边形导向的检查规则:

svrf

复制代码
Rule5.3 { ENCLOSURE cont met < 0.002 ABUT == 0 SINGULAR OUTSIDE ALSO }
Rule5.3.1 { ENCLOSURE cont met < 0.002 ABUT == 0 SINGULAR OUTSIDE ALSO REGION }

下图展示了多边形导向模式如何减少总错误数量的示例:

图13利用多边形导向输出减少错误数量

尽管 SINGULAR 关键字主要用于最终的错误输出,但当它与 INTERSECTING ONLY(仅相交)和 REGION 关键字联用时,在联合检查中也能实现一些特殊的应用效果。相关示例可参考《SVRF 手册》中的 "栅极弯折处的多晶硅 - 扩散区间距检查" 案例。

5.3 斜向边缘与细长多边形的处理

当使用 REGION 关键字,并搭配欧几里得度量法 (默认度量法)创建派生图层时,可能会生成大量的斜向边缘 。尽管 Calibre 内置了优化机制来处理这类图层,但出于性能考量,仍应尽量避免生成此类图层。最常用的方法是搭配使用 OPPOSITE REGION 关键字集,该关键字集可使输出多边形的边缘与数据库坐标轴保持正交。

使用 REGION 关键字生成的斜向输出边缘,需要经过特殊处理。这类边缘的最终位置,是边缘合并和数值舍入运算的结果。这可能导致斜向边缘的顶点位置,与原始版图几何形状之间出现最大 1 个数据库单位(dbu)的偏差。

在某些情况下,REGION 输出可能会生成细长多边形 (通常称为 "碎片多边形"),这类多边形的边缘间距极小。这些细长边缘的间距可能小到在栅格对齐过程中,会被直接消除。若这些细长边缘为曼哈顿边缘 (即全部为垂直或水平边缘)且为非投影边缘,工具会将这些细长多边形适当放大,以确保它们在栅格对齐后仍能保留并输出。斜向边缘的输出结果则不会被放大。这可能导致 REGION 输出的错误数量,与边缘对输出的错误数量存在差异。通常,提高设计精度可以解决这一问题,使 REGION 输出的结果更加准确。

六、 减少错误测量

在某些情况下,DRC 测量的输出结果可能是非预期的,或者属于错误测量

以下两幅图展示了错误凹槽测量的示例:

图14 错误凹槽测量(单个多边形)

图 6-26 错误凹槽测量(两个多边形)

在上述两个示例中,这些测量均被判定为错误测量,原因是存在另一条边缘,完全阻挡了两条被测边缘之间的可视路径。这种情况在某些跨越设计层级的多边形中容易出现。

当且仅当满足以下所有条件时,任意两条边缘 X 和 Y 之间的测量,会被判定为错误测量:

  1. 未指定 OPPOSITEOPPOSITE1OPPOSITE2OPPOSITE SYMMETRICOPPOSITE FSYMMETRIC 度量法;
  2. 两条边缘不相交
  3. 两条边缘并非全部为水平或垂直边缘,且彼此之间存在正向投影
  4. 未指定 MEASURE ALL 关键字;
  5. 某条阻挡边缘与边缘 X 或 Y 的一个端点相交,并将违规定义区域(即 REGION 关键字生成的区域)完全分割为两个部分。

根据上述定义,前两个示例中的所有阻挡边缘,都会导致边缘 X 和 Y 之间的测量被判定为错误测量。需要注意的是,在第二个示例中,边缘在测量前会先经过边缘打断处理。

在 Calibre nmDRC-H 中,存在一种罕见情况:当对边缘 X 和 Y 执行测量时,阻挡边缘可能未在正确的层级中被识别。这会导致错误测量无法被过滤,最终生成错误的输出结果。这种现象在使用单层 EXTERNAL 操作执行凹槽测量时最为常见。

由于在基于边缘的系统中,消除错误测量需要消耗大量时间,因此 Calibre nmDRC-H 在默认情况下,仅会优先排除最严重的错误测量情况。

对于单层 EXTERNAL 操作,你可以通过在特定的尺寸检查操作中添加 EXCLUDE FALSE 次级关键字,指示 Calibre nmDRC-H 尽最大努力避免出现错误的凹槽测量结果。

DRC Exclude False Notch YES 规范语句 会在全局范围内作用于规则文件中所有的层级化单层 EXTERNAL 检查。该语句执行的检查逻辑与本节前文所述一致。

注意错误凹槽检测可能会对性能产生负面影响。在将其部署到生产环境的规则文件之前,请务必进行全面测试。

七、测量容差

尺寸检查操作的容差由 DRC Tolerance Factor 规范语句 控制。该语句仅适用于尺寸检查操作,对其他任何图层操作均不生效。

相关推荐
Flash.kkl33 分钟前
Linux——进程信号
运维·服务器
苏宸啊2 小时前
Linux权限
linux·运维·服务器
Gofarlic_oms12 小时前
Windchill用户登录与模块访问失败问题排查与许可证诊断
大数据·运维·网络·数据库·人工智能
xqhoj2 小时前
Linux——make、makefile
linux·运维·服务器
文亭湖畔程序猿2 小时前
Debian 12 日常命令 & nano 快捷键速查表
运维·debian
张童瑶3 小时前
Linux 在线安装编译Python3.11
linux·运维·python3.11
ziqibit3 小时前
debian Live with Persistence 持久化U盘的debian系统
运维·debian
Shi_haoliu3 小时前
SolidTime 在 Rocky Linux 9.5 上的完整部署流程
linux·运维·nginx·postgresql·vue·php·laravel
Lkygo3 小时前
LlamaIndex使用指南
linux·开发语言·python·llama
qq_254617773 小时前
nslookup 这个命令解析dns,和系统接口gethostbyname解析区别在哪?
linux·网络