3、DRC工具介绍:主流DRC工具(Calibre、ICV、Assura等)、工具界面与操作流程、如何选择适合的工具

做芯片设计这些年,我换过好几家EDA工具。说实话,DRC工具这东西,就像工程师手里的螺丝刀——用顺手了,效率翻倍;用不惯,天天想骂人。今天我就把几个主流工具掰开揉碎了讲讲,顺便聊聊我踩过的坑。

3.1 三大主流DRC工具概览

目前市面上用得最多的,就是这三家:Mentor(现属Siemens)的Calibre、Synopsys的ICV、Cadence的Assura。嗯,还有个PVS,但咱们先聊这三个。

工具名称 开发商 核心特点 常见应用场景
Calibre Siemens EDA (原Mentor) 速度快、规则支持全面、业界标杆 先进工艺节点、大规模SoC
ICV (IC Validator) Synopsys 与Synopsys工具链集成好、支持并行 数字后端、综合后验证
Assura Cadence 与Virtuoso深度集成、交互式操作 模拟/混合信号设计、版图编辑

你可能会问:「到底选哪个?」我的回答是:看你的流片厂要求。很多Foundry只认Calibre的结果。我在一个28nm项目里就吃过这个亏——用ICV跑全过了,结果Foundry要求必须用Calibre重新跑一遍,白白浪费两天。

3.2 Calibre:业界老大哥

Calibre是我用得最多的工具。说白了,它就是DRC界的「标准答案」。几乎所有Foundry都会提供Calibre的rule deck。

3.2.1 界面与操作流程

Calibre有两种运行方式:命令行和图形界面。我个人习惯用命令行,但调试的时候还是得开GUI。

典型的Calibre DRC流程是这样的:

  1. 准备文件:GDS版图文件 + DRC rule deck(.rul文件)
  2. 运行DRC:调用calibre -drc命令
  3. 查看结果:打开RVE(Results Viewing Environment)
  4. 修复错误:在版图中高亮标记,逐一修改

举个简单的命令行例子:

# 运行Calibre DRC
calibre -drc -hier -turbo 4 my_design.gds my_rules.rul

# 参数说明:
# -hier   :层次化检查,速度快
# -turbo 4:开启4核并行
# 输出文件:my_design.drc.report(文本报告)
#          my_design.drc.db(数据库,供RVE查看)

这里有个坑要提醒你:-turbo参数不是越大越好。我曾经在一个项目里开了16核,结果内存爆了,机器直接卡死。后来发现,对于小规模设计,4核就够了;超过8核,收益递减明显。

我的小技巧:调试阶段先用单核跑,确认rule deck没问题了,再开多核跑全芯片。这样能省不少排查时间。

3.2.2 RVE界面使用

RVE是Calibre的结果查看器。说实话,第一次用的时候我也懵——满屏的红色标记,根本不知道从哪下手。

后来我总结了一套流程:

  • 按错误类型分组:RVE会把相同类型的错误归到一起,先修数量多的
  • 双击错误条目:自动跳转到版图中对应的位置
  • 使用「Next」按钮:逐个检查,别跳着看,容易漏
注意:RVE中的「Waive」功能慎用。我曾经手滑把几个关键错误标记为忽略,结果流片回来才发现问题。建议:除非100%确定是假错,否则不要轻易Waive。

3.3 ICV:Synopsys的利器

ICV,全称IC Validator。如果你用的是Synopsys的全流程工具(比如ICC2、PrimeTime),那ICV会是你的好搭档。

ICV最大的优势是并行处理能力。我记得有个项目,用Calibre跑DRC要12小时,换成ICV只用了6小时——当然,前提是你得有足够的license。

ICV的操作流程和Calibre类似,但命令不同:

# 运行ICV DRC
icv -drc -rule my_rules.icv -design my_design.gds -report my_report.txt

# ICV的特色参数:
# -cells :指定检查的cell层级
# -threads:线程数,ICV对多线程支持很好

这里要提一句:ICV的rule deck语法和Calibre不太一样。如果你从Calibre转过来,需要花点时间适应。我刚开始用ICV时,就因为写错了一个关键字,跑了半天才发现rule没生效。

3.4 Assura:模拟设计师的伙伴

Assura是Cadence家的工具,和Virtuoso版图编辑器是「亲兄弟」。如果你做模拟IC设计,大概率会用到它。

Assura最大的特点是交互式操作。你可以在Virtuoso里直接启动Assura,边改版图边跑DRC,非常方便。

操作流程:

  1. 在Virtuoso中打开版图
  2. 菜单栏选择:Assura → Run DRC
  3. 选择rule deck和运行模式
  4. 查看结果:错误会直接在版图上高亮

不过Assura也有短板——速度慢。对于大规模数字设计,它跑起来比Calibre慢不少。我一般只在模拟模块的局部检查时用Assura,全芯片还是交给Calibre。

一句话总结:Calibre是万金油,ICV适合Synopsys生态,Assura适合模拟设计。选工具,先看Foundry要求,再看团队习惯。

3.5 如何选择适合的工具?

这个问题没有标准答案。我根据经验,给你几个判断维度:

考虑因素 推荐工具 原因
Foundry指定 Calibre 大多数Foundry只认Calibre结果
全Synopsys流程 ICV 与ICC2、PrimeTime无缝集成
模拟/混合信号 Assura Virtuoso集成度高,交互方便
大规模数字芯片 Calibre或ICV 并行能力强,支持层次化检查
预算有限 ICV 同等性能下,license成本可能更低

我个人建议:团队至少掌握两种工具。为什么?因为有时候Foundry会更新rule deck,只支持某一种工具。我经历过一次,项目做到一半,Foundry说「我们只提供Calibre的rule了」,结果整个团队连夜学Calibre——那滋味,不想再体验第二次。

3.6 工具对比总结

最后,我用一张图来总结这三个工具的核心差异。这张图是我自己画的,希望能帮你快速建立认知。

主流DRC工具对比 Calibre Siemens EDA ✅ 业界标准,Foundry首选 ✅ 速度快,支持层次化 ✅ RVE结果查看器好用 ❌ License成本较高 ❌ 学习曲线略陡 ICV Synopsys ✅ 并行能力强,跑得快 ✅ 与Synopsys工具链集成 ✅ 支持分布式处理 ❌ Foundry支持度略低 ❌ Rule语法不同需适应 Assura Cadence ✅ Virtuoso深度集成 ✅ 交互式操作方便 ✅ 适合模拟设计 ❌ 大规模设计速度慢 ❌ 高级功能需额外license 建议:根据Foundry要求 + 团队工具链 + 设计规模,综合选择

嗯,以上就是我对主流DRC工具的理解。说白了,工具只是手段,关键还是你对规则的理解和排查问题的能力。下一节,我们会深入DRC rule deck的语法,到时候我会拿几个真实案例来讲——那些年我写错的rule,够写一本「反面教材」了。

可可精品资料库