Non-linear dependent source time step too small issues

45 views
Skip to first unread message

Jesus Perez

unread,
Aug 26, 2019, 1:31:33 PM8/26/19
to xyce-users
Hello,

I'm trying to use the LM5021_2 model provided by Texas Instruments in a Xyce simulation. I'm probably not allowed to redistribute their library file, so please see the following link for the SPICE model.

Attached is a simple test net list file which uses the LM5021_2 model. The model makes extensive use of E and G devices. The simulation runs on Xyce up until the point when the PWM driver should start oscillating, it is here that I get the "time step too small" error.

The simulation improved up to this point after adding the following line; without it Xyce will give up when it's time to bring up the VCC (output) line.

.OPTIONS DEVICE SMOOTHBSRC=1

I've read the ABM section of the Xyce User's Guide, and in fact this model contains lots of discontinuous sources; however, it doesn't seem like it has negative numbers raised to a fractional exponent.

Finally, this same net list file runs fine on SIMetrix, but my goal is to get it to work on Xyce in order to build up the rest of the circuit.

Any insight you can provide on how to improve the net list to get the simulation to converge will be greatly appreciated. 
LM5021_2Test.cir

xyce-users

unread,
Aug 26, 2019, 3:01:08 PM8/26/19
to xyce-users
Jesus:  The TI subcircuit model in this library makes use of level 3 SPICE MOSFET models, but the model cards for these do not specify most of the internal capacitance values, leaving them at their default of zero.  These models are fairly notorious for their bad behavior in transient when the capacitances are not set.  Many simulators appear to override these default-zero capacitances with some small value, which can mask the problem.  Xyce does not do so by default unless you tell it to.  If you add "MINCAP=1pf" to your .OPTIONS DEVICE line, your simulation will get past the timestep too small problem and run the full requested 0.1s simulation.  This option causes the MOS3 devices to use 1pf for every unspecified capacitance parameter that would normally default to zero.  Generally speaking we advise that this parameter be set to the minimum value necessary to get past convergence problems, because setting it too large could change the behavior in undesirable ways.  In this case, 1pf is the smallest value that seems to work.

You will still need the SMOOTHBSRC option, though, because of the problems with the discontinuous ABM sources that you have already observed.

There is another issue with the TI model for that LM5021 part that force Xyce to take very small time steps.  The subcircuit contains a lossless transmission line with a 90ns delay.  The lossless transmission line forces a maximum timestep on the time integrator equal to the line delay --- so Xyce will never take a time step longer than 90ns no matter what the simulation is doing.  This result in an enormous .prn file with simulation results.  You might want to use a ".options output" line to cause Xyce to output less frequently than its default (which is to output every single simulation step taken by the time integrator).  See the Xyce Users' Guide starting around page 136 (of the 6.11 version) for syntax of the .options outptut directive.

Furthermore, the transmission line model looks for discontinuities on its inputs and if it finds one sets a time integrator breakpoint so the simulator will not skip over the arrival of that discontinuous signal at the far end.  This is causing further slow-down of your simulation as the ABM sources create discontinuities.

Jesus Perez

unread,
Aug 26, 2019, 5:59:22 PM8/26/19
to xyce-users
Thank you very much!

Abderrezak Mekkaoui

unread,
Sep 1, 2019, 1:24:26 PM9/1/19
to xyce-users
Dear All,

I have build xyce11.1 on windows Linux (Ubuntu 18.10). The regression
tests ended with the following message:

All Test runs complete - Warning 2 Tests FAILED
                                 11 Tests EXITED WITH ERROR

The reported errors are as follows:

Certification_Tests/BUG_141_SON/bug_141-empty.....EXITED WITH ERROR[sh]
(Time:   1s =   1.19cs +   0vs)

EMBEDDED/globalParamNormalLHS.....................EXITED WITH ERROR[sh]
(Time:   3s =   4.73cs +   0vs)
EMBEDDED/globalParamNormalMC......................EXITED WITH ERROR[sh]
(Time:  22s =  38.07cs +   0vs)
EMBEDDED/globalParamNormal_OP_MC..................EXITED WITH ERROR[sh]
(Time:  62s = 122.03cs +   0vs)
EMBEDDED/globalParamUniformLHS....................EXITED WITH ERROR[sh]
(Time: 218s = 427.69cs +   0vs)
EMBEDDED/globalParamUniformMC.....................EXITED WITH ERROR[sh]
(Time: 103s = 177.63cs +   0vs)

EMBEDDED/truncatedNormalLHS.......................EXITED WITH ERROR[sh]
(Time:   4s =   4.96cs +   0vs)
EMBEDDED/truncatedNormalMC........................EXITED WITH ERROR[sh]
(Time:   7s =  10.49cs +   0vs)

MPI_Test/bug_967..................................SHELL SCRIPT EXITED
WITH ERROR[sh] (Time:   0s =   0.07cs +   0vs)

SENS/ampSensAdj_aztec.............................EXITED WITH ERROR[sh]
(Time:   1s =   1.28cs +   0vs)
SENS/ampSensAdj_belos.............................EXITED WITH ERROR[sh]
(Time:   1s =   1.30cs +   0vs)

There is only one failed tests (even though 2 were reported):

CommandLine/command_line..........................FAILED[sh] (Time:   4s
=   2.09cs +   0vs)

Is this something to worry about?

Kind regards

Abderrezak

PS. The command to run the tests is:

....../run_xyce_regression --output=`pwd`/Xyce_Test
--xyce_test="$XYCE_TEST_SUITE_LOC"
--taglist="+parallel+nightly?noverbose-verbose-klu?fft"
--resultfile=`pwd`/parallel_results "mpirun -np 2 Xyce"

Tom Russo

unread,
Sep 1, 2019, 1:29:47 PM9/1/19
to Abderrezak Mekkaoui, xyce-users
Failure of MPI_Test means the version of MPI in your package management system is not usable with Xyce.  This is a known issue in Ubuntu 18.04.  The only fix is to build OpenMPI yourself. Information about this issue is in the Ubuntu section of the building guide.

--
You received this message because you are subscribed to the Google Groups "xyce-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xyce-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/xyce-users/14500028-592e-145f-906b-5f18b9bd003e%40gmail.com.

Abderrezak Mekkaoui

unread,
Sep 1, 2019, 8:08:53 PM9/1/19
to Tom Russo, xyce-users

Thanks Tom.

I rebuild OpenMPI from source and re-installed everything. (All Test runs complete - Warning 0 Tests FAILED
                                 1 Tests EXITED WITH ERROR)

The only reported issue is:

NL_RESISTOR/nlrcs10...............................TIME LIMIT      (Time: 1801s =   0.11cs +   0vs)

I am guessing this not a big deal.

Kind regards

Abderrezak

Reply all
Reply to author
Forward
0 new messages