原创 How Internal Timestep Too Small

2009-5-27 15:01 5712 7 7 分类: PCB
1. 电路错误:指的是由使用者本身电路,有不正常的接线或短路等,例如将电源接到输出端,而造成SPICE在运算的时候无法收敛.根据Ref[38] 的建议,请你确认以下之状况:

Make sure that all of the circuit connections are valid. Check for incorrect node numbering or dangling nodes. Also, verify component polarity.

Make sure you didn't use the letter O instead of a zero (0).

Check for syntax mistakes. Make sure that you used the correct SPICE units (i.e. MEG instead of M(milli) for 1E6).

Make sure that there's a DC path from every node to ground.

Make sure that there are at least two connections at every node.

Make sure that there are no loops of inductors or voltage sources.

Make sure that there are no series capacitors or current sources.

Place the ground (node 0) somewhere in the circuit. Be careful when you use floating grounds; you may need to connect a large resistor from the floating node to ground.

Make sure that voltage/current generators use realistic values, and verify that the syntax is correct.

Make sure that dependent source gains are correct, and that B element expressions are reasonable. If you are using division in an expression, verify that division by zero cannot occur.

Make sure that there are no unrealistic model parameters; especially if you have manually entered the model into the netlist.

Make sure that all resistors have a value. In SPICE 3, resistors without values are given a default value of 1k Ohm.

Negative capacitor and inductor values are allowed in SPICE 3. They will not be flagged as an error, but can cause timestep problems, depending on the topology of the circuit.


2. 检查Feedback : 所指的是在序向逻辑电路中所产生的,你可以检查一下你的电路的FeedBack Path的Delay,在不影响电路功能的情形下,是否可以调快一点或慢一点.


3. 设定初值: 一般在作Flip Flop 常也会遇到DC Convergence 的问题,你可以用 .IC 或 . 这个指令设定Node的 Initial Condition.用法如下:

.IC V(11)=5 V(4)=-5 V(2)=2.2

.DCVOLT 11 5 4 -5 2 2.2

.TRAN 2ns 100ns UIC

以上的意思是用 ".IC" 设定节点 11, 4, 2 的初值电压为 5V, -5V, 2.2V.用".DCVOLT" 设定节点 11, 5, 4 的初值电压为 -5V, 2V, 2.2V.请记得在 .TRAN後面要 Use Initial Condition (UIC) .但是设得不好也会有反效果,若出现"internal timestep too small" 则是这种情形.

甚至,你可以如下的设定:us,也常会出现DC Convergence,这只能适合Function Check.


5. 加电阻:指的是在 "电路的某两端" 加上一个 "大的电阻" R(通常大於100Meg),也许能够解决DC convergence的问题.根据Ref[38],其认为MOS的Source /Drain 两端,Diode 的两端,及适度的加上(RE, RB, RC)到BJT的E,B, C 端.HSPICE更会直接指出如下的 Message:

"Warning: Zero diagonal value detected at node ( ) in equation solver, which might cause convergence problems. If your simulation fails, try adding a large resistor between node ( ) and ground."

除此之外,我们可以更极端的设 ".OPTIONS RSHUNT=100MEG" (在HSPICE是 CSHUNT及 GSHUNT),也就是电路的任何一个 node 都加上一个到Ground的电阻.


6. 改变SPICE option parameter:每一种SPICE 都有 ".OPTION" 这个指令.这个指令可以改变Simulation中的一些参数,如回圈(Iteration),以下列出HSPICE中的ITL参数.详细语法请看Star-Hspice之User Menu, page 3-47/Release1998.2.图9-43 列出HSPICE 中所有.OPTION所有之参数及其应用范围.(有些SPICE不只这些 option.

ITL1:Set the DC iteration limit.(Default=200,针对 DC Analysis)

ITL2:Set the DC transfer curve iteration limit.(Default=50,针对 DC Sweep Analysis)

ITL3:Sets the lower transient analysis iteration limit.(Default=3.0)

ITL4:Sets the transient analysis time point iteration limit.(Default=8.0)

ITL5:Sets the transient analysis total iteration limit.(Default=0.0)

用法例子如下:

.OPTION TNOM=27 DEFNRD=1 DEFNRS=1 INGOLD=2 ACOUT=0 DC PIVOT PIVTOL=IE-13 PIVREL=1E-3 RELTOL=1E-3 ITL1=100 ABSMOS=1E-6 RELMOS=1E-3 ABSTOL=1E-12 VNTOL=1E-6 ABSVDC=1E-6 RELVDC=1E-3 RELI=1E-3


7. 将输入之PULSE之Transition隔开,有很多DC Convergence的问题出在电路同时有太多Node在Transition(改变状态),你可以技巧性的将将输入之PULSE之Transition隔开.


8. 另外一方面,你可以适度的表达Power Supply 的 Turn On 情形 (Ref[38]).这又称为 "Pseudo-Transient".根据 Ref [38]:

V1 1 0 PULSE 0 5 0 1U

表示Power Supply 将在 1us 後稳定下来.


9. 当 DC Sweep Analysis 无法Convergence 时,尝试将 Analysis Step 缩小或加大.如: 原有: .DC VCC 0 1 .1

改为: .DC VCC 0 1 .01

将Step 变大可以 Bypass 一些 Discontinuity,缩小则可以发现到一些无法convergence 的点.另外,可以乾脆将 DC Sweep Analysis 改为 Transient Analysis,但这意义不同,因为DC为Steady State Response而 Transient为Transient State Response.

第九章 SPICE Simulation 9-49

原有:.DC VCC 0 5 .1

VCC 1 0

改为:.TRAN .01 1

VCC 1 0 PULSE 0 5 0 1


10. Clock 请尽量用PULSE这个指令,不要用PWL来合成.


11. 图9-46 为一般SPICE在 DC Analysis 的一些相关设定及流程,这些资料可以帮你找到更多的解答.图9-43 OPTION所有之参数及其应用范围


12. 请你确定你所用之Technology File之 Model是否有 Include进来,有些 SPICE在找不到你所设定的Path时会以Default的参数来Run.这会与你原先所设计的出入极大.另外就是Model不小心被改了,造成I-V Curve不Continue.(如图9-45).当然也有可能原始的Device Modeling 根本就有问题,这可要问Foundry.


13. 检查Tolerance: 在 HSPICE模拟过程中会List如下的Table(图9-44),若有Tolerance 超过 100就是DC Convergence 极度不稳定的来源,在图9-44 中显示副电路中xinv21,xinv22,xinv24 中的P-channel 电晶体为 nonconvergentelements.而 xinv23 中的 N-channel电晶体为 nonconvergent elements.


14. 如果上述几种方法都无法解决,则考虑使用别的SPICE,或著请教该 SPICE公司的客服工程师.


15. 另外有一个问题与DC Convergence相似的是: 你的 Quota 用完了,赶快用 "%quota -v" 检查一下吧.


16. 最後请你再次Check 你所用的SPICE 是否跟机器与OS之版本有问题,这可要问一下SPICE公司的AE了.
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条