4. 常见违例类型概览:宽度违例、间距违例、包围违例、密度违例、天线违例等分类

在物理验证(Physical Verification)流程中,DRC(Design Rule Check)是确保版图(Layout)符合晶圆厂工艺规则的核心环节。DRC 违例种类繁多,但根据其几何与物理特性,可以归纳为五大核心类别。理解这些违例的本质,是高效调试与修复的第一步。

4.1 五大核心违例类型总览

下表列出了最常遇到的 DRC 违例类型、典型规则描述及常见触发场景。这些规则通常由晶圆厂在 PDK(Process Design Kit)中以 .rul 文件形式提供。

违例类型 典型规则描述 常见触发场景
宽度违例 最小线宽(Min Width)、最大线宽(Max Width) 金属线太细、多晶硅栅极宽度不足、宽金属沟道未开槽
间距违例 最小间距(Min Space)、同网络间距(Same Net Spacing) 相邻金属线距离过近、不同电位阱间距不足、通孔重叠
包围违例 包围(Enclosure)、覆盖(Overlap) 通孔(Via)被金属包围不足、N阱包围PMOS有源区不够
密度违例 密度(Density)、密度梯度(Density Gradient) 金属密度过高或过低、CMP平坦化后厚度不均
天线违例 天线比(Antenna Ratio)、天线效应 长金属线直接连接栅极、等离子体刻蚀时电荷积累
调试要点: 在 Calibre 或 ICV 工具中,违例报告通常以 DRC ERROR 形式输出,包含违例坐标、层次名称及违反的规则编号。调试的第一步是区分违例属于“几何约束”还是“物理效应约束”。

4.2 宽度违例(Width Violation)

宽度违例是最基础的几何违例,指版图中某层图形的实际宽度小于工艺允许的最小值,或超过最大值(宽金属需加开槽)。

  • 最小宽度违例: 常见于金属1(M1)、多晶硅(Poly)等层次。例如,0.18μm 工艺要求 M1 最小宽度为 0.23μm,若版图中出现 0.20μm 的线宽,则触发违例。
  • 最大宽度违例: 当金属线宽超过某个阈值(如 10μm)时,必须添加开槽(Slot)或网格(Mesh),否则因热应力或CMP压力导致金属开裂。
// 典型最小宽度规则示例(Calibre SVRF 语法)
// 规则:M1 最小宽度 0.23um
M1_MIN_WIDTH { @ M1 最小宽度违例
    WIDTH M1 < 0.23
}

4.3 间距违例(Spacing Violation)

间距违例指两个图形之间的边缘距离小于工艺规定的最小值。这是版图密度提升时最容易出现的违例。

  • 同层间距: 同一层内两个图形之间的最小距离。例如,M1 到 M1 间距为 0.23μm。
  • 异层间距: 不同层之间的间距,如 N阱(NW)与 P阱(PW)之间的间距。
  • 同网络间距: 同一网络(Net)下不同分支之间的间距,通常要求更严格,防止短路风险。
调试技巧: 间距违例常由“自动布线器”或“版图复制”操作引入。使用 DRC 工具中的 DRC EXPLAIN 命令可以高亮显示违例区域,快速定位冲突图形。

4.4 包围违例(Enclosure Violation)

包围违例描述的是某一层图形必须被另一层图形完全覆盖或包围的规则。最常见于通孔(Via)与金属层之间。

  • 通孔包围: 例如,Via1 的上下必须被 M1 和 M2 包围至少 0.06μm。若金属边缘与通孔边缘距离不足,则触发违例。
  • 阱包围: N阱必须包围 PMOS 的有源区(Active)一定距离,防止闩锁效应(Latch-up)。
// 典型包围规则示例
// 规则:Via1 被 M1 包围至少 0.06um
VIA1_ENCLOSURE { @ Via1 包围违例
    ENCLOSURE M1 VIA1 < 0.06
}

4.5 密度违例(Density Violation)

密度违例属于工艺制造相关的物理效应规则。CMP(化学机械抛光)工艺要求芯片各区域的金属密度保持均匀,否则会导致厚度不均、电阻变化甚至断路。

  • 最小密度: 例如,在 100μm × 100μm 的窗口内,M1 的密度不得低于 30%。
  • 最大密度: 密度不得超过 70%,防止过度研磨。
  • 密度梯度: 相邻窗口之间的密度变化率不得超过一定值(如 10%)。
注意: 密度违例的修复通常需要添加“虚拟填充(Dummy Fill)”。但填充图形必须遵守自身的间距规则,且不能引入新的天线违例或耦合电容问题。

4.6 天线违例(Antenna Violation)

天线违例是等离子体损伤(Plasma Induced Damage, PID)的体现。在刻蚀过程中,长金属线会像天线一样收集电荷,若直接连接到栅极,积累的电荷可能击穿栅氧化层。

  • 天线比: 定义为金属面积与栅极面积的比值。例如,M1 天线比不得超过 400:1。
  • 跳层修复: 通过插入通孔跳转到更高层金属,断开长金属线,从而释放电荷。
// 典型天线规则示例
// 规则:M1 天线比 < 400
ANT_M1 { @ M1 天线违例
    ANTENNA M1 GATE > 400
}

4.7 违例类型关系与调试优先级

下图展示了五大违例类型之间的逻辑关系及调试优先级。通常,宽度和间距违例是基础几何问题,应优先修复;包围违例次之;密度和天线违例属于物理效应问题,修复时需考虑全局影响。

DRC 违例类型关系与调试优先级 基础几何违例 宽度违例 · 间距违例 层次关系违例 包围违例 · 覆盖违例 物理效应违例 天线违例 工艺均匀性违例 密度违例 · 密度梯度违例 全局修复策略 尺寸调整 → 跳层修复 → 虚拟填充 调试优先级:宽度/间距 > 包围 > 天线 > 密度

4.8 违例调试通用流程

面对复杂的 DRC 报告,建议遵循以下步骤进行系统化调试:

  1. 分类统计: 使用 DRC 工具生成违例摘要(Summary),按违例类型和层次分组,找出数量最多的违例类型。
  2. 定位热点: 在版图编辑器中加载 DRC 结果,使用 DRC MARKER 或 ERROR BROWSER 高亮违例区域。
  3. 分析根因: 判断违例是由布线器自动引入、手动编辑失误,还是由单元库(Standard Cell)本身引起。
  4. 选择修复方案:
    • 宽度/间距违例:调整线宽或移动图形。
    • 包围违例:扩大包围层或缩小被包围图形。
    • 天线违例:插入跳层通孔或添加二极管。
    • 密度违例:添加虚拟填充金属。
  5. 增量验证: 修复后仅对修改区域进行增量 DRC(Incremental DRC),避免全芯片重新运行,节省时间。
实战建议: 在项目初期,建议将 DRC 规则按“致命违例(Fatal)”和“建议违例(Warning)”分类。宽度、间距、包围违例通常设为 Fatal,密度和天线违例可设为 Warning,但必须在 Tapeout 前全部清除。