LTSPICE Users Guide For PC
LTSPICE Users Guide For PC
Electrical Systems
The LTspice Simulator
YouTube tutorial
[Link]
A clear example of the relevance of simulators is the gaming industry. Any game you play is the
simulation of “a world”. For every entity that moves, shoots, dies, grows, teleports and breaks on the
screen, there are thousands, if not millions, of mathematical equations being solved per second. The
gaming industry is as much about mathematics, as it is about creativity and artistry.
Most industries heavily rely on simulators to succeed. Chemical plants, electrical distribution networks,
building structures, mine shafts, walking robots, the stock market, semiconductors, Formula 1 engines,
refineries; are a few examples of processes that are modelled and simulated in industry.
LTspice is a free tool to simulate electrical and electronic circuits. The beauty about commercial
simulators is that they come with libraries of components, hence you do not have to worry about the
mathematical models behind the components you are about to simulate. You can analyse the behaviour
of a circuit without the need for physical components. All happens in the computer. However, it is good
practice to keep in mind that the circuits you simulated are representations of something physical, not
just some nice symbols on the screen. With that in mind, read the following pages to learn how to enter
and simulate electrical circuits in LTspice. Have fun!
[Note: These tutorial notes were copied from the Help available in the LTspice simulator. It is a good
idea to have the program open and try the features you are learning while you read about them.]
Software Installation
LTspice XVII runs on 32- or 64-bit editions of Windows 7, 8, or 10. Windows XP is not supported.
Windows XP users can run LTspice IV1, which is still be available in observance of Linear Technology
Corporation's zero obsolescence tradition.
LTspice XVII can be downloaded from [Link] A direct link to the distribution file is
[Link]
The file [Link] is a self-extracting gzipped file that installs LTspice XVII.
LTspice XVII is updated often. After LTspice XVII is initially installed, you can use a built-in update menu
command that will bring your installation to the current revision level if you have access to the web. The
update process will first download a master index file from Linear's website that has the size and
checksum of each file in the distribution. If a file is missing, is of a different size, or differs in checksum,
then that file will be updated. Component databases are merged in the update process so if you've
added devices to your installation, those additions won't be lost when you run the automatic update
utility.
1
LTspice IV is no longer updated.
Modes of Operation
LTspice XVII is intended to be used as a general purpose schematic capture program with an integrated
SPICE simulator. The idea is you draw a circuit (or start with an example circuit that's already drafted)
and observe its operation in the simulator. The design process involves iterating the circuit until the
desired circuit behavior is achieved in simulation.
The schematic is ultimately converted to a textual SPICE netlist that is passed to the simulator. While
the netlist is usually extracted from a graphical schematic drafted in LTspice, an imported netlist can be
run directly without having a schematic. This second mode of operation has some uses: (i) Linear
Technology's filter synthesis program, FilterCAD, can synthesize a netlist for LTspice to simulate the time
domain or frequency response of a filter. (ii) it simplifies benchmarking LTspice against other SPICE
programs (iii) professionals historically experienced with SPICE circuit simulators are familiar with
working directly with the textual netlists because schematic capture was not integrated with SPICE
simulators in very old simulators.
Example Circuits
There are several source of example circuits for LTspice XVII. There is the directory
%HOMEPATH%\Documents\LTspiceXVII\examples\Educational
that gives numbers non-commercial examples of SPICE simulations that illustrate different analysis
types, methods or program features.
In the directory
%HOMEPATH%\Documents\LTspiceXVII\examples\jigs
there is an example simulation for every Linear Technology device with a macromodel in LTspice XVII.
Note that these jig circuits are often only test jigs for the macromodel, not necessarily recommended
reference designs. You will need to audit the value of the capacitors used in the SMPS circuits. Your local
Linear Technology office should be able to give you design support specific for your application needs.
Notice that LTspice XVII includes handlers to give a preview of the schematics in Windows Explorer and
file utilities.
LTspice XVII allows you to draft and simulate circuits of unlimited size and content. Marching waveforms,
cross probing, reverse cross probing, and unlimited hierarchy are supported.
Efficiency Report
It is possible to obtain an efficiency report from a DC-DC converter from a time domain .tran analysis
that contains the keyword "steady". After a steady state simulation, an efficiency report can be made
visible on the schematic as a block of comment text:
The efficiency of the DC-DC converter is derived in the following manner. In order to identify the input
and output, there should be exactly one voltage source and one current source. The voltage source is
assumed to be the input while the current source is assumed to be the output. The output can also be
identified if the load is a resistor with an instance name of Rload. The circuit is run until steady state is
sensed by the simulator. This requires the SMPS macromodels to be written with information on how
to detect steady state. Usually this is detected by noting when the error amp current, averaged over a
clock cycle, diminishes to a small value for several cycles. Then at a clock edge, the energy stored in each
reactance is noted and the simulation is run for another ten clock cycles but now integrating the
dissipation in every device. At the clock edge of the last cycle, the energy stored in every reactance is
noted again and the simulation is stopped. The efficiency is reported as the ratio of output power
delivered to the load by the input power sourced by the input voltage after making an adjustment for
the change in energy stored in the reactances. Since the dissipation of each device was also noted, it is
possible to look how close the energy checksum is to zero.
You can usually compute efficiency of SMPS circuits you draft yourself by using checking the "Stop
simulating if steady state is detected" in the Edit Simulation Command editor. After the simulation, use
the menu command View=>Efficiency Report.
Automatic detection of steady state doesn't always work. Sometimes the criteria for steady state
detection is too strict and sometimes too lenient. You then either adjust the option parameter sstol or
simply interactively set the limits for the efficiency integration.
Command Line Switches
The following table summarizes the command line switches understood by the LTspice executable,
[Link]([Link] on 32-bit systems):
Flag Description
-b Run in batch mode. E.g. "[Link] -b [Link]" will leave the data in file
[Link]
-encrypt Encrypt a model library. For 3rd parties wishing to allow people to use libraries
without revealing implementation details. Not used by Linear Technology
Corporation models.
-FixUpSchematicFonts Convert the font size field of very old user-authored schematic text to the modern
default.
-FixUpSymbolFonts Convert the font size field of very old user-authored symbols to the modern
default. See [Link] for application hints.
-I<path> Specify a path to insert in the symbol and file search paths. Must be the last
specified option. No space between "-I" and <path> is allowed.
Flag Description
-registry Force LTspice to store user preferences, MRU, etc. in the registry instead of the
file %APPDATA%\[Link]
-Run Start simulating the schematic opened on the command line without pressing the
Run button.
In addition to the above command line switches, LTspice accepts two environmental variables. If
PASTE_OMEGA is set, the UNICODE capital omega symbol, ©, is pasted on the clipboard instead of
"Ohm." If the environmental variable CAPITAL_KILO is set, LTspice understands you prefer an upper
case metric multiplier for all multipliers greater than 1, not just those greater than 1000.
Schematic Capture
Basic Schematic Editing
The schematic capture program is used to create new schematics or modify the example circuits
provided. The circuit size and depth of hierarchy is limited only by computer resources.
The program ships with over 2,000 symbols. These symbols cover most of LTC's power ICs, opamps,
comparators, and many general-purpose devices for circuit design. You can also draw your own symbols
for devices you wish to import into the program.
LTspice schematic editing is a "verb-noun" interface instead of "noun-verb." That means that instead of
first selecting objects(the nouns) to move, drag, copy, or delete(the verbs); you first select the action
and then the object. Hence, when you wish to move, mirror, rotate, drag or delete objects, first select
the move, drag or delete command. Then you can select an object by clicking on it. You can select
multiple objects by dragging a box about them. The program will stay in the move, drag, or delete mode
until the right mouse button is clicked or the Esc key is pressed. The verb-noun approach reduces the
amount of mouse syntax required to edit schematics. Once mastered, it allows the user to draft faster
in LTspice than is possible with pencil and paper.
Undo: Undo the last command.
Redo: Redo the last Undo command.
Text: Place text on the schematic. This merely annotates the schematic with information. This text
has no electrical impact on the circuit.
SPICE Directive: Place text on the schematic that will be included in the netlist. This lets you mix
schematic capture with a SPICE netlist. It lets you set simulation options, include files that contain
models, define new models, or use any other valid SPICE commands. You can even use it to run a
subcircuit that you don't have a symbol for by stating an instance of the model (a SPICE command
that begins with and 'X') on the schematic and including the definition.
SPICE Analysis: Enter/edit the simulation command.
Resistor: Place a new resistor on the schematic.
Label a Node
Each node in the circuit requires a unique name. You can specify the name of a node so the netlister
doesn't make one up for you. Note that as you edit the schematic, automatically generated node names
will of course change as the topology of the circuit changes.
Some designers prefer to label many nodes. My own preferred style, and what I recommend to others,
is to not label any nodes and only plot data via cross-probing. This is analogous to the way I scope out a
circuit -- I don't label the node before attaching the scope probe. Node "0" is the circuit global ground
and is drawn with a special graphical symbol instead of the name "0".
There is also a graphical symbol defined for node "COM", but this node has no special significance. That
is, it's not the SPICE global common and it's not even a global node. It's just sometimes convenient to
have a graphical symbol associated with a node distinct from ground.
If you give a node a name starting with the characters "$G_"; as in for example, "$G_VDD"; then that
node is global no matter where the name occurs in the circuit hierarchy.
It is possible to indicate that a node is a port of type input, output, or bi-directional. These port types
will be drawn differently but have no significance to the netlister. Indicating a port type can make circuit
more readable. Global nodes are also drawn differently in that a box is drawn around the name.
Schematic Colors
Menu command Control Panel=>Drafting=>Configure Colors allows you to set the colors used in
displaying the schematics. You click on an object in the sample schematic and use the red, green and
blue sliders to adjust the colors to your preferences.
Note: Non-electrical graphical annotations made to schematics such as lines and circles will be drawn in
the same color as a component body.
Editing Components
There are three ways to edit components:
• Expert Mode: This is the mode you use most of the time. Simply point at the text you want
to edit, like a component value, right click, and type in the text you want. When you point
at the text, the mouse cursor will turn into a text caret if you can edit it. Most visible
component attribute fields can be edited by pointing at it with the mouse and then right
clicking. The mouse cursor will turn into a text caret when it's pointing at the text. This is
a convenient way of changing the value of a component.
• Assisted Mode: To enter Assisted Mode, right click on the body of the component. That
will invoke a GUI that will help you edit that type of component. It's useful when you are
unsure of the SPICE syntax for what you are trying to accomplish, such as entering the
piecewise linear data for a current source or when you want to pick a semiconductor from
a list of modeled devices. Many component types, such are resistors, capacitors,
inductors, diodes, bipolar transistors, MOSFET transistors, JFET transistors, independent
voltage sources, independent current sources, and hierarchical circuit blocks have special
editors. These editors can access the appropriate database of related components. To use
these editors, right mouse click on the body of the component.
• Super Expert Mode: To enter Super Expert Mode, point at the body of a symbol, hold
down the control key, and right mouse click. You can then have complete control of every
attribute. You can make any attribute and string you wish and you can choose whether or
not the attribute is visible from the schematic. Sometimes it is desired to get direct access
to every available component attribute to edit their contents and visibility. An editor that
allows you to do this can be reached by placing the mouse over the body of a symbol,
holding down the control key, and clicking the right mouse button. A dialog box will
appear that displays all available symbol attributes. Next to each field is a check box to
indicate if the field should be visible on the schematic.
Waveform Viewer
LTspice XVII includes an integrated waveform viewer that allows complete control over the manner
the simulation data is plotted.
The easiest method is to simply probe the schematic. You simply point and click at a wire to plot the
voltage on that wire. You plot the current through any component with two connections (like a
resistor, capacitor or an inductor) by clicking on the body of the component. This works at any level
of the circuit's hierarchy if you've saved all sub circuit voltages and currents. You can also plot
current into a particular connection of a component with more than two pins by clicking on that pin
of the symbol. If you click the same voltage or current twice, then all other traces will be erased and
the double-clicked trace will be plotted by itself. You can delete individual traces by clicking on the
trace's label after selecting the delete command. The following screen shot shows how to point at a
pin current. Notice that the mouse cursor turns into an icon that looks like a clamp on ammeter
when it's pointing at a current that can be plotted and that a red arrow indicates the direction of
positive current which by convention is into the pin.
It is also possible to point at voltage differences with the mouse. You can click on one node and drag
the mouse to another node. You will see the red voltage probe at the first node and a black probe
on the second. This allows you to differentially plot voltages:
Yet another schematic probing technique is to plot the instantaneous power dissipation of a
component. To do this, hold down the Alt key and click on the body of the symbol of the component.
The instantaneous power dissipation will be plotted as an expression of voltages and currents. It will
be plotted on its own scale with the units of Watts. The mouse cursor turns into an icon that looks
like a thermometer when it's pointing at a dissipation that can be plotted. You can find the average
power dissipation by control-clicking the trace label.
You can also probe the current in a wire. To do this, hold down the Alt key and click on the wire. The
mouse cursor turns into a clamp on ammeter to indicate it's pointing at this current and the red
arrow shows the direction of positive current.
Zooming
LTspice XVII autozooms whenever there is new data to plot. To zoom up on an area, simply drag a box
about the region you wish to see drawn larger.
Note that the size of the zoom box is displayed on the status bar at the bottom so that you can quickly
measure differences without setting up attached cursors.
There is toolbar button to return to the autoranged zoom. The undo and redo commands allow you to
review the different zooms used.
Another zoom mode is to hold down the control key while moving the mouse or turning the mouse
wheel. The software will zoom and pan a bitmap of the current plot to give an indication of what the
plot would like like when fully rendered. This mode is intended for huge waveform files that take seconds
to redraw.
Waveform Arithmetic
There are three types of mathematical operations that can be performed on waveform data:
1. Plot expressions of traces.
2. Compute the average or RMS of a trace.
3. Display the Fourier Transform of a trace.
1. Plot expressions of traces.
The Add Trace commands allow one to enter an expression of data. Another method to plot an
expression of available simulation data traces is to move the mouse to the trace's label and right
click. This dialog box also allows you to set the trace's color. LTspice will do a dimensional analysis
of the expression and plot it against a vertical axis labeled with those units. For example, below you
can see that LTspice identified the dimensions of -2*p*pow(I(L1),2)/abs(V(n001)) as A/Ω. All
waveforms in a plotting pane with the same units are plotted on the same axis.
The difference of two voltages; e.g., V(a)-V(b); can written equivalently as V(a,b). The following
functions are available for real data:
cos(x) Cosine of x
exp(x) e to the x
pow(x,y) x**y
pwr(x,y) abs(x)**y
pwrs(x,y) sgn(x)*abs(x)**y
sgn(x) Sign of x
sin(x) Sine of x
tan(x) Tangent of x.
For complex data, the functions atan2(,), sgn(), u(), buf(), inv() uramp(), int(), floor(), ceil(), rand(),
min(,), limit(,), if(,,), and table(...) are not available. The functions Re(x) and Im(x) are available for
complex data and return a complex number with the real part equal to the real or imaginary part
of the argument respectively and the imaginary part equal to zero. The functions Ph(x) and Mag(x)
are also available for complex data and return a complex number with the real part equal to the
phase angle or magnitude of the argument respectively and the imaginary part equal to zero. The
function conj(x) is also available for complex data and returns the complex conjugate of x.
The following operations, grouped in reverse order of precedence of evaluation, are available for
real data:
Operand Description
< TRUE if expression on the left is less than the expression on the
right, otherwise FALSE.
<= TRUE if expression on the left is less than or equal the expression
on the right, otherwise FALSE.
+ Addition
- Subtraction
* Multiplication
/ Division
TRUE is numerically equal to 1 and FALSE is 0. Conversion to Boolean converts a value to 1 if the
value is greater than 0.5, otherwise the value is converted to 0.
The step selection operator, '@' is useful when multiple simulation runs are available as in a .step,
.temp, or .dc analysis. It selects the data from a specific run. For example, V(1)@3 would plot the
data from the 3rd run no matter what steps where selected for plotting.
For complex data, only +, -, *, /, **, and @ are available. Also with regard to complex data, the
Boolean XOR operator, ^ is understood to mean exponentiation, **.
The following constants are internally defined:
Name Value
E 2.7182818284590452354
pi 3.14159265358979323846
K 1.3806503e-23
Q 1.602176462e-19
The keyword "time" is understood when plotting transient analysis waveform data. Similarly,
"freq" and "omega" are understood when plotting data from an AC analysis. "w" can be used as a
synonym for omega.
LTspice uses a proprietary FFT algorithm that allows an arbitrary number of datapoints, i.e., not limited
to a power of 2.
When you expect to do FFT's of your simulation data, you will probably want to turn off waveform
compression, stipulate a maximum time step, and possibly even use double precision waveform file
format to reduce the numeric noise floor. The following netlist shows that the intrinsic noise floor of
LTspice's FFT algorithm is in excess of 300dB.
User-Defined Functions
The menu command Plot Settings=>Edit Plot Defs File allows you to enter your own function
definitions and parameter definitions for use in the waveform viewer. These functions are kept in the
file %HOMEPATH%\Documents\LTspiceXVII\[Link].
Then the syntax is the same as the .param and .func statements used for parameterized circuits. E.g.,
the line
.func Pythag(x,y) {sqrt(x*x+y*y)}
defines the function Pythag() to be the square root of the sum of its two arguments.
Similarly, the line
.param twopi = 2*pi
defines twopi to be 6.28318530717959. Note that it uses the internally defined constant pi of the
waveform viewer.
Axis Control
When you move the mouse cursor beyond the data plotting region, the cursor turns into a ruler. This
indicates that you are pointing at that axis' attributes. When you left click you can enter a dialog to
manually enter that axis' range and the nature of the plot. For example, for real data, if you move the
mouse to the bottom of the screen and left click, you can enter a dialog to change the horizontal quantity
plotted. This lets you make parametric plots.
For complex data, you can choose to plot either phase, group delay, or nothing against the right vertical
axis. You can change the representation of complex data from Bode to Nyquist or Cartesian by moving
the mouse to the left vertical axis of complex data.
Plot Panes
Multiple plot panes can be displayed on one window. This allows better separation between traces and
allows different traces to be independently autoscaled.
Traces can be dragged between panes by dragging the label. A copy of a trace can be made on another
pane by holding down the control key when you release the mouse button.
Color Control
The menu command Tools=>Color Preferences colors allows you to set the colors used for plotting data.
You click on an object in the sample plot and use the red, green and blue sliders to adjust the colors to
your preferences.
Attached Cursors
There are up to two attached cursors per plotting pane available. You can attach a cursor to a trace by
left mouse clicking on the trace label. You can attach both cursors to a single trace by right clicking on
the trace label and selecting "1st & 2nd". You can also attach the 1st or 2nd cursor or both cursors to
any trace by right clicking on that trace's label and using the Attached Cursor drop down box. The
attached cursors can be dragged about with the mouse or moved with the cursor keys.
When there are active attached cursors, a readout display becomes visible that will readout the data at
the cursors and report the difference.
Note that there is also mouse cursor readout independent of the above attached cursor readout. As you
move the mouse over the waveform window, the mouse position is readout on the status bar. If you
drag the mouse as if you were going to zoom, the size of box is displayed on the status bar. This lets you
quickly measure differences with the mouse cursor. If the horizontal axis is time, then this time
difference is also converted to frequency.
You can measure differences in this manner without performing the zoom by either pressing the Esc key
or right mouse button before releasing the left mouse button.
The attached cursors can also be used to readout which trace belongs to which run of a .step/.dc/.temp
set of simulation runs. You can navigate the cursor from dataset to dataset with the up/down keyboard
cursor keys and then right-click on the cursor to see the step information for that run.
LTspice Simulator
LTspice XVII is a schematic-driven circuit simulation program. The LTspice simulator was originally based
years ago on Berkeley SPICE 3F4/5. The simulator has gone through a complete re-write in order to
improve the performance of the simulator, fix bugs, and extend the simulator so that it can run industry
standard semiconductor and behavioral models. A digital simulation capability, including co-simulation,
has been added. Extensive enhancements have been made to the analog SPICE simulator, such as
parallel processing and dynamic assembly and object code generation in the SPARSE matrix solver to
make LTspice XVII the industry superlative analog simulator.
Many Linear Technology products are modeled with proprietary building blocks and/or proprietary
hardware description languages that accurately encapsulate realistic behavior with custom
macromodels. This allows a SMPS to be prototyped rapidly via simulation.
LTspice is intended to be used as your general-purpose SPICE simulator. New circuits can be drafted with
the built-in schematic capture. Simulation commands and parameters are placed as text on the
schematic using established SPICE syntax. Waveforms of circuit nodes and device currents can be plotted
by clicking the mouse on the nodes in the schematic during or after simulation.
An invaluable reference that complements this documentation is the 2nd Edition of Semiconductor
Device Modeling with SPICE by Giuseppe Massobrio and Paolo Antognetti, McGraw Hill, 1993 and later
reprints. That book documents the semiconductor device equations and extensions that have been used
in various commercial SPICE programs including those used in this one. For BSIM 3 and 4 devices, see
the relevant documentation available from the UC Berkeley CAD group.
LTspice is a registered trademark of Linear Technology Corporation.
Circuit Description
Circuits are defined by a text netlist. The netlist consists of a list of circuit elements and their nodes,
model definitions, and other SPICE commands.
The netlist is usually graphically entered. To start a new schematic, select the File=>Open menu item. A
windows file browser will appear. Either select an existing schematic and save it under a new name or
type in a new name to create a new blank schematic file. LTspice uses many different types of files and
documents. You will want to make a file with a file name extension of ".asc". The schematic capture
commands are under the Edit menu. Keyboard shortcuts for the commands are listed under Schematic
Editor Overview.
When you simulate a schematic, the netlist information is extracted from the schematic graphical
information to a file with the same name as the schematic but with a file extension of ".net". LTspice
reads in this netlist.
You can also open, simulate, and edit a text netlist generated either by hand or externally generated.
Files with the extensions ".net", ".cir", or ".sp" are recognized by LTspice as netlists.
This section of the help documents the syntax used in netlists, but occasionally gives schematic-level
advice.
General Structure and Conventions
The first line in the netlist is ignored, that is, it is assumed to be a comment. The last line of the netlist is
usually simply the line ".END", but this can be omitted. Any lines after the line ".END" are ignored.
The order of the lines between the comment and end is irrelevant. Lines can be comments, circuit
element declarations or simulation directives. Let's start with an example:
* Comment
C Capacitor
D Diode
J JFET transistor
K Mutual inductance
L Inductor
M MOSFET transistor
Q Bipolar transistor
R Resistor
U Uniform RC-line
X Subcircuit Invocation
Numbers can be expressed not only in scientific notation; e.g., 1e12; but also using engineering
multipliers. That is, 1000.0 or 1e3 can also be written as 1K. Below is a table of understood multipliers:
Suffix Multiplier
T 1e12
G 1e9
Meg 1e6
K 1e3
mil 25.4e-6
m 1e-3
u(or μ) 1e-6
n 1e-9
p 1e-12
f 1e-15
The suffixes are not case sensitive. Unrecognized letters immediately following a number or engineering
multiplier are ignored. Hence, 10, 10V, 10Volts, and 10Hz all represent the same number, and M, MA,
MSec, and MMhos all represent the same scale factor(.001). A common error is to draft a resistor with
value of 1M, thinking of a one Megaohm resistor, however, 1M is interpreted as a one milliohm resistor.
This is necessary for compatibility with standard SPICE practice.
LTspice will accept numbers written in the form 6K34 to mean 6.34K. This works for any of the multipliers
above. It can be turned off by going to Tools=>Control Panel=>SPICE and unchecking "Accept 3K4 as
3.4K".
Nodes names may be arbitrary character strings. Global circuit common node(ground) is "0", though
"GND" is special synonym. Note that since nodes are character strings, "0" and "00" are distinct nodes.
Throughout the following sections of the manual, angle brackets are placed around data fields that need
to be filled with specific information; for example, "<srcname>" would be the name of some specific
source. Square brackets indicate that the enclosed data field is optional.
Component Syntax
Control Panel
To get to the Control Panel, use the menu command Tools=>Control Panel. There you can configure
many aspects of LTspice XVII.
Compression
LTspice compresses the raw data files as they are generated. A compressed file can be 50 times smaller
than the un-compressed one. This is a lossy compression. This pane of the control panel allows you to
control how lossy the compression runs.
Window Size(No. of Points): Maximum number of points that can be compressed into two end points.
Set to zero to turn off waveform compression.
Relative Tolerance: The relative error allowed between the compressed data and the uncompressed
data.
Absolute Voltage tolerance[V]: The voltage error allowed by the compression algorithm.
Absolute Current tolerance[A]: The current error allowed be the compression algorithm.
These compression settings are not remembered between program invocations to encourage use of the
defaults. They are available on the control panel for diagnostic purposes. The tolerances and window
size can be specified with option parameters plotreltol, plotvntol, plotabstol and plotwinsize in .option
statements placed as SPICE directives on the schematic.
You will probably want to turn off compression when using .four statements or doing FFT's in post
analysis of your data with the SPICE directive:
.options plotwinsize=0
Save Defaults
These settings are used when you don't explicitly state which nodes should be saved in a simulation.
Useful settings are "Save Device Currents", "Save Subcircuit Node Voltages", and "Save Subcircuit Device
Currents". Device voltages and internal device voltages are only of internal program development use.
Save Device Currents: Check this so that you can plot device and terminal currents. You will also need
it to be able to plot dissipation.
Save Subcircuit Node Voltages: You will need to check this to plot voltages in hierarchical designs.
Save Subcircuit Device Currents: You will need to check this to plot currents in hierarchical designs.
Don't save Ib(), Ie(), Is(), Ig(): This saves only the collector(drain) currents of transistors in the interest
of reducing the size of the output .data file. This is useful for IC design, but it using it means that
there isn't enough data available to compute transistor dissipation.
Save Device Currents: Check this so that you can plot device and terminal currents. You will also need
it to be able to plot dissipation.
SPICE
This pane allows you to define the various defaults for LTspice. These defaults can be overridden in any
simulation by specifying the options in a .option statement in that simulation. Usually you can leave
these options as they are.
One default you may want to change is Trtol. Most SPICE programs default this to 7. In LTspice this
defaults to 1 so that simulations are extremely unlikely to show any simulation artifacts in their
waveforms. Trtol affects the timestep strategy more than directly affecting the accuracy of the
simulation. For transistor-level simulations, a value larger than 1 is usually a better overall solution. You
might find that you get a speed of 2x if you increase trtol with out adversely affecting simulation
accuracy. Your trtol setting is remembered between program invocations. However, most of the
traditional SPICE tolerance parameters, gmin, abstol, reltol, chgtol, vntol are not remembered between
program invocations in order to encourage use of the default values. If you want to use something other
than the default values, you will have to write a .option statement specifying the values you want to use
and place it on the schematic or keep the settings in a file and .inc that file.
Also interesting is which solver is used. LTspice contains two complete implementations of SPICE. One
is called the Normal Solver and the other is called the Alternate Solver. The Alternate Solver uses a
different sparse matrix package with reduced roundoff error. Typically the Alternate Solver will simulate
at half the speed of the Normal Solver but with one thousand times more internal accuracy. This can be
a useful diagnostic to have available. There is no .option to specify which solver is used, the choice must
be made before the netlist is parsed because the two solvers use different parsers.
The maximum number of threads is set to the maximum number of concurrently executing threads your
OS and CPU hardware supports. The actual number used in any given simulation depends on the nature
of the circuit. While LTspice introduces stochastically cooled threads1 to define the state of the art of
multi-threaded SPICE simulation, there are some circuits that cannot benefit from multiple threads.
LTspice will not tie up additional threads that don't in the end make the simulation run faster.
The matrix compiler defaults to object code. That means that as LTspice solves your circuit, it will, on
the fly, author an assembly language listing optimized for your circuit. It will then assemble, link, and
execute this code instead of the normal LU factorization codes that are written in a mix of C++ and hand-
coded assembly.
Check the box next to "Accept 3K4 as 3.4K" to force LTspice to understand a number written as 4K99 to
be equal to 4.99K. Normal SPICE practice does not allow this, but it is available in LTspice by popular
request.
1]
Multithreaded solvers are hindered by inter-thread communication timing. LTspice improves the
coherency of thread execution by dynamically adjusting the cache available to each thread so they run
at the same real time speed.
Drafting Options
Allow direct component pin shorts: Normally you can draw a wire directly through a component and
the wire segment shorting pins is deleted. If you check it, the shorting wire will not be automatically
deleted.
Automatically scroll the view: Checking this box makes the view of the schematic scroll as you move the
mouse close the edge while editing the schematic.
Mark text Justification anchor points: Draw a small circle to indicate the reference point of text blocks.
Mark unconnected pins: Draw a small square at each unconnected pin to flag it as unconnected.
Show schematic grid points: Start with visible grid enabled.
Orthogonal snap wires: Force wires to be drawn in vertical and horizontal segments while drawing. If
not checked, a wire can drawn at any angle and will snap to any grid. Holding down the control key
will momentarily toggle the current setting while drawing wires.
Ortho drag mode: Force wires to be drawn in vertical and horizontal segments while dragging. If not
checked, a wire can dragged at any angle. Holding down the control key will momentarily toggle
the current setting while dragging wires.
Cut angled wires during drags: During the Drag command, a non-orthogonal wire will be broken into
two connected wires if you click along the middle of the wire
Undo history size: Set the size of the undo/redo buffer.
Pen thickness: Width of pen in pixels.
Draft with thick lines: Increases the all line widths. Useful for generating images for publication.
Show Title Block: For internal use.
Reverse Mouse Wheel Scroll: Normally, pulling the mouse wheel towards yourself moves the paper
closer. If this option is checked, the same mouse syntax will pull your head further back.
Netlist Options
Convert 'μ' to 'u': Replace all instances of 'μ' to 'u'. Useful for generating netlists for SPICE simulators
that don't understand the 'μ' character as the metric multiplier of 1e-6.
Reverse comp. order: Circuit elements are normally netlisted in the order in which they were added to
the schematic. Checking this box causes this order to be reversed.
Default Devices: Whenever a diode is used in an LTspice schematic, the default model statement ".model
D D" is added to the netlist to suppress messages about using the default model. Unchecking this option
suppresses inclusion of this line as well as the analogous model statements for bipolar, MOSFET, and
JFET transistors.
Default Libraries: Whenever a diode is used in an LTspice schematic, the default library, [Link], is
included in the simulation by a .lib statement. Unchecking this option suppresses inclusion of this library
as well as the analogous library statements for bipolar, MOSFET, and JFET transistors.
Waveforms
This pane allows you to configure some aspects of the waveform viewer.
distinguishably different. Using the "XOR" cursor is highly desirable, but not all video hardware
and drivers get this right. Hence LTspice supports an opaque cursor that is in high contrast to the
waveform window background but not necessarily in high contrast to the plot data. This less
desirable cursor is the installation default since some hardware can't do the "XOR" cursor
properly.
Directory for .raw and .log datafiles: This is useful if you want to specify a RAM disk or SSD drive for
waveform data.
Operation
Settings marked with an asterisk [*] are remembered between program invocations.
Default Window Tile Pattern: Allows you to set a preference for windows tiled side by side instead of
one above the other.
Marching Waveforms: Check to enable simulation results to be incrementally plotted during the
simulation.
Generate Expanded Listing: Dump the flat netlist after expanding subcircuits to the SPICE Error Log file.
Save all open files on start of simulation: LTspice simulates the schematic in memory, not the one on
the disk. This option forces the two to be in sync at the start of every simulation.
Automatically delete .raw files: This allows waveform data files to be deleted automatically after
closing a simulation. This dramatically reduces the amount of disk space used by LTspice but
requires the simulation to be rerun when you reopen the simulation.
Background image: Select the background of the main application window frame. The default is a
stipple pattern so that that background isn't confused with a blank schematic. Other choices
include a da Vinci drawing of a collection of his inventions or a user-supplied jpep file that needs
to be stored at path location %USERPROFILE%\[Link]
RAM for Fast Access Conversion: This allows you to tune memory usage when you convert waveform
data to fastaccess files format.
Directory for Temporary Files: Directory for temporary storage of update files downloaded during a
Sync Release.
Assisted Mode in LTspice provides GUI support for editing component values, especially useful when the SPICE syntax is complex. In contrast, Super Expert Mode allows users complete control over component attributes, enabling thorough customization and precise simulation conditions. These modes facilitate both beginner ease-of-use and expert precision, enabling a broad user base to achieve accurate simulations .
LTspice is designed for analog circuit simulation, aimed at evaluating and fine-tuning LTC products efficiently. Its distribution as a freely available tool benefits Linear Technology Corporation by ensuring broad access to a highly effective simulator that encourages the use and evaluation of their products. This strategy allows users to simulate circuits using LTC components, increasing the likelihood of adoption of their products in electronic designs .
Hierarchical simulation allows users to manage complex designs by breaking them into manageable subcircuits, while cross probing enables in-depth analysis by allowing users to quickly view voltages and currents across different hierarchy levels. Together, these features improve simulation management and analytical depth, crucial for efficient design evaluation .
The licensing of LTspice, which restricts modification, reverse engineering, and sublicensing, reflects Linear Technology's strategy to protect its software while promoting product evaluation. The license provides free access for evaluating LTC products specifically, which aligns with their goal of driving product adoption through an accessible yet controlled tool environment .
Updates in waveform plotting and axis control enhance user visualization and data interpretation capabilities. Users can select specific data traces, manipulate plot axes, and control plot representation, allowing for precise analysis of simulation results. These features increase analytical power, making LTspice a more effective tool for diagnosing and optimizing circuit designs .
LTspice maintains backward compatibility by allowing older software versions like LTspice IV to remain available for unsupported operating systems such as Windows XP. This ensures users dependent on legacy systems can still access important simulation tools, sustaining continuity in user operations and preserving existing workflows .
LTspice uses a built-in update mechanism that merges and updates component databases without losing user-customized additions. This ensures users have access to the latest components while maintaining personalized simulation environments, essential for maintaining up-to-date, efficient, and accurate simulations .
LTspice’s capability to work with externally generated netlists enhances its utility as a versatile simulation tool. This flexibility allows engineers to integrate LTspice into existing workflows or use it to verify imported designs from other software. By supporting netlists from a variety of formats, LTspice ensures broader applicability and integration into complex design processes .
LTspice XVII introduced several updates, including 64-bit support, UNICODE compatibility, new device equations, and improved GUI. These updates enhance user experience by supporting modern computing standards, accommodating diverse languages, expanding device modeling capabilities, and improving ease of use through GUI enhancements. These changes significantly improve simulation accuracy and user accessibility .
The decision to freely distribute LTspice without functional restrictions significantly contributes to its dominance and standard status in the industry. By ensuring the software's functionalities align with those of its in-house version, LTspice attracts a wide adoption, encouraging industry-wide compatibility and standardization in analog simulations .