3. 寄生参数提取流程:从GDS到R+C+CC的提取步骤、工具介绍(StarRC/QRC)
寄生参数提取是连接物理版图与电路仿真的关键桥梁。其目标是将GDSII版图中的几何图形转换为SPICE网表中的寄生电阻(R)、寄生电容(C)和耦合电容(CC)。提取结果的精度直接决定了后仿真与硅实测的吻合度。
3.1 寄生参数提取的完整流程
从GDS到R+C+CC的提取通常分为五个核心阶段,每个阶段都涉及特定的数据准备和算法选择。
核心流程概览: GDSII + 工艺文件 → 版图预处理 → 寄生参数计算 → 网表反标 → 输出标准寄生格式(SPEF/DSPF)
- 数据准备: 输入GDSII版图、LVS干净的CDL网表、工艺厂商提供的寄生参数提取规则文件(如.nxtgrd/.itf/.ict文件)。
- 版图预处理: 进行层次化展平、天线规则检查、虚拟填充(dummy fill)识别与过滤。
- 几何图形分解: 将金属层、通孔层分解为基本几何单元(矩形、多边形),识别导线边缘、拐角、平行区域。
- 寄生参数计算: 基于场求解器或工艺查表法,计算每段导线的电阻、对地电容、线间耦合电容。
- 网表反标与输出: 将计算出的寄生参数反标回原始CDL网表,生成带寄生信息的SPICE网表或标准寄生格式文件(SPEF)。
工程经验: 在先进工艺(7nm及以下)中,通孔电阻和边缘电容占比显著增加。提取时必须开启“通孔电阻细化”和“3D边缘场电容”选项,否则后仿真时序误差可达15%以上。
3.2 寄生参数提取工具:StarRC与QRC
业界主流寄生参数提取工具为Synopsys StarRC和Cadence QRC。两者均支持从GDS到SPEF的全流程,但在算法侧重、集成环境和高级建模能力上存在差异。
| 对比维度 | StarRC (Synopsys) | QRC (Cadence) |
|---|---|---|
| 核心算法 | 基于2D/2.5D场求解器 + 工艺查表,支持3D全波提取(高级节点) | 基于3D场求解器 + 快速多极子加速,支持3D全波提取 |
| 输入格式 | GDSII/OASIS + .nxtgrd/.itf + Milkyway/NDM数据库 | GDSII/OASIS + .ict/.itf + OA数据库 |
| 输出格式 | SPEF、DSPF、SDF、SPICE、HSPICE | SPEF、DSPF、SDF、SPICE、Spectre |
| 集成环境 | 与PrimeTime、IC Compiler II深度集成 | 与Tempus、Innovus深度集成 |
| 高级特性 | 支持多线程并行、层次化提取、热效应建模 | 支持GPU加速、电磁耦合提取、统计寄生提取 |
工具选择陷阱: 不要仅依赖工具的默认设置。StarRC默认使用“均匀温度”模型,而QRC默认使用“等温”模型。对于大功耗模块,必须开启“温度梯度”选项,否则电阻提取偏差可达20%。
3.3 提取流程中的关键步骤详解
3.3.1 工艺文件准备与映射
工艺文件定义了每层金属的方块电阻(Rsq)、单位面积电容(Ca)、边缘电容(Cf)以及层间介电常数。提取工具需要将GDS中的层号映射到工艺文件中的物理层。
// StarRC .nxtgrd 工艺文件示例片段
LAYER M1 {
TYPE = INTERCONNECT
THICKNESS = 0.08u
RESISTIVITY = 0.025 ohm/sq
CAPACITANCE {
AREA = 0.038 fF/um^2
FRINGE = 0.045 fF/um
}
}
LAYER VIA1 {
TYPE = CONTACT
RESISTANCE = 2.5 ohm/via
}
3.3.2 寄生电阻提取
电阻提取基于导线几何尺寸和方块电阻值。对于非矩形导线,工具会进行“电流密度积分”或“电阻网格剖分”。
- 方块电阻法: R = Rsq × (L/W),适用于长直导线。
- 3D电阻网格法: 将不规则形状剖分为三角形/四边形网格,求解拉普拉斯方程。
- 通孔电阻: 每个通孔视为一个集中电阻,多层通孔阵列需计算等效电阻。
3.3.3 寄生电容提取
电容提取包括对地电容(Area + Fringe)和耦合电容(Line-to-Line + Cross)。先进工艺中,边缘电容和耦合电容占比超过60%。
| 电容类型 | 物理来源 | 提取方法 | 典型占比(7nm) |
|---|---|---|---|
| 面积电容(Ca) | 导线底部与下层平面之间的平板电容 | Ca × 面积 | 25% |
| 边缘电容(Cf) | 导线侧壁与下层平面之间的边缘场 | Cf × 周长 | 35% |
| 线间耦合电容(Cc) | 同层相邻导线之间的电场耦合 | 基于间距查表或场求解 | 30% |
| 交叉耦合电容(Ccross) | 不同层导线交叉区域的耦合 | 3D场求解 | 10% |
3.4 寄生参数提取流程SVG架构图
下图展示了从GDSII输入到SPEF输出的完整提取流程,包含数据流、工具组件和关键决策点。
3.5 提取精度控制与常见陷阱
精度控制三要素: ① 工艺文件版本必须与流片工艺角严格对应;② 提取范围必须包含所有信号层和电源层;③ 耦合电容提取必须开启“屏蔽效应”建模。
- 陷阱1:忽略虚拟填充(Dummy Fill)影响。 先进工艺中,CMP虚拟填充会改变导线周围的介电环境,导致电容偏差10%~30%。提取时必须使用“填充感知”模式。
- 陷阱2:通孔电阻简化。 将通孔阵列简化为单个集中电阻会低估电阻值。必须使用“通孔阵列细化”模型,考虑电流拥挤效应。
- 陷阱3:温度效应忽略。 铜互连的电阻温度系数(TCR)约为0.0039/°C。在125°C下,电阻比25°C时增加39%。提取时必须指定工作温度。
- 陷阱4:耦合电容的Miller效应。 后仿真中,耦合电容的实际影响取决于相邻信号的翻转方向。提取时输出“耦合电容矩阵”,仿真时需结合Miller因子。
3.6 StarRC与QRC的典型提取命令
以下展示两个工具的核心提取命令,便于理解其调用方式。
// StarRC 提取命令示例 (基于 Milkyway 数据库)
starrc -clean
starc -milkyway_lib ./mw_lib \
-block top \
-output top.spef \
-output_format SPEF \
-extraction_tech_file ./techfile.nxtgrd \
-coupling_cap yes \
-temperature 125
// QRC 提取命令示例 (基于 OA 数据库)
qrc -cmd extract -design top \
-lib ./oa_lib \
-tech ./techfile.ict \
-output top.spef \
-format SPEF \
-coupling on \
-temp 125
效率优化建议: 对于大规模数字芯片(千万门级),建议使用“层次化提取”模式。StarRC支持“顶层+模块级”并行提取,QRC支持“分布式GPU加速”。层次化提取可将运行时间从数天缩短至数小时。
3.7 提取结果验证与质量检查
提取完成后,必须进行寄生参数质量检查(PQV),确保提取结果合理。
| 检查项 | 检查方法 | 合格标准 |
|---|---|---|
| 总电容对比 | 提取总电容 vs 工艺手册预估电容 | 偏差 < 5% |
| 电阻分布检查 | 长线电阻 vs 方块电阻理论值 | 偏差 < 3% |
| 耦合电容占比 | 耦合电容 / 总电容 | 符合工艺节点典型范围 |
| SPEF语法检查 | 使用SPEF解析器验证文件完整性 | 无语法错误 |
| 反标一致性 | 寄生网表节点数与原始CDL节点数匹配 | 100%匹配 |
通过上述流程和工具,设计团队可以从GDSII版图准确提取出R+C+CC寄生参数,为后续的SPICE后仿真提供高精度的输入模型。提取精度直接决定了后仿真与硅实测的吻合度,是后仿真调试中最关键的环节之一。