第4章 DRC常见错误(上):金属层短路与断路、通孔规则违例、天线效应

做芯片后端,每天打交道最多的就是DRC违例。说实话,刚入行那会儿,看到满屏的DRC错误,心里真有点发怵。但干久了你会发现,翻来覆去就是那几类问题。这一章咱们先聊聊最常碰到的三种:金属层短路/断路、通孔(Via)规则违例、天线效应违例。我习惯把这几类归为“基础三件套”,搞定了它们,DRC就稳了一半。

DRC常见错误(上)知识结构 DRC 三大违例类型 金属层短路 & 断路 通孔(Via)规则违例 天线效应违例 最小间距 最小宽度 enclosure 多重通孔 跳线 / 二极管 常见违例 修复方向

1. 金属层短路与断路

说白了,金属短路就是两条不该连的线搭上了,断路就是该连的线没连上。DRC工具会通过检查最小间距和最小宽度来抓这些问题。

  • 短路(Short):两条不同net的金属靠太近,或者有金属残留。我在一个28nm项目里遇到过,因为一条dummy金属没做decap,结果跟旁边的信号线短了,查了半天才发现是fill cell的金属条伸太长。
  • 断路(Open):金属线宽度不够,或者中间有缺口。尤其是高层金属,绕线密度大,容易产生细颈。

修复思路:短路就拉开间距,或者切掉多余的金属;断路就补宽、补线。我个人习惯先跑一遍DRC summary,按违例数量排序,从最多的开始修。

你想想看,金属层短路往往不是单一原因。有一次我遇到一整片M2短路,最后发现是CMP的dishing导致残留。嗯,这时候光靠改layout不行,得跟工艺厂沟通。

2. 通孔(Via)规则违例

通孔是连接不同金属层的桥梁。DRC对Via的检查特别细:enclosure(包围)、overlap(交叠)、最小面积、多重通孔等等。

  • Enclosure 不足:上层或下层金属没有完全包住通孔。我见过新手画Via2,金属2只包了0.02um,DRC直接报错。其实foundry的rule通常要求至少0.04um以上。
  • 通孔阵列间距:多个Via并排时,间距太小会应力集中。我曾经在65nm项目里,因为Via间距违反rule,导致可靠性测试fail。
  • 冗余通孔缺失:很多工艺要求关键线宽上至少放两个Via。单孔容易在工艺波动下失效。

避坑指南:我曾经在tapeout前夜发现一整块区域的Via4 enclosure全部报错,原因是那层金属的宽度刚好卡在rule边界。后来我养成了一个习惯——所有Via周围手动加0.01um的余量,虽然保守,但省心。

修复通孔违例,通常就是拉大金属包边,或者增加通孔数量。工具里可以用VIA FILL或INSERT VIA ARRAY自动修,但我建议你检查一下自动插入的孔有没有造成新的短路。

3. 天线效应违例

天线效应,说白了就是等离子体刻蚀时,长金属线像天线一样收集电荷,把栅氧化层击穿。DRC会计算每层金属的“天线比率”——金属面积除以栅面积。

  • 天线比率超标:通常rule会限制一个比值,比如金属面积 / 栅面积 < 1000。我见过一个射频模块,顶层金属走了2mm长,天线比率直接爆表。
  • 跳线法修复:把长金属在高层断开,通过Via跳到下层再跳回来,相当于切断天线。注意跳线时不能引入新的antenna。
  • 加天线二极管:在长线末端加一个反向偏置二极管,提供泄放路径。不过二极管会占面积,而且有漏电。

实战经验:我个人偏好跳线法,因为不增加额外器件,对功耗没影响。但跳线要小心——有一次我跳线时用了最小尺寸的Via,结果那块区域变成了新的antenna违例。所以跳线用的Via要够大,最好用双孔。

其实天线效应在先进工艺(7nm以下)越来越敏感。我记得一个5nm项目,连M1上走100um都会触发天线rule。这时候就得靠工具自动插antenna diode,但一定要检查diode的衬底连接,否则LVS会报错。

常见DRC违例速查表

违例类型典型DRC代码主要原因快速修复
金属短路M1_SHORT / M2_SPACE间距不足、金属残留拉开间距,切除多余金属
金属断路M1_OPEN / M2_WIDTH线宽不够、缺口加宽金属,补平缺口
Via enclosureV1_ENC_M1 / V2_ENC_M2金属包边不够增大金属包围面积
Via 间距V1_SPACE通孔之间太近拉开间距或合并为阵列
天线效应ANT_M1 / ANT_M2长金属收集电荷跳线或加天线二极管

好了,这一章我们聊了金属层短路/断路、通孔规则和天线效应。这三种错误占了日常DRC工作的六成以上。下一章咱们继续聊其他常见错误,比如密度违例、ESD规则等等。但今天先消化这些——你可以在自己的项目里翻一翻DRC报告,看看是不是我说的这几类最多?