1. 为什么电路仿真老手都绕不开SIMetrix/SIMPLIS这套组合
搞电源设计或者模拟电路仿真的朋友,大概率都听过SIMetrix和SIMPLIS这两个名字。它们其实是同一家公司(SIMetrix Technologies,后来被安森美收购)推出的两款仿真引擎,打包在同一个安装包里,共用一套图形界面。SIMetrix走的是SPICE路线,擅长做精细的时域瞬态分析、AC小信号分析、噪声分析这类传统模拟仿真;SIMPLIS则是分段线性系统仿真器,专门为开关电源的闭环环路设计而生,仿真速度比SPICE快一到两个数量级,做开关电源的AC扫频、负载阶跃响应、启动过程分析特别顺手。
我最早接触这套工具是在做一款同步Buck变换器的时候。当时用别的SPICE工具跑一个完整的软启动过程,动辄要等十几分钟,改一个补偿参数就得重跑一遍,效率低得让人抓狂。后来同事推荐了SIMPLIS,同样的电路拓扑,仿真时间直接压到几十秒,而且环路增益的AC扫描几乎秒出结果。从那以后,这套工具就成了我日常做电源仿真的主力。
8.4这个版本算是比较成熟的一个版本,界面稳定,对Windows的兼容性也好,支持Win7到Win11。它自带的元件库覆盖了常见的功率器件模型,还内置了不少参考设计,对于刚入门电源仿真的人来说非常友好。不过这套软件的安装过程有几个坑,尤其是许可证配置和仿真引擎的注册环节,第一次装的人很容易卡住。下面我就把整个安装流程、关键配置、以及我踩过的坑完整梳理一遍,给需要的人一个可以直接抄作业的参考。
2. 安装前的环境准备与安装包说明
2.1 系统要求与硬件建议
SIMetrix/SIMPLIS 8.4对系统本身不算挑剔,但仿真规模大了之后对内存和CPU还是有一定要求的。官方给出的最低配置是Windows 7 SP1以上、2GB内存、500MB硬盘空间,但这是能跑起来的最低标准,实际用起来完全不够。我建议的配置是这样的:
| 项目 | 最低要求 | 推荐配置 | 说明 |
|---|---|---|---|
| 操作系统 | Win7 SP1 64位 | Win10/Win11 64位 | 32位系统也能装,但大电路容易内存溢出 |
| 内存 | 2GB | 16GB以上 | 开关电源仿真吃内存,8GB是及格线 |
| 硬盘 | 500MB | 2GB以上空闲 | 安装包本身约300MB,加上示例和缓存 |
| CPU | 双核 | 四核以上 | SIMPLIS支持多线程,核心多跑得快 |
| 显卡 | 集成显卡 | 独立显卡 | 主要是波形显示流畅度的问题 |
有一点要特别注意:安装路径千万不要带中文和空格。我见过有人装在D:\我的软件\SIMetrix 8.4\下面,结果仿真引擎注册失败,折腾了半天才发现是路径问题。建议直接用默认路径或者D:\SIMetrix84\这种纯英文无空格的路径。
2.2 安装包内容与来源说明
一个完整的SIMetrix/SIMPLIS 8.4安装包通常包含这几个部分:主程序安装文件(SIMetrix_SIMPLIS_8.4_Installer.exe)、许可证文件(license.dat或者.lic格式)、以及可选的示例工程和文档。安装包大小在300MB左右,解压后大概600MB到800MB。
关于安装包的获取,网上流传的版本比较多,质量参差不齐。有些是官方试用版,功能受限;有些是教育版,需要学校邮箱验证;还有些是完整版但许可证需要自己配置。我建议优先考虑官方渠道获取试用版,功能上其实够用,只是有节点数或者时间限制。如果确实需要完整功能,找安装包的时候注意看文件完整性,主程序安装文件的大小应该在250MB以上,太小的多半是残缺的。
提示:下载完安装包之后,先校验一下文件完整性。如果压缩包有密码,一般会在下载页面的说明里给出。解压的时候建议用7-Zip或者WinRAR,Windows自带的解压工具偶尔会出问题。
2.3 安装前的清理工作
如果你之前装过其他版本的SIMetrix或者SIMPLIS,强烈建议先彻底卸载干净再装8.4。不同版本之间许可证管理器的冲突是导致安装失败的头号原因。清理步骤是这样的:
- 通过控制面板卸载旧版本程序。
- 手动删除残留目录,通常在
C:\Program Files\SIMetrix Technologies\和C:\Users\你的用户名\AppData\Roaming\SIMetrix\。 - 清理注册表,用
regedit搜索"SIMetrix"和"SIMPLIS",把相关键值删掉。这一步要小心,不确定的键值先导出备份。 - 重启电脑,确保没有残留进程占用文件。
这套清理流程看起来麻烦,但能省掉后面一大堆莫名其妙的报错。我第一次装8.4的时候就是因为没清理旧版,结果许可证管理器一直提示"license already in use",重装了三次才找到原因。
3. 安装过程逐步拆解与关键配置
3.1 主程序安装的详细步骤
双击安装包之后,安装向导会引导你走完整个流程。这里我把每一步的关键点都标出来:
第一步是选择安装语言,默认英语就行,中文界面在8.4这个版本里支持得不算完整,有些专业术语翻译得比较生硬,反而容易看糊涂。
第二步是许可协议,勾选接受继续。
第三步是选择安装类型。这里有两个选项:Complete(完整安装)和Custom(自定义安装)。我建议选Custom,因为完整安装会装一些你大概率用不到的东西,比如老版本的示例库和文档。自定义安装里,这几个组件是必须勾选的:
- SIMetrix/SIMPLIS Core Files(核心文件,必选)
- SIMPLIS Simulation Engine(SIMPLIS引擎,做开关电源必选)
- License Manager(许可证管理器,必选)
- Example Circuits(示例电路,建议选,学习很有用)
- Documentation(文档,可选,占空间但查资料方便)
第四步是选择安装路径。前面说过了,纯英文无空格路径。我一般用D:\SIMetrix84\。
第五步是选择开始菜单文件夹,默认即可。
第六步是确认安装信息,点Install开始安装。安装过程大概需要3到5分钟,取决于硬盘速度。安装过程中可能会弹出Windows安全提示,问你是否允许安装驱动,这个要选"允许",因为仿真引擎需要安装一个虚拟设备驱动。
安装完成后,向导会问你是否立即启动许可证配置工具。这里先不要启动,把安装向导关掉,我们手动来配置许可证,这样更可控。
3.2 许可证配置的核心逻辑
许可证配置是整套安装里最容易出问题的环节,没有之一。SIMetrix/SIMPLIS的许可证机制是这样的:安装目录下有一个license.dat文件,许可证管理器会读取这个文件来验证授权。如果文件位置不对、格式不对、或者环境变量没设置好,软件就会以演示模式启动,功能受限。
许可证文件通常长这样:
INCREMENT SIMetrix simetrix 8.4 01-jan-2025 uncounted \ VENDOR_STRING=xxx HOSTID=ANY ISSUER="xxx" \ SN=xxxxxx SIGN="xxxx xxxx xxxx ..."关键字段是INCREMENT后面的功能名和版本号,以及HOSTID。如果是节点锁定许可证,HOSTID会绑定你的网卡MAC地址;如果是浮动许可证,HOSTID=ANY表示不绑定。
配置许可证有两种方式,我推荐第一种:
方式一:环境变量法(推荐)
设置一个系统环境变量LM_LICENSE_FILE,指向你的许可证文件路径。具体操作:
- 右键"此电脑"→属性→高级系统设置→环境变量。
- 在系统变量里新建一个变量,变量名
LM_LICENSE_FILE,变量值填许可证文件的完整路径,比如D:\SIMetrix84\license.dat。 - 确定保存,重启电脑让环境变量生效。
这种方式的优点是许可证文件位置灵活,换版本的时候改一下环境变量就行,不用动安装目录。
方式二:安装目录放置法
直接把license.dat复制到安装目录下,通常是D:\SIMetrix84\。许可证管理器会自动在这个目录下查找。这种方式简单,但换版本的时候容易搞混。
注意:许可证文件的编码格式必须是ANSI或者UTF-8无BOM,用记事本编辑保存的时候要注意。我有一次用某个编辑器保存成了UTF-8 with BOM,结果许可证管理器死活读不出来,排查了半天。
3.3 仿真引擎注册与验证
许可证配好之后,还要确认仿真引擎是否正确注册。打开安装目录下的bin文件夹,找到simetrix.exe和simplis.exe,分别双击运行一下。如果许可证配置正确,软件会正常启动,标题栏不会出现"Demo"字样。
如果启动时提示"License not found"或者"Invalid license",按这个顺序排查:
- 检查环境变量
LM_LICENSE_FILE是否设置正确,路径是否指向实际存在的文件。 - 打开许可证管理器(开始菜单里找"SIMetrix License Manager"),看它识别的许可证信息。管理器界面会显示许可证的到期时间、支持的功能模块。
- 如果管理器显示许可证有效但软件还是报错,可能是版本不匹配。8.4的许可证不能用在8.3上,反之亦然。
- 检查系统时间是否正确。许可证有有效期,如果系统时间被改到了有效期之外,也会报错。
验证仿真引擎是否正常工作,最直接的方法是跑一个自带的示例。打开Examples文件夹,找一个简单的Buck或者Boost电路,点运行。如果波形能正常出来,说明整套环境都配好了。
4. 实操演练:从零跑通第一个仿真
4.1 用SIMPLIS跑一个Buck电路的完整流程
光装好软件不算完,得能跑出结果才算真正装好了。我拿一个最简单的同步Buck电路做例子,把整个操作流程走一遍。
打开SIMetrix/SIMPLIS,新建一个原理图文件。从元件库里拖出这些器件:一个直流电压源(输入12V)、两个MOSFET(上下管)、一个电感(10μH)、一个输出电容(100μF)、一个负载电阻(1Ω)。控制部分用一个PWM发生器,频率设500kHz,占空比设0.5。
连线的时候注意,SIMPLIS对地的处理比较严格,每个节点都要有直流通路。如果某个节点悬空,仿真会报"singular matrix"错误。我刚开始用的时候经常犯这个错,后来养成了习惯,每连完一个节点就检查一下有没有悬空。
仿真设置里,选择SIMPLIS引擎,分析类型选"Transient",仿真时间设1ms,最大步长设10ns。点运行,大概几秒钟就能看到输出电压的波形。如果输出稳定在6V左右(12V乘以0.5的占空比),说明电路和仿真设置都没问题。
4.2 用SIMetrix做AC分析的关键参数
同样的Buck电路,如果想看环路增益,就得用SIMetrix引擎做AC分析。这里有个关键点:SIMetrix做开关电源的AC分析需要用到平均模型,不能直接用开关模型。你得把MOSFET和二极管替换成平均模型,或者用SIMetrix自带的"PWM Switch"模型。
AC分析的设置里,扫描类型选"Decade",起始频率设10Hz,终止频率设1MHz,每十倍频程的点数设100。注入信号的位置很关键,一般是在反馈分压电阻的中间节点注入一个小信号交流源,幅度设1V。
跑完之后看增益和相位曲线,找到穿越频率和相位裕度。一个设计良好的Buck,穿越频率应该在开关频率的十分之一到五分之一之间,相位裕度大于45度。如果相位裕度不够,就得调整补偿网络。
提示:SIMetrix的AC分析结果可以用
.meas语句自动测量穿越频率和相位裕度,不用手动去读图。在仿真设置里加上测量语句,跑完直接在输出窗口看结果,效率高很多。
4.3 仿真结果的导出与后处理
仿真跑完之后,波形数据可以导出成CSV格式,方便用Excel或者Python做进一步分析。导出方法:在波形窗口里右键,选"Export Data",选CSV格式,指定保存路径。
导出的CSV文件包含时间列和各个节点的电压电流列。用Python的pandas读进来,可以做FFT分析、效率计算、纹波统计这些后处理。我经常用这种方式批量处理仿真数据,比在软件里一个个看波形快多了。
import pandas as pd import numpy as np # 读取SIMetrix导出的CSV df = pd.read_csv('buck_output.csv', skiprows=1) # 计算输出电压平均值 vout_avg = df['V(out)'].mean() # 计算纹波峰峰值 vout_ripple = df['V(out)'].max() - df['V(out)'].min() print(f'输出电压平均值: {vout_avg:.3f} V') print(f'输出纹波峰峰值: {vout_ripple*1000:.2f} mV')这段代码很简单,但很实用。每次改完电路参数跑完仿真,导出CSV,跑一下这个脚本,关键指标一目了然。
5. 常见安装问题与排查速查表
5.1 安装过程中的典型报错与解决
我把这些年遇到的和别人问过的问题整理了一下,做成速查表,遇到问题直接对号入座:
| 报错信息 | 可能原因 | 解决方法 |
|---|---|---|
| "License not found" | 环境变量未设置或许可证文件路径错误 | 检查LM_LICENSE_FILE变量,确认路径指向实际文件 |
| "Invalid license" | 许可证文件格式错误或版本不匹配 | 用记事本打开检查格式,确认版本号是8.4 |
| "License already in use" | 旧版本许可证管理器未卸载干净 | 清理注册表和残留目录,重启后重装 |
| "Singular matrix" | 电路中有悬空节点或缺少直流通路 | 检查每个节点,给悬空节点加一个大电阻到地 |
| "Simulation engine not registered" | 仿真引擎驱动未正确安装 | 以管理员身份重新运行安装程序,选择修复安装 |
| 软件启动后标题栏显示"Demo" | 许可证未生效 | 重启电脑,确认环境变量生效 |
| 波形窗口打不开 | 显卡驱动兼容性问题 | 更新显卡驱动,或在设置里关闭硬件加速 |
| 仿真速度异常慢 | 步长设置过小或电路规模过大 | 适当放宽最大步长,简化电路模型 |
5.2 许可证相关的疑难杂症
许可证问题是最让人头疼的,因为报错信息往往很模糊。我总结了几条经验:
第一,许可证文件里的HOSTID如果是绑定MAC地址的,换网卡或者用虚拟机的时候会失效。如果你在虚拟机里装,建议用桥接模式,并且把虚拟网卡的MAC地址固定下来。
第二,系统时间被改过会导致许可证失效。有些许可证有"backdate"保护,如果你把系统时间往回调,许可证管理器会认为你在作弊,直接锁死。遇到这种情况,只能重新申请许可证。
第三,多个软件共用LM_LICENSE_FILE环境变量的时候,路径之间用分号隔开。比如你同时装了SIMetrix和另一个用FlexLM授权的软件,环境变量要写成D:\SIMetrix84\license.dat;D:\OtherSoftware\license.dat。
第四,如果许可证管理器界面显示许可证有效,但软件就是报错,试试用管理员身份运行软件。有时候是权限问题导致许可证文件读不出来。
5.3 仿真跑不起来时的排查思路
装好了、许可证也配好了,但仿真跑不起来,这种情况我也遇到过几次。排查思路是这样的:
先看错误信息。SIMetrix/SIMPLIS的错误信息通常会在输出窗口里显示,仔细读一下,大部分时候能直接定位问题。常见的错误有"node not found"(节点名写错了)、"model not found"(元件模型缺失)、"time step too small"(步长太小导致不收敛)。
如果是收敛问题,可以尝试这几个方法:放宽相对误差容限(RELTOL从默认的0.001改到0.01)、增加迭代次数上限、给关键节点加初始条件。开关电源仿真里,启动过程的收敛问题最多,给输出电容加一个初始电压往往能解决。
如果是模型问题,检查一下元件库的路径设置。SIMetrix的模型库分好几个目录,有时候安装的时候路径没配好,导致找不到模型。在设置里把模型库路径手动指到安装目录下的models文件夹。
6. 几个提高效率的实操技巧
6.1 用脚本批量跑仿真
SIMetrix支持用脚本控制仿真流程,这个功能做参数扫描的时候特别有用。比如你想看不同输出电容值对纹波的影响,不用手动改一个跑一次,写个脚本让它自动跑完所有组合。
脚本用的是SIMetrix自己的命令语言,语法不算复杂。一个典型的参数扫描脚本长这样:
* 定义参数扫描范围 .param Cout=100u .step param Cout 100u 1000u 100u * 仿真设置 .tran 0 1m 0 10n * 测量输出纹波 .meas tran Vripple PP V(out)跑完之后,输出窗口会列出每个电容值对应的纹波大小,直接看数据就行,不用一个个翻波形。
6.2 自定义元件库的建立
用久了之后,你会发现自己经常用到的某些元件在自带库里没有,或者参数不符合你的需求。这时候可以建一个自己的元件库。方法是在安装目录下的models文件夹里新建一个.lib文件,按照SPICE模型语法写好元件定义,然后在原理图里通过.include语句引用。
我自己的库里放了一些常用的功率MOSFET模型和磁性元件模型,都是从厂商官网下载的SPICE模型整理过来的。建好之后,每次画新电路直接调用,省去了重复找模型的时间。
6.3 波形窗口的快捷键与布局技巧
SIMetrix的波形窗口支持多窗口布局,可以同时看时域波形和频域波形。快捷键方面,Ctrl+滚轮缩放时间轴,Shift+滚轮缩放幅度轴,空格键切换光标测量模式。这些快捷键用熟了,看波形的效率能提高不少。
还有一个技巧是把常用的测量公式保存成模板。比如效率计算、功率损耗计算这些,每次都要手动输入公式很麻烦。在波形窗口里把公式存成.meas文件,下次直接加载就行。
7. 关于版本选择和后续升级的一些经验
8.4这个版本我用了一年多,整体稳定性不错,但也不是没有毛病。最大的问题是它对高分辨率屏幕的支持一般,在4K显示器上界面元素会显得很小,需要手动调DPI缩放。另外,SIMPLIS引擎在处理特别复杂的拓扑时,偶尔会出现不收敛的情况,这时候切换到SIMetrix引擎往往能跑通,只是速度慢一些。
如果你现在还在用8.3或者更早的版本,要不要升到8.4?我的建议是,如果你的8.3用得好好的,没有遇到什么解决不了的问题,不升也行。8.4的主要改进在仿真速度和元件库更新上,功能层面没有颠覆性的变化。但如果你是新手,直接装8.4,因为新版本的文档和示例更全,学习曲线会平缓一些。
升级的时候注意,8.4的许可证和8.3不通用,需要重新获取。安装之前先把旧版本的许可证备份一下,万一新版本装出问题,还能退回去用旧版本。
最后说一个我踩过的坑:有一次我在虚拟机里装8.4,装完之后仿真跑得特别慢,一开始以为是虚拟机性能问题,后来发现是虚拟机的电源管理设置把CPU频率限制住了。把电源计划改成"高性能"之后,仿真速度直接翻倍。所以如果你在虚拟机里用这套软件,记得检查一下电源设置。