一、版图验证概述
各位同学好,我是老张。在芯片设计这行摸爬滚打十几年,今天咱们来聊聊版图验证这件事。
说实话,我刚入行那会儿,对版图验证的理解就是「跑个DRC、LVS就完事了」。后来吃过几次亏,才明白这玩意儿远没那么简单。嗯,咱们一步步来。
什么是版图验证?
版图验证,说白了就是检查你画的那张「芯片地图」有没有问题。
你想想看,一张版图里可能有几百万甚至上亿个晶体管,每个晶体管的长宽、间距、连线方式都有严格规定。稍微出点差错,流片回来就是一堆废片。
我个人习惯把版图验证比作「高考阅卷」——你交上去的版图,必须通过所有规则检查,才能拿到「录取通知书」(也就是流片)。
核心要点:版图验证不是可选项,而是必选项。跳过验证直接流片,等于赌博。
DRC / LVS / ERC 的概念
这三个缩写,是版图验证的三大支柱。我一个个说。
DRC(设计规则检查)
DRC检查的是「几何规则」。比如金属线的最小宽度、两条线之间的最小间距、有源区的最小面积等等。
这些规则来自晶圆厂,是工艺能力的物理极限。你违反了,工厂就造不出来。
举个例子:
规则:M1 最小宽度 = 0.18μm
你的版图:M1 宽度 = 0.15μm
结果:DRC 报错 → 金属线可能断裂
避坑指南:我曾经遇到过一个案例,DRC报了一堆「最小间距」错误,我以为是工具误报,直接waive掉了。结果流片回来,那两条线短路了。从那以后,我再也不敢随便waive DRC错误。
LVS(版图与原理图一致性检查)
LVS检查的是「电路逻辑」。你的版图画得再漂亮,如果连线和原理图对不上,那就是废的。
LVS会做三件事:
- 提取版图中的器件(MOS管、电阻、电容等)
- 提取版图中的连接关系(网表)
- 与原理图网表做比对
如果LVS报错,通常意味着你的版图连错了线,或者少了某个器件。
注意:LVS通过 ≠ 电路功能正确。LVS只检查连接关系,不检查电路设计本身。
ERC(电气规则检查)
ERC检查的是「电气特性」。比如:
- 电源和地有没有短路?
- 浮空的栅极(floating gate)?
- 不同电源域之间有没有交叉?
ERC相对冷门一些,但很重要。我记得有一次,ERC报了一个「floating gate」的警告,我没在意。结果芯片测试时,那个管子的漏电大得离谱。
| 检查项 | 检查内容 | 常见错误 |
|---|---|---|
| DRC | 几何规则 | 最小间距、最小宽度 |
| LVS | 电路连接 | 短路、开路、器件缺失 |
| ERC | 电气特性 | floating gate、电源短路 |
华大九天 Aether 版图工具简介
华大九天的Aether,是国内EDA工具里的佼佼者。我用过不少国外的工具,说实话,Aether在某些方面做得更接地气。
Aether 的特点:
- 全中文界面(对新手友好)
- 支持主流工艺节点(从0.18μm到7nm)
- 内置DRC/LVS/ERC引擎
- 与华大九天的其他工具无缝集成
我个人最喜欢Aether的一点是它的「实时DRC」功能——你画版图的时候,它就在后台默默检查,有错误立刻标红。这比画完再跑一遍DRC省事多了。
小技巧:在Aether里,按F8可以快速打开DRC结果面板。我习惯一边画一边看,有错误当场改,效率高很多。
验证流程总览
完整的版图验证流程,大概是这样的:
- 画完版图 → 导出GDS文件
- 运行DRC → 检查几何规则
- 修复DRC错误 → 改版图
- 运行LVS → 检查电路连接
- 修复LVS错误 → 改版图
- 运行ERC → 检查电气特性
- 修复ERC错误 → 改版图
- 最终确认 → 所有检查通过,准备流片
这个流程看起来简单,但实际做起来,每一步都可能卡住好几天。尤其是DRC,有时候一个错误改完,又冒出三个新错误。
下面这张图,是我自己总结的验证流程框架,你们可以保存下来参考。
这张图里,DRC、LVS、ERC三个检查是串行的。但实际项目中,我建议你们并行处理——跑DRC的同时准备LVS的网表,能省不少时间。
总结一下:版图验证不是走过场,而是芯片设计的「守门员」。DRC管物理规则,LVS管电路连接,ERC管电气特性。三者缺一不可。
好了,第一章的内容就到这里。记住我今天说的这些,后面咱们会一个一个深入讲。