SmartSpice 收敛问题的总结


记得很久之前有谈过遇到 Hspice 不收敛的问题,最近看到有朋友是搜索 SmartSpice 收敛问题过来的,干脆在这里把看过的收敛问题的内容列下(实际上 SmartSpice Manual 中有专门章节介绍收敛的问题,在网站上的 trainning 文档也可参考…)

一般对于 spice convergence 问题,首先考虑电路是否自身有问题,看是否非稳或是双稳态电路,电路中器件(特别是理想元件或是宏模型)的阻抗是否符合实际,可以利用 .option list 检查电路结构与连接;对双稳态电路可以利用 .nodeset .ic 等语句加以限定。

此外,在 SmartSpice 中利用 .option expert=777 可以看到收敛问题的详细报告:

通常大多数的 spice 收敛问题可以通过 .OPTION中 Gmin Gnode(或 Gshunt)的设置来改善:

GMIN: 半导体结(junction)的最小电导,默认为 1e-12,通常可以尝试修改为 1n 到 10n
Gnode: 在节点到地之间插入电阻,可设为 1e-14 到 1e-12

将数值积分的算法换为 Gear 可以改善某些电路的 tran 分析的收敛性

具体在 DC/OP 分析中可以尝试的有:
调节 DCGMIN DCGnode(DC/OP 下的 GMIN 和 Gnode);DCPATH 改变 floating node 到地电阻; .option ITL=500 增加 DC 迭代的次数;放宽 abstol reltol 的精度要求;利用 tranop 的 tran 分析;DC sweep 中改动 sweep 的步长

对 TRAN 分析,也可尝试:
UIC .ic 设置初始条件; 修改 rise/fall time 的设置; CNODE (或 cshunt)设定节点对地电容; 修改 GMINGNODE; NEWTOL 启用额外的迭代; 设置 ITL4=40+; 采用 .option method=Gear 更换算法; TRTOL 调整 internal timestep

特别对于 ”timestep too small” 问题, smartspice 中提供了 .option optionset 加以改善, 通过 optionset=3 或 4 影响的参数可见下表:

Optionset=<val> Option usedValue
3accurate1
cnode(cshunt)1e-12
ITL15000
ITL25000
4accurate1
cnode(cshunt)1e-12
conv1
acceptTRUE
ITL25000

版权声明: 本站文章版权所有,转载须以超链接形式标明文章原始出处和版权信息。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注