从ITF/ICT到EMX:28nm工艺电感仿真PROC文件编写实战指南
在射频与模拟集成电路设计中,片上电感的精确建模一直是工程师面临的重大挑战。尤其在28nm等先进工艺节点下,金属互连的复杂三维结构、工艺偏差对电感性能的影响变得不可忽视。本文将深入解析如何从工艺厂提供的ITF/ICT文件出发,构建适用于EMX仿真的PROC文件,帮助工程师避开常见陷阱,实现电感特性的高精度预测。
1. 工艺文件解析基础
1.1 ITF/ICT文件结构解密
ITF(Interconnect Technology Format)和ICT(Interconnect Technology)文件是工艺厂提供的标准格式,包含了完整的互连工艺信息。这些文件通常包含以下关键部分:
- 介电层定义:每层介质的厚度和相对介电常数
- 导体定义:金属层的厚度、电阻率、温度系数等
- 工艺偏差模型:金属厚度随密度和宽度的变化关系
- 刻蚀偏差表:实际线宽与设计值的差异
一个典型的ITF文件结构如下:
DIELECTRIC IMD1 {THICKNESS=0.1 ER=4.2} CONDUCTOR M1 { THICKNESS=0.08 SIDE_TANGENT=0.05 POLYNOMIAL_BASED_THICKNESS_VARIATION {...} RHO_VS_SI_WIDTH_AND_THICKNESS {...} ETCH_VS_WIDTH_AND_SPACING {...} }1.2 EMX PROC文件核心要素
EMX PROC文件需要准确描述芯片的层叠结构、导体特性和工艺偏差。主要包含以下语句类型:
| 语句类型 | 功能描述 | 示例 |
|---|---|---|
layer | 定义介质层 | layer IMD1 0.1um |
conductor | 定义金属层 | conductor 0.08um 0.4 M1 |
offset | 设置相对位置偏移 | offset 0.05um |
position | 设置绝对位置 | position 0.15um |
define | 定义层映射关系 | define M1 = L39T0 |
merge | 合并相邻VIA | merge V1 0.3um |
2. 关键参数转换实战
2.1 金属厚度与电阻率处理
28nm工艺中,金属厚度和电阻率往往不是固定值,而是随金属密度和宽度变化的变量。ITF文件中通常使用多项式或查找表来描述这种关系。
厚度变化多项式转换示例:
POLYNOMIAL_BASED_THICKNESS_VARIATION { DENSITY_POLYNOMIAL_ORDERS {4,3,2,1,0} WIDTH_POLYNOMIAL_ORDERS {4,3,2,1,0} POLYNOMIAL_COEFFICIENTS { 0 -2.09675E+01 4.71013E+01 -3.63903E+01 1.10754E+01 ... } }对于EMX PROC文件,如果支持查找表形式,可将多项式计算结果转换为离散值表:
conductor M1 { thickness = { {0.1, 0.08, 0.075}, # width=0.1um时的厚度 {0.2, 0.082, 0.078}, # width=0.2um时的厚度 ... } rsh = { {0.1, 0.42, 0.45}, # width=0.1um时的方块电阻 {0.2, 0.40, 0.43}, # width=0.2um时的方块电阻 ... } }2.2 刻蚀偏差处理
实际制造中,金属线宽会受到刻蚀工艺影响。ITF文件中的刻蚀偏差表需要转换为EMX的bias参数:
ETCH_VS_WIDTH_AND_SPACING { SPACINGS {0.36, 0.54, 0.72} WIDTHS {0.36, 0.54, 0.72} VALUES { -0.023, -0.022, -0.021 -0.014, -0.013, -0.012 -0.010, -0.009, -0.008 } }对应EMX PROC中的bias定义:
bias M1 { width = { {0.36, 0.54, 0.72}, # 设计线宽 {0.383,0.562,0.741}, # 实际线宽(考虑刻蚀偏差) ... } }3. 层叠结构精确建模
3.1 介质层与金属层定位
28nm工艺中,金属层通常采用双大马士革工艺,金属镶嵌在介质层中。准确描述金属在介质层中的位置对电感仿真至关重要。
典型层叠描述示例:
layer IMD1 0.1um offset 0.02um # M1下表面偏移 conductor 0.08um 0.4 M1 offset 0.02um # M1上表面到IMD1顶部的距离 layer IMD2 0.15um3.2 VIA合并与电阻计算
工艺厂通常要求VIA阵列满足设计规则,但这对EMX仿真效率不利。使用merge参数可以优化VIA处理:
define V1 = merge(L48T1, 0.3um) via V1 { resistance = 10ohm # 单VIA电阻 height = 0.1um # VIA高度 }对于不规则VIA,需要特别注意:
如果版图中存在旋转45度的VIA,必须提供general size的阻值信息,否则EMX会报错。
4. 高级技巧与避坑指南
4.1 温度系数处理
ITF文件中的电阻温度系数需要转换为EMX的tempco参数:
CRT_VS_SI_WIDTH { (0.39, 3.649e-03, -8.5347e-07) ... }对应EMX定义:
conductor M1 { rsh = 0.4 tempco = { {25, 0.4}, # 25°C时的电阻 {125, 0.45}, # 125°C时的电阻 ... } }4.2 截面形状建模
金属的实际截面往往不是理想矩形,ITF中的SIDE_TANGENT参数描述了这种偏差:
CONDUCTOR M1 { SIDE_TANGENT = 0.046869 # 约2.68°的梯形 }在EMX中可通过taper参数近似:
conductor M1 { thickness = 0.08um rsh = 0.4 taper = 0.047 # 等效SIDE_TANGENT }4.3 常见错误排查
- 层序错误:EMX要求从下到上描述层叠结构,顺序错误会导致位置计算偏差
- 单位不一致:确保ITF文件与PROC文件使用相同单位(通常为微米)
- VIA合并过度:过大的merge值会导致电气连接错误
- 温度系数遗漏:高频电感仿真必须考虑温度影响
- 刻蚀偏差方向:注意ITF中的etch值是加到还是减自设计值
5. 验证与优化
完成PROC文件编写后,建议通过以下步骤验证:
- 简单结构测试:先仿真单圈电感等简单结构,检查基本参数
- 工艺文档比对:对比仿真结果与工艺厂提供的参考数据
- 参数扫描:扫描线宽、间距等参数,观察趋势是否符合预期
- 实测对比:有条件时与硅片测试结果对比,调整模型参数
一个典型的验证用螺旋电感定义:
inductor spiral { layer = M8 width = 2um spacing = 1um turns = 3.5 radius = 30um port1 = inner port2 = outer }在28nm工艺中,片上电感的品质因数(Q值)通常为10-20,自谐振频率(SRF)在10GHz以上。如果仿真结果显著偏离这些范围,可能需要检查PROC文件中的参数设置。