4. 工艺与规则文件准备

寄生提取的精度,一半取决于版图几何,另一半取决于工艺栈描述是否与制造实际一致。xACT 在运行 xact 或 calibre -xact 时,会依据工艺文件构建三维介质与导体模型,再求解电容、电阻网络。若 ITF/ICT 中的厚度、介电常数、侧壁角、层映射或填充规则与真实流片不符,提取出的耦合电容可能偏差 20% 以上,签核结论也就失去意义。本节围绕“提取前工艺栈配置”这一任务,说明如何解析并组装这些文件。

一、工艺栈描述文件的角色分工

在 Calibre xACT 流程中,工艺信息通常由三类文件共同承担:

  • ITF(Interconnect Technology File):描述介质层与导体层的物理结构,包括每层厚度、介电常数 k、导体电阻率、侧壁角、上下层关系。它是构建 3D 电容模型的基础。
  • ICT(Interconnect Capacitance Table):以查找表形式给出特定工艺下的电容系数,常用于快速模式或与 ITF 交叉校验。ICT 通常由 foundry 提供,也可由 ITF 通过 itf2ict 生成。
  • H-cell(Hierarchical Cell):描述层次化单元内部的寄生参数或等效模型,用于在高层提取时复用低层结果,减少重复计算。

此外,层映射文件把版图 GDS 的 layer/datatype 映射到工艺层名;金属填充与密度规则则告诉提取器哪些区域存在 dummy metal、密度梯度如何影响有效介电常数。四者缺一不可。

二、ITF 关键字段解析

一个典型的 ITF 片段如下(示例参数,非真实工艺):

LAYER M1 {
  TYPE = CONDUCTOR
  THICKNESS = 0.30
  RESISTIVITY = 0.018
  SIDEWALL_ANGLE = 87
  MATERIAL = CU
}
LAYER ILD1 {
  TYPE = DIELECTRIC
  THICKNESS = 0.45
  PERMITTIVITY = 3.9
  MATERIAL = SiO2
}

解析时需重点核对:厚度单位(通常为 μm)、电阻率单位(Ω·μm)、介电常数是否为相对值。若 ITF 中 THICKNESS 与工艺厂 PDK 文档不一致,应优先以 PDK 为准,并在配置中记录差异原因。侧壁角影响边缘电容,先进工艺中铜线侧壁角常在 85°~88° 之间,忽略它会低估耦合电容。

三、层映射与金属填充规则

版图层号与工艺层名的映射通常写在 layer.map 或 xACT 的 -layer_map 选项中。例如:

M1 31 0
M2 32 0
VIA1 51 0

若映射错误,提取器会把 M2 当成 M1,导致层间电容完全错位。金属填充方面,CMP 工艺会在宽金属区域插入 dummy fill。xACT 支持通过 FILL 语句或密度规则文件描述填充图形。若忽略填充,宽金属上方电容会被高估;若填充密度超过 30%,有效介电常数可能上升 5%~10%。实际配置中,应把填充层单独映射,并设置 FILL_DENSITY 与 FILL_LAYER 参数。

提取前工艺栈配置:文件输入 → 解析 → 工艺栈组装 ITF 工艺文件 厚度/k/电阻率/侧壁角 ICT 电容查找表 快速模式/交叉校验 H-cell 层次单元 复用低层寄生结果 层映射 layer.map GDS layer/datatype → 层名 金属填充/密度规则 dummy fill / 密度梯度 xACT 解析器 单位归一化 层名匹配 介电常数校验 填充密度注入 H-cell 绑定 组装后的工艺栈(截面示意) M3 铜 0.30μm ρ=0.018 ILD2 k=3.9 t=0.45μm M2 铜 0.30μm ρ=0.018 ILD1 k=3.9 t=0.45μm M1 铜 0.30μm ρ=0.018 填充层 FILL 密度 25% H-cell 绑定:SRAM 单元 衬底 SUB k=11.9 配置校验要点 ① 厚度/单位与 PDK 一致 ② 层映射无错位 ③ 填充密度已注入 ④ H-cell 版本匹配 ⑤ 介电常数与 ICT 交叉验证偏差 < 3%

四、工艺栈配置的实际操作

在 xACT 运行脚本中,工艺栈通常通过 -tech 或 -itf 选项加载。一个可参考的配置命令如下:

xact -layout chip.gds \
     -top chip \
     -itf tsmc28.itf \
     -layer_map layer.map \
     -fill fill_rule.txt \
     -hcell sram.hcell \
     -output chip_xact

执行后,xACT 会先输出工艺栈摘要,包括每层厚度、k 值、映射到的 GDS 层号。应逐项核对:M1 是否映射到 31/0,ILD1 厚度是否为 0.45 μm,填充层是否被识别。若摘要中出现 UNMAPPED LAYER 警告,说明有版图层未映射,需补全 layer.map。

五、常见错误与判断依据

现象可能原因判断依据
耦合电容整体偏大填充密度未配置或偏低对比有无 fill 的两次提取,差值 > 8%
层间电容错位layer.map 层号错误摘要中 M2 映射到 M1 的 GDS 层
电阻偏大ITF 电阻率单位误用 Ω·cm铜电阻率应为 0.018 Ω·μm,而非 1.8
H-cell 未生效单元名或版本不匹配日志中 H-cell 绑定数为 0
完成工艺栈配置后,建议先用一个小型测试结构(如两条平行 M2 线,间距 0.2 μm)做快速提取,把结果与 ICT 查找表或 foundry 参考值对比。若偏差在 3% 以内,再投入全芯片提取。这一步能提前暴露大部分工艺文件错误,避免浪费数小时的计算资源。

工艺栈配置不是一次性动作,而是随工艺版本、填充规则和 H-cell 更新而迭代的过程。每次流片前,都应重新核对 ITF 版本号、层映射表和填充密度,确保提取模型与制造实际同步。