DRC、LVS、ANT 与物理验证:foundry deck、waiver 和签核闭环
更新时间:2026-09-14。本文是芯片设计专家层正文。版图数据基础见 版图数据是什么,流片流程见 芯片设计全流程。本篇讲 tape-out 前必须 clean 的物理验证三件套。
一、三类检查各回答一个问题
| 检查 | 回答的问题 | 典型工具输入 |
|---|---|---|
| DRC(Design Rule Check) | 版图几何形状能不能被这个工艺稳定制造? | GDS/OASIS + foundry rule deck |
| LVS(Layout Versus Schematic) | 版图做出来的电路,和设计网表是不是同一个? | GDS 抽取 SPICE 网表 vs 门级网表 |
| ANT(Antenna) | 制造刻蚀长金属时,会不会累积电荷打坏栅氧? | 工艺 antenna 规则 + 连接关系 |
常还伴随 ERC(电源地短路、floating well、latch-up/阱偏置等电气规则)和金属密度/CMP、dummy fill 检查。
三类检查共享同一份最终 GDS/OASIS,但走的判定路径完全不同,下图把它们画在一条流水线上。注意三个分支的判据来源:DRC 与 antenna 拿几何规则直接量版图,LVS 多了一步「抽取」再做拓扑比对;任何一支不 clean,数据都退回 P&R/ECO 而不是流向 foundry。
读图时容易误读的一点:图下方的「退回 ECO」不是只属于 LVS 的回路。DRC 加 fill、antenna 插 diode 这些修复动作同样会改变金属,从而改变抽取网表和寄生,所以任何一支被修过,都要回到顶部用同一份新 GDS 重跑其余检查,而不是只重跑报错的那一类。
二、DRC:制造厂的几何合同
常见规则类别:
- width:金属/多晶硅最小宽度;
- spacing:同层/异层、平行长度、tip-to-tip 间距;
- enclosure/overlap:金属包围 via、阱包围有源区;
- via rules:单孔/阵列孔、冗余孔;
- density:金属/有源区面积比例,影响 CMP 均匀性;
- latch-up / well tap:阱接触距离;
- 特殊器件规则:SRAM、模拟器件、ESD、IO。
DRC 违规不一定让电路逻辑错,但可能导致良率下降、短路/开路,甚至整片无法制造。修复常见方式:重新布线、加宽/移开金属、补 via array、加 dummy fill、移动 cell。
三、LVS:几何必须等价于电路
LVS 从版图提取器件和连接,生成 source/netlist,再和设计网表比对:
- 器件类型/尺寸是否一致;
- 网络名、连接关系、电源地是否一致;
- 有无短路、开路、浮空网络;
- 多一个孔/少一个器件、电源地短接等。
典型错误:
- 两根金属视觉重叠但因层错或没切洞实际短接;
- 信号被误接到 VSS/VDD;
- 单元后加 filler/decap 改变连接;
- ECO 后版图网表和门级网表不同步;
- 文本 label 标错导致电源网络识别错。
LVS 不是仿真,它只证明拓扑一致,不证明时序或功能。LVS clean 后仍可能时序不过。
LVS 比对的对象与层次如下图。关键在于它比的是两份「网表」而非图形:版图侧先经寄生与器件抽取(extraction)变成电路,再与设计侧 golden 网表在器件和网络两个维度上匹配。图中标出的三个不相等来源——器件、网络、参数——正好对应 LVS 报告里最常见的 mismatch / short / property error 三类结论。
这张图也解释了为什么「视觉上连在一起」和「LVS 认为连通」是两回事:抽取只认工艺层定义的导电层和切洞(cut)关系,两层金属在屏幕上重叠但中间没有正确的 via,抽取结果就是两条网络。反过来,本不该接触的两层因层误用而真的重叠,抽取会直接判成 short。所以修 LVS 的入口永远是先看抽取网表,而不是盯着版图猜。
四、Antenna:制造过程中的临时风险
芯片制造时金属是逐层长出来的。刻蚀过程中,一段只接栅极、没有源漏二极管泄放路径的长金属会像天线收集离子电荷,电压升高后击穿尚未被金属覆盖的薄栅氧。常见修法:
- 跳层(metal jumping):长金属断开,靠上层金属连接,减少单层面积;
- 在制造阶段靠近门的位置插入 antenna diode;
- 调整布线长度/面积比例。
天线问题在成品电路上不可见,但会造成良率或早期可靠性问题,所以必须在签核前清。
五、rule deck 与选项管理
物理验证依据的是 foundry 提供的 rule deck,它随工艺版本、金属栈、选项变化。必须锁定:
- PDK/deck 版本;
- 金属栈和厚金属/特殊层选项;
- 目标温度/电压/器件类型选项;
- hierarchical/flat 验证模式;
- IP/SRAM/IO 的 waiver 和 black-box 状态;
- signoff waiver 列表。
用错 deck 与没跑检查同样危险。常见事故是 IP 自带 waiver 被错误应用到顶层数字逻辑,或者换了 metal stack 却仍跑旧规则。
六、层次化与 waiver
大芯片不可能每次 flat 全芯片重跑。常用分层流程:
- block 级 DRC/LVS clean;
- 顶层检查 block 接缝、power strap、fill、IO;
- IP/SRAM 用 foundry/IP 厂认证数据和 waiver;
- 最终 full-chip flat/ hier 混合确认。
waiver 不是忽略按钮:每条 waiver 要记录规则、位置、理由、责任方、适用 deck 版本和过期条件。foundry 批准的 macro waiver 可以用,数字工程师自己写的「看着没问题」不能签核。
七、签核闭环与常见误区
最终 GDS → DRC/ERC/ANT clean → LVS clean → 电源网络/EM/IR 复核
→ 版本 hash/block 清单 → foundry signoff checklist误区:
- DRC clean ≠ 芯片功能正确,也不等于时序/功耗合格;
- LVS clean ≠ 逻辑已验证,只代表拓扑一致;
- block clean ≠ 顶层 clean,边界电源/金属/密度仍可能违规;
- dummy fill 可能引入耦合电容,要回灌寄生重新 STA;
- 最后一轮 ECO 后忘记重跑 DRC/LVS,是流片事故高发点。
八、DRC/LVS 违例怎么分诊
物理验证报告动辄成千上万条,需要先分类而不是逐条修:
- 同一根网络上的重复 spacing/width 违例:通常来自一个错误 macro 边界或 route blockage,修一处可消一片;
- 密度/fill 类违例:多为全局填充策略问题,集中在最后 GDS 阶段处理;
- LVS short:优先级最高,先看电源地和大金属重叠,再查信号短接;
- LVS open/floating net:检查 label、via enclosure、层选择和 ECO 后断连;
- antenna 批量出现:通常是某一层绕线策略或跳层规则问题,不要手工加一堆二极管。
修完后不能只重跑局部 rule,因为新增金属、fill、diode 会改变相邻网络。最终必须用同一版本 deck 从最终 GDS 重新生成完整报告,并保留 clean log、命令行选项和输出 hash。
九、检查清单
- [ ] PDK、rule deck、metal stack、选项和 foundry 要求一致;
- [ ] DRC/ERC/antenna 在最终 GDS 上全芯片 clean;
- [ ] LVS 抽取网表与最终门级网表一致,电源地无短路;
- [ ] IP/SRAM/IO waiver 来源合法、版本匹配;
- [ ] density/fill/冗余 via、well tap 满足要求;
- [ ] 最后 ECO 后重跑物理验证、STA、LEC;
- [ ] fill 对寄生/时序的影响已重新评估;
- [ ] 所有 waiver 有理由、责任人和适用范围。
总结
物理验证是把版图交给制造厂前的硬门禁:DRC 用 foundry rule deck 检查宽度、间距、密度、via 和阱等几何规则,LVS 从版图抽取电路与设计网表比对连接关系,antenna 防止制造时长金属累积电荷击穿栅氧,并辅以 ERC、密度/fill 和电源检查;这些检查都依赖正确版本的 deck 和选项,block clean 后还必须验顶层接缝和最终 ECO,任何 waiver 都要有 foundry/IP 依据;DRC/LVS clean 只说明版图可制造、拓扑一致,绝不代替 STA、功能验证或功耗签核,但任何一项不干净都不允许 tape-out。