Pspice时域仿真不收敛问题

Pspice时域仿真不收敛问题

最近做的大创项目需要用到Pspice仿真,用的是Cadence 17.4。在遇到仿真不收敛的问题时,查阅搜索相关资料很少有给出详细的解决方法,基本上都是询问怎么解决,所以在这里系统的介绍Pspice仿真收敛问题来由和解决方法。(只看解决方法在文末图片)


产生不收敛问题的原因

仿真的原理是软件在分析仿真电路时,是通过求解电流电压转换而来的方程组得到相关数据的。

这些方程组分为线性方程组和非线性方程组。线性方程组可以采用直接消元法、高斯消元法和分解法等,非线性方程组多种的使用迭代法,而迭代法不可避免的会产生不收敛的问题。(说白了就是算不出来)

以PSpice中使用最普遍的牛顿-拉夫逊(N-R)迭代法为例来说明。对于某一非线性方程,f(x)=0,N-R迭代关系式为:

x k + 1 = x k − f ( x ) f ‘ ( x ) x^{k+1}=x^k-\frac{f(x)}{f^‘(x)} xk+1=xkf(x)f(x)

当给定一个恰当迭代初值x0,代入式(1)进行迭代,产生一个迭代序列 x k + 1 {x^{k+1}} xk+1,直到 x k + 1 x^{k+1} xk+1 x k x^k xk之间差的绝对值小于某个给定的允许误差ε为止。N-R迭代过程的几何解释如图l所示,首次迭代时k=0,xk=x0即为迭代初值,由x0求x1,再x1求x2,„,得到序列|xk+1|,最后收敛于真值x*。判断迭代结束的依据是2次x值之间的差小于给定误差ε,或者是迭代次数超过规定的最大迭代次数。由此可见,迭代过程出现不收敛的情况有以下几类:一是初值选取不恰当,如图1所示,若将迭代初值选为x',则迭代收敛于x的概率就很低;二是迭代次数过长,如果规定的迭代次数为30次,但是实际迭代30次时还未到达真值x,迭代被迫中止,也同样造成不收敛;三是规定的误差精度过高,也同样会造成迭代次数溢出,造成不收敛。要消除不收敛情况就必须从这3类情况入手。

详细内容在这里


不收敛问题的解决方法

不收敛问题的一般报错:

ERROR(ORPSIM-15138): Convergence problem in transient analysis at Time = 116.4E-21. Time step = 116.4E-21, minimum allowable step size = 1.000E-18

就是在计算时迭代还没有达到计算的精度要求,但是步长已经小于要求的最小步长了,所以计算不出来。

在遇到不收敛问题的时候,一般需要修改的参数有:步长Maximum Step Size 、电压精度VNTOL、电流精度ANSTOL、一次迭代上限ITL4,参数具体含义如下:

ITL1:在DC分析和偏置点计算时以随机方式进行迭代次数上限,内定值为150;

ITL2:在DC分析和偏置点计算时根据以往情况选择初值进行的迭代次数上限,内定值为20;

ITL4:瞬态分析中任一点的迭代次数上限,注意,在SPice程序中有ITL3任选项,PSpice软件中则未采用ITL3,内定值为10;

RELTOL:设置计算电压和电流时的相对精度,内定值为0.001%;

VNTOL:设置计算电压时的精度,内定值为1.0μV;

ABSTOL:设置计算电流时的精度,内定值为1.0pA;

Maximum Step Size:步长决定了仿真点的密集程度,需要自己设置

遇到仿真问题时调整的思路:首先调节ITL4把单次能够迭代的次数提升,一般改成1000,然后增大步长或者减小电流电压精度

电流电压精度和最大步长是相互制约的,要求步长足够小就可能不能保证精度;相反如果要求精度过高,就难以保证步长。

上箭头调大,下箭头调小
调节步长
调节精度

PSPICE是一款经常用来进行电路仿真的软件工具,可以帮助设计者验证和优化电路设计。然而,PSPICE本身主要用于模拟模拟电路,而不是数字逻辑电路。因此,要在PSPICE仿真FPGA(现场可编程门阵列)设计,通常需要一些额外的步骤和技巧。 首先,我们需要将FPGA设计转换为可在PSPICE仿真的模型。这可以通过将FPGA设计转换为等效的电路模型来实现。通常使用的方法是使用hardware description language(HDL)来描述FPGA设计,如VHDL或Verilog。然后,通过使用相应的工具,将HDL代码转换为电路图级别的模型。这个过程通常被称为逻辑综合。 一旦我们有了可以在PSPICE中使用的电路图级别模型,我们可以使用PSPICE中的元器件模型和电路元件来表示FPGA中的逻辑单元和总线。我们需要确保所使用的元件模型和参数与FPGA设计的规范和特性相匹配。此外,我们还需要为时钟信号、输入和输出端口以及其他外部接口添加适当的电路元件和模型。 在对FPGA进行仿真之前,我们还需要为仿真配置适当的仿真设置。这包括设置仿真的起始条件、仿真时间、仿真步长和其他参数。我们还可以添加控制语句和仿真命令,以便在仿真过程中进行各种测试和分析。 一旦我们完成了上述步骤,我们就可以运行仿真并分析FPGA设计的性能和功能。通过观察和分析仿真结果,我们可以评估FPGA实际工作时的行为和响应。 在使用PSPICE进行FPGA仿真时,需要注意PSPICE的一些限制和局限性。由于PSPICE主要用于模拟电路,它并不完全支持所有FPGA设计的细节和特性。因此,在使用PSPICE进行FPGA仿真时,我们可能需要做一些近似和简化,以在仿真中获得准确和可靠的结果。 总结起来,要在PSPICE仿真FPGA,我们需要将FPGA设计转换为PSPICE仿真的模型,为其添加适当的电路元件和模型,为仿真配置合适的参数和设置,然后运行仿真并分析结果。这样,我们可以评估和优化FPGA设计的性能和功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值