Calibre 尺寸检查操作

目录

[一、尺寸检查操作(DRC 核心)](#一、尺寸检查操作(DRC 核心))

[1. 核心尺寸检查类型(按工艺规则分类)](#1. 核心尺寸检查类型(按工艺规则分类))

[1.1 最小宽度检查(WIDTH)](#1.1 最小宽度检查(WIDTH))

[1.2 最小间距检查(SPACING)](#1.2 最小间距检查(SPACING))

[1.3 覆盖 / 包围检查(OVERLAP/ENCROACHMENT)](#1.3 覆盖 / 包围检查(OVERLAP/ENCROACHMENT))

[1.4 最小面积检查(AREA)](#1.4 最小面积检查(AREA))

[1.5 伸长率检查(ASPECT_RATIO)](#1.5 伸长率检查(ASPECT_RATIO))

[1.6 倒角 / 圆角检查(CHAMFER/CORNER)](#1.6 倒角 / 圆角检查(CHAMFER/CORNER))

[2. 尺寸检查的高级选项](#2. 尺寸检查的高级选项)

二、辅助操作

[1. 调试类辅助操作(定位问题核心)](#1. 调试类辅助操作(定位问题核心))

[1.1 输出中间层(WRITE_LAYER)](#1.1 输出中间层(WRITE_LAYER))

[1.2 生成详细报告(REPORT)](#1.2 生成详细报告(REPORT))

[1.3 标记违规(MARK)](#1.3 标记违规(MARK))

[2. 数据过滤类辅助操作](#2. 数据过滤类辅助操作)

[2.1 过滤图形(FILTER)](#2.1 过滤图形(FILTER))

[2.2 平滑图形(SMOOTH)](#2.2 平滑图形(SMOOTH))

[3. 图层管理类辅助操作(简化规则集)](#3. 图层管理类辅助操作(简化规则集))

[3.1 复制 / 重命名图层(COPY/RENAME)](#3.1 复制 / 重命名图层(COPY/RENAME))

[3.2 合并图层(MERGE)](#3.2 合并图层(MERGE))

[3.3 过滤无效图形(CLEAN)](#3.3 过滤无效图形(CLEAN))

[4. 规则集优化类辅助操作](#4. 规则集优化类辅助操作)

[4.1 条件判断(IF/ELSE)](#4.1 条件判断(IF/ELSE))

[4.2 注释与分组(COMMENT/GROUP)](#4.2 注释与分组(COMMENT/GROUP))

[三、实战组合:尺寸检查 + 辅助操作的完整流程](#三、实战组合:尺寸检查 + 辅助操作的完整流程)

四、常见问题与解决方案

[1. 尺寸检查误报](#1. 尺寸检查误报)

[2. 辅助操作失效](#2. 辅助操作失效)

[3. 规则集维护困难](#3. 规则集维护困难)

五、总结


在 IC 验证流程中,尺寸检查操作 是 DRC(设计规则检查)的核心,用于验证版图是否符合工艺库定义的几何尺寸规范(如最小宽度、间距、覆盖等);辅助操作则用于优化规则集、调试问题、生成报告,提升验证效率。本文结合实战场景,详细拆解两类操作的语法、示例及应用技巧,适用于数字 / 模拟 IC 的 DRC 验证需求。

一、尺寸检查操作(DRC 核心)

尺寸检查操作针对版图几何形状的关键参数(宽度、间距、面积等)进行合规性判断,核心命令遵循 SVRF 语法,直接关联工艺规则手册(DRC Rulebook)。所有尺寸检查的结果会生成违规标记层(MARKER 层),用于后续查看和修改。

1. 核心尺寸检查类型(按工艺规则分类)

1.1 最小宽度检查(WIDTH)

功能 :验证单个图层中图形的最小宽度(如金属线、多晶硅、接触孔的最小宽度),避免因图形过窄导致光刻 / 蚀刻失败。语法

复制代码
WIDTH <layer> <min_width> [OPTIONS] → <violation_marker>
  • 关键参数:
    • <layer>:待检查的目标层(原始层或派生层);

    • <min_width>:工艺允许的最小宽度(单位:工艺默认单位,如 um);

    • OPTIONS:可选参数(如DIRECTION {HORIZONTAL|VERTICAL}指定方向,EXCLUDE <exclude_layer>排除特定区域)。

实战示例(0.18um CMOS 工艺)

复制代码
# 1. 金属1层最小宽度检查(最小0.18um,所有方向)
WIDTH metal1 0.18 → metal1_width_viol

# 2. 多晶硅层最小宽度检查(仅水平方向,最小0.15um)
WIDTH poly1 0.15 DIRECTION HORIZONTAL → poly1_h_width_viol

# 3. 接触孔最小宽度检查(最小0.12um,排除隔离环内区域)
WIDTH contact 0.12 EXCLUDE isolated_region → contact_width_viol

1.2 最小间距检查(SPACING)

功能 :验证同一图层(同层间距)或不同图层(异层间距)中图形的最小距离,避免相邻图形短路或寄生参数超标。语法

复制代码
# 同层间距(同一图层内图形的间距)
SPACING <layer> <min_spacing> [OPTIONS] → <violation_marker>

# 异层间距(两个不同图层间图形的间距)
SPACING <layer1> <layer2> <min_spacing> [OPTIONS] → <violation_marker>
  • 关键参数:

    • SAME_NET/DIFFERENT_NET:仅检查同一网络 / 不同网络的图形间距(LVS 关联时使用);

    • DIRECTION {X|Y|BOTH}:指定间距检查方向(X 轴 / Y 轴 / 双向);

    • OVERLAP <overlap_layer>:仅检查与指定层重叠的区域。

实战示例

复制代码
# 1. 金属1层同层最小间距(最小0.18um,双向)
SPACING metal1 0.18 → metal1_spacing_viol

# 2. 多晶硅与有源区异层间距(最小0.12um,仅X轴方向)
SPACING poly1 active 0.12 DIRECTION X → poly_active_x_spacing_viol

# 3. 金属2层不同网络的最小间距(最小0.2um,SAME_NET时放宽至0.18um)
SPACING metal2 0.2 DIFFERENT_NET → metal2_diff_net_spacing_viol
SPACING metal2 0.18 SAME_NET → metal2_same_net_spacing_viol

1.3 覆盖 / 包围检查(OVERLAP/ENCROACHMENT)

功能:验证两个图层的重叠程度(覆盖)或一个图层对另一个图层的延伸程度(包围),确保连接可靠性(如接触孔覆盖有源区、金属层覆盖接触孔)。

  • OVERLAP(覆盖检查) :要求层 A 必须覆盖层 B 的最小面积 / 宽度,语法:

    复制代码
    OVERLAP <layer1> <layer2> <min_overlap> [OPTIONS] → <violation_marker>
  • ENCROACHMENT(包围检查) :要求层 A 必须延伸出层 B 的最小宽度(如有源区延伸出栅极),语法:

    复制代码
    ENCROACHMENT <layer1> <layer2> <min_encroach> [OPTIONS] → <violation_marker>

实战示例

复制代码
# 1. 接触孔对有源区的最小覆盖(接触孔必须覆盖有源区至少0.05um)
OVERLAP contact active 0.05 → contact_active_overlap_viol

# 2. 金属1层对接触孔的最小覆盖(金属1覆盖接触孔至少0.04um)
OVERLAP metal1 contact 0.04 → metal1_contact_overlap_viol

# 3. 有源区对多晶硅栅极的最小包围(有源区延伸出栅极至少0.06um)
ENCROACHMENT active poly_gate 0.06 → active_poly_encroach_viol

1.4 最小面积检查(AREA)

功能 :验证图层中图形的最小面积(如接触孔、有源区的最小面积),避免因图形过小导致电气性能异常。语法

复制代码
AREA <layer> <min_area> [OPTIONS] → <violation_marker>
  • 可选参数:MAX_AREA <max_area>(最大面积限制,少见)。

实战示例

复制代码
# 接触孔最小面积检查(最小0.0144um² = 0.12um × 0.12um)
AREA contact 0.0144 → contact_area_viol

# 有源区最小面积检查(最小0.2um²,用于避免过小的源漏区)
AREA active 0.2 → active_area_viol

1.5 伸长率检查(ASPECT_RATIO)

功能 :验证图形的长宽比(伸长率),避免因图形过于细长导致制造工艺中出现断裂(如金属线、多晶硅电阻)。语法

复制代码
ASPECT_RATIO <layer> <min_ratio> <max_ratio> [OPTIONS] → <violation_marker>
  • 长宽比 = 长边长度 / 短边长度。

实战示例

复制代码
# 多晶硅电阻的伸长率限制(最小2:1,最大100:1)
ASPECT_RATIO poly_res 2 100 → poly_res_aspect_viol

# 金属1线的最大伸长率(最大50:1,避免过长过细导致断裂)
ASPECT_RATIO metal1 1 50 → metal1_aspect_viol

1.6 倒角 / 圆角检查(CHAMFER/CORNER)

功能 :验证图形角落的倒角(斜角)或圆角半径,避免锐角导致电场集中(如高压工艺中的金属线、有源区)。语法

复制代码
# 倒角检查(要求角落倒角最小宽度)
CHAMFER <layer> <min_chamfer> → <violation_marker>

# 圆角检查(要求角落圆角最小半径)
CORNER <layer> <min_radius> TYPE ROUND → <violation_marker>

实战示例

复制代码
# 高压金属层倒角检查(最小倒角0.1um)
CHAMFER metal_hv 0.1 → metal_hv_chamfer_viol

# 有源区圆角检查(最小圆角半径0.08um)
CORNER active 0.08 TYPE ROUND → active_corner_viol

2. 尺寸检查的高级选项

选项 功能 应用场景
EXCLUDE <layer> 排除指定层覆盖的区域,不进行检查 隔离环内的特殊结构、引脚区域
INCLUDE <layer> 仅检查与指定层重叠的区域 仅验证栅极区域的多晶硅尺寸
`DIRECTION {X Y HORIZONTAL VERTICAL}` 限制检查方向 不同方向有不同间距要求的工艺
SAME_NET/DIFFERENT_NET 按网络属性过滤检查 LVS 关联后,同一网络的间距可放宽
LAYER_PAIR <layer1> <layer2> 针对层对的对称检查 金属层与过孔的双向覆盖检查

示例(含高级选项)

复制代码
# 仅检查与有源区重叠的多晶硅间距(排除隔离环内区域)
SPACING poly1 0.15 INCLUDE active EXCLUDE isolated_region → poly1_active_spacing_viol

# 同一网络的金属2层间距放宽至0.18um(不同网络为0.2um)
SPACING metal2 0.18 SAME_NET → metal2_same_net_spacing_viol

二、辅助操作

辅助操作不直接进行合规性检查,而是用于调试规则集、过滤无效数据、生成报告、管理图层,是提升 DRC/LVS 验证效率的关键。

1. 调试类辅助操作(定位问题核心)

1.1 输出中间层(WRITE_LAYER)

功能 :将原始层或派生层输出为 GDS/OAS 格式文件,用于可视化查看层操作结果,定位尺寸检查误报 / 漏报的原因。语法

复制代码
WRITE_LAYER <layer1> [ <layer2> ... ] FILE "<output_file>" [FORMAT {GDSII|OASIS}]

实战示例

复制代码
# 输出金属1层、接触孔层及中间派生层到调试文件
WRITE_LAYER metal1 contact metal1_contact_drc FILE "drc_debug.gds" FORMAT GDSII
  • 用法:在 Calibre DESIGNrev 中打开输出文件,查看图层的几何形状,确认尺寸检查的输入层是否正确。

1.2 生成详细报告(REPORT)

功能 :输出图层属性、违规统计、规则执行日志等报告,用于量化分析验证结果。语法

复制代码
# 图层属性报告(面积、图形数量、尺寸分布)
REPORT LAYER <layer> FILE "<report_file>" [DETAILS]

# 违规统计报告(按违规类型、位置汇总)
REPORT VIOLATIONS FILE "<violation_report>" [SORT BY {TYPE|LOCATION|COUNT}]

实战示例

复制代码
# 输出金属1层的详细属性报告(含每个图形的宽度、面积)
REPORT LAYER metal1 FILE "metal1_report.txt" DETAILS

# 输出所有DRC违规的统计报告(按违规类型排序)
REPORT VIOLATIONS FILE "drc_violation_summary.txt" SORT BY TYPE

1.3 标记违规(MARK)

功能 :手动标记自定义违规区域(如特殊工艺的禁止区域),或增强自动检查的违规标记可读性。语法

复制代码
MARK <violation_marker> = <layer> [WHERE <condition>]

实战示例

复制代码
# 标记金属1层与nwell重叠的禁止区域(自定义违规)
MARK metal1_nwell_viol = metal1 AND nwell WHERE AREA > 0.1um²

2. 数据过滤类辅助操作

2.1 过滤图形(FILTER)

功能 :按几何属性(面积、宽度、周长)过滤图层中的图形,保留符合条件的部分,避免无效图形导致的尺寸检查误报。语法

复制代码
FILTER <output_layer> = <input_layer> <attribute> <condition> <value>
  • 支持的属性:AREA(面积)、WIDTH(宽度)、PERIMETER(周长)、ASPECT_RATIO(伸长率)。

实战示例

复制代码
# 过滤金属1层中宽度小于0.1um的无效图形(避免尺寸检查误报)
metal1_valid = FILTER metal1 WIDTH >= 0.1um

# 过滤接触孔中面积小于0.01um²的噪声图形
contact_valid = FILTER contact AREA >= 0.01um²

2.2 平滑图形(SMOOTH)

功能 :消除图层中的锯齿状边缘(如版图导入时的几何失真),优化尺寸检查的准确性,减少因边缘畸变导致的误报。语法

复制代码
SMOOTH <output_layer> = <input_layer> <radius> [TYPE {GAUSSIAN|MEDIAN}]
  • <radius>:平滑半径(越大越平滑,建议取工艺最小尺寸的 1/10~1/5)。

实战示例

复制代码
# 平滑金属1层的边缘(半径0.02um),避免锯齿导致的宽度检查误报
metal1_smoothed = SMOOTH metal1 0.02 TYPE GAUSSIAN

3. 图层管理类辅助操作(简化规则集)

3.1 复制 / 重命名图层(COPY/RENAME)

功能 :复制图层(备份原始数据)或重命名图层(简化规则集语法),避免图层名称冲突。语法

复制代码
# 复制图层
COPY <output_layer> = <input_layer>

# 重命名图层(等价于复制)
RENAME <new_layer> = <old_layer>

实战示例

复制代码
# 复制原始金属1层作为备份(避免层操作修改原始数据)
metal1_backup = COPY metal1

# 重命名长图层名称(简化后续操作)
poly_gate = RENAME poly1_active_intersect

3.2 合并图层(MERGE)

功能 :将多个图层合并为一个图层(几何形状并集),用于批量检查多个相似图层的尺寸。语法

复制代码
MERGE <output_layer> = <layer1> <layer2> ... <layerN>

实战示例

复制代码
# 合并金属1、金属2、金属3层为"所有金属层",批量检查最小宽度
all_metals = MERGE metal1 metal2 metal3
WIDTH all_metals 0.18 → all_metals_width_viol

3.3 过滤无效图形(CLEAN)

功能 :删除图层中的微小图形、重复图形或自相交图形,净化图层数据,提升尺寸检查效率。语法

复制代码
CLEAN <output_layer> = <input_layer> [MIN_AREA <min_area>] [REMOVE_DUPLICATES]

实战示例

复制代码
# 清除接触孔层中面积小于0.005um²的微小图形和重复图形
contact_clean = CLEAN contact MIN_AREA 0.005 REMOVE_DUPLICATES

4. 规则集优化类辅助操作

4.1 条件判断(IF/ELSE)

功能 :根据设计参数(如电压等级、模块类型)动态启用 / 禁用部分规则,适配多场景验证。语法

复制代码
IF <condition> THEN
  <rule1>
  <rule2>
ELSE
  <rule3>
ENDIF

实战示例

复制代码
# 高压模块(hv_module层存在)启用更严格的间距规则,否则使用普通规则
IF EXISTS hv_module THEN
  SPACING metal1 0.25 → metal1_hv_spacing_viol
ELSE
  SPACING metal1 0.18 → metal1_std_spacing_viol
ENDIF

4.2 注释与分组(COMMENT/GROUP)

功能 :对规则集进行注释和分组,提升可读性和维护性(尤其是复杂工艺的规则集)。语法

复制代码
# 单行注释
/* 多行注释:金属层尺寸检查规则组 */
GROUP "Metal Layer DRC Rules"
  WIDTH metal1 0.18 → metal1_width_viol
  SPACING metal1 0.18 → metal1_spacing_viol
ENDGROUP

三、实战组合:尺寸检查 + 辅助操作的完整流程

以 0.18um CMOS 工艺的金属 1 层 DRC 验证为例,展示两类操作的组合使用:

复制代码
###########################################################################
# 步骤1:定义原始层和辅助层
###########################################################################
LAYER metal1 TYPE CONDUCTOR COLOR 2 WIDTH 0.18um
LAYER contact TYPE CONDUCTOR COLOR 6
LAYER isolated_region TYPE DIELECTRIC COLOR 10

###########################################################################
# 步骤2:辅助操作(净化图层数据)
###########################################################################
# 1. 平滑金属1层边缘,消除几何失真
metal1_smoothed = SMOOTH metal1 0.02 TYPE GAUSSIAN

# 2. 过滤无效图形(宽度≥0.1um,面积≥0.01um²)
metal1_valid = FILTER metal1_smoothed WIDTH >= 0.1um
metal1_valid = FILTER metal1_valid AREA >= 0.01um²

# 3. 输出中间层用于调试
WRITE_LAYER metal1_smoothed metal1_valid FILE "metal1_debug.gds"

###########################################################################
# 步骤3:尺寸检查操作(核心DRC规则)
###########################################################################
# 1. 最小宽度检查(排除隔离环内区域)
WIDTH metal1_valid 0.18 EXCLUDE isolated_region → metal1_width_viol

# 2. 最小间距检查(仅检查与接触孔重叠的区域)
SPACING metal1_valid 0.18 INCLUDE contact → metal1_spacing_viol

# 3. 金属1对接触孔的覆盖检查(最小0.04um)
OVERLAP metal1_valid contact 0.04 → metal1_contact_overlap_viol

###########################################################################
# 步骤4:辅助操作(生成报告)
###########################################################################
# 1. 输出金属1层属性报告
REPORT LAYER metal1_valid FILE "metal1_report.txt" DETAILS

# 2. 输出DRC违规统计报告
REPORT VIOLATIONS FILE "metal1_drc_summary.txt" SORT BY TYPE

四、常见问题与解决方案

1. 尺寸检查误报

问题原因 解决方案
图层边缘有锯齿,导致宽度 / 间距测量偏差 使用SMOOTH操作平滑边缘,调整平滑半径(建议 0.01~0.03um)
存在微小无效图形,被误判为违规 使用FILTER/CLEAN操作删除微小图形(设置 MIN_AREA)
规则未排除特殊区域(如引脚、隔离环) 在尺寸检查中添加EXCLUDE选项,排除特殊结构

2. 辅助操作失效

问题原因 解决方案
WRITE_LAYER输出文件为空 检查图层名称是否正确,确保输出的图层有几何图形
REPORT报告无数据 确认图层已执行层操作,添加DETAILS选项获取详细信息
FILTER过滤后无图形 调整过滤条件(如放宽宽度 / 面积阈值),检查输入层是否有效

3. 规则集维护困难

问题原因 解决方案
规则过多,结构混乱 使用GROUP分组,添加详细注释,按图层 / 功能分类编写
多场景验证需要重复修改规则 使用IF/ELSE条件判断,动态适配不同场景(如高压 / 低压模块)

五、总结

  • 尺寸检查操作 是 DRC 的核心,需严格遵循工艺规则手册,结合WIDTH/SPACING/OVERLAP等命令,覆盖几何尺寸的关键指标;

  • 辅助操作 是优化验证流程的工具,SMOOTH/FILTER用于净化数据,WRITE_LAYER/REPORT用于调试,GROUP/IF用于提升规则集可维护性;

  • 实战中需遵循 "辅助操作净化数据 → 尺寸检查执行验证 → 辅助操作生成报告" 的流程,确保 DRC 结果的准确性和可追溯性。

相关推荐
默默在路上2 小时前
CentOS Stream 9 安装hadoop单机伪分布式模式
大数据·hadoop·分布式
北京盛世宏博2 小时前
数据可追溯 + 加密传输:以太网温湿度变送器守护涉密档案安全
大数据·运维·人工智能·档案温湿度
小五传输2 小时前
主流的文件摆渡系统品牌核心功能解析,助力企业数据安全流转
大数据·运维·安全
rgb2gray2 小时前
论文深度解析:基于大语言模型的城市公园多维度感知解码与公平性提升
大数据·人工智能·机器学习·语言模型·自然语言处理·数据分析·可解释
Jackyzhe4 小时前
Flink源码阅读:JobManager的HA机制
大数据·flink
鲨莎分不晴4 小时前
大数据基石深度解析:系统性读懂 Hadoop 与 ZooKeeper
大数据·hadoop·zookeeper
Sylvan Ding10 小时前
度量空间数据管理与分析系统——大数据泛构课程作业-2025~2026学年. 毛睿
大数据·深圳大学·大数据泛构·度量空间数据管理与分析系统·毛睿·北京理工大学珠海校区
面向Google编程13 小时前
Flink源码阅读:JobManager的HA机制
大数据·flink
Tony Bai13 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构