电路仿真工具(Circuit Simulation)

控制采样L1别名 LTspice · PSIM · SPICE · 仿真

本质与导读

本质 没有一款仿真工具全任务最优,选型是收敛性 × 精度 × 速度的三难:SPICE 家族精度最高但收敛最慢,SIMPLIS 用分段线性直接求稳态快 10~50× 而精度略低,PSIM 用理想开关换极速但丢波形细节,Simulink 只做系统级与控制、不碰器件物理。选错工具能让 5 分钟的仿真变成 5 小时不收敛——选型先于建模。

主线坐标:器件基底 / 信号链(跨站) · ↑ 全景主线

1. 核心框架:四种仿真任务与对应工具

电路仿真4 种任务对应不同工具——SPICE 详细瞬态(LTspice)、状态空间(SIMPLIS)、混合电气热(PSIM)、有限元(Ansys)。每种工具的速度精度权衡不同,选错工具仿真效率差 10×。

仿真工具谱 — 速度 ⇄ 精度:high speed → Simulink → PSIM → SIMPLIS → SPICE → high accuracy

任务首选工具原因
详细开关波形LTspice真实器件波形
电源环路 BodeSIMPLIS直接求稳态;快 10×
系统级功率+控制PSIM理想开关;C Block
控制算法+HILSimulink建模;代码生成
多物理场Modelica多域方程耦合

仿真任务大致分为四类,每类都有最适合的工具。


2. SPICE 家族——精度的代价是速度

SPICE (Simulation Program with Integrated Circuit Emphasis) 是 1973 年 UC Berkeley 开发的模拟电路仿真器。所有现代 SPICE 衍生品(LTspice、PSpice、HSpice、SIMetrix、NGspice)都基于同一套数值方法。


2.1 SPICE 的工作原理

基于节点分析 (Modified Nodal Analysis, MNA),在时域内逐步数值积分,每个时间步内重复求解过程如下:

步骤说明
Step 1建立电路的 KCL/KVL 方程组(矩阵
Step 2牛顿–拉普森迭代求解非线性器件
Step 3时间步进(梯形法 / Gear 法)推进到下一时刻
Step 4重复 Step 2–3,直到仿真时间结束

每个时间步需要迭代收敛——这是 SPICE 精度的来源,也是慢的原因。


2.2 SPICE 的收敛陷阱

SPICE 仿真经常不收敛——尤其是电路里有高 Q 值谐振、快速开关或强非线性时。常见错误信息:

  • "timestep too small":时间步被自动减小到最小限制
  • "iteration limit reached":牛顿迭代在一步里不收敛
  • "singular matrix":KCL 方程组奇异(电路连接错误)

调试方法

1 放宽收敛参数

.options RELTOL=0.01  (默认 0.001)
.options ABSTOL=1u    (默认 1p)
.options VNTOL=0.1m   (默认 1u)

放宽 10× 可以解决大部分收敛问题,代价是精度略降。

2 增加阻尼:在高 Q 回路加小电阻(1 mΩ ~ 1 Ω)模拟实际寄生。

3 改变积分方法

.options METHOD=GEAR (默认 TRAP) Gear 法对高 Q 回路更稳定,但有"数值阻尼"导致精度略降。

4 设置合理的初始条件

.ic V(node)=5 (强制某节点初始电压) 避开启动瞬态的困难时刻。

5 使用"软启动"源

V_in in 0 PULSE(0 12 0 1u) ; 1us 内从 0 升到 12 V

而不是阶跃源(上升时间为 0)。


2.3 LTspice——免费的事实标准

LTspice 由 Linear Technology(已被 ADI 收购)开发,完全免费,但功能丰富:

  • 快速求解器(比 PSpice 快 2~3×)
  • 完整的 ADI / Linear 器件库(大量精密运放、LDO、Buck 控制器)
  • 集成波形查看器,支持表达式计算
  • 参数扫描 + 自动测量
  • Python 接口(PyLTspice)支持自动化

对功率工程师来说,LTspice 几乎是默认选择。


2.4 LTspice 核心命令

LTspice 几个核心命令覆盖 90% 仿真场景——.tran(瞬态)、.ac(频域)、.dc(直流)、.noise(噪声)、.step(参数扫描)、.meas(测量提取)。这 6 个命令组合可完成绝大多数功率仿真。

命令功能典型应用
.tran瞬态仿真开关波形、启动过程
.acAC 小信号Bode 图、滤波器频响
.dcDC 扫描传输特性、工作点
.op工作点分析静态偏置验证
.noise噪声谱密度低噪声电路
.tf传递函数小信号分析
.step参数扫描一次仿真多组参数
.meas自动测量效率、建立时间等
.mc蒙特卡洛公差分析
.model定义自定义模型简化器件模型

2.5 .step + .meas 示例

目标:扫描 Buck 的栅极电阻 ,对比开关损耗和效率。

- 定义参数
.param Rg = 10

- 在电路中使用
R_gate gate_drv gate {Rg}

- 参数扫描
.step param Rg list 5 10 22 47

- 自动测量效率
.meas TRAN Pin AVG -V(vin)*I(Vin) FROM 90u TO 100u
.meas TRAN Pout AVG V(vout)*I(Rload) FROM 90u TO 100u
.meas TRAN Eff param (100*Pout/Pin)

- 自动测量开关损耗
.meas TRAN Esw_on INTEG V(sw_node)*I(M1_drain) FROM 91u TO 91.5u

一次运行得到 4 组结果,可视化对比选择最佳


2.6 PyLTspice——自动化仿真

PyLTspice 是 LTspice 的 Python 接口,可以:

  • 批量修改网表并运行仿真
  • 直接读取 .raw 波形文件
  • 做 Monte Carlo 或参数优化

示例(批量测不同 Q 因子的滤波器响应):

from PyLTSpice import SimRunner, SpiceEditor

LTC = SimRunner(output_folder='./temp')
netlist = SpiceEditor("filter.asc")

for Q in [0.5, 0.707, 1.0, 2.0]:
    netlist.set_component_value('R1', str(1000/Q))
    LTC.run(netlist)

LTC.wait_completion()

这种自动化对大规模设计空间探索Monte Carlo 良率分析非常有用。

LTspice 是免费 + 快速 + 库丰富的组合,是功率工程师的"瑞士军刀";.step + .meas + PyLTspice 构成完整自动化仿真体系。


3. SIMPLIS——开关电源的专业工具

SIMPLIS (SIMulation for Piecewise-LInear Systems)SIMetrix 软件里的专用引擎,专为开关电路设计。它不是 SPICE——用的是完全不同的数值方法。


3.1 SIMPLIS 的分段线性方法

SIMPLIS 把电路看作分段线性 (Piecewise-Linear) 系统:

  • 每个开关器件被建模为两个线性状态(ON 和 OFF)
  • 电容和电感是真实的动态元件
  • 在每个拓扑状态(一组开关组合)下,电路是线性
  • SIMPLIS 在每个线性段内解析求解,不需要数值积分

关键优势

  • 直接求解周期稳态 (Periodic Operating Point, POP)——不需要等几十个开关周期
  • 比 SPICE 快 10~50×(对开关电源仿真)
  • 自动 AC 分析:注入小信号扰动 + 测量响应 → 自动输出 Bode 图
  • 比 SPICE 更容易收敛(分段线性减少了非线性迭代)

3.2 SIMPLIS vs SPICE 的根本差异

SIMPLIS 与 SPICE 核心差异是分段线性 vs 全 SPICE——SIMPLIS 把开关器件简化为分段线性,仿真速度比 SPICE 快 10-100×,但精度损失。适用场景:闭环稳态分析、IC 控制器设计。

特性SPICESIMPLIS
数值方法时域逐步积分(ODE)分段线性 + 解析求解
达到稳态需仿真几十个周期直接计算稳态
Bode 图需要平均模型或特殊技巧自动生成
速度基准快 10~50×
精度真实器件模型(振铃可见)分段线性(振铃不可见)
收敛常见不收敛问题更容易收敛

3.3 SIMPLIS 的典型用途

主要用于开关电源设计稳态和环路分析**:

  • 补偿器设计:自动 Bode 图,快速迭代零点极点
  • 稳态分析:输出纹波、效率、应力
  • 环路增益测量:注入扰动,直接输出 T(s)
  • 大信号瞬态:负载阶跃响应、启动过程

不适合

  • 详细器件波形(看不到寄生振铃、dv/dt)
  • EMI 预估(需要高频细节)
  • 非开关电路(SIMPLIS 对普通模拟电路不优势)

3.4 一个示例:PCM Buck 的 Bode 图

在 SPICE 中

  • 建平均模型(State-Space Average)—— 需要理论推导
  • 或者直接用开关电路运行 AC 分析(SPICE 的 AC 分析对开关电路基本无效)
  • 结果:几小时 + 大量 debug

在 SIMPLIS 中,全流程只需四步即可拿到环路 Bode 图:

步骤说明
Step 1用原理图搭真实的 PCM Buck(含 MOSFET、PWM 比较器、电感、电容)
Step 2运行 POP (Periodic Operating Point) 分析 → 得到稳态
Step 3运行 AC 分析 → 自动注入扰动 → 自动输出 Bode 图
Step 4调整补偿器参数,重复 Step 3

5 分钟出第一版 Bode 图。这是 SIMPLIS 对开关电源设计的革命性价值。

SIMPLIS 用分段线性绕过 SPICE 的数值积分,直接求周期稳态,是开关电源环路设计的事实标准——但你必须接受"看不到详细振铃"的代价。


4. PSIM——系统级功率电子仿真

PSIM(Powersim 开发)是另一个专用仿真器,不属于 SPICE 家族。它的设计哲学更激进:用理想开关代替真实器件模型,换取极致的仿真速度。


4.1 PSIM 的理想开关

理想开关模型

  • ON 状态: = 0,I 任意(零电阻)
  • OFF 状态:I = 0,V 任意(无穷电阻)
  • 切换瞬间:瞬时完成(无上升下降时间)

这个模型显然不符合物理——但对大多数系统级分析已经足够。你不关心具体的 dv/dt,你关心的是平均占空比、输出电流、效率、控制器行为。

结果PSIM 比 SPICE 快 10~100×,同时收敛性好得多。


4.2 PSIM 的核心模块

PSIM 专攻"功率电子 + 电机控制"——理想开关 + 电机模型 + 控制框图。设计周期短但精度损失。适合项目早期拓扑选型,不适合后期 EMC/损耗仿真。

  • Ideal Switch:理想开关
  • C Block直接用 C 语言写控制器,编译后嵌入仿真
  • SimCoupler:与 MATLAB/Simulink 联合仿真
  • Motor Drive Module:PMSM/BLDC 电机模型、Hall/Resolver 传感器
  • Thermal Module:导入厂商 模型,计算实时结温
  • Renewable Energy Module光伏 / 风力模型

4.3 C Block——关键杀手级特性

在 PSIM 里用 C 语言直接写控制器代码:

// 简单的 PI 控制器
static double err_integral = 0;

double PI_Control(double v_out, double v_ref) {
    double err = v_ref - v_out;
    err_integral += err * T_s;
    return KP * err + KI * err_integral;
}

这段代码同时

  • 在 PSIM 仿真里运行(验证算法)
  • 直接编译到嵌入式目标(MCU / DSP)

这是 PSIM 最大的价值——仿真代码 = 量产代码,避免"仿真看起来对但实际板子跑不动"的痛苦。


4.4 PSIM vs SPICE:一个 LLC 仿真对比

LLC 谐振变换器稳态仿真

  • SPICE:LLC 的 Q 值高,需要几十个开关周期才能达到稳态;收敛慢;可能 30 分钟 才出一次结果
  • PSIM 理想开关:同样精度的稳态,30 秒
  • 差距100×

代价:PSIM 看不到 SiC MOSFET 的真实振铃和 EMI 细节。如果你需要评估 EMI,必须用 LTspice 详细仿真补充。

实务PSIM 做系统设计(拓扑、控制、效率),LTspice 做器件级细节(开关波形、EMI、损耗)。两者互补。

PSIM 用理想开关换速度,用 C Block 换 "仿真 = 代码" 的一致性;是系统级功率电子设计的主流工具。


5. SPICE MOSFET 模型层次 — 拆出 atomic 专题

SPICE 内置 L1/L2/L3 经验模型 vs BSIM3/4 vs EKV vs PSP 物理模型,加上厂商 subcircuit 模型(包封装寄生 / 热网络 / 反向恢复 / 自热 / 雪崩等),功率器件仿真选哪个层次决定能看到什么 datasheet 行为——4 端口标准模型看不到 hottest cell,5 端口 / 7 端口才能。详见 topic-spice-mosfet-models

6. MATLAB/Simulink——系统级控制设计

MATLAB/Simulink 不是电路仿真器——它是系统级建模工具。用于:

  • 控制算法设计(PID、LQR、MPC、Kalman 滤波)
  • 系统建模(状态空间、传递函数)
  • 自动代码生成(Simulink Coder → C 代码)
  • HIL 仿真(Hardware-in-the-Loop)

6.1 典型流程:EV 电机控制器开发

EV 电机控制器仿真按 4 阶段递进——概念(PSIM 简化)、详细(SPICE)、闭环(SIMPLIS)、整机(MATLAB Simulink)。每段用合适工具,工时分布大致均等。下表把 Simulink 主线从建模到量产的五步拆开,每步对应一项可交付物:

步骤说明
Step 1 建立完整模型功率变换器(Simscape 或 PSIM 共仿真)、PMSM 电机模型、FOC 控制器(Clarke / Park / PI 电流环 / 速度环)、SVPWM 调制
Step 2 调试控制算法调 PI 参数、验证带宽和稳定性、验证启动/制动/弱磁等工况
Step 3 自动代码生成Simulink Coder → C 代码 → 嵌入 MCU
Step 4 HIL 测试真实 MCU + Simulink 模拟的"虚拟硬件"在实时仿真器上运行,验证代码在真实硬件上的行为
Step 5 量产同一套代码 + 真实功率硬件

Simulink 的价值算法开发、仿真验证、代码生成都在同一个环境里——从模型到量产代码无缝过渡。

实际使用:EV 主驱 ECU 的控制软件绝大多数用 Simulink 开发(特斯拉、比亚迪、通用等)。


SimCoupler(PSIM 的接口模块)允许:

  • PSIM 做功率变换器(快速收敛、高精度)
  • Simulink 做控制算法(调参方便、可视化好)
  • 两者实时数据交换

优点:利用两个工具各自的优势。缺点:设置稍复杂,需要理解数据交换时序。

Simulink 做系统级控制设计和代码生成,与 PSIM 或 Simscape 配合做完整仿真;它不是电路仿真器,不要和 SPICE 比较器件级精度。


7. Modelica——多物理场仿真

Modelica 是一个多物理域建模语言,不是工具——用 Modelica 建模然后在 Dymola、OpenModelica、JModelica 等工具中仿真。


7.1 Modelica 的独特价值

多物理域方程系统

  • 电路(电压、电流)
  • 热学(温度、热流)
  • 机械(位置、力)
  • 液压、气动等

同时耦合求解。对于热-电耦合(MOSFET 结温随损耗动态变化)、电-机耦合(电机温升影响转矩)等问题,Modelica 有独特优势。


7.2 使用场景

PLECS 强项是电-热协同 + 自由绑定 MATLAB——既能仿电气也能联仿热,与 SimulationX 一脉相承。典型用在:EV 主驱热设计验证、整机损耗预算。

  • 电-热协同仿真:比 PSIM 热模块更灵活
  • 整车级仿真:电池 + 电机 + 变换器 + 冷却系统
  • 系统级优化:设计参数对整体性能的影响

劣势:学习曲线陡、生态不如 SPICE/Simulink 成熟。除非有特定多物理场需求,优先用 PSIM 或 Simulink。


8. 仿真工具选型决策矩阵

这一节不追求一张全能矩阵,而是按任务粒度拆成三组:先看器件与波形,再看电源 / 系统,最后看控制与 HIL。这样读者先确定任务,再选工具。

8.1 器件 / 波形级任务

这一组关心的是模型细节、开关波形和小信号响应,所以 LTspice / SIMPLIS 这类电路级工具会明显占优。

任务最佳工具次选
小信号运放LTspice
开关电源波形LTspiceSIMPLIS
EMI 仿真LTspice
蒙特卡洛公差LTspiceSIMPLIS

8.2 电源 / 系统级任务

这组开始进入平均模型、系统功率流和热耦合,所以选型标准从"波形够不够细"转成"系统跑得动、调参够不够快"。

任务最佳工具次选
电源 Bode 图SIMPLISPSIM
电源稳态SIMPLISPSIM
系统级功率PSIMSimulink
热-电协同ModelicaPSIM

8.3 控制 / HIL 任务

最后这一组是把控制器、实时性和代码生成放回主角位,所以 Simulink 这类控制工具会天然更合适。

任务最佳工具次选
电机控制算法SimulinkPSIM
HIL 仿真SimulinkPSIM

成本:LTspice 免费;Modelica 有开源版;SIMPLIS / PSIM / Simulink 均为商业。


9. 仿真常见陷阱与诊断

仿真5 个常见陷阱——收敛失败、时长过长、模型过精/过糙、初始条件错、数值噪声。多数来自"工具理解不够",不是工具本身缺陷。

问题根因解决
SPICE 不收敛高 Q 谐振;硬开关加阻尼;放宽 RELTOL;Gear 法
启动瞬态失败阶跃源太陡用 PULSE 源做软启动
Bode 图不对SPICE AC 对开关无效改用 SIMPLIS 或平均模型
LLC 仿真慢Q 值高需多周期改用 PSIM 或 SIMPLIS POP
损耗低估 3×Level 1 仿 SiC下载厂商行为模型
仿真偏离实际理想开关过简化补做 SPICE 详细仿真
MCU 代码异常浮点 vs 定点不一致Fixed-point Designer 验证
PyLTspice 不一致初始条件/参数错打印 netlist 人工检查

10. 如何把 SPICE 用成实验平台

对功率电子来说,SPICE 的价值不在于“把电路画出来”,而在于把拓扑、器件额定、控制时序、波形质量和实验边界放进同一条可反复验证的闭环。实验台昂贵、危险且迭代慢,所以更稳的做法不是先堆最复杂器件模型,而是先把“要回答什么问题、要看什么量、用哪一类模型、在什么窗口验收”写清。

10.1 先定义观测量,再决定仿真

仿真最常见的误判不是求解器算错,而是一开始就看错了量。看器件额定时,重点应是开关节点电压、支路电流和瞬时功率;看控制与滤波时,重点应是增益、相位和稳态窗口;看波形质量时,重点应是最后若干完整周期的 Fourier 或 THD,而不是启动阶段的混合波形。若某条支路电流不是天然可读,最稳的办法是串一个 0 V 电压源,把它固定成 I(Vx) 这样的观测对象。

10.2 分析命令和激励模型必须匹配问题

.TRAN 适合启动、换流、负载阶跃和谐振建立;.AC 适合小信号频率响应;.OP.TF.SENS 适合先把工作点、输入输出阻抗和敏感参数钉住。对应的激励也不能偷懒:PULSE 用来写门极边沿和死区,PWL 用来写母线跌落、预充电和任务曲线,SIN 用来写线频或谐振激励。把真实边界全替换成理想阶跃,通常只会得到更好看的假结果。

10.3 模型复杂度要跟问题层级一致

先验证拓扑逻辑、占空比关系和续流路径时,简化开关或行为模型往往比完整器件子电路更有用,因为它能把主因果链看清。只有当问题切到损耗、寄生振铃、反向恢复、磁饱和、热边界或高压动态时,才值得切到厂商 .lib.subckt。这条分层不只适用于二极管、BJT、MOSFET 和 IGBT,也适用于运放、磁件、传输线和电机。原理图文件只描述连接关系,真正决定仿真能否运行、结果是否可信的,是生成的 netlist 和被正确挂接的模型库。

10.4 行为块适合先原型化测量与控制链

VALUETABLEPOLYLAPLACE 不只是“补模型”的技巧,它们可以先把平均值、RMS、迟滞、PFC 电流参考、运放一阶极点、反电势和转矩关系写成可审计的中间层。这样做的好处是,控制律和测量函数可以先独立验证,再决定是否要接入完整 MCU、DSP 或厂商控制芯片模型。对功率电子来说,先把控制链拆成可解释的行为块,通常比一开始就上黑箱更稳。

10.5 多数“收敛问题”其实是边界条件没写清

功率级最常见的失败不是软件脾气,而是模型过理想或参考网络不成立。高频寄生被全部删掉、节点没有 DC 泄放路径、理想电压源和电感构成零阻回路、启动窗口过长、输出点数过多,都会把 deck 推向发散或假稳态。更有效的排障顺序通常是:

  • 先检查 netlist、.lib 和节点参考是否正确,而不是先怀疑拓扑。
  • 对浮点节点补高值泄放电阻,对零阻回路补很小的串联电阻或 snubber。
  • .NODESET 帮求解器找到合理工作点;只有在初始储能本身就是问题时,才用 .ICUIC
  • 先把 .TRAN 的稳态观测窗口和输出点数收紧,再决定是否放宽 RELTOLABSTOL 或提高 ITL4/ITL5

这也是为什么 SPICE 在功率电子里更像一套实验语言:真正重要的不是“会点哪个菜单”,而是能否把观测量、激励边界、模型层级和验收口径组织成一份可重复的实验脚本。

对功率电子来说,SPICE 常被用来追开关应力、寄生振铃和损耗;对 CMOS 集成电路来说,它首先是偏置、小信号和层次化验证平台。把 LTspice 用在这类问题上时,关键不是一上来就搭两级运放,而是先把工作点、局部线性化和 PVT 裕量这三层测量链练熟。

10.6 为什么 CMOS 学习不能一上来就做运放

CMOS 教学里最容易走偏的地方,是把 LTspice 当成画原理图的软件,而不是定义观测量的实验平台。无源网络和受控源之所以应该先学,不是因为它们更重要,而是因为它们能把参考地、节点名、netlist 语义、支路方向和 .op/.dc/.tran 的基本动作先钉死;只有这层稳定以后,后面的差分对、源跟随器和两级运放才不会变成只会点菜单的机械操作。

  • 先用纯电阻、RC 和受控源练熟节点、参考地、PWL 激励、初始条件与 netlist 对应关系。
  • 再用四端 nmos4/pmos4 看工作区、体效应、W/L 和小信号参数如何随偏置变化。
  • 再进入共源级、源跟随器、共栅级、差分对和两级运放,把 、极点、GBW 和 slew rate 串起来。
  • 最后再做 subckt、反馈、角点和 Monte Carlo,把单题仿真升级成可复用的验证夹具。

这也是为什么 LTspice 很适合作为 运算放大器与模拟设计 的前置训练:它先训练你如何提出问题,再训练你如何解释结果。

10.7 工作点先于波形:LTspice 的 CMOS 测量链

在 CMOS 场景里,第一性问题从来不是波形好不好看,而是偏置点有没有站稳。.op 决定后续一切线性化的锚点,.dc/.tf/.ac/.tran/.noise 只是围绕这个锚点分别回答不同问题;如果偏置、参考方向或激励口径写错,后面的频响、噪声和瞬态都会一起失真。

  • .op 用来确认节点电压、支路电流、工作区以及 SPICE Error Log 里的 和寄生电容。
  • .dc 用来看 I-V 曲线、共模范围、翻转点和参数扫描后的大信号边界。
  • .tf 用来在当前工作点附近直接线性化,读取低频增益、输入电阻和输出电阻,而不是靠手工差分去猜斜率。
  • .ac 用来看极点、零点、相位裕度、GBW 和偏置相关电容;交流激励最好归一到 1,这样传函和阻抗更容易直接读取。
  • .tran 用来看启动、充放电、slew rate、开关状态变化和非线性失真;涉及储能元件时要先写清 PWL.ic
  • .noise 用来读输出噪声和输入等效噪声;若模型里没有 KF 等 flicker 参数,低频平坦谱只说明模型截断了 1/f 噪声,并不说明电路天然没有低频噪声。
  • .step.measure 的价值,在于把肉眼读图变成可回归的测量口径,让时间常数、带宽、增益和阻抗都能直接写回 log 或表格。

很多所谓 LTspice 问题,其实不是求解器坏了,而是语义没写清:电流控制量最好用串联 0 V 测试源显式定义,PMOS 电流方向要按 LTspice 的端口正方向来读,结果异常时优先先看 netlist 和 SPICE Error Log,再去怀疑电路理论。

10.8 同一个 LTspice,CMOS 和功率器件用的是两套模型哲学

LTspice 可以同时服务功率电子和 CMOS 模拟设计,但两者关心的问题不同,所以模型边界也不同。对亚微米 CMOS 增益级,关键是体效应、沟道长度调制、寄生电容和局部小信号参数,因此应使用四端 MOS 和 BSIM 这类紧凑模型去解释 等量;对高压功率 MOSFET,真正关键的是漂移区、雪崩、SOA、体二极管反向恢复和开关应力,因此应回到厂商 .lib/.subckt 或行为模型。

这与本页前面关于功率器件模型层次的结论并不冲突,反而是在强调同一个仿真器面对不同器件层级时必须切换模型哲学。工程上可以把分界线记成一句话:当对象是 CMOS 增益级时,BSIM 是理解局部参数的入口;当对象切到高压开关器件时,应回到厂商模型和器件物理边界。

10.9 从单题仿真到设计验证:subckt、角点和 Monte Carlo

LTspice 真正开始像设计平台,而不只是教学工具,是从你把重复电路块封成 subckt、把工艺放进模型库、再把角点和统计散布接进同一套 test bench 开始的。此时 symbol 只是可视化外壳,pin order 才是接口契约;schematic 负责拓扑,model library 负责工艺,顶层 test bench 负责激励、负载和测量口径。

  • 可复用的差分对、共源第二级、滤波块或 mixed-signal cell 应优先封成 .subckt,而不是在每张图里手工复制晶体管。
  • 模型文件最好在顶层统一 include,不要把工艺定义散落在每个子电路内部,否则后续换角点、换工艺或导出 expanded netlist 时会立刻失控。
  • 角点分析应先做 deterministic worst-case,再做 Monte Carlo。对很多增益和带宽问题,真正的最坏 operating corner 往往是低 VDD、高温再叠加 slow process;Monte Carlo 则主要回答局部失配和公差在这个最坏工作点附近还能吃掉多少裕量。
  • .net 适合保留层次引用和 sweep 语义,expanded netlist 适合做跨工具迁移,但它更像当前参数状态的快照,不能替代完整的角点/step 环境。

这条方法链的核心不是让图更整齐,而是把单次仿真变成 regression:偏置是否还在、增益是否还在、极点是否移位、失配是否把 margin 吃光,都应能在同一套 deck 里重复回答。

10.10 LTspice 的边界在哪里

对 CMOS 集成电路,LTspice 很适合做偏置检查、小信号参数提取、反馈与补偿直觉验证、早期 mixed-signal 原型和 pre-layout 级的 PVT/Monte Carlo 训练;但它不是完整的 full-custom 设计流,不负责版图编辑、DRC、LVS、寄生提取和 sign-off。更稳的用法,是把 LTspice 视为原理图级和模型级的前端实验平台:先在这里把因果链讲清,再进入更完整的 PDK 与版图环境。

核心要点

  • 没有全能仿真工具。SPICE 看细节,SIMPLIS 做环路,PSIM 做系统,Simulink 做控制,Modelica 做多物理场。
  • SPICE 精度最高但最慢——收敛困难时放宽 RELTOL 或换 Gear 法,加阻尼。
  • LTspice 是免费 + 快速 + 库丰富的组合,是功率工程师首选;.step + .meas + PyLTspice 构成完整自动化。
  • SIMPLIS 用分段线性直接求稳态,比 SPICE 快 10~50×;是开关电源环路分析的事实标准。
  • PSIM 用理想开关比 SPICE 快 100×;C Block 让仿真代码 = 量产代码,是系统级功率电子首选。
  • MATLAB/Simulink 做系统级控制,不是电路仿真器;自动代码生成 + HIL 是 EV 主驱 ECU 开发的标准流程。
  • SPICE MOSFET 模型层次:BSIM 为 IC 设计,不适合功率器件必须用厂商行为模型——所有主流厂商都提供。
  • 用错模型比不仿真更危险:Level 1 仿 SiC MOSFET 的开关损耗误差 3~5×,按仿真选散热会炸管。
  • 仿真策略:PSIM 做系统设计,LTspice 补做器件级细节,两者互补。

延伸阅读

SPICE / LTspice

  • LTspice Help XVII(官方文档)
  • Essential Circuit Analysis using LTspice
  • CMOS Integrated Circuit Simulation with LTspice
  • PyLTspice 文档(Python 接口)

SPICE 基础

  • The SPICE Book(Vladimirescu)
  • SPICE for Power Electronics and Electric Power(Rashid)
  • Switch-Mode Power Supply Simulation: Designing with SPICE 3

PSIM

  • PSIM User Manual
  • Power Electronics Circuit Analysis with PSIM

SIMetrix / SIMPLIS

  • SIMetrix User Manual
  • SIMPLIS Reference

PSpice / OrCAD

  • PSpice for Circuit Theory and Electronic Devices
  • Analog Design and Simulation Using OrCAD Capture and PSpice

MOSFET 建模

  • Introduction to SPICE Source Files
  • SPICE MOSFET Model Intro 系列
  • ST — UM1575: SPICE Model Tutorial for Power MOSFETs

多物理场

  • Modelica Tutorial
  • VHDL-AMS Tutorial
  • Verilog-A 参考

Cross-references