Post Go back to editing

Simulation Lockup

Thread Summary

The user encountered simulation lockups and singular matrix errors with LTspice 24.1.9, particularly when using the AD8274 differential amplifier model. The issue was resolved by replacing the AD8274 model with a discrete op-amp and resistor implementation, specifically using the ADA4511 op-amp. The motor model was also identified as a potential source of instability, but the project now simulates successfully without it.
AI Generated Content
Category: Software
Product Number: LTspice 24.1.9, LTspice
Software Version: 24.1.9

First, please consider making the data values in the bottom-screen display have a fixed number of places so the display does not jitter back and forth a character or two as the simulation runs.

My project runs successfully on 24.0.12 and is clean enough to run with the Normal Solver.

The same project always causes 24.1.9 to lockup at some random time usually between 20ms to 80ms into the sim.

For example:

LTspice 24.1.9 for Windows
Start Time: Mon Jun 9 18:30:10 2025
Options: gminsteps=0 noopiter NoMarch PlotWinSize=0 trtol=7 abstol=1e-7 vntol=1e-3 chgtol=1e-8 debugtran
solver = Normal
Maximum thread count: 16
tnom = 27
temp = 25
method = modified trap
abstol = 1e-07
chgtol = 1e-08
trtol = 7
volttol = 0.001
noOpIter = true
Direct Newton iteration for .op point skipped.
Gmin stepping method for .op point skipped.
Starting source stepping with srcstepmethod=0
Source Step = 3.0303%
Source Step = 33.3333%
Source Step = 63.6364%
Source Step = 93.9394%Source stepping succeeded in finding the operating point.
The first Warning: Simulation tolerance relaxed to achieve convergence from 7.3743666701653693e-02 to 7.3743666701653790e-02 seconds.
The 229,640th Warning: Simulation tolerance relaxed to achieve convergence from 7.3743666723961862e-02 to 7.3743666723961959e-02 seconds.

The entire time that the 229,640 warnings were being written to the log, the "Simulation Speed" display was absent from the screen.

The display stopped at "Simulation Time" 73.7437ms.

While the 229,640 warnings were being written to the log, only 22.308266ps of simulation time elapsed.

22ps was not enough elapsed time to cause the "Simulation Time" 73.7437ms data to advance 100ns to 73.7438ms.

Therefore I cannot determine if the entire bottom-screen display was locked up, or just had no new data to display.

The "Simulation Speed" display was not locked up, it was absent from the display.

I'm sorry but I cannot share my project. It is proprietary.

I will try my project on other versions with all settings unchanged from above.

LTspice 24.0.12 for Windows
Source stepping succeeded in finding the operating point.
Total elapsed time: 961.454 seconds.

LTspice 24.1.1 for Windows
Won't run. Aborts due to syntax errors.

LTspice 24.1.2 for Windows
Source stepping succeeded in finding the operating point.
Total elapsed time: 2469.579 seconds.

LTspice 24.1.4 for Windows
Source stepping succeeded in finding the operating point.
Total elapsed time: 1959.656 seconds.

LTspice 24.1.5 for Windows
Source stepping succeeded in finding the operating point.
Total elapsed time: 1822.458 seconds.

LTspice 24.1.6 for Windows
Source stepping succeeded in finding the operating point.
Total elapsed time: 917.384 seconds.

LTspice 24.1.7 for Windows
Source stepping succeeded in finding the operating point.
Warning: Simulation tolerance relaxed to achieve convergence from 6.7770050541269333e-02 to 6.7770050541269430e-02 seconds.
...
Warning: Simulation tolerance relaxed to achieve convergence from 6.7770050541874641e-02 to 6.7770050541874641e-02 seconds.
Simulation stopped by user.
Total elapsed time: 415.293 seconds.

LTspice 24.1.8 for Windows
Source stepping succeeded in finding the operating point.
Warning: Simulation tolerance relaxed to achieve convergence from 6.7252842460874707e-02 to 6.7252842460874804e-02 seconds.
...
Warning: Simulation tolerance relaxed to achieve convergence from 6.7252842461048887e-02 to 6.7252842461048887e-02 seconds.
Simulation stopped by user.
Total elapsed time: 316.645 seconds.

LTspice 24.1.9 for Windows
Source stepping succeeded in finding the operating point.
Warning: Simulation tolerance relaxed to achieve convergence from 6.7252842460874707e-02 to 6.7252842460874804e-02 seconds.
...
Warning: Simulation tolerance relaxed to achieve convergence from 6.7252842460986326e-02 to 6.7252842460986326e-02 seconds.
Simulation stopped by user.
Total elapsed time: 298.007 seconds.

I see now that the issue appeared with the release of 24.1.7.

In each case 24.1.7, 24.1.8 and 24.1.9, the "Simulation Speed" display disappears when the lockup starts.

I have closely analyzed the goings-on during the 60ms to 80ms period using 24.0.12 and nothing interesting is happening.

At 67ms power supplies are coming up to regulation and that's it. No other operation.

At around 91ms, power is good, the 2.5V logic is released and the device goes into full operation.

24.1.9 does not make it that far into the simulation.

All for now

  • Hi  ,

    Thank you for the clear breakdown. Any chance you can share your design so we can test?

    First, please consider making the data values in the bottom-screen display have a fixed number of places so the display does not jitter back and forth a character or two as the simulation runs.

    That would be an improvement. We will note as a feature request.

    mike

  • Hello Michael,

    No, I'm sorry but my project is due to become a commercial product.

    It would be devastating to have the schematic escape into the wild before a purchaser of the product inevitably reverse engineers it.

    Please forgive the delay in reply. I had to get some work done on the project.

    I just again, tried it on 24.1.9 with similar results.

    It stalled at 8.6589759910992339e-02 requiring a manual stop.

    I was able to capture a good plot of the event.

    It took a long time to zoom in on the event. (within femtoseconds)

    One plot, stops at the end of time as signals shoot up to kilo levels.

    A second plot of the same signals 100ns back in time shows the signals at normal milli levels.

    I also have the .raw file from the run. (16.2GB Ouch)

    If you have a proprietary tool that can delve into a .raw file, I would be happy to devise a method to get it to you.

    As I was backing up the plot 10ns a-pop, I realized that it took maybe 50ns to go from normal to wild.

    Some signals started to diverge from milliamps up to 10's of amps.

    Then comes the over-correction.

    Like a camper taking the wrong path at the Y to find himself on the ridge path when he wanted to be on the valley path. So he jumps over the cliff. He goes splat, disturbing some valley campers that were acting normally.

    I will continue do an occasional run on 24.1.9 or newer.

    All for now

  • Hello All:
     
    24.0.12 has stopped simulating my project after several months of bliss.
    The last week or two it has been balanced on the head of a pin.
    Change the value of some resistor or capacitor and boom, singular matrix.
    Changing a resistor value from 6.8 to 7.5 Ohm killed it.
    Then I tried 7.49, 7.48, 7.47, 7.46, and finally at 7.45 Ohm it starts working again.
    So I decided to rebuild my project block by block to see if I could learn anything.
     
    I started with a resistor for a load then much later moved back to a motor model.
    Adding the motor model caused 24.0.12 many defcons.
    So I thought I would see if 24.1.9 could make it to the end of simulating my project without the motor.
    Yes, 24.1.9 finished without failure after removing the motor model.
     
    No defcons for either version with the motor model removed.
     
    I took Helmut Sennewald's (Removed Broken Link)  and cleaned it up a bit.
    The original can be found (Removed Broken Link)
    The beautified version can be found (Removed Broken Link).
     
    With the above motor model installed in my complex project (around 900 elements) 24.1.9 would always fail.
    With the motor model replaced with a resistor, 24.1.9 produced the following results.
     
    LTspice 24.1.9 for Windows
    Start Time: Wed Jul 16 04:47:29 2025
    Options: gminsteps=0 noopiter NoMarch PlotWinSize=0  abstol=1e-7  chgtol=1e-8  trtol=7  vntol=1e-3
    solver = Normal
    Maximum thread count: 16
    tnom = 27
    temp = 27
    method = Gear
    abstol = 1e-07
    chgtol = 1e-08
    trtol = 7
    volttol = 0.001
    noOpIter = true
    Direct Newton iteration for .op point skipped.
    Gmin stepping method for .op point skipped.
    Starting source stepping with srcstepmethod=0
    Source Step = 3.0303%
    Source Step = 33.3333%
    Source Step = 63.6364%
    Source Step = 93.9394%
    Source stepping succeeded in finding the operating point.
    Total elapsed time: 1133.560 seconds.
     
    I still have to loosen those tolerance settings in either version to keep my project simulating without defcons.
     
    Without the motor model, 24.0.12 also has regained it's sea legs and cranks through my project with similar results as above.
    Except now source stepping in 24.0.12 has become quite labored.
     
    Starting source stepping with srcstepmethod=0
    Source Step = 3.0303%
    vernier = 0.25
    ... 45 more steps
    Source stepping succeeded in finding the operating point.
     
    24.0.12 is also slower than 24.1.9  for the same project.
    Total elapsed time: 1708.006 seconds.
    I don't understand what could be so troubling to LTspice. The motor model consists of 2 H sources, 1 F source, 2 V0 sources, 2 resistors and 2 ideal inductors. Perhaps it's the ideal inductors that cause LTspice so much consternation.
     
    All for now
     
  • Hi  ,

    Have you tried .options debugtran in a transient simulation?

    mike

  • It is odd that 24.0.12 is laboring now.

    mike

  • Hello All:

    I was premature in stating that the motor model was the cause of 24.1.9's issues.

    My recent work was centered around a diff amp. My project controls DC motors.

    I was using the built-in AD8274 diff amp model and working on 24.0.12.

    I noticed a persistent -300uV to -500uV output offset from that AD8274 model and was investigating such when 24.0.12 stopped simulating my project.

    Since it takes 15 minutes to run a sim on my project, I decided to rebuild my project block by block, starting with the power MOSFET end of things.

    And, as already explained, I started with just a resistor instead of the motor model.

    I saw the benefit of having the power only section controlled by a simple PWL list to push it through a few on-to-off-to-on cycles.

    The power only section simulated in about 45 seconds.

    So I thought to make the full project plots match the power only plots.

    So the first thing was to remove the motor from the full project and replace with a resistor, cross my fingers and push the go button.

    To my delight, the full project then simulated perfectly.

    I put the motor back and I got many defcons and a singular matrix.

    For my application a gain of 0.5X diff amp is perfect.

    I have found only two low cost contenders, the INA157 from TI and the AD8274 from ADI. The INA157 cost is 40% less than the AD8274 from an Asian supplier.

    The only INA157 model I have found, is a Pspice model from TI. That model caused immediate simulation failure when installed.

    So my only other alternative was the, built-in AD8274 model, which I thought for the longest time was a solid model until I discovered the negative offset.

    So, to keep my project keepin' on, I decided to roll my own diff amp out of an op amp and four resistors, placed on a schematic, packaged up with a symbol identical to the AD8274 symbol as a drop-in replacement.

    Note that the motor model is still installed.

    I checked the ADI website and the first op amp I picked was ADA4620. It caused many defcons. So back to placement.

    ADA4610 also caused many defcons. So to get off the ADA46xx train I next tried ADA4511.

    Presto, perfect operation, no broken offset, no defcons, + to -100uV in, gets + to -50uV out.

    So I switched over to 24.1.9 and made four runs.

    MOTOR AD8274

    NO        NO

    YES      NO

    NO        YES

    NO        YES

    Common output from all runs:

    LTspice 24.1.9 for Windows
    Start Time: Thu Jul 17 19:58:20 2025
    Options: gminsteps=0 noopiter NoMarch PlotWinSize=0  abstol=1e-7  chgtol=1e-8  trtol=7  vntol=1e-3  debugtran
    solver = Normal
    Maximum thread count: 16
    tnom = 27
    temp = 27
    method = Gear
    abstol = 1e-07
    chgtol = 1e-08
    trtol = 7
    volttol = 0.001
    noOpIter = true
    Direct Newton iteration for .op point skipped.
    Gmin stepping method for .op point skipped.

    In both cases with the motor model and without the AD8274 model:

    Starting source stepping with srcstepmethod=0
    Source Step = 3.0303%
    Source Step = 33.3333%
    Source Step = 63.6364%
    Source Step = 93.9394%
    Source stepping succeeded in finding the operating point.

    In the third case without the motor model and with the AD8274 model:

    Note the labored source stepping with the AD8274 installed.

    Starting source stepping with srcstepmethod=0
    Source Step = 3.0303%
    vernier = 0.25
    Source Step = 1.70455%
    Source Step = 3.59848%
    Source Step = 5.49242%
    Source Step = 7.38636%
    Source Step = 9.2803%
    vernier = 0.09375
    Source Step = 11.9318%
    Source Step = 14.7727%
    Source Step = 17.6136%
    Source Step = 20.4545%
    Source Step = 23.2955%
    vernier = 0.140625
    Source Step = 27.1307%
    Source Step = 31.392%
    Source Step = 35.6534%
    Source Step = 39.9148%
    Source Step = 44.1761%
    vernier = 0.210938
    Source Step = 49.7159%
    Source Step = 56.108%
    Source Step = 62.5%
    Source Step = 68.892%
    Source Step = 75.2841%
    vernier = 0.316406
    Source Step = 83.2741%
    Source Step = 92.8622%
    Source stepping succeeded in finding the operating point.

    In the forth case with the motor model and with the AD8274 model:

    Starting source stepping with srcstepmethod=0
    Source Step = 3.0303%
    Singular matrix:  Check node xcomp:u3:r17_p
       Iteration No. 75
    Singular matrix:  Check node xcomp:u3:r17_p
       Iteration No. 1
    Singular matrix:  Check node xcomp:u3:r17_p
       Iteration No. 1
    Source Step = 33.3333%
    Source Step = 63.6364%
    Source Step = 93.9394%
    Source Step = 100%
    Source Step = 100%
    Source Step = 100%
    Source stepping succeeded in finding the operating point.

    Changing Tseed to 1e-10
    ... Many more Tseed changes.

    Simulation Failed: Iteration limit reached.

    In all four cases, .options debugtran, produced essentially the same list with some shuffling such as:

    Device Convergence Difficulty Score:
        xv-15:u1:Q1     : 5.484383
        ... truncated
        xv-15:u1:S3     : 0.095192

    The devices cited with difficulty scores from 5.5 down to 0.1 are always:

    xv-15:u1  is MC34063 user .subckt
    xv+48:u1  is MC34063 user .subckt
    xv-15:u2  is BAV99 user .subckt
    xv-15:Q2  is PMBT6429 built-in .model
    xv-15:Q3  is S8050 user .model
    xv+48:M1  is 2N7002 built-in .model
    xv-15:DM- is SD103A user .model
    xv-15:DS  is SD103A user .model
    xv+48:D2  is 1N4148 built-in .model
    xv+48:DS  is BAT46WJ built-in .model
    xv+48:D48 is BAT46WJ built-in .model
    xv+48:Q4  is UMT3906 user .model
    xsw1x:Mx are AP9465GEM built-in .model
    xdiff:u3 is AD8274 built-in .subckt

    But, no one knows what scores from 0.1 to 5.5 mean.

    My list is always topped by the MC34063 model.

    I have found eight MC34063/MC33063 models the world over. Six of them cause immediate defcons or worse when installed. One made by AnalogSpiceman works but, is much slower than the only one left which I believe came from Bordodynov. That's the one cited in the difficulty score. It was originally a schematic of all built-in A, C, D, and S devices that was netlisted into a .subckt.

    Now that I have the motor back and the AD8274 replaced with a discrete diff amp implementation I can continue moving forward with my project.

    I understand that it is a complicated subject and difficult or impossible to troubleshoot which of dozens of models may be to blame.

    I'm sure that operating an ADA4610 or ADA4620 in a simple test jig works just fine.

    Although, the AD8274 model is definitely broken. Short both inputs together and it still outputs a drifty -300 to -500uV offset.

    All for now

  • I am pleased to write that 26.0.1 simulates my project without flaw.
    It is quite precise in the amount of time required to perform the simulation.
    I can easily see the effect of altered or additional components/models by watching the time-processed/second display.
    I have tested 26.0.1 for several weeks now and find no flaw.
    Bad models cause noticeable slow downs and, worse models cause singular matrix failures.
    Good models work as expected and keep my simulation processing at better than 100us/s.
    I believe that to be a pretty good pace to process a sim with more than a dozen IC models and some 850 other elements.

    24.0.12 was the last version capable of processing my project.
    All 24.1.x versions and the 26.0.0 would not.

    I tip my hat to the folks at ADI.
    Excellent work on version 26.0.1.

    All for now