SPICE Simulation
See the Simulation section on the KiCad Tips And Tricks page for info specifically involving KiCad and ngspice.
Elementary SPICE Components
Note: The XXXXXXX
syntax in the general form describing elementary SPICE components is to dominate a user chosen alpha-numeric identifier (e.g. RXXXXXXX
could stand for R1
, RC1
or RMYNAME
).
Voltage And Current Sources
The current direction convention for voltage sources is that a positive current is when the current is flowing into the positive pin of the voltage source.
Voltage And Current Controlled Switches
Two types of switches in SPICE, voltage and current controlled. They are not ideal switches, and are modelled with a finite on and off resistance, as well as finite turn on and off times. However, you can usually set these to the extremes so that they act almost like an ideal switch, in relation to everything else in your circuit.
They are great for seeing what effect a short with have on your circuit (e.g. shorting out one LED in a string of LEDs controlled by a constant-current driver).
SPICE prefix for switches is S.
The general form for a switch is:
The most basic syntax to create a voltage-controlled switch is:
Smoke Analysis
Smoke analysis is when the SPICE software performs a simulation and checks that all the components are not exceeding maximum voltages, currents or power dissipation levels (among other things). Only a small number of the available SPICE software packages support smoke analysis, including PSPICE (commercial) and Micro-Cap (now free).
For example, the Micro-Cap implementation checks the following parameters1:
• Maximum voltage • Maximum current • Power dissipation • Breakdowns • Junction temperatures
ngspice
Type display
to print a list of all currently defined vectors.
Use source
to load a netlist file. This is called the input file:
Type run
to run the simulation --- this will run any control lines specified in the input file. Control lines are commands such as .dc
, .ac
, .tran
and .op
:
Use let
to create new variables.
AC analysis creates complex vectors.
Use .control
to create a control block which can contain executable statements such as run
and plot
within a circuit netlist file.
Micro-Cap
As of 2019-04-07, Spectrum Software closed and released Micro-Cap for free (at version 12)2. You can download it at http://www.spectrum-soft.com/download/download.shtm.
One of the only free SPICE simulation packages that supports smoke analysis.
The Best SPICE Resources Out There
- ECircuitCenter (http://www.ecircuitcenter.com) - Top-notch and free resource of SPICE thoery and circuits.
- National Instruments SPICE Simulation Fundamentals (http://zone.ni.com/devzone/cda/tut/p/id/5413#toc3) - Helpful, professional resources covering most aspects of SPICE simulation
- Intusoft: Solving SPICE Convergence Problems: Explains the common reasons for no convergence and the many ways to try and fix this.
Footnotes
-
http://www.spectrum-soft.com/download/rm12.pdf, accessed 2021-06-20. ↩
-
http://www.spectrum-soft.com/download/download.shtm, accessed 2021-06-20. ↩