【DRC实战】10个最常见的DRC错误及修复方法
DRC错误速查手册
DRC是版图设计中最常遇到的验证步骤。本文整理了10个最常见的DRC错误。
Top 10 常见DRC错误
| # | 错误类型 | 错误描述 | 典型报错 | 修复方法 |
|---|---|---|---|---|
| 1 | Metal Spacing | 金属间距不足 | M1.SPACE violation | 增大走线间距 |
| 2 | Metal Width | 金属宽度不足 | M1.WIDTH violation | 增加走线宽度 |
| 3 | Via Enclosure | Via包围不足 | VIA1.ENCLOSE | 增大Metal尺寸 |
| 4 | OD Spacing | 有源区间距不足 | OD.SPACE violation | 增大距离 |
| 5 | PO Extension | Poly伸出不足 | PO.EXT violation | 延长Poly |
| 6 | NWell Enclosure | NWell包围不足 | NW.ENCLOSE | 扩大NWell |
| 7 | CO Spacing | 接触孔间距不足 | CO.SPACE violation | 增大间距 |
| 8 | Density | 金属密度不足 | M1.DENSITY | 添加Dummy Fill |
| 9 | Antenna | 天线效应违规 | ANT violation | 添加保护二极管 |
| 10 | Min Area | 金属面积不足 | M1.AREA | 增大面积 |
修复技巧
1. Metal Spacing修复
; SKILL脚本:检查M1间距
procedure(fixM1Spacing(cv minSpace)
let((shapes)
shapes = setof(s cv->shapes s->layer == "M1")
foreach(s1 shapes
foreach(s2 shapes
when(s1 != s2 && dbGetSpacing(s1 s2) < minSpace
printf("Violation: spacing=%fn" dbGetSpacing(s1 s2))
)
)
)
)
)
2. Density修复
- 使用Dummy Fill工具自动填充
- Calibre DRC可自动添加Dummy Metal
- 注意Dummy不要影响信号完整性
🚨 常见误区
不要在敏感模拟电路区域盲目添加Dummy Fill!确保Dummy与信号线有足够间距。
DRC调试流程
- 运行DRC:获取错误总数
- 分类统计:按错误类型分类
- 定位错误:使用错误浏览器定位坐标
- 分析原因:查看周围版图
- 修复错误:调整版图或脚本批量修复
- 回归验证:重新运行DRC确认
DRC调试是版图工程师的日常。熟练掌握能大幅提升效率!
#Calibre
#DRC
#Metal Spacing
#SKILL脚本
#Via规则
#天线效应
#实战
#寄生参数
#版图设计
#设计规则
#错误修复