Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

PSS convergence and accuracy

Status
Not open for further replies.

mtwieg

Advanced Member level 6
Joined
Jan 20, 2011
Messages
3,835
Helped
1,310
Reputation
2,626
Reaction score
1,405
Trophy points
1,393
Activity points
29,372
Hi all, I'm having some difficulties simulating an amplifier driving a series RLC load. I'm doing large sweeps of bias and phase, and am exporting the datasets to MATLAB for processing, so I need all the sweep points to work. To be brief, I'm always having trouble either accuracy or convergence. I've found that if I use gear2only as my solver, I get accurate results, but convergence is an issue. It seems like one of my points will always fail, making the dataset useless. But it's never the same point, so I don't know how to work around it. Aleternatively, if I use euler as my solver, I get consistent convergence but results are accurate (it will tell me that my ideal inductors and capacitors are dissipating power, etc). I've already set tstab aggressively (several hundred fundamental periods) and pushing it further doesn't seem to help.

I don't know if I can eliminate the problem completely since it doesn't seem to be repeatable (which in itself is really strange). But if that's the case, is there a way to configure SPECTRE to keep retrying a point after it fails in the hope that it will magically work? I see this line in the spectre reference for PSS:
restart=yes
Restart the DC solution from scratch if any condition has
changed. If not, use the previous solution as initial guess.
Possible values are no or yes
What does "restart the DC solution" mean for PSS? Does that mean redo the initial tran analysis? If so then I guess that's what I want?
 

My experiences tell me that...
Spectre simulator does generally not like uncommon connections such as series components without GND return path, floating loops, extreme R-C-L time contants etc.So, finding a way to make it converged is a bit tricky.You should carefully examine your circuits against to these uncommon and unlikeable nodes and branches.The aactive devices' models can also be problematic and headache.
If PSS does not converge easily in few steps/iterations I'm sure there are some of them.Sometimes HB can easily converge compare to PSS.
It's worthy to try..
 
  • Like
Reactions: mtwieg

    mtwieg

    Points: 2
    Helpful Answer Positive Rating
An LC combination is likely to produce ringing. This can create unexpected waveforms such as reverse flow through your transistors (or mosfets).

The simulator may have trouble evaluating such situations.

Furthermore the simulator can create very rapid oscillations when a diode is neighbor to an inductor. I believe it arises as the simulator needs to execute many iterations (at low current levels), because it must find a trade-off between two characteristics: (a) the diode shuts off below its forward voltage, and (b) the inductor is able to generate voltage to maintain its current flow when shut off.

The problem is compounded when a capacitor is in the loop.

One suggestion: Try putting a resistor (high ohms) across switching devices. This allows a bit of current flow to continue around the component at times when it would be shut off.
 
  • Like
Reactions: mtwieg

    mtwieg

    Points: 2
    Helpful Answer Positive Rating
... amplifier driving a series RLC load.

Did you try and bridge the C by a (huge) parallel resistance (or use the gmin option)? (All these simulators don't like nodes without a DC path).

Just a guess - don't know if this is the issue.
 
  • Like
Reactions: mtwieg

    mtwieg

    Points: 2
    Helpful Answer Positive Rating
My experiences tell me that...
Spectre simulator does generally not like uncommon connections such as series components without GND return path, floating loops, extreme R-C-L time contants etc.So, finding a way to make it converged is a bit tricky.You should carefully examine your circuits against to these uncommon and unlikeable nodes and branches.The aactive devices' models can also be problematic and headache.
My transistors use a spectre model provided by the manufacturer, it it comprised of serveral dependent sources connected together (it's not something super robust like BSIM) and that is likely a large contributor to the problem. Some times I get many reports of Zero diagonal Jacobians during simulation inside these models. But I'm stuck with it for now.

An LC combination is likely to produce ringing. This can create unexpected waveforms such as reverse flow through your transistors (or mosfets).
I actually don't ever see severe ringing in my results. And my stabilization period is already much longer than the bandwidth of the load.

I've found that removing a couple non-critical components from the simulation allows gear2only to converge very consistently, so I've found an acceptable solution for now. But I'm still really bothered by the fact that my convergence was non-deterministic in the first place. Is that evidence that there's some larger underlying problem?
 

... I'm still really bothered by the fact that my convergence was non-deterministic in the first place. Is that evidence that there's some larger underlying problem?

2 suggestions:

1. Did you already try a Harmonic Balance analysis?

2. You could try and find help in a more simulation-dedicated forum like, e.g., The Designers Guide RF simulators forum.

See e.g. this thread.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top