0
\$\begingroup\$

Working with basic circuit with pulsed voltage yields a rise and fall time or 0.5ns. My maximum time step is 1ps. With no delay , rise or fall times assigned. ( default assigned to zero) .

How do I reduce the rise and fall time to ideal case of 0 in my LTSpice model ?

What are the minimum limits in LTSpice rise and fall times if it cannot be 0(zero) ?

In this example simulation I changed my simulation parameters to picoseconds range. Even then there is a rise and fall time of 0.05ps.

enter image description here

At a higher range the same happens. In the attachment simulation in the range of seconds is shown. Is there a setting that I need to change in LTSpice ?

enter image description here

\$\endgroup\$
  • \$\begingroup\$ Memory serving, when you use exact "0" LTSpice considers that permission to use 5% up and 5% down. I think that's in the docs. \$\endgroup\$ – jonk Jun 23 '17 at 20:24
  • 2
    \$\begingroup\$ LTSpice is an industry standard and designed for use in the real world. It's not an educational program. In the real world, 0s rise and fall times are impossible. All electronics are fundamentally analogue. I'm not even sure that the numerical solution underlying a transient analysis would converge to anything sensible. \$\endgroup\$ – Paul Uszak Jun 23 '17 at 20:36
  • \$\begingroup\$ See: electronics.stackexchange.com/questions/237108/… and also ltwiki.org/… \$\endgroup\$ – jonk Jun 23 '17 at 20:47
2
\$\begingroup\$

Rise & fall times can't be truly zero due to the way that SPICE works. A "zero" risetime by definition will have an infinite dV/dt. This doesn't make sense from the perspective of the solver, which in the case of LTSpice is a modified trapezoidal method. The tightest risetime you can muster will be the smallest timestep you use (dt).

This is OK, since in the real world risetimes aren't zero either. Even incredibly high speed digital communications buses will have rise times in the range of tens of picoseconds, and most practical signals the average EE deals with will be in the single or double digit nanosecond range.

For practical purposes, you shouldn't worry too much about sharp risetimes in SPICE. It can actually be detrimental, since it will (1) slow down your solver by requiring a tighter timestep, and (2) may introduce numerical instability. If I want a sharp risetime, I'll usually set the risetime on pulse trains to two or three orders of magnitude less than the period of the pulse, and then forget about it.

For more information on how LTSpice works internally, Mike Engelhardt (author of LTSpice) has a great blog entry: http://www.linear.com/solutions/5739.

EDIT: jonk in the comments above pointed out this very useful LTWiki link describing the default behaviour when zero risetime is specified: http://ltwiki.org/index.php5?title=Most_frequently_asked_questions_for_beginners#I_have_a_pulse_source_in_my_schematic_with_zero_transition_times..C2.A0_LTspice_only_shows_slow_transition_times_of_2ns..C2.A0_What.27s_going_on_here.3F.

\$\endgroup\$
  • 2
    \$\begingroup\$ Thanks for the good catch with Mike's entry, too. +1 Nice. (I think including the link to the LTwiki about the default rise/fall may also help by capturing the fact in an answer instead of a comment. But that's just me.) \$\endgroup\$ – jonk Jun 23 '17 at 21:13
  • \$\begingroup\$ @jonk: good call, I've added the link to my answer. \$\endgroup\$ – Peter Jun 23 '17 at 23:13
0
\$\begingroup\$

The numerical solver used in all flavours of SPICE, not just LTSPICE, assumes a finite risetime. In the real world, this is not a problem, as all phenomena have finite risetimes.

You can use arithmetic to solve it in the exact case of zero risetime, or calculus if it has capacitors or inductors in it, but then you'll be solving it outside a simulator.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.