- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
瞬态仿真时设置的timestep的具体含义
[micky829网友]
SPICE使用重复迭代的方式来获得当前电路的静态电压和电流值,仿真首先对节点初始电压进行预测,然后根据电路的电导系数计算支路电流,接着用支路电流重新计算节点电压,一直这样进行着循环,这种循环一直持续到所有的节点电压和支路电流都落入规定的误差允许范围内(即收敛)。如果节点电压和支路电流没有在一定数量的重复中完成收敛的话,SPICE将提示错误信息,这样就无法实现仿真了。瞬态分析时定义的timestep只是一个名义上的时间增量值,实际分析时的timestep是一个变量,如果在你设置的某一timestep设置条件下无法实现收敛,这时timestep将自动被降低,继续重复上述的循环。如果timestep降低幅度太大,SPICE将提示“Timestep too small”,这时仿真失败。
我就是最后的这句话不理解,按照楼上的理解,timestep为采样率,那就是要求“采样率不能太低,但高了也不行?”,采样率究竟是怎么决定收敛的??不知道是不是我理解的有误,最后一句的英文为“If you are performing a Transient analysis (that is, time is being stepped) and SPICE cannot converge on a solution using the specified timestep, the timestep is automatically reduced, and the cycle is repeated. If the timestep is reduced too far, SPICE displays a “Timestep too small” message and aborts the simulation.”。。。。
[cmos网友]
看了说明,这里timestep就是在算法上设置间隔,从上一个点计算出的数值带入下一点的公式,这样的话这个step应该和精度没有太大联系,也许是为了收敛考虑的,timestep间隔越小,run的时间越长。不知道这段解释具体针对哪段命令,是dcstep吗?还是.tran后面的步进(以上都是我个人的理解)
[micky829网友]
"timestep就是在算法上设置间隔"——嗯,这样就好理解一点了。就是说timestep如果太大,循环的次数就会很少,在这样有效的次数中收敛可能就无法实现,这时系统会自动降低timestep的值,可是如果下降太大,循环的次数就会过多,超过了软件的工作能力(就像是钻孔机无法钻出孔径非常小的过孔一样),于是仿真就失败了。。
这是软件帮助文档里关于仿真失败问题的讲述,针对瞬态分析的,非常感谢CMOS的帮忙!!
想参与讨论吗?请点击下面的链接进入讨论区:
http://www.pcbbbs.com/dispbbs.asp?boardID=4&ID=61487&page=1
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:印制板(PCB)设计规范
下一篇:PCB电路板差分阻抗测试技术