阶段:版图基础第3/30课

第03课:设计规则(DRC)

🎯 本课目标

📖 为什么需要DRC

代工厂的制造能力有限。光刻分辨率、蚀刻精度、CMP均匀性都有物理极限。设计规则是代工厂制定的几何约束,确保版图可正确制造。

违例类型后果严重程度可waive?
线宽过小线条断裂,开路🔴 致命
间距过小短路,漏电🔴 致命
包围不足通孔脱落🔴 致命
延伸不足器件不完整🔴 致命
密度不均CMP问题🟡 警告可能
天线效应栅极击穿🟡 警告需加diode

DRC错误的代价:掩膜版$10K-$100K/块,晶圆$5K-$50K/片,重新流片3-6个月。

📐 四大DRC类型

1. 宽度规则(Width)

    Width < min → 线条断裂
    ┌──┐         ┌────────┐
    │窄│         │  合规  │
    └──┘         └────────┘
    M1 min = 0.22μm (180nm)

2. 间距规则(Spacing)

    Spacing < min → 短路
    ┌──┐┌──┐    ┌──┐  ┌──┐
    │  ││  │    │  │  │  │
    └──┘└──┘    └──┘  └──┘
     太近         合规

3. 包围规则(Enclosure)

    Enc < min → 通孔脱落
    ┌─────┐    ┌─────────┐
    │VIA  │    │  VIA    │
    └─────┘    └─────────┘
    不足         合规

4. 延伸规则(Extension)

    Ext < min → 栅极不完整
    ┌──Poly──┐    ┌────Poly────┐
    ┌─Active─┐    ┌───Active───┐
    不足              合规

📊 180nm工艺DRC规则表

规则类型最小值(μm)
R1N-Well宽度0.84
R2N-Well间距0.84
R3Active宽度0.24
R4Active间距0.24
R5Active→NW间距0.12
R6Poly宽度0.18
R7Poly间距0.24
R8Poly→Active延伸0.12
R9Contact尺寸0.22
R10Contact→Poly间距0.14
R11M1宽度0.22
R12M1间距0.22
R13Via1尺寸0.22
R14M1→Via1包围0.04
R15M2→Via1包围0.04

🔧 Magic DRC检查

命令说明
drc check检查当前视窗
drc count统计错误数
drc find跳转到下一错误
drc list列出所有错误
drc why解释错误原因
magic -dnull -noconsole <<'EOF'
load inverter
drc check
puts "Errors: [drc count]"
quit -noprompt
EOF

预期:Errors: 0

🔧 制造与修复DRC错误

magic -dnull -noconsole <<'EOF'
# 错误1: M1宽度不足
box 0 0 1 10; paint metal1
# 错误2: M1间距不足
box 5 0 15 10; paint metal1
box 16 0 26 10; paint metal1
# 错误3: Poly未延伸出Active
box 30 5 40 15; paint ndiff
box 34 8 36 12; paint poly
save drc_violations
quit -noprompt
EOF

修复

magic -dnull -noconsole <<'EOF'
load drc_violations
box 0 0 3 10; paint metal1        # 修复1: 加宽
box 16 0 26 10; erase metal1       # 修复2: 移开
box 19 0 29 10; paint metal1
box 34 3 36 17; paint poly         # 修复3: 延伸
drc check
puts "After fix: [drc count]"
save drc_fixed
quit -noprompt
EOF

修复后DRC错误=0

📊 DRC自动化

#!/bin/bash
DESIGNS="nmos_w2_l018 inverter"
mkdir -p drc_reports
for d in $DESIGNS; do
  magic -dnull -noconsole <<EOF
load $d; drc check
set c [drc count]
set fid [open "drc_reports/${d}.txt" w]
puts \$fid "Errors: \$c"
close \$fid; quit -noprompt
EOF
done

🔬 条件DRC规则

现代工艺DRC不是固定值:

# 宽度相关间距
# M1 < 0.5μm → 间距 ≥ 0.22μm
# M1 0.5-1.0μm → 间距 ≥ 0.28μm
# M1 > 1.0μm → 间距 ≥ 0.34μm

📝 练习

练习1

查看tech文件DRC规则,记录5条。

练习2

创建5个不同类型DRC错误并逐一修复。

练习3:思考

  1. DRC通过但LVS失败,芯片能用吗?
  2. 为什么天线效应只在制造中存在?
  3. 密度规则的物理意义?

🔬 深度专题:DRC规则背后的物理

每条DRC规则都有其物理基础。理解这些基础,你就知道为什么规则是这样的,以及何时可以灵活处理:

宽度规则——光学限制

光刻机使用193nm ArF激光(深紫外)或13.5nm EUV。最小可分辨线宽由瑞利判据决定:CD = k1 × λ / NA

间距规则——蚀刻和CMP限制

间距不足会导致:

包围规则——对准偏差

通孔/接触孔的位置有对准误差(overlay error),通常±10-50nm。如果包围不够,对准偏差会导致通孔偏移到错误层。

延伸规则——蚀刻限制

多晶硅蚀刻时,边缘效应导致线端变短(线端缩短效应,line end shortening)。延伸量必须大于最大可能的缩短量。

规则物理原因如果违反
宽度≥0.18μm光刻分辨率限制线断裂/消失
间距≥0.24μm蚀刻/CMP限制粘连/短路
包围≥0.04μm对准偏差通孔偏移
延伸≥0.12μm蚀刻线端缩短沟道不完整

📝 进阶练习

综合练习:设计规则(DRC)项目

完成以下综合项目,将本课所学知识融会贯通:

  1. 根据设计规则(DRC)的设计要求,制定详细的版图计划(包括器件放置、走线方案、电源分配)
  2. 在Magic中实现设计规则(DRC)的完整版图
  3. 运行DRC检查,修复所有违规
  4. 运行LVS验证,确保电气一致性
  5. 进行寄生提取,分析寄生对性能的影响

提交内容:版图截图、DRC报告、LVS报告、寄生参数分析。

挑战练习

在基础版图上进行以下优化尝试:

记录每次优化前后的指标变化,总结最优方案。

📚 扩展阅读

🔧 DRC修复工作流

在实际项目中,DRC修复是日常工作中最耗时的环节之一。以下是系统化的修复流程:

修复策略

  1. 分类统计:先运行DRC,统计各类错误的数量和分布
  2. 优先级排序:致命错误优先修复,建议性错误最后处理
  3. 批量修复:同类错误用脚本批量修复
  4. 验证确认:修复后重新运行DRC确认

常见DRC错误修复模板

# fix_drc.tcl - 常见DRC错误自动修复
proc fix_metal_spacing {} {
    # 查找间距不足的metal1
    # 向外扩展2 lambda确保最小间距
    select area metal1
    set bbox [bbox]
    # ... 扩展逻辑
}

proc fix_poly_extension {} {
    # 修复poly延伸不足
    # 找到所有poly-active交叉区域
    # 确保poly延伸>= 2 lambda
}

proc fix_enclosure {} {
    # 修复包围不足
    # 扩展metal1/metal2以确保包围via
}

📊 DRC报告解读

典型的Calibre DRC报告格式:

**************************************************
*  Calibre DRC Report
*  Cell: top_chip
*  Date: 2024-01-15
**************************************************

TOTAL DRC Violations: 47

  Rule            Count   Severity
  ----            -----   --------
  M1.W.1          12      FATAL     (M1 min width)
  M1.S.1          8       FATAL     (M1 min spacing)
  PO.E.1          5       FATAL     (Poly extension)
  CO.E.1          3       FATAL     (Contact enclosure)
  M1.D.1          15      WARNING   (M1 density)
  AN.1             4      WARNING   (Antenna)

Cell: top_chip / X1 / INV_0
  (12.34, 56.78) - (13.00, 57.50) M1.W.1: Metal1 width=0.20um < 0.22um
  ...

🏆 本课成就

🏆 设计规则(DRC)专家

理解四大DRC规则类型

使用Magic进行DRC检查与修复

创建并修复DRC错误

掌握DRC自动化脚本

了解条件DRC规则