The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> Circuit Simulators >> convergence help https://designers-guide.org/forum/YaBB.pl?num=1118172169 Message started by driveforce on Jun 7th, 2005, 12:22pm |
Title: convergence help Post by driveforce on Jun 7th, 2005, 12:22pm Hi, all, When I set up DC simulation and sweep temperature in spectre, sometimes output voltage is a smooth line, but sometmes it has a big step, which is undesireable. (I did not change anything in the schematic and simulation setting, just repeated simulation) In the last case, I noticed that gmin and source methods failed and at last dptran was used. How can resolve this problem? Many Thanks. |
Title: Re: convergence help Post by Ken Kundert on Jun 7th, 2005, 2:39pm It is probably a feature of your circuit rather than a problem with the simulator. If you sweep temperature in the opposite direction, you will probably see classic hysteresis behavior. -Ken |
Title: Re: convergence help Post by driveforce on Jun 7th, 2005, 8:56pm Hi, Ken, I did not quite catch what you said. In my mind, I thought temperature sweep is memeryless, meaning the simulator solves the circuit at each temperature point independantly and plot the results. Btw, I am designing a bandgap circuit. When I sweep temperature in the opposite direction, the result is always smooth; when I sweep temperature from -40 to 125, there always a big jump. |
Title: Re: convergence help Post by Ken Kundert on Jun 7th, 2005, 11:24pm When a circuit exhibits a jump like you are describing it is because it has solution curve that has folds in it, as shown with the solid line below. ![]() Here the horizontal axis represents temperature and the vertical axis represents a signal value, say the output voltage. Starting from the left, the temperature increases until it reaches the lower fold, at which point the output voltage jumps discontinuously. In this case it jumps up to the upper part of the curve (dashed upward facing arrow). If the temperature then began to decrease, the output voltage would stay on the upper part of the curve until it reached the upper fold, at which point it would jump down to the lower part of the curve (dashed downward facing arrow). In this way, the voltage/temperature curve would exhibit classic hysteresis. If you started at a point between the two folds, then going up you would see a jump, but going down you would not because the upper fold occurs at a temperature less than -40C. You are almost correct in your belief that DC sweeps are memoryless. To speed up DC sweeps, Spectre extrapolates from the previous solution point to the next. It then starts the DC iteration from the extrapolated point. This tends to cause Spectre to faithfully follow the curve as long as it can. It is this extrapolation that represents the memory in the DC sweep. -Ken |
Title: Re: convergence help Post by driveforce on Jun 8th, 2005, 12:39am Hi, Ken, BIG thanks for your kind reply and explanation!!! ;D By talking about the folds in the solution curve, does this mean the circuit has mutiple solutions at certain temperature range? I will try to enlarge the sweep range to find out the hysteresis tomorrow (I have no simulator at home, :) ) -driveforece |
Title: Re: convergence help Post by Ken Kundert on Jun 8th, 2005, 7:05am Yes, from what you have told me, I believe your circuit has two stable and one unstable operating points at temperatures below where the jump occurs. -Ken |
Title: Re: convergence help Post by driveforce on Jun 8th, 2005, 9:19am mmm..... got it. Thank you very much, -driveforce |
Title: Re: convergence help Post by driveforce on Jun 14th, 2005, 9:52am Hi, Ken, I did not find the jump when I sweep temperature from 125 to -100. But if I change gmin from 1e-12 to 1e-15, there is no jump from either direction. Does this mean the circuit has no mutiple solution problem? -driveforce |
Title: Re: convergence help Post by Ken Kundert on Jun 14th, 2005, 10:27pm I don't know. I don't understand how changing gmin would affect the situation. -Ken |
Title: Re: convergence help Post by sheldon on Jun 15th, 2005, 1:20am driveforce, Are all of the devices in circuit properly biased? In the past, we have seen issues when the gmin loaded nodes because the transistors were all biased off. In our case, by increasing the tolerance of gmin, the effect of device leakage currents became larger then the effect of gmin and the circuit setup properly. After we corrected the underlying circuit issue, the default gmin was sufficient. Best Regards, Sheldon |
Title: Re: convergence help Post by driveforce on Jun 15th, 2005, 9:42am Hi, Ken and Sheldon, Thanks for your replys. Unfortunately, changing gmin from 1e-12 to 1e-15 couldn't (and seems impossible to) solve the multiple solutions (one is 1.2V and the other is 0.5V at low temperatures) problem. Right now, I think my start up circuit is kind of weak. Best driveforce |
Title: Re: convergence help Post by ywguo on Jul 14th, 2005, 2:16am Hi, driveforce, A bandgap reference has more than one steady state. So a start-up circuitry is required to make the bandgap reference work in the desired point. Many textbooks describe this feature of a bandgap circuit. I think your start-up circuitry doesn't work at very low temperature. It is easy to correct it. Best regards, Yawei |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |