3、DRC工具与流程:主流DRC工具简介与运行流程
做版图设计,DRC(设计规则检查)是绕不开的一关。说白了,它就是给版图做一次「体检」,看看有没有违反工艺厂定下的规矩。
我刚开始接触DRC时,总觉得这步很烦——画好的版图,一跑DRC就冒出一堆错误。后来才明白,早跑、勤跑、会看结果,才是减少迭代的关键。
3.1 主流DRC工具:三足鼎立
目前业界主流的DRC工具,主要有三款。我这些年都接触过,各有各的脾气。
| 工具名称 | 开发商 | 特点 | 适用场景 |
|---|---|---|---|
| Calibre | Mentor (Siemens) | 速度快、规则语法灵活、生态成熟 | 几乎所有先进工艺节点 |
| ICV | Synopsys | 与ICC2集成好、支持层次化检查 | 数字后端流程 |
| Assura | Cadence | 与Virtuoso无缝集成、上手简单 | 模拟/混合信号设计 |
我的个人习惯:模拟模块用Assura做快速迭代,全芯片最终签核用Calibre。为什么?因为Calibre的规则库最全,流片厂基本只认它的结果。
3.2 Calibre:行业标杆
Calibre是目前使用最广的DRC工具。我记得第一次用Calibre跑DRC时,被它的速度惊到了——一个中等规模的模块,几分钟就出结果。
它的核心优势在于:
- 规则语法灵活:支持SVRF和Tcl两种规则写法,复杂规则也能轻松实现
- 层次化处理:自动识别重复单元,避免重复检查,效率极高
- 结果可视化:RVE界面可以直接定位错误,双击就能跳转到版图
避坑指南:我曾经因为Calibre规则文件版本没选对,跑出来的结果全是假错。后来养成习惯——每次换工艺版本,先跑一个已知正确的测试结构,确认规则文件没问题再开始正式检查。
3.3 ICV:数字后端的利器
ICV是Synopsys家的工具,如果你用ICC2做数字后端,那ICV就是最佳搭档。它和ICC2共享数据库,不需要额外转换格式。
ICV的几个特点:
- 增量检查:只检查修改过的区域,适合频繁迭代
- 多线程优化:充分利用多核CPU,大芯片也能快速跑完
- 与PrimeTime集成:可以同时做DRC和时序分析
嗯,这里要注意——ICV的规则语法和Calibre不太一样。如果你习惯了Calibre的写法,刚开始用ICV可能会有点别扭。但上手后会发现,它的层次化处理能力确实强。
3.4 Assura:模拟设计师的好帮手
Assura是Cadence家的工具,和Virtuoso版图编辑器是「亲兄弟」。你想想看,画完版图直接点一下就能跑DRC,不用导出GDS、不用写脚本,多方便。
Assura的适用场景:
- 模拟模块:小规模、高精度,需要频繁修改和检查
- 混合信号:可以同时检查模拟和数字部分
- 快速验证:不需要全芯片签核时,用它做初步检查
注意:Assura在大规模数字芯片上速度不如Calibre。我见过有人用Assura跑一个上千万门的芯片,结果跑了三天还没出结果。所以,选工具要看场景。
3.5 DRC运行流程:输入 → 运行 → 输出
不管用哪个工具,DRC的流程都是三步走。我画了一张流程图,帮你理清思路。
3.6 输入阶段:准备好你的材料
跑DRC之前,你需要准备三样东西:
- 版图文件:通常是GDS或OASIS格式。我建议用OASIS,文件更小,加载更快。
- DRC规则文件:工艺厂提供的规则文件,后缀可能是
.rul、.svrf或.tcl。 - 层次化定义:如果你做的是大芯片,建议定义好哪些模块是重复的,让工具自动复用检查结果。
我的经验:每次拿到新工艺的规则文件,我都会先跑一个简单的测试结构——比如一个最小宽度的金属线。如果这个都报错,那肯定是规则文件或设置有问题。别一上来就跑全芯片,浪费时间。
3.7 运行阶段:工具在做什么?
你点下「运行」按钮后,工具其实在干三件事:
- 规则解析:把DRC规则文件翻译成内部指令。这一步如果规则语法有错,会直接报错退出。
- 几何运算:对版图做各种几何操作——求交、求并、求差、扩边、缩边等等。说白了,就是检查每一条规则是否被违反。
- 违规标记:发现违反规则的地方,就记下来——位置、类型、严重程度。
为什么会跑得慢?很多时候是因为规则写得不够优化。我记得有一次,一个同事的DRC跑了整整一天,后来发现是规则里有个循环嵌套,改了一下写法,半小时就跑完了。
3.8 输出阶段:看懂你的结果
DRC跑完后,你会得到两类输出:
| 输出类型 | 内容 | 用途 |
|---|---|---|
| 文本报告 | 错误总数、分类统计、每个错误的坐标和描述 | 快速了解整体情况 |
| 图形化结果 | 在版图上高亮显示错误位置 | 精确定位和修改 |
看报告时,我建议先看错误分类统计。如果某类错误特别多,那可能是设计风格或规则理解有问题,而不是一个个去改。
注意:不要只看错误数量。有时候一个错误会引发连锁反应——比如一条线宽不够,导致周围一堆间距错误。先修根因,再修衍生错误,效率最高。
好了,DRC工具和流程就讲到这里。记住一句话:工具只是工具,关键是你怎么用它。多跑、多看、多总结,慢慢你就能摸清每个工具的脾气。
核心要点回顾:
- Calibre适合全芯片签核,ICV适合数字后端,Assura适合模拟模块
- DRC流程三步走:输入版图+规则 → 运行检查 → 输出报告+图形
- 先跑测试结构确认规则文件没问题,再跑全芯片
- 看报告先看分类统计,找到根因再修衍生错误