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