2. SPICE 仿真基础:语法入门、网表结构、直流分析、交流分析、瞬态分析

SPICE(Simulation Program with Integrated Circuit Emphasis)是集成电路设计中最核心的仿真工具。在 BSIM 模型参数提取与拟合过程中,SPICE 是验证模型精度的“裁判”。本章将系统讲解 SPICE 网表语法、基本分析类型及其在模型参数提取中的应用场景。

学习目标:
  • 掌握 SPICE 网表的基本结构与书写规范
  • 理解直流(DC)、交流(AC)、瞬态(TRAN)三种分析类型的语法与用途
  • 能够编写用于 BSIM 模型参数提取的基础仿真网表

2.1 SPICE 网表结构

SPICE 网表是描述电路拓扑、元件参数和分析指令的文本文件。一个完整的 SPICE 网表由以下五个部分组成:

部分 说明 示例
标题行 网表的第一行,被 SPICE 忽略,仅作注释 BSIM Parameter Extraction Testbench
元件语句 定义电路中的元件(电阻、电容、MOSFET 等) M1 D G S B NMOS W=1u L=0.18u
模型语句 引用或定义器件模型参数 .MODEL NMOS BSIM4 VERSION=4.8
分析指令 指定仿真类型(DC、AC、TRAN) .DC VGS 0 1.8 0.1
结束语句 网表必须以 .END 结尾 .END
网表书写规范:
  • 不区分大小写,但建议统一使用大写表示元件类型
  • 节点编号必须为整数,0 号节点固定为地(GND)
  • 注释行以星号 * 开头
  • 续行符为 +,用于将长语句拆分为多行

下面是一个用于 BSIM 模型参数提取的典型网表示例:

* BSIM4 Id-Vg 特性提取网表
M1 D G S B NMOS W=1e-6 L=0.18e-6

* 模型语句:引用 BSIM4 模型
.MODEL NMOS BSIM4
+ VERSION = 4.8
+ TOX = 4e-9
+ VTH0 = 0.35
+ U0 = 0.045

* 电源与偏置
VDS D 0 DC 0.05
VGS G 0 DC 0
VSB S 0 DC 0

* 直流分析:扫描 VGS
.DC VGS 0 1.8 0.02

* 输出控制
.PRINT DC I(M1)

.END
SPICE 网表结构解析 标题行 * BSIM4 Id-Vg 特性提取网表 元件语句 M1 D G S B NMOS W=1e-6 L=0.18e-6 模型语句 .MODEL NMOS BSIM4 VERSION=4.8 TOX=4e-9 ... 分析指令 .DC VGS 0 1.8 0.02 结束语句 .END

2.2 直流分析(DC Analysis)

直流分析是 SPICE 中最基础的分析类型,用于计算电路在直流条件下的工作点。在 BSIM 模型参数提取中,DC 分析主要用于扫描电压以获取 Id-Vg 和 Id-Vd 特性曲线。

2.2.1 DC 分析语法

.DC 源名 起始值 终止值 步长

常用 DC 扫描方式:

扫描方式 语法示例 参数提取用途
单变量扫描 .DC VGS 0 1.8 0.02 Id-Vg 曲线(Vth、gm 提取)
嵌套扫描 .DC VDS 0 1.8 0.1 VGS 0.5 1.8 0.3 Id-Vd 输出特性族
数据列表扫描 .DC VGS DATA=vg_list 指定偏置点的精确提取
参数提取注意事项:
  • 线性区 Id-Vd 扫描时,VGS 步长不宜过大(建议 ≤0.3V),否则会丢失跨导变化细节
  • 亚阈值区扫描时,VGS 步长应 ≤0.02V,以保证 Vth 提取精度
  • 嵌套扫描的内层变量变化频率应高于外层,以匹配测量数据矩阵

2.2.2 DC 分析输出控制

.PRINT DC I(M1) V(GS) V(DS)
.PROBE DC I(M1) V(GS)
DC 分析:Id-Vg 与 Id-Vd 扫描流程 BSIM 模型参数 网表与偏置设置 DC 扫描指令 SPICE 引擎求解 Id-Vg / Id-Vd 数据 参数提取关键点 • 线性区:VDS=0.05V • 饱和区:VDS=VDD • 步长:亚阈值≤0.02V

2.3 交流分析(AC Analysis)

交流分析用于计算电路的小信号频率响应。在 BSIM 模型参数提取中,AC 分析主要用于提取 电容-电压(C-V)特性 和 跨导频率响应。

2.3.1 AC 分析语法

.AC DEC 10 1e3 1e9   // 每十倍频程 10 个点,频率 1kHz ~ 1GHz
.AC LIN 100 1e6 10e6 // 线性扫描 100 个点,1MHz ~ 10MHz

AC 分析需要先通过 .OP 或 DC 分析确定工作点,然后对交流小信号源进行频率扫描。

2.3.2 C-V 特性提取网表

* C-V 特性提取:栅电容 vs 栅电压
M1 D G S B NMOS W=10e-6 L=10e-6
.MODEL NMOS BSIM4 VERSION=4.8

* 直流偏置
VGS G 0 DC 0 AC 1
VDS D 0 DC 0
VSB S 0 DC 0

* 先计算工作点,再进行 AC 分析
.OP
.AC DEC 10 1e3 1e6

* 提取栅电容:Cgg = Im(I(G)) / (2*pi*f)
.PRINT AC IM(VGS)

.DC VGS -0.5 1.8 0.05

.END
AC 分析在参数提取中的关键作用:
  • Cgg(栅电容): 通过 AC 分析提取,用于拟合 BSIM 的 C-V 模型参数(如 CGSO、CGDO)
  • Cgd(栅漏交叠电容): 在 VDS 较高时提取,用于校准交叠电容参数
  • 跨导 gm: 通过 AC 小信号分析直接获得,用于验证模型的小信号精度
AC 分析:C-V 特性提取流程 .OP 工作点计算 AC=1 小信号源 .AC 频率扫描 Cgg = Im(I(G)) / (2πf) C-V 特性曲线

2.4 瞬态分析(Transient Analysis)

瞬态分析用于计算电路在时域中的响应。在 BSIM 模型参数提取中,瞬态分析主要用于验证模型的 大信号行为 和 开关特性。

2.4.1 瞬态分析语法

.TRAN 1e-12 1e-9      // 步长 1ps,总时长 1ns
.TRAN 0.1e-9 10e-9 UIC // UIC 表示使用初始条件

2.4.2 瞬态分析在参数提取中的应用

应用场景 网表关键设置 提取参数
开关特性验证 脉冲源 VGS PULSE(0 1.8 0 10p 10p 50p 100p) 开关延迟、转换速率
自热效应验证 长脉冲宽度(>1μs) 热阻 Rth、热容 Cth
电荷泵测试 周期性栅脉冲 + 恒定 VDS 界面态密度 Nit
瞬态分析步长选择原则:
  • 对于 BSIM 模型验证,最大步长应小于信号上升时间的 1/10
  • 自热效应仿真时,总时长需覆盖热时间常数(通常 >1μs)
  • 使用 .OPTIONS RELTOL=1e-6 提高瞬态精度,避免收敛问题
瞬态分析:BSIM 模型大信号验证流程 脉冲激励源 BSIM DUT .TRAN 时域求解 Id(t), Vgs(t), Vds(t) 开关延迟 / 自热参数 瞬态分析关键设置 • 步长:≤ tr/10 • 总时长:≥ 5τ • 精度:RELTOL=1e-6 • 初始条件:.IC

2.5 三种分析类型的对比与选择

分析类型 输入变量 输出变量 BSIM 参数提取用途 典型精度要求
DC 电压/电流源 DC 值 节点电压、支路电流 Id-Vg, Id-Vd, Vth, gm, gds 电流精度 < 1%
AC 小信号频率 增益、相位、阻抗 Cgg, Cgd, Cgs, gm, fT 电容精度 < 5%
TRAN 时变激励 时域波形 开关延迟、自热效应、电荷泵 时间精度 < 2%
实战建议:
  • 参数提取初期优先使用 DC 分析,快速校准直流特性
  • 完成直流拟合后,使用 AC 分析校准 C-V 特性
  • 最后使用 TRAN 分析验证模型在大信号下的动态行为
  • 三种分析应使用同一套模型参数,确保模型的一致性

2.6 本章小结

本章系统介绍了 SPICE 仿真的三大基础分析类型及其在 BSIM 模型参数提取中的应用:

  • 网表结构 是 SPICE 仿真的基础,必须严格遵循标题行、元件语句、模型语句、分析指令、结束语句的五段式结构
  • DC 分析 用于提取 Id-Vg 和 Id-Vd 特性,是参数提取的核心手段
  • AC 分析 用于提取 C-V 特性和小信号参数,补充直流拟合的不足
  • TRAN 分析 用于验证模型的大信号动态行为,确保模型在实际电路中的适用性