3. DRC规则解读与Virtuoso验证环境搭建
DRC(Design Rule Check)是版图签核的第一道硬门槛。它并不只是“跑一个检查”,而是把代工厂工艺约束翻译成版图几何与层次关系的一组可执行断言。要真正用好DRC,需要同时理解三件事:规则文件里写了什么、Virtuoso里如何把规则文件挂到当前工艺库上、以及第一次运行后如何读懂结果并定位问题。
一、DRC规则文件的结构与分层
以常见的Calibre/Assura/PVS规则文件为例,一个可运行的DRC deck通常由若干逻辑段组成:首先是环境与库声明,例如 LAYOUT PATH、LAYOUT PRIMARY、LAYOUT SYSTEM GDSII,用于告诉验证引擎读哪个版图、顶层单元是谁、格式是什么;接着是层次定义段,把GDS中的层号/数据类型映射为可读的层名,例如 LAYER M1 31 0、LAYER VIA1 51 0;然后是派生层与逻辑运算,例如 M1_D = M1 AND M1、AA_GATE = AA AND POLY,用于构造规则真正关心的几何对象;最后才是规则主体,如宽度、间距、包围、延伸、密度、天线等检查语句。
规则分层是理解DRC的关键。通常可分为:
- 几何规则层:最小宽度、最小间距、最小面积、拐角规则等,直接约束单层或多层几何。
- 关系规则层:覆盖、包围、延伸、重叠、对齐等,描述层与层之间的相对关系。
- 密度规则层:金属密度、Poly密度、AA密度等,按窗口统计面积占比,防止CMP工艺不均匀。
- 天线规则层:约束金属与栅氧面积比,防止等离子刻蚀过程中栅极电荷积累击穿。
- 电压/器件相关规则层:不同电压域、不同器件类型的间距与阱规则。
在Virtuoso中加载规则文件时,Assura通常通过 Assura → Run DRC 指定规则文件路径与运行目录;PVS则通过 Physical Verification System 的 Rules File 字段加载,并选择 DRC 模式。无论哪种引擎,核心都是把规则文件、版图库、顶层单元、运行目录四者绑定。建议在项目目录下建立 pv/drc/ 子目录,把规则文件、运行脚本、结果报告分开放置,避免污染设计库。
二、密度检查与天线规则的实际含义
密度检查不是“看版图密不密”,而是按指定窗口尺寸在版图上滑动统计某一层面积占比。例如规则可能写成:DENSITY M1 < 0.30 WINDOW 100 100 STEP 50,含义是在100μm×100μm窗口内,M1面积占比不得低于30%,窗口按50μm步进滑动。若某区域密度不足,CMP抛光后会出现碟形凹陷,影响后续光刻聚焦。常见处理方式是插入dummy metal或调整布线密度。密度规则通常还分“层密度”和“总密度”,并可能对最小/最大同时设限。
天线规则关注的是金属与栅氧面积比。在等离子刻蚀中,长金属线像天线一样收集电荷,若电荷无法及时泄放,会击穿栅氧。规则通常写成:ANTENNA M1 GATE AREA RATIO > 300,即M1面积与栅面积之比不得超过300。违反时可通过跳层、加二极管或缩短金属线来修复。理解这两类规则,有助于在版图阶段就预判风险,而不是等DRC报错后再被动修改。
三、运行首个DRC检查与结果判读
假设当前有一个反相器版图 inv_test,工艺库为 tsmc18,规则文件为 tsmc18_drc.rul。在Virtuoso CIW中打开 Assura → Run DRC,填写:
Rules File: /project/pv/drc/tsmc18_drc.rul
Layout Cell: inv_test
Layout View: layout
Run Directory: /project/pv/drc/run_inv_01
Mode: DRC
点击运行后,Assura会在运行目录生成结果库与报告文件。首次运行建议先看摘要:Total Errors、Error Types、Top Cell。若报错为0,说明当前版图通过该规则集;若报错非0,则按错误类型逐条定位。常见错误包括:M1最小间距不足、Via包围不够、Poly延伸不足、密度违规、天线违规。每条错误会给出坐标、层名和规则编号,点击可高亮到版图对应位置。
四、环境搭建中的常见问题与检查清单
实际搭建中,最容易出问题的不是规则本身,而是环境绑定。以下清单可直接用于自查:
| 检查项 | 正确做法 | 常见错误 |
|---|---|---|
| 规则文件路径 | 使用绝对路径,确认文件可读 | 相对路径导致找不到文件 |
| 层映射 | 与工艺库GDS层号一致 | 层号错位导致误报 |
| 顶层单元 | 选择实际待检查的cell | 选错cell导致空跑 |
| 运行目录 | 独立目录,避免覆盖 | 与设计库混放 |
| 引擎模式 | Assura选DRC,PVS选DRC | 误选LVS导致结果异常 |
完成首次DRC后,建议把运行命令、规则文件版本、结果摘要记录到项目签核日志中。这样在后续迭代中,可以快速判断是版图变化导致的新错误,还是规则文件更新带来的差异。DRC不是一次性的动作,而是伴随整个版图设计周期的持续验证过程。