3. DRC规则文件结构:语法、层次结构与常用语句
DRC规则文件是Calibre执行版图验证的核心输入。理解其语法结构、层次划分以及关键语句,是高效调试DRC违例的基础。本章将系统拆解规则文件的组成要素,帮助你在面对成千上万行规则时,快速定位问题根源。
3.1 规则文件整体层次结构
一个标准的Calibre DRC规则文件通常遵循“定义 → 派生 → 检查 → 输出”的逻辑层次。理解这一层次,相当于拿到了阅读规则文件的“地图”。
层次结构速览: 规则文件并非平铺直叙,而是按功能模块分层组织。调试时,应首先确认当前违例属于哪一层,再向下深入。
3.2 规则文件基本语法
Calibre DRC规则文件采用自由格式的文本语法,不区分大小写,但推荐使用大写关键字以增强可读性。注释行以 // 或 /* */ 标记。
| 语法元素 | 说明 | 示例 |
|---|---|---|
| 注释 | 单行 //,多行 /* ... */ |
// 这是宽度检查规则 |
| 变量赋值 | 使用 = 定义层或参数 |
M1 = LAYER 1 |
| 操作符 | 逻辑与几何运算 | GATE = POLY AND DIFF |
| 检查语句 | 以 DRC CHECK 开头 |
DRC CHECK M1_WIDTH M1 WIDTH < 0.18 |
| 结果控制 | 指定数据库输出 | DRC RESULTS DATABASE |
调试提示: 当规则文件报错时,首先检查 变量名是否拼写一致 以及 操作符两侧是否有空格。Calibre对语法空格敏感度较低,但变量名必须完全匹配。
3.3 核心语句详解
3.3.1 SVDB 语句:数据库版本控制
SVDB 语句用于指定Calibre生成的SVDB(Standard Verification Database)文件的版本和格式。它决定了结果数据库的兼容性与功能特性。
// 指定SVDB版本为4.0,支持分层结果存储
SVDB VERSION 4.0
// 启用SVDB压缩以节省磁盘空间
SVDB COMPRESS ON
3.3.2 DRC CHECK 语句:定义检查规则
这是规则文件的核心。每条 DRC CHECK 语句定义一个具体的几何或电气检查项。其基本格式为:
DRC CHECK check_name layer_expression check_type [threshold]
其中 check_type 包括 WIDTH、SPACE、ENC(包围)、AREA 等。
| 检查类型 | 描述 | 典型应用 |
|---|---|---|
WIDTH |
检查图形最小宽度 | 金属线宽 ≥ 0.18μm |
SPACE |
检查同层图形最小间距 | 多晶硅间距 ≥ 0.22μm |
ENC |
检查一个层对另一个层的包围 | 接触孔被金属包围 ≥ 0.05μm |
AREA |
检查图形面积 | 通孔面积 ≥ 0.04μm² |
3.3.3 DRC RESULTS DATABASE 语句:结果输出控制
该语句控制违例结果如何写入数据库,包括输出文件路径、格式以及是否包含层次信息。
// 将结果输出到指定SVDB文件
DRC RESULTS DATABASE "output/design_drc.db" SVDB
// 仅输出违例总数摘要,不生成详细数据库
DRC RESULTS DATABASE SUMMARY ONLY
常见错误: 如果
DRC RESULTS DATABASE 语句缺失或路径错误,Calibre将不会生成任何结果数据库,导致无法在RVE中查看违例。调试时务必确认该语句存在且路径可写。
3.4 规则文件结构对比:单文件 vs. 多文件包含
实际项目中,规则文件常采用模块化组织。下表对比了两种常见结构:
| 结构类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 单文件 | 简单直接,易于分发 | 文件庞大,维护困难 | 小型设计或原型验证 |
| 多文件包含 ( INCLUDE 语句) |
模块化,可复用,团队协作友好 | 依赖关系复杂,路径管理需谨慎 | 大型SoC项目,工艺库规则 |
// 多文件包含示例:主规则文件
INCLUDE "foundry_rules/tech_layers.drc" // 工艺层定义
INCLUDE "foundry_rules/design_rules.drc" // 通用设计规则
INCLUDE "project_specific/custom_checks.drc" // 项目自定义检查
3.5 常用语句速查表
以下表格汇总了调试过程中最常遇到的规则文件语句,建议作为快速参考:
| 语句 | 功能 | 调试关注点 |
|---|---|---|
LAYOUT SYSTEM GDSII |
指定输入版图格式 | 确认格式与文件扩展名匹配 |
DRC MAXIMUM RESULTS ALL |
设置每个检查的最大违例输出数 | 设为 ALL 可避免遗漏违例 |
DRC ICSTATION YES |
启用IC Station交互调试 | 用于在版图编辑器中高亮违例 |
SELECT LAYER |
在结果数据库中仅输出指定层 | 减少数据库体积,加速调试 |
DRC SUMMARY REPORT |
生成文本摘要报告 | 快速查看违例总数与分布 |
核心要点: 掌握规则文件的层次结构(输入→派生→检查→输出)和三大核心语句(SVDB、DRC CHECK、DRC RESULTS DATABASE),是高效调试DRC违例的基石。遇到复杂违例时,先回到规则文件,确认检查定义是否正确、派生层是否合理、输出路径是否有效。