第四章:DRC常见错误与修复

DRC跑不过,是每个芯片设计者都会遇到的坎。我刚开始做后端时,第一次跑完DRC,满屏的红色错误差点把我吓懵。后来慢慢摸清了门道,发现其实就那么几类问题反复出现。今天我就把这四类最常见的DRC违例——最小宽度、最小间距、天线效应、密度违例,掰开揉碎了讲清楚。

4.1 最小宽度违例

什么叫最小宽度违例?说白了就是你画的金属线、多晶硅或者有源区,太细了。工艺厂有物理极限,太细的线条在光刻时容易断掉,或者电阻过大。

典型场景:标准单元的输出端,经常出现金属线宽度不足。尤其是当你用自动布线工具时,工具为了绕通率,会把线宽压到极限。

修复策略:

  • 加宽金属线——最直接的办法。选中违例的线,手动加宽到规则要求的最小值以上。
  • 检查pin access——有时候是标准单元的pin本身设计得太小,需要跟库沟通或者换单元。
  • 使用更宽的金属层——比如M1过不去,换M2走线。

我的经验:我曾经遇到一个项目,M1最小宽度是0.1um,但工具吐出来的线只有0.08um。查了半天,发现是布线策略里设了"prefer minimum width"选项。关掉它,问题就解决了。所以先检查设置,别急着手动改。

4.2 最小间距违例

间距违例,就是两条线靠得太近了。为什么不行?因为光刻时靠太近会短路,或者产生寄生电容过大,影响时序。

这类违例在电源网络附近特别常见。你想想看,VDD和VSS的宽线旁边,信号线如果挤得太近,很容易就触发了间距规则。

修复策略:

  1. 推挤法——把其中一条线往远处挪一挪。手动操作时注意不要引发新的违例。
  2. 绕线法——如果空间不够,让其中一条线绕个弯,从别的路径走。
  3. 换层法——把其中一条线换到其他金属层,避开拥挤区域。

注意:修复间距违例时,千万别只盯着当前这一对线。我见过有人把线挪开后,又跟旁边的线产生了新的间距违例。这叫"打地鼠"——按下一个,冒出两个。建议每次挪动后,重新跑局部DRC检查。

4.3 天线效应违例

天线效应,这是个挺有意思的问题。简单说,就是长金属线在等离子刻蚀时,像天线一样收集电荷,然后把这些电荷灌到栅氧化层上,把晶体管烧坏。

为什么会这样?因为金属线越长,收集的电荷越多。当电荷无处释放时,就会找最薄弱的路径——栅氧化层——放电。

修复策略:

  • 跳层法——在长金属线中间插入一个通孔,把线打断,换到其他层走。这样电荷就被分散了。
  • 加二极管——在金属线上加一个反向偏置的二极管,给电荷提供泄放路径。这是最彻底的方案。
  • 减小线长——如果可能,把长线拆成多段,中间加缓冲器。

避坑指南:我曾经在一个项目中,天线效应违例集中在时钟网络上。因为时钟线通常很长,而且走高层金属。我当时用了跳层法,每500um插一个通孔换层,效果很好。但要注意,跳层不能太频繁,否则通孔电阻会累积,影响时序。

4.4 密度违例

密度违例,很多人容易忽略。工艺厂要求每层金属的密度在一定范围内,比如30%到70%。太稀了,CMP(化学机械抛光)时会把周围磨凹下去;太密了,又会磨不动,导致表面不平。

密度违例通常发生在芯片边缘或者大块空白区域。你想想看,如果某个区域全是空的,没有金属,那密度肯定不够。

修复策略:

  • 加dummy metal——在空白区域填充虚拟金属块。工具一般有自动加dummy的功能。
  • 调整dummy尺寸——如果密度超标,可以减小dummy块的尺寸或者间距。
  • 分层处理——不同金属层的密度要求可能不同,要分别检查。

关键点:加dummy时要注意,dummy metal不能跟信号线靠得太近,否则会产生寄生电容。我一般会在dummy和信号线之间留出至少两倍最小间距的距离。

4.5 修复策略与技巧

讲完了四种常见违例,我再分享一些通用的修复技巧。这些是我这些年摸爬滚打总结出来的。

修复优先级:

优先级 违例类型 原因
高 天线效应 可能直接损坏芯片
中 最小间距 可能导致短路
中 最小宽度 可能导致断路
低 密度违例 影响良率,但不致命

批量修复 vs 手动修复:

  • 批量修复——用脚本或者工具自动修复。适合数量多、分布广的违例,比如密度违例。
  • 手动修复——针对关键路径或者复杂区域。比如时钟网络上的天线效应,我建议手动处理,确保不引入新问题。

我的习惯:每次修复完一批违例,我会先跑一个局部DRC,确认没问题了再跑全芯片。这样能节省大量时间。全芯片DRC跑一次可能要几个小时,局部DRC几分钟就搞定了。

避坑指南:我曾经有一次,为了赶进度,用工具自动修复了所有违例。结果流片回来,芯片在高温下时序全乱。查了半天,发现自动修复时在关键路径上插了太多dummy,导致寄生电容暴增。从那以后,我坚持关键路径手动修复,非关键路径才用自动。

DRC常见错误与修复知识体系 DRC违例类型 最小宽度违例 最小间距违例 天线效应违例 密度违例 修复策略 加宽/换层/跳层 推挤/绕线/换层 跳层/加二极管/减线长 加dummy/调整尺寸 通用修复技巧 • 先局部DRC,再全芯片DRC • 关键路径手动修复,非关键路径自动修复 • 修复后检查是否引入新违例 —— 修复优先级:天线效应 > 最小间距 > 最小宽度 > 密度违例 ——

好了,以上就是DRC常见错误与修复的全部内容。记住,DRC修复不是一蹴而就的事,需要耐心和细心。每次修复后多检查几遍,总比流片回来发现问题要好得多。