2. 工艺规则与DFM规则基础

在进入 Calibre 规则文件编写之前,必须先厘清一个常被混淆的问题:设计规则检查(DRC)与 DFM 规则并不是同一件事。它们共享同一套几何描述语言,却服务于完全不同的目标。理解这一点,是后续读懂、修改乃至自建 Calibre 规则文件的前提。

一、DRC 与 DFM 规则的本质区别

DRC 回答的是"这个版图能不能被制造出来"——它是一道硬性门槛。典型 DRC 规则包括最小线宽、最小间距、最小包围、最小延伸、密度上下限等,判定结果是二值的:通过或违反。违反 DRC 的版图在理论上无法保证良率,甚至根本无法在光刻、刻蚀、CMP 等工序中成形。

DFM 规则回答的是"这个版图制造出来以后,良率好不好、参数稳不稳"。它通常是软性建议或加权评分,而非一刀切的禁止。例如:某条金属线虽然满足最小间距,但恰好处于光刻工艺窗口最窄的周期区间,DFM 会建议拉开间距或改变线端形状;某个通孔阵列虽然满足 DRC,但密度过低可能导致 CMP 碟形凹陷,DFM 会建议增加 dummy 填充。

可以用一句话概括:DRC 是"合法性问题",DFM 是"健康度问题"。前者决定设计能否交付制造,后者决定交付后能拿到多少良率。

对比维度DRC 规则DFM 规则
判定性质二值(Pass/Fail)分级、评分或建议
典型来源Foundry 工艺设计套件(PDK)PDK + 良率模型 + 硅数据
违反后果禁止流片良率下降、参数漂移
规则数量级数百至数千条数千至数万条(含推荐项)
典型示例M1 最小宽度 0.05 μmM1 线端建议加长 0.01 μm

二、工艺节点演进如何改变 DFM 的要求

在 0.18 μm 及以上节点,DRC 与 DFM 的界限相对模糊,因为图形尺寸远大于光波长,光刻近似为几何复制,只要满足几何规则,制造结果基本可控。进入 90 nm、65 nm 后,图形尺寸接近甚至小于 193 nm 光波长,光学邻近效应(OPE)开始主导图形转移结果:直角变圆角、线端缩短、密集区与孤立区线宽不一致。

到 28 nm 及以下,问题进一步复杂化:多重曝光、SADP/SAQP 自对准多重成像、FinFET 三维结构、CMP 与刻蚀负载效应叠加。此时单纯靠 DRC 已经无法保证良率,DFM 必须引入光刻仿真模型、工艺窗口分析、热点检测等手段。规则文件也从"几何尺寸比较"演化为"模型驱动的仿真判定"。

这一演进对 Calibre 规则文件提出三个直接要求:一是必须支持模型化检查(如 Calibre LFD、Calibre Pattern Matching);二是必须能处理多层、多步骤的工艺分解(如双重曝光的 coloring 检查);三是必须支持大规模版图的快速层次化处理,否则全芯片 DFM 检查在时间上不可行。

工艺节点演进与 DFM 规则能力需求 0.18 μm 90/65 nm 28 nm 16/7 nm 几何规则主导 DRC 与 DFM 界限模糊 光刻近似几何复制 规则以尺寸比较为主 规则数:数百条 OPE 效应显现 线端缩短、圆角化 引入 OPC 修正 DFM 开始独立于 DRC 规则数:上千条 模型化 DFM 光刻仿真 + 热点检测 工艺窗口分析 LFD / Pattern Matching 规则数:数千条 多重曝光 + 3D SADP/SAQP coloring FinFET 三维效应 CMP + 刻蚀负载 规则数:上万条 Calibre 规则文件能力需求递增 几何比较 → 层次化处理 → 模型仿真 → 多重曝光分解 → 全芯片快速验证 DRC 保证"能制造",DFM 保证"制造得好";节点越先进,两者差距越大

三、Calibre 规则文件结构入门

Calibre 规则文件(通常以 .cal 或 .rule 为扩展名)本质上是一段声明式脚本,由若干条规则语句组成。它的执行模型是:Calibre 读入版图数据库(GDSII/OASIS),按规则文件中的语句逐条对指定层进行几何运算和判定,最后输出违反结果或评分报告。

一个最小可运行的规则文件通常包含以下结构:

// 1. 层定义:将 GDS 层号映射为可读名称
LAYER M1 10
LAYER VIA1 20
LAYER M2 30

// 2. 派生层:通过布尔运算生成新层
M1_DUMMY = M1 NOT M1_ACTIVE

// 3. 规则语句:对层施加几何约束
// 最小宽度检查
M1_WIDTH = WIDTH(M1) < 0.05
// 最小间距检查
M1_SPACE = SPACE(M1) < 0.05
// 密度检查
M1_DENSITY = DENSITY(M1) < 0.30

// 4. 输出控制
DRC RESULTS DATABASE "drc_results.gds" GDSII
DRC MAXIMUM RESULTS ALL

这段示例中,LAYER 语句建立层号与名称的映射;M1_DUMMY 是派生层,用布尔运算从已有层构造新层;WIDTH、SPACE、DENSITY 是 Calibre 内置的几何检查函数;最后两行控制结果输出格式和数量上限。实际工程中的规则文件会在此基础上加入条件判断、循环、宏定义、模型调用等更复杂的结构。

规则文件中的层号必须与 PDK 中 GDS 层映射表严格一致。层号写错是初学者最常见的错误,会导致检查结果完全无效却难以察觉。建议在文件开头用注释标明层映射来源。

四、从规则到判断:一个密度检查的完整示例

以金属密度检查为例,说明规则文件如何驱动实际判断。假设某工艺要求 M1 在 100 μm × 100 μm 窗口内密度不低于 30%。规则文件写法为:

M1_DENSITY_WINDOW = DENSITY(M1, WINDOW 100 100) < 0.30

Calibre 执行时会以 100 μm 为步长滑动窗口,统计每个窗口内 M1 图形面积占比。若某窗口密度为 0.27,则该窗口被标记为违反,输出坐标和实际密度值。工程师据此在低密度区域插入 dummy metal 填充,重新运行检查,直到所有窗口密度落入 0.30~0.70 的推荐区间。

这个例子体现了 DFM 规则的典型工作方式:不是简单的通过/失败,而是给出量化指标,指导设计迭代优化。DRC 的密度规则可能只要求"不低于 20%",而 DFM 会进一步建议"最好在 30%~70% 之间",并可能对密度梯度、窗口尺寸提出更细的要求。