4. 先进封装DRC规则开发实战
先进封装DRC与前端CMOS DRC最大的区别在于:版图层不再只是“多晶硅—扩散—金属”的平面堆叠,而是由RDL再布线层、UBM凸点下金属、Bump开窗、TSV深孔、介质开孔与钝化层共同构成的准三维结构。规则检查必须同时回答两个问题:平面尺寸是否满足工艺窗口,以及层与层之间的覆盖、开窗、包围关系是否满足可靠性要求。本节以SVRF为实现语言,围绕五类典型规则展开,并给出可调试的写法。
一、RDL线宽、间距与拐角规则
RDL通常用铜大马士革或铜柱工艺实现,线宽与间距直接决定电流密度与串扰。SVRF中先用层运算提取RDL图形,再做宽度与间距检查。以某示例工艺为例,RDL最小线宽0.8μm、最小间距0.8μm、拐角处最小内角半径0.5μm,写法如下:
// 提取RDL主体图形
RDL = LAYER RDL_DRAW 1
// 线宽检查:小于0.8μm报错
RDL_WIDTH = WIDTH RDL < 0.8
// 间距检查:同层间距小于0.8μm报错
RDL_SPACE = SPACE RDL < 0.8
// 拐角检查:内角小于90°且边长不足时提示
RDL_CORNER = INTERNAL RDL < 90 ANGLE
// 输出到结果层
DRC ERROR RDL_WIDTH "RDL线宽不足0.8μm"
DRC ERROR RDL_SPACE "RDL间距不足0.8μm"
DRC ERROR RDL_CORNER "RDL拐角过尖,建议圆角化"
调试时最常见的误报来自“线宽检查把拐角斜边当成窄线”。解决方法是先用ANGLE或INSIDE把拐角区域单独提取,再对非拐角区域做WIDTH检查。另一个坑是RDL与Pad连接处的渐变收窄,若工艺允许局部收窄,应通过REGION或AREA限定检查范围,而不是全局放宽阈值。
二、Bump开窗与UBM规则
Bump开窗是钝化层上为凸点预留的开口,UBM是开窗内露出的金属叠层。核心规则有三条:开窗必须完全落在UBM内(UBM包围开窗),开窗不能超出钝化层边界,UBM不能与相邻RDL短路。SVRF实现:
// 开窗与UBM的包围关系
OPEN = LAYER BUMP_OPEN 1
UBM = LAYER UBM_DRAW 1
// UBM必须包围开窗,包围量≥1.5μm
UBM_ENCLOSE = ENCLOSE UBM OPEN < 1.5
// 开窗不得超出钝化层
PASS = LAYER PASSIVATION 1
OPEN_OUT = NOT OPEN PASS
// UBM与RDL间距
RDL = LAYER RDL_DRAW 1
UBM_RDL_SPACE = SPACE UBM RDL < 1.0
DRC ERROR UBM_ENCLOSE "UBM对开窗包围不足1.5μm"
DRC ERROR OPEN_OUT "Bump开窗超出钝化层"
DRC ERROR UBM_RDL_SPACE "UBM与RDL间距不足1.0μm"
调试要点:ENCLOSE的方向性必须明确——是UBM包围OPEN,不是OPEN包围UBM。若写反,会得到大量“包围不足”的假错。另外,开窗通常由多个子图形拼成,建议先做MERGE再检查,避免相邻开窗被误判为超出钝化层。
三、TSV与微凸点规则
TSV是穿透硅通孔,微凸点是芯片间互连的微小焊点。TSV规则关注直径、间距、与有源区的距离;微凸点关注直径、高度比与对准精度。示例参数:TSV直径≥5μm、TSV间距≥10μm、TSV到有源区距离≥3μm;微凸点直径≥20μm、高度比0.5~1.0。SVRF写法:
TSV = LAYER TSV_DRAW 1
AA = LAYER ACTIVE 1
TSV_D = WIDTH TSV < 5
TSV_S = SPACE TSV < 10
TSV_AA = SPACE TSV AA < 3
DRC ERROR TSV_D "TSV直径不足5μm"
DRC ERROR TSV_S "TSV间距不足10μm"
DRC ERROR TSV_AA "TSV距有源区不足3μm"
TSV检查的难点在于深孔侧壁的倾斜角。若工艺为锥形孔,版图上的直径是顶部尺寸,底部更小,规则应基于底部尺寸或给出锥度补偿。调试时可用SIZE对TSV做内缩模拟底部,再检查间距。
四、介质开孔与钝化层覆盖
介质开孔用于连接不同金属层,钝化层覆盖则保护芯片表面。介质开孔规则包括开孔尺寸、开孔间距、开孔与下层金属的对准;钝化层覆盖规则包括覆盖RDL的宽度、覆盖UBM边缘的宽度以及针孔检查。示例:介质开孔≥2μm、开孔间距≥1.5μm、钝化层覆盖RDL≥1.0μm、覆盖UBM边缘≥0.5μm。
VIA = LAYER VIA_DRAW 1
VIA_W = WIDTH VIA < 2
VIA_S = SPACE VIA < 1.5
PASS = LAYER PASSIVATION 1
RDL = LAYER RDL_DRAW 1
PASS_RDL = ENCLOSE PASS RDL < 1.0
UBM = LAYER UBM_DRAW 1
PASS_UBM = ENCLOSE PASS UBM < 0.5
DRC ERROR VIA_W "介质开孔不足2μm"
DRC ERROR VIA_S "介质开孔间距不足1.5μm"
DRC ERROR PASS_RDL "钝化层覆盖RDL不足1.0μm"
DRC ERROR PASS_UBM "钝化层覆盖UBM边缘不足0.5μm"
钝化层覆盖检查最容易出现“覆盖量够但形状断裂”的问题。建议在ENCLOSE之后追加DENSITY或AREA检查,确认覆盖区域连续。若钝化层开窗与Bump开窗共用同一层,需先用NOT或AND分离两类开窗,否则覆盖检查会把Bump开窗误判为钝化层缺失。
五、调试流程与常见误报
面对一个报错,建议按以下顺序排查:第一,确认层提取是否正确,用LAYOUT或LAYER把中间层输出到GDS对照;第二,确认方向性,ENCLOSE、SPACE、WIDTH的先后顺序不能颠倒;第三,确认阈值单位,SVRF默认单位与工艺库一致,若库为μm而规则写nm会差1000倍;第四,确认区域限定,用REGION排除Pad、划片槽等特殊区域;第五,确认图形合并,相邻小图形未MERGE会导致间距误报。
DRC CHECK MAP或DRC RESULTS DATABASE,把中间层和结果层同时输出,便于在版图工具中逐层比对。对于拐角、TSV锥度、钝化层断裂这类几何敏感规则,建议先用小面积测试图形验证规则,再全芯片运行。
WIDTH ... ANGLE或EXTERNAL组合。
把上述五类规则组织成一个可维护的规则文件时,建议按“层定义—提取—检查—输出”四段式排列,每类规则独立成块并加注释。这样在工艺迭代时只需修改对应块的阈值,而不必通读全文。规则开发完成后,用一组已知合格与已知不合格的测试图形做回归,确认每条规则都能正确报错且不误报,才算完成闭环。