4. 工艺文件与提取技术文件准备

版图寄生提取的精度,首先不取决于仿真器,而取决于“喂给提取引擎的工艺描述是否完整、一致、可追溯”。在 Cadence Virtuoso 的 Quantus QRC 流程中,一次完整的寄生提取签核通常需要五类文件协同工作:ITF(Interconnect Technology File,工艺层与介质描述)、ICT(Interconnect Capacitance Table,电容查找表)、QRC techfile(提取引擎实际读取的编译后工艺库)、layer map(版图层到工艺层的映射)以及RC 规则文件(提取模式、频率、精度与输出控制)。它们不是并列的“五个文件”,而是有明确的生成与依赖关系:ITF 是源头,ICT 补充电容模型,二者经编译生成 QRC techfile,layer map 负责把版图 GDS 层号翻译成工艺层名,RC 规则文件则在运行时决定“用哪些层、按什么模式、输出什么格式”。

一、五类文件的角色与依赖链

理解依赖链是排障的前提。ITF 描述的是“物理世界”:每层金属的厚度、方块电阻、介电层厚度与介电常数、通孔电阻、以及各层之间的叠层顺序。ICT 描述的是“电容行为”:以表格形式给出导体间单位长度电容随间距、宽度、重叠长度的变化,通常由场求解器预先算好。QRC techfile 是提取引擎真正读取的二进制或加密文本库,由 ITF(必要时叠加 ICT)经 techgen 或工艺厂提供的编译流程生成。layer map 把版图层的 layer/datatype 映射为 ITF 中的层名,映射错一层,提取结果就会整体偏移。RC 规则文件(常以 .cmd 或 .rul 形式存在)则规定提取模式(如 RC、C、R)、频率点、是否提取耦合电容、输出 SPEF/DSPF 的精度与单位。

QRC 寄生提取文件依赖链与配置关系 ITF 金属/介质厚度、εr 方块电阻、通孔电阻 ICT 电容查找表 间距/宽度/重叠 techgen 编译/合并 生成 techfile QRC techfile 提取引擎读取库 层定义+电容模型 layer map GDS layer/datatype → 工艺层名 RC 规则文件 模式/频率/精度 输出 SPEF/DSPF 提取结果 SPEF / DSPF 后仿真网表 ITF+ICT 经 techgen 编译为 QRC techfile;layer map 与 RC 规则文件在提取运行时共同生效

二、ITF 的关键字段与配置要点

ITF 通常由工艺厂提供,但工程师必须能读懂并核对关键字段。一个典型的 ITF 片段如下(示例参数,非实测值):

# 示例 ITF 片段(教学用,非真实工艺)
DIELECTRIC ILD1 { THICKNESS=0.45 ER=4.1 }
DIELECTRIC IMD2 { THICKNESS=0.70 ER=3.9 }
CONDUCTOR M1 { THICKNESS=0.35 RSH=0.12 }
CONDUCTOR M2 { THICKNESS=0.45 RSH=0.09 }
VIA VIA1 { RESISTANCE=4.5 }

核对时重点看三处:叠层顺序是否与剖面一致(ILD1 在 M1 之下还是之上)、厚度单位是微米还是埃、RSH 是否与工艺 PDK 中的方块电阻一致。若 ITF 中 M1 的 RSH 写成 0.12 Ω/sq,而实际工艺为 0.08 Ω/sq,提取出的金属电阻会整体偏大约 50%,后仿真时序会明显悲观。ITF 中还有一个容易忽略的字段是 ER(相对介电常数),它直接决定电容绝对值;低 k 介质与 SiO₂ 的 ER 差异可达 30% 以上,用错会导致耦合电容系统性偏差。

三、ICT 与 QRC techfile 的生成关系

ICT 不是每个工艺都必须有。当工艺叠层简单、电容可用解析公式近似时,ITF 单独编译即可;当存在复杂三维耦合、多层介质或需要高精度电容时,工艺厂会提供 ICT,由 techgen 在编译时把查找表嵌入 QRC techfile。判断是否使用了 ICT,可以看 techgen 日志中是否出现 Reading ICT file 以及生成的 techfile 大小是否显著增大。若 ICT 缺失但规则文件要求高精度电容模式,提取器会退回解析模型,此时应在报告中注明精度等级,避免把“解析近似”当成“场求解精度”签核。

四、layer map 的映射逻辑与常见错误

layer map 文件把版图 GDS 中的 layer datatype 映射为 ITF 中的层名。典型格式为:

# layer map 示例
M1     drawing  31  0
M2     drawing  32  0
VIA1   drawing  51  0

映射错误有三种典型表现:一是层名拼写不一致,如 ITF 中为 MET1 而 map 中写 M1,提取器找不到层,该层被当作空白,电阻电容全部丢失;二是datatype 遗漏,某些工艺用 datatype 区分 drawing 与 pin,若只映射 drawing,pin 层不参与提取,端口连接会断开;三是层顺序颠倒,把 M2 映射到 M1,导致上下层电容耦合对象完全错误。排查时最直接的方法是先用 strmout 或版图工具导出层清单,与 layer map 逐行比对,再在提取日志中搜索 unmapped layer 警告。

五、RC 规则文件的运行控制

RC 规则文件决定“怎么提”。一个最小可用的规则文件通常包含提取模式、频率、耦合开关和输出格式:

# 示例 RC 规则(教学用)
extraction_mode = RC
frequency = 1e9
coupling_cap = true
output_format = SPEF
unit_resistance = ohm
unit_capacitance = fF

其中 extraction_mode 选 RC 表示同时提取电阻与电容,若只关心时序中的电容负载可先用 C 模式快速迭代;frequency 影响趋肤效应与介质损耗建模,低频数字签核常用 1 GHz 量级,射频则需按实际工作频点设置;coupling_cap 打开后会输出耦合电容,SPEF 中体现为 *CAP 的耦合项,关闭则只输出对地电容,网表更小但串扰信息丢失。单位设置必须与后续 STA 工具一致,若 SPEF 用 fF 而 STA 按 pF 读取,时序会差三个数量级。

建议在项目目录中固定五类文件的命名与版本,例如 itf/process_v1.2.itf、ict/process_v1.2.ict、tech/qrc_tech_v1.2、map/layer.map、rule/extract_rc.cmd,并在提取日志开头打印各文件路径与校验和,便于回溯。

六、一次完整的准备检查流程

实际动手时,可按以下顺序确认文件就绪:先核对 ITF 的叠层与 PDK 剖面一致,再确认 ICT 是否存在及是否被 techgen 读取,接着用 techgen 生成 QRC techfile 并检查日志无 error,然后逐行比对 layer map 与版图层清单,最后按签核目标编写 RC 规则文件。提取前先用一个小模块(如反相器链)试跑,观察 SPEF 中是否出现预期层名、电容数量级是否合理(例如 1 μm 长 M1 对地电容在 fF 量级),确认无误后再全芯片提取。若试跑结果中某层电容为零或电阻异常大,优先回到 layer map 和 ITF 的 RSH 字段排查,而不是先怀疑提取引擎。

ITF、ICT、QRC techfile 三者版本必须来自同一工艺版本。混用不同版本的 ITF 与 techfile 可能导致层定义与电容模型不匹配,提取结果虽能生成但数值不可信,且这类错误在日志中往往没有明显报错。