一、设计规则检查(DRC)基础

1.1 什么是DRC?

DRC,全称Design Rule Check,设计规则检查。

说白了,就是检查你的光芯片版图,有没有违反工艺厂定下的规矩。

我刚开始接触光芯片设计时,总觉得这玩意儿就是个形式主义。后来有一次,我设计的一个马赫-曾德尔调制器,版图画得漂漂亮亮,结果流片回来,器件根本没法工作。为什么?因为两条波导之间的距离太近了,光信号串扰得一塌糊涂。嗯,从那以后,我再也不敢小看DRC了。

DRC的核心,就是验证你的版图是否符合工艺制造的限制。这些限制包括:

  • 最小线宽:波导不能太细,否则光场约束不住
  • 最小间距:器件之间不能太近,否则会有串扰
  • 最小面积:某些结构必须达到一定尺寸,才能保证工艺良率
  • 密度要求:某些层级的图形密度必须在某个范围内

关键点:DRC不是可选项,而是流片的必选项。没有通过DRC的版图,工艺厂根本不会接单。

1.2 为什么需要DRC?

你可能会问:我设计的时候已经很小心了,为什么还要专门跑一遍DRC?

原因很简单——人总会犯错。

我记得有一次,我设计一个阵列波导光栅(AWG),手动调整了某个波导的宽度,结果忘了检查相邻波导的间距。DRC一跑,好家伙,直接报了200多个违例。要是没跑DRC,这批芯片就全废了。

DRC的必要性体现在三个方面:

  1. 制造可行性:工艺厂有固定的制造能力,比如光刻分辨率、刻蚀精度等。你的设计必须在这个能力范围内。
  2. 良率保障:即使某个结构勉强能做出来,但如果它处于工艺窗口的边缘,良率会很低。DRC帮你避开这些边缘情况。
  3. 设计一致性:团队协作时,不同设计师的风格不同。DRC提供了一个统一的检查标准。

我的经验:我建议在设计的每个阶段都跑一次DRC,而不是等到最后。早期发现问题,改起来成本低得多。

1.3 DRC在流片中的关键作用

流片流程中,DRC处于什么位置?

我画了一张图,帮你理清思路:

光芯片流片前验证流程 版图设计 DRC检查 LVS验证 流片 通过? 否(修改版图) DRC是流片前的第一道关卡,也是最关键的一道 未通过DRC的版图,后续所有验证都没有意义 DRC → LVS → 流片,一步都不能少

从图中你可以看到,DRC是流片前的第一道关卡。只有DRC通过了,才能进入LVS(版图与原理图一致性检查),最后才能流片。

DRC的关键作用,我总结为三点:

作用 说明 我的经历
过滤制造风险 提前发现工艺无法实现的结构 有一次我画了0.5μm的波导,工艺厂只能做0.8μm,DRC直接报错
保证设计质量 避免因疏忽导致的低级错误 我曾经漏画了一个接地层,DRC帮我抓出来了
缩短迭代周期 早期发现问题,减少流片次数 以前流片要等3个月,DRC帮我省了至少一次流片

1.4 常见DRC违例类型

DRC违例的类型很多,但常见的主要就那几种。我整理了一下,你对照着看:

1.4.1 宽度违例

波导、电极等结构的宽度小于工艺允许的最小值。

示例:最小波导宽度 = 0.8μm
你的设计:波导宽度 = 0.6μm
结果:DRC报错 "Width violation"

注意:宽度违例是最常见的错误之一。我见过很多新手设计师,为了追求性能,把波导画得很细,结果DRC全挂。

1.4.2 间距违例

两个结构之间的距离小于工艺允许的最小值。

示例:最小波导间距 = 1.0μm
你的设计:两个波导间距 = 0.7μm
结果:DRC报错 "Spacing violation"

1.4.3 面积违例

某些结构(如焊盘、标记点)的面积小于工艺要求。

示例:最小焊盘面积 = 100μm²
你的设计:焊盘面积 = 80μm²
结果:DRC报错 "Area violation"

1.4.4 密度违例

某个层级的图形密度过高或过低。

这个在光芯片中比较特殊。比如,某些工艺要求波导层的密度在20%~80%之间。如果密度太低,刻蚀时会出现负载效应;如果密度太高,光刻时会出现反射问题。

避坑指南:我曾经设计一个高密度波导阵列,波导间距压得很小。结果DRC报密度违例,我不得不重新调整布局,在阵列中插入一些虚拟波导来平衡密度。

1.4.5 边缘/角违例

结构的边缘或角落不符合工艺要求。比如,某些工艺要求所有角落必须是圆角,不能是直角。

1.4.6 层次违例

不同层级之间的重叠、包含关系不符合规则。比如,金属层必须完全覆盖接触孔层。

1.5 如何解读DRC报告?

DRC跑完后,会生成一份报告。这份报告怎么看?

我一般按这个顺序:

  1. 看总数:先看违例总数,心里有个底
  2. 看类型:哪些类型的违例最多?宽度?间距?还是密度?
  3. 看位置:违例集中在哪个区域?还是分散在整个版图?
  4. 看严重程度:有些违例是硬伤,必须改;有些是软违例,可以跟工艺厂沟通

我的习惯:我每次跑完DRC,都会把报告导出成文本文件,然后用脚本统计一下各类违例的数量。这样能快速定位问题最严重的区域。

1.6 小结

DRC是光芯片流片前验证的第一步,也是最基础的一步。它不复杂,但很重要。

你想想看,一个芯片从设计到流片,周期至少3个月,成本几十万起步。如果因为一个简单的宽度违例导致流片失败,那损失就大了。

所以,我的建议是:

  • 设计过程中,定期跑DRC
  • 每次修改版图后,重新跑DRC
  • 流片前,至少跑三次DRC,确保万无一失

嗯,DRC基础就讲到这里。下一章我们聊聊DRC规则文件的编写和配置,那才是真正考验功力的时候。


专注资料整理