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的流程都是三步走。我画了一张流程图,帮你理清思路。

DRC运行流程 输入阶段 版图文件 (GDS/OASIS) DRC规则文件 (.rul/.svrf) 层次化定义 (可选) 运行阶段 规则解析与编译 版图几何运算 违规检测与标记 输出阶段 DRC报告 (.drc/.sum) 错误标记 (RVE/DB) 图形化结果展示 三个步骤环环相扣,任何一个环节出问题都会影响最终结果 常见问题 • 输入阶段:GDS版本不兼容、规则文件路径错误 • 运行阶段:内存不足、规则语法错误、层次化设置不当 • 输出阶段:报告格式不匹配、错误定位不准确

3.6 输入阶段:准备好你的材料

跑DRC之前,你需要准备三样东西:

  1. 版图文件:通常是GDS或OASIS格式。我建议用OASIS,文件更小,加载更快。
  2. DRC规则文件:工艺厂提供的规则文件,后缀可能是.rul、.svrf或.tcl。
  3. 层次化定义:如果你做的是大芯片,建议定义好哪些模块是重复的,让工具自动复用检查结果。

我的经验:每次拿到新工艺的规则文件,我都会先跑一个简单的测试结构——比如一个最小宽度的金属线。如果这个都报错,那肯定是规则文件或设置有问题。别一上来就跑全芯片,浪费时间。

3.7 运行阶段:工具在做什么?

你点下「运行」按钮后,工具其实在干三件事:

  • 规则解析:把DRC规则文件翻译成内部指令。这一步如果规则语法有错,会直接报错退出。
  • 几何运算:对版图做各种几何操作——求交、求并、求差、扩边、缩边等等。说白了,就是检查每一条规则是否被违反。
  • 违规标记:发现违反规则的地方,就记下来——位置、类型、严重程度。

为什么会跑得慢?很多时候是因为规则写得不够优化。我记得有一次,一个同事的DRC跑了整整一天,后来发现是规则里有个循环嵌套,改了一下写法,半小时就跑完了。

3.8 输出阶段:看懂你的结果

DRC跑完后,你会得到两类输出:

输出类型 内容 用途
文本报告 错误总数、分类统计、每个错误的坐标和描述 快速了解整体情况
图形化结果 在版图上高亮显示错误位置 精确定位和修改

看报告时,我建议先看错误分类统计。如果某类错误特别多,那可能是设计风格或规则理解有问题,而不是一个个去改。

注意:不要只看错误数量。有时候一个错误会引发连锁反应——比如一条线宽不够,导致周围一堆间距错误。先修根因,再修衍生错误,效率最高。

好了,DRC工具和流程就讲到这里。记住一句话:工具只是工具,关键是你怎么用它。多跑、多看、多总结,慢慢你就能摸清每个工具的脾气。

核心要点回顾:

  • Calibre适合全芯片签核,ICV适合数字后端,Assura适合模拟模块
  • DRC流程三步走:输入版图+规则 → 运行检查 → 输出报告+图形
  • 先跑测试结构确认规则文件没问题,再跑全芯片
  • 看报告先看分类统计,找到根因再修衍生错误

可可精品资料库