Simulation support in KiCad 5 has been significantly reworked to make it a better simulation platform. However, you might have a lot of SPICE projects that you created in KiCad 4, and reworking them to fit the way things work in KiCad 5 might be more work than you want to undertake. Also, you might be running KiCad on a Debian system, which (as of this writing) doesn't have the new simulation support.
The UI bits for the OldWays1) are still there in KiCad 5, but they no longer work the same way — at least not on my Debian sid system. In particular, when KiCad generates *cir
files, it no longer prepends -PSPICE
/-GNUCAP
nor appends +PSPICE
/+GNUCAP
text blocks found on the schematic to the file. But it does add a .title
directive to the file that my simulator doesn't understand and chokes on.
So, I hacked together a bash script that makes it relatively easy to convert KiCad 4 simulations to something that works in KiCad 5. I'm dumping the source code here for now but may move it to Git[lab|hub] soon.
#!/bin/bash # (C) 2018 Mithat Konar https://mithatkonar.com # A scheme to use arbitrary SPICE simulators in Kicad 5. # # Usage: # * Put all the stuff to be prepended (e.g., -PSPICE stuff) in pre.cir. # * Put all the stuff to be appended (e.g., +PSPICE stuff) in post.cir. # * In this script: # * Set CIRCUITNAME to point to the .cir file KiCad 5 generates. # * Set SPICE_ENGINE to your desired SPICE engine. (Hack the line # where it's invoked to add any needed command line parameters.) # * In the KiCad Netlist dialog's Spice tab, set the simulator to this # file using an absolute path. # * In the KiCad Netlist dialog's Spice tab, Run Simulator. # ----- config --------------------------------------------------------- # The name of the cir file to simulate with (w/o extension): CIRCUITNAME=opa-x5-spice # The command for the SPICE engine you want to use: SPICE_ENGINE="xterm -e ngspice" # ---------------------------------------------------------------------- ### constants CIRCUITFILE=${CIRCUITNAME}.cir CIRCUITFILE_CLEANED=${CIRCUITNAME}-cleaned.cir GENERATED_CIR=${CIRCUITNAME}-complete.cir ### go! # set the script's directory as the working directory cd $( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) # remove all lines starting with .title from CIRCUITFILE sed '/^.title/d' $CIRCUITFILE > $CIRCUITFILE_CLEANED # concatenate the final file cat pre.cir > $GENERATED_CIR cat $CIRCUITFILE_CLEANED >> $GENERATED_CIR cat post.cir >> $GENERATED_CIR # run it $SPICE_ENGINE $GENERATED_CIR # cleanup #~ rm $GENERATED_CIR rm $CIRCUITFILE_CLEANED