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.