4. 工艺技术文件与规则解析

在 Calibre 寄生参数提取流程中,工艺技术文件是连接“版图几何”与“物理寄生”的桥梁。版图只告诉工具哪里有什么形状,而工艺文件才告诉工具这些形状在真实硅片上意味着什么:多厚、多宽、什么材料、周围包着什么介质、哪些层之间会形成耦合。若工艺文件与设计数据不匹配,提取结果可能完全失真,甚至导致签核结论错误。因此,理解 ITF、ICT、H-Cell 等文件的作用,并掌握匹配性检查方法,是寄生提取签核中不可跳过的一环。

一、三类工艺描述文件的分工

Calibre xRC 体系中,工艺信息通常由三类文件协同描述:ITF、ICT 和 H-Cell。它们不是互相替代,而是分别承担不同抽象层次和不同用途的工艺描述。

ITF(Interconnect Technology File)是工艺的“物理结构说明书”。它描述金属层、通孔、介质层的厚度、介电常数、电阻率、侧壁角度、刻蚀偏差、CMP 平坦化后的厚度变化等。ITF 的核心价值在于:它让提取引擎能够根据版图上的几何图形,推导出真实的三维截面结构。例如,某层金属在版图上画的是 0.1 μm 宽,但 ITF 中定义了该层的光刻偏差和刻蚀偏差,工具就会据此修正实际导体宽度,再计算电阻和电容。

ICT(Interconnect Capacitance Table)是电容模型的“查表数据”。它通常由场求解器基于 ITF 生成,包含不同线宽、间距、层组合下的单位长度电容值。提取时,Calibre 会根据版图实际几何在 ICT 中插值,快速得到耦合电容。ICT 的精度直接决定电容提取的准确性,而 ICT 又必须与 ITF 版本一致,否则会出现“结构描述”和“电容查表”来自不同工艺节点的错配。

H-Cell(Hierarchical Cell)则更偏向“器件级或单元级的寄生描述”。在混合信号或定制电路中,某些单元(如标准单元、IP 宏、存储器阵列)的寄生参数已经通过专门提取或实测得到,并以 H-Cell 形式提供给上层提取流程。H-Cell 可以理解为一种“寄生参数复用单元”,它让工具在层次化提取时直接调用已标定的结果,而不必对每个实例重复做场求解。H-Cell 必须与设计中的单元名称、端口、层次路径严格对应,否则会出现“找不到单元”或“端口不匹配”的错误。

工艺文件与设计数据匹配性检查关系图 设计数据 GDS / OASIS 版图 网表 / 层次结构 层号 / 文本标签 ITF 文件 金属/通孔/介质厚度 介电常数 / 电阻率 刻蚀偏差 / CMP 模型 ICT 文件 单位长度电容查表 线宽/间距/层组合 由场求解器生成 H-Cell 文件 单元级寄生参数 端口 / 层次路径映射 IP / 标准单元复用 Calibre xRC 寄生参数提取引擎 层号映射 场求解生成 单元名/端口匹配 结构参数 电容查表 寄生复用 ⚠ 典型不匹配风险 层号错位 / 版本不一致 单元名缺失 / 端口不匹配 图例 结构描述流 电容模型流

二、匹配性检查的核心维度

工艺文件与设计数据的匹配性检查,不是简单比对文件名或版本号,而是要从“层映射、几何参数、单元层次、版本一致性”四个维度逐项核对。

层映射检查是最基础也最容易出错的一步。GDS 中的层号(layer/datatype)必须与 ITF 中定义的层名一一对应。例如,版图中金属 1 使用 layer 10/datatype 0,而 ITF 中定义的 M1 对应 layer 10/datatype 0,则匹配;若 ITF 写的是 layer 11,则提取时该层会被忽略或误判为其他层。实际操作中,可以用 Calibre 的层映射报告或 `calibre -xrc -check` 类命令输出映射表,逐行核对。

几何参数检查关注 ITF 中的最小线宽、最小间距、厚度等是否与设计规则或实际工艺相符。例如,ITF 中定义 M2 最小线宽为 0.05 μm,而设计中存在 0.04 μm 的线宽,提取引擎可能仍会计算,但结果已超出模型标定范围,精度不可信。此时应检查设计是否违反规则,或 ITF 是否选错工艺节点。

单元层次检查主要针对 H-Cell。设计中的每个被复用的单元,其名称、端口顺序、层次路径必须与 H-Cell 文件中的定义一致。常见错误包括:设计里单元名为 `INV_X1`,H-Cell 中写的是 `INVX1`;或者端口顺序在版图与 H-Cell 中不一致,导致寄生参数接错节点。检查方法可以先用 `grep` 或脚本提取设计中所有实例的单元名,再与 H-Cell 的单元列表做差集,快速定位缺失或多余项。

版本一致性检查是最隐蔽的风险。ITF、ICT、H-Cell 三者必须来自同一工艺版本。若 ITF 是 1.2 版,ICT 是 1.1 版,则电容查表与结构描述不一致,提取出的电容可能偏差 10% 以上。建议在项目目录中建立版本清单,并在提取脚本中显式记录每个文件的版本号和校验和。

三、实际操作:一次匹配性检查的完整过程

下面以一个假设的 28 nm 工艺项目为例,说明检查流程。假设设计数据为 `top.gds`,工艺文件为 `tech.itf`、`cap.ict`、`stdcell.hcell`。

第一步,检查层映射。运行 Calibre 的层映射检查命令,输出设计中的层号列表与 ITF 中的层定义列表,逐项比对。若发现设计中有 layer 30/datatype 0,而 ITF 中未定义,则需要确认该层是否为 dummy 层或标识层,若是则应在提取设置中排除,若不是则说明 ITF 缺少该层定义。

第二步,检查几何参数。从 ITF 中提取关键参数,与设计规则文件中的最小值对比。例如:

ITF 关键参数(示例):
M1 厚度 = 0.10 μm,最小线宽 = 0.05 μm,最小间距 = 0.05 μm
M2 厚度 = 0.12 μm,最小线宽 = 0.05 μm,最小间距 = 0.05 μm
VIA1 电阻 = 5 Ω/通孔,高度 = 0.10 μm

设计规则(示例):
M1 最小线宽 = 0.05 μm,最小间距 = 0.05 μm
M2 最小线宽 = 0.05 μm,最小间距 = 0.05 μm

若两者一致,说明 ITF 与设计规则匹配;若 ITF 中最小线宽为 0.06 μm,而设计规则为 0.05 μm,则需确认 ITF 是否来自更保守的工艺角,或是否选错了文件。

第三步,检查 H-Cell 单元列表。用脚本提取 `top.gds` 中所有被实例化的单元名,与 `stdcell.hcell` 中的单元名做交集和差集。假设设计中有 120 个单元,H-Cell 中有 118 个,差集显示缺少 `BUF_X4` 和 `MUX2_X1`。此时需要确认这两个单元是否确实需要 H-Cell 描述;若需要,则必须补充或重新生成 H-Cell,否则提取时这两个单元会被当作普通版图处理,寄生参数精度下降。

第四步,检查版本一致性。查看三个文件的头部注释或版本字段,确认工艺版本号一致。若 ITF 标注 `Process: 28LP_1.2`,ICT 标注 `Process: 28LP_1.1`,则必须重新生成 ICT 或获取匹配版本。

实用检查清单:
  • 层号映射:设计层号 ↔ ITF 层名,逐项核对,无遗漏、无错位。
  • 几何参数:ITF 最小线宽/间距/厚度 ↔ 设计规则,确认在标定范围内。
  • H-Cell 单元:设计实例单元名 ↔ H-Cell 单元列表,差集为空或已确认可忽略。
  • 端口映射:H-Cell 端口顺序 ↔ 版图端口标签,避免节点接错。
  • 版本一致性:ITF / ICT / H-Cell 版本号与校验和一致。
  • 提取设置:PEX 规则文件中的层映射、H-Cell 路径、ICT 路径均指向正确文件。

四、常见错误与排查思路

实际项目中,匹配性问题往往以“提取结果异常”的形式暴露。例如,提取出的某条网络电容异常大,排查后发现该网络经过了一个未被 H-Cell 覆盖的单元,工具按普通版图提取,把单元内部所有寄生都算到了网络上。又例如,提取报告提示“layer not found”,说明设计中的某个层在 ITF 中没有定义,需要检查层映射表。

排查时建议遵循“先静态检查、后动态验证”的顺序。静态检查即上述四维度核对,可以在提取前完成,成本低、效率高。动态验证则是在提取后,选取少量关键网络,用场求解器或手工计算做对比。例如,选取一条已知长度的 M2 走线,手工计算其单位长度电容,与提取结果对比,若偏差超过 5%,则需回溯工艺文件匹配性。

注意:不要仅依赖工具是否报错来判断匹配性。很多不匹配情况不会导致提取失败,而是导致结果“看起来正常但实际偏差”。例如,ICT 版本略旧,提取仍能完成,但电容值可能系统性偏小。因此,版本一致性和参数范围检查必须作为签核流程的固定环节。

总结来说,ITF 定义结构、ICT 提供电容模型、H-Cell 复用单元寄生,三者共同构成 Calibre 提取的工艺基础。匹配性检查的核心是“层对得上、参数在范围内、单元找得到、版本一致”。把这四项检查固化为提取前的标准动作,可以避免绝大多数因工艺文件错配导致的签核风险。