¿ªÔÆÌåÓý

Date

PWL with REPEAT/ENDREPEAT fails with zero start time and negative amplitudes.

 

There appears to be a bug in LTspice Version 24.1 that is still present in V.24.1.4. The Repeat/EndRepeat directive in some PWL source directives throughs an error.
See my uploaded example file PWL_Example1A.asc
?
ERROR MESSAGE:
net(3): Conflict: Last value differs from first value.
V2 out2 0 PWL repeat for 3 (0 0 1m 5 2m 5 2.5m -1 3m -1 4m 2 4.5m 2) endrepeat
? ? ? ? ? ? ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Re: Stepping MOSFETs

 

I understand you can step .model files but can you step two mosfets that use the .subckt
?
Larry


Re: Stepping MOSFETs

 

On Mon, Mar 3, 2025 at 06:02 PM, Tony Casey wrote:
It turns out that numeric models of "0" are rejected as invalid in all versions of LTspice, including 24.1.4, even though it is ultimately converted to a string. So the .STEP'ed parameter list can't start at 0.


--
Regards,
Tony
That should not be the case. There is no special treatment of the number zero. Can you provide a test case that proves a problem? Works just fine over here.
?
Best Regards,
Mathias


Re: LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

On Mon, Mar 3, 2025 at 05:32 AM, Carlo wrote:
I'm not sure whether this is the right place to ask about the difference seen in tube amplifier's transient analysis between LTspice and ngspice.
Depending on what those differences are, it might or might not be ideal to ask here.? There are not a lot of group members here who use both programs, but there are a few.? Some?have asked LTspice/ngspice questions here before, sometimes but not always with much response.
?
Do you think LTspice's or ngspice's results are wrong?

Are you aware of the differences between LTspice and other SPICE programs?? Some of them include inductor series resistance, and waveform compression.? If making comparisons, are you sure the conditions were the same?
?
I think it should not hurt to ask here, as long as you do not expect good answers, and realize that there is some bias.
?
Andy
?


Re: Stepping MOSFETs

 

¿ªÔÆÌåÓý

On 03/03/2025 17:12, Andy I via groups.io wrote:
Can LTspice24 (vers. 24.1.4) .STEP through non-numeric parameter values?
?
If it can .STEP only through numeric parameter values, then how does it eliminate the need to rename the models?
I think you missed the context of earlier messages. The numeric .STEP'ed parameter is silently converted to a string as a "workaround". To use this directly, still requires the AKO: syntax.

The new method of avoiding AKO: is:

M1 D G 0 0 {Model}
.step param M list 0 1
.param Model select(M,"BSP89","BSS145")


The problem with this is that the new select syntax is implicitly a zero-based array, so the .STEP'ed parameter list must start at 0 and increment by 1. If you tried to make this capable of also supporting the old AKO method with pre-24.1.4, you'd have to change it to:

M1 D G 0 0 {M}
.step param M list 1 2
.model 1 AKO: BSP89
.model 2 AKO: BSS145

It turns out that numeric models of "0" are rejected as invalid in all versions of LTspice, including 24.1.4, even though it is ultimately converted to a string. So the .STEP'ed parameter list can't start at 0.

However, a workaround for this is:

M1 D G 0 0 {M+1}
.step param M list 0 1
.model 1 AKO: BSP89
.model 2 AKO: BSS145

Are you keeping up?? :-)

--
Regards,
Tony


Re: LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

ngspice has its own mailing list.? It is still current as of 2025.? It is hosted on sourceforge.net.
?
There is one list for Users, one for Developers, and one for reporting Bugs.
?
Andy
?


Re: Transferring opamps and other libraries

 

On Mon, Mar 3, 2025 at 07:36 AM, Carlos E. Mart¨ªnez wrote:
Of course I installed version 24.0, and I was talking indeed about the problems I was having when trying to run my sims with parts this version did not have in its library.
Carlos,
?
Yes I understand that.? But are they parts that CAME with the older version, or are they parts that YOU added to the previous version?
?
People often forget that they added models to their copy of LTspice, and later assume that everyone else has the same models as they do, and that LTspice "came that way", when it did not.? This is one of the reasons why adding your new parts to LTspice's own library is not a good idea.? By keeping added models physically separated from LTspice's own built-in library, it helps to enforce the fact that the model in question did not come with LTspice.? The simulation runs just fine either way, whether an added model is kept separate from LTspice's own library, or added to it.? But it helps YOU see and understand that it was something you added.
?
Is it too long ago for you to remember if you added those models, or if they came with LTspice?
?
Speaking about op-amps, I think LTspice only ever had op-amp models made by Linear Technology or Analog Devices (including companies it acquired).? Models for op-amps that were not made by either company, would not have come with any version of LTspice and must have been added by you.? Note that LTC/ADI second-sourced a few op-amps too.
?
Also, I can't say this with 100% certainty, but I am not aware of any op-amp models made by LTC/ADI and included with LTspice, which were later dropped.? If it was there years ago, I think it is still there.
?
Transistor models are different.? LTC and ADI did not make them.? (Matched pairs being an exception.? But they did not make the transistors that come in LTspice's transistor libraries.)
?
Andy
?
?


Re: Stepping MOSFETs

 

On Mon, Mar 3, 2025 at 02:59 AM, Mathias Born wrote:
In LTspice 24.1.4, numeric parameters implicitely convert to strings. As a result, the old way of using numeric parameters as model names works again.
However, the new string type is better, because it eliminates the need to rename any models.
Can LTspice24 (vers. 24.1.4) .STEP through non-numeric parameter values?
?
If it can .STEP only through numeric parameter values, then how does it eliminate the need to rename the models?
?
Andy
?


Re: LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

On Mon, Mar 3, 2025 at 04:52 AM, Dave Daniel wrote:
There is, however, a group named "Allspice", which is a group for users of all SPICE simulators.
Ah, seen it now, however there are no messages yet !
?


Re: LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

There is, however, a group named "Allspice", which is a group for users of all SPICE simulators.

DaveD
KC0WJN


On Mon, Mar 3, 2025 at 06:41 Carlo via <carlo.cianfarani=[email protected]> wrote:
On Mon, Mar 3, 2025 at 03:32 AM, John Woodgate wrote:
It isn't, really, but someone familiar with both apps might advise you.
I'm aware of there is a for KiCad, however I can't see a specific group for ngspice (which is the Kicad's simulator under the hood).
?
Carlo.
?


Re: Transferring opamps and other libraries

 

Andy,
?
Of course I installed version 24.0, and I was talking indeed about the problems I was having when trying to run my sims with parts this version did not have in its library.
?
Carlos


Re: LTspice 24.1.4 - Limit function

 

Yes this is really a exciting feature for transient analysis of examples with behavioral sources. :-)
But there is? a problem if i made only a .op simulation of a circuit with a huge amount of behavioral sources.
The optimization overhead is here in the relation to the simulation time much to long.?
Therefore i suggest to let the user set or unset this feature by a .options parameter in the simulation file

Best regards?
Friedrich?





Am Mo., M?rz 3, 2025 at 8:44 schrieb Mathias Born via groups.io
<mathias.born@...>:
One of the exciting new features of LTspice 24.1 (which is the best thing since the invention of sliced bread :-) is that it compiles the math expressions of behavioral sources into highly optimized machine code matching the host machine. In this process, the limit() function is decomposed into more primitive operations to allow the optimizer to "see through it". It's the result of this decomposition that you see in the expanded netlist.
Performance measurements have shown that this new approach consistently cuts the time spent for behavioral source down to 50% (!)
?
Best Regards,
Mathias
?
On Sun, Mar 2, 2025 at 06:27 PM, eetech00 wrote:
If I run a schematic with limit function in 24.0.12:
?
b:u1:g_abmii22 u1:32b 0 i=v(u1:32)*(limit(((v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2))), 0, 1))
?
If I run the same schematic with limit function in 24.1.4:
?
u1:BG_ABMII22 u1:32B 0 I=v(u1:32)*if(((v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2)))<0,0,if(((v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2)))>1,1,(v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2))))
?
Both simulations were run with expanded netlist turned on.
?
I guess the expanded netlist format changed.
But did the "Limit" function change too?
?


Re: LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

¿ªÔÆÌåÓý

I believe the latest KiCad works with LTspice, but the problems with version 24.1 might compromise that.

On 2025-03-03 11:41, Carlo wrote:
On Mon, Mar 3, 2025 at 03:32 AM, John Woodgate wrote:
It isn't, really, but someone familiar with both apps might advise you.
I'm aware of there is a groups.io for KiCad, however I can't see a specific group for ngspice (which is the Kicad's simulator under the hood).
?
Carlo.
?
--
OOO - Own Opinions only If something is true: * as far as we know - it's science *for certain - it's mathematics *unquestionably - it's religion

Virus-free.


Re: LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

On Mon, Mar 3, 2025 at 03:32 AM, John Woodgate wrote:
It isn't, really, but someone familiar with both apps might advise you.
I'm aware of there is a groups.io for KiCad, however I can't see a specific group for ngspice (which is the Kicad's simulator under the hood).
?
Carlo.
?


Re: LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

¿ªÔÆÌåÓý

It isn't, really, but someone familiar with both apps might advise you.

On 2025-03-03 10:32, Carlo wrote:
Hello,
I'm not sure whether this is the right place to ask about the difference seen in tube amplifier's transient analysis between LTspice and ngspice.
?
The tube amplifier was the topic of this thread a few weeks ago.
?
Let me know whether I can ask here....
?
Thanks, Carlo.
?
?
--
OOO - Own Opinions only If something is true: * as far as we know - it's science *for certain - it's mathematics *unquestionably - it's religion

Virus-free.


LTspice vs ngspice 12AU7 tube amplifier transient analysis

 

Hello,
I'm not sure whether this is the right place to ask about the difference seen in tube amplifier's transient analysis between LTspice and ngspice.
?
The tube amplifier was the topic of this thread a few weeks ago.
?
Let me know whether I can ask here....
?
Thanks, Carlo.
?
?


Re: Stepping MOSFETs

 

¿ªÔÆÌåÓý

On 03/03/2025 08:59, Mathias Born via groups.io wrote:
This is a good example for how ADI is indeed paying attention to the valuable feedback from this group.
In LTspice 24.1.4, numeric parameters implicitely convert to strings. As a result, the old way of using numeric parameters as model names works again.
However, the new string type is better, because it eliminates the need to rename any models.
?
Best Regards,
Mathias
Yes, I can confirm this does now work in 24.1.4, provided "0" isn't one of the model names, which I had inadvertently done in the example I uploaded. But when revisiting this, I note that it also fails in earlier versions, seemingly because a model name of "0" is not interpreted as numeric.

17.1.15 or 24.0.12
Error on line 4 : m1 d g 0 0? 0
??? Error:? No unlabeled parameter permitted for MOSFET's
24.1.4
C:\users\tony\Desktop\LTspice\Stepping_to_the_max\Stepping_Models_post-V24.1.net(5): Unknown parameter
M1 D G 0 0 {M}
????????? ^^^^
It's hard to believe I had not noticed this before. Lesson learnt: don't use "0" as a numeric model name!

--
Regards,
Tony


Re: Stepping MOSFETs

 

This is a good example for how ADI is indeed paying attention to the valuable feedback from this group.
In LTspice 24.1.4, numeric parameters implicitely convert to strings. As a result, the old way of using numeric parameters as model names works again.
However, the new string type is better, because it eliminates the need to rename any models.
?
Best Regards,
Mathias
?
On Thu, Feb 27, 2025 at 09:25 AM, Tony Casey wrote:

On 27/02/2025 04:45, Andy I via groups.io wrote:
But it was temporarily broken when V24.1 was first introduced.
Is it still broken?
As of 24.1.4, it is still broken. I tried the original method, which failed, before adding the modification suggested by Matthias.

An equally serious issue, IMHO, is that the new method is not supported by older versions of LTspice. Obviously, there is a workaround by including both options on a new schematic, with a note to enable only one of them, but that is no help for people with old schematics wanting to use the new LTspice version.

--
Regards,
Tony


Re: LTspice 24.1.4 - Limit function

 

One of the exciting new features of LTspice 24.1 (which is the best thing since the invention of sliced bread :-) is that it compiles the math expressions of behavioral sources into highly optimized machine code matching the host machine. In this process, the limit() function is decomposed into more primitive operations to allow the optimizer to "see through it". It's the result of this decomposition that you see in the expanded netlist.
Performance measurements have shown that this new approach consistently cuts the time spent for behavioral source down to 50% (!)
?
Best Regards,
Mathias
?
On Sun, Mar 2, 2025 at 06:27 PM, eetech00 wrote:

If I run a schematic with limit function in 24.0.12:
?
b:u1:g_abmii22 u1:32b 0 i=v(u1:32)*(limit(((v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2))), 0, 1))
?
If I run the same schematic with limit function in 24.1.4:
?
u1:BG_ABMII22 u1:32B 0 I=v(u1:32)*if(((v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2)))<0,0,if(((v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2)))>1,1,(v(u1:31vdd1)-v(u1:vde))/(v(u1:31vdd1)-v(u1:31vdd2))))
?
Both simulations were run with expanded netlist turned on.
?
I guess the expanded netlist format changed.
But did the "Limit" function change too?
?


Re: Transferring opamps and other libraries

 

Carlos,
Andy I is correct when he mentions locations for different versions of LTspice.
?
I still have both LTspiceIV and LTspiceXVII on my computer system.
Both versions are in their factory default locations.
?

C:\Program Files (x86)\LTC\LTspiceIV\scad3.exe

C:\Program Files (x86)\LTC\LTspiceIV\examples

C:\Program Files (x86)\LTC\LTspiceIV\lib

?

C:\Program Files\LTC\LTspiceXVII\XVIIx64.exe

C:\Users\(user name)\Documents\LTspiceXVII\examples

C:\Users\(user name)\Documents\LTspiceXVII\lib

?

Mike