2. 仿真工具链搭建:常用仿真软件与模型库建立
做电源纹波仿真,工具选不对,后面全白费。我这些年用过不少软件,各有各的脾气。今天就把我常用的三款工具——SPICE、Simplis、CST,以及模型库的建立方法,掰开了讲清楚。
核心观点:没有万能的工具,只有合适的组合。纹波仿真通常需要“时域精度 + 频域效率 + 三维场”三把刀。
2.1 三款主流仿真软件对比
先看一张对比表,心里有个底。
| 软件 | 核心优势 | 典型场景 | 我的使用频率 |
|---|---|---|---|
| SPICE | 晶体管级精度,模型最全 | LDO纹波、DC-DC环路稳定性 | ★★★★★ |
| Simplis | 开关电源仿真速度极快 | 大信号瞬态、启动波形、效率曲线 | ★★★★☆ |
| CST | 三维电磁场全波仿真 | PCB寄生参数、谐振、EMI耦合 | ★★★☆☆ |
2.2 SPICE:精度之王,但别滥用
SPICE 是老祖宗级别的工具。我最早接触的是 PSpice,后来转到 LTspice,现在主要用 HSPICE 做芯片级仿真。
为什么纹波仿真离不开它?
- 它能精确模拟 MOSFET 的开关过程,包括米勒平台、体二极管反向恢复。
- 对于 LDO 的电源抑制比(PSRR)仿真,SPICE 是唯一选择。
我的习惯:做 LDO 纹波仿真时,我会在输出端加一个 1μV 的交流小信号源,扫频看 PSRR 曲线。这个做法在实测中也能复现,对标率很高。
但要注意:SPICE 跑开关电源的瞬态仿真,时间步长必须设得很小(纳秒级),一个 10ms 的启动波形可能要跑几个小时。我曾经为了看一个 Buck 的轻载纹波,让工作站跑了整整一夜。
避坑指南:我曾经在 SPICE 里直接仿真一个 4 相并联的 Buck 变换器,结果收敛失败。后来发现是模型库里的 MOSFET 子电路有浮点节点。解决办法:在每个功率管漏源之间并联一个 1MΩ 电阻。
2.3 Simplis:开关电源的加速器
Simplis 是专门为开关电源设计的。它的核心思想是用“分段线性模型”代替 SPICE 的连续非线性模型。说白了,就是把开关管当成理想开关,只算关键时间点的状态。
优势很明显:
- 仿真速度比 SPICE 快 10~100 倍。
- 适合做参数扫描、蒙特卡洛分析。
- 内置了平均模型、小信号模型,可以直接看环路增益。
我常用的场景:
- DC-DC 启动时的浪涌电流仿真。
- 负载突变时的下冲/过冲幅度。
- 不同温度下的效率曲线。
一个经验:Simplis 的精度取决于模型库。如果你用厂商提供的 Simplis 模型,结果通常很准。但如果是自己建的简化模型,一定要和 SPICE 结果做一次交叉验证。
2.4 CST:三维场仿真,解决“看不见”的问题
纹波不只是时域波形,它还会通过 PCB 走线、过孔、平面耦合到敏感电路。这时候就需要 CST 上场了。
CST 能做什么?
- 提取 PCB 走线的寄生电感和电容。
- 仿真电源分配网络(PDN)的阻抗曲线。
- 分析开关节点(SW)的电场辐射。
我记得有一次,一个 12V 转 1.8V 的 Buck 电路,输出纹波总是超标。时域仿真和实测都对不上。后来用 CST 建了 PCB 的 3D 模型,发现输出电容的接地过孔离芯片太远,寄生电感导致高频谐振。改版后纹波直接降了 40%。
小技巧:CST 仿真前,先用 SIwave 或 ADS 做一次 PDN 快速分析,锁定问题频段,再用 CST 做精细仿真。这样能省不少时间。
2.5 模型库建立方法
工具再好,没有模型也是白搭。模型库的建立,我总结为三步:
- 收集官方模型:优先从芯片厂商官网下载。TI、ADI、MPS 的模型质量最高。
- 自建简化模型:对于老芯片或定制器件,用数据手册里的参数自己建。
- 实测校准:用 VNA 测 S 参数,反推寄生参数,修正模型。
模型库目录结构(我的习惯):
Model_Library/
├── SPICE/
│ ├── MOSFET/
│ ├── Diode/
│ ├── Inductor/
│ └── Capacitor/
├── Simplis/
│ ├── Buck_Controller/
│ ├── Boost_Controller/
│ └── LDO/
├── CST/
│ ├── PCB_Stackup/
│ ├── Via_Model/
│ └── Connector/
└── Calibration/
├── S_Parameter/
└── Time_Domain/
注意:电容模型一定要包含 ESR 和 ESL。我见过太多人直接用理想电容模型,仿真结果和实测差 30% 以上。MLCC 的 ESR 随频率变化很大,建议用实测数据拟合一个 2 阶 RC 网络。
2.6 工具链的协同工作流
下面这张图是我在实际项目中总结的工具链协同流程。你可以把它当成一个模板。
这个流程我用了好几年。每次做新项目,先拿 Simplis 跑一遍系统级行为,再用 SPICE 精调关键节点,最后用 CST 检查 PCB 寄生。三个工具的数据汇总到一个 Excel 里,和实测波形做对比。
总结一下:工具链搭建的核心不是选最贵的软件,而是让三个工具的数据能互相验证。模型库是基础,花时间建好模型库,后面能省 80% 的调试时间。