Technical Program Details
SuperSpice consists of a GUI front and back end to the Berkeley/Georgia Tech Spice3/XSpice simulation engine.
Overview
The SuperSpice GUI generates standard Spice3/XSpice netlists. These netlists are passed to the spice engine by a normal Unix style batch system call. That is, SuperSpice starts a new Windows process by running XSpice.exe and by sending a command line to the process:
-r output_file_name.out -b input_filename.cir
SuperSpice obtains a a handle to the XSpice process and waits for the XSpice process to terminate. The polling of this process is achieved by a normal Windows timer. When the process terminates SuperSpice loads in the data file.
Any spice engine that conforms to the standard Berkeley Spice3 batch command can therefore be used with the SuperSpice GUI. In addition this allows the XSpice engine to be ran stand alone with other GUI's, providing that they can read and write standard spice netlists and output files.
Note: Most other vendors Windows platformed spice do not allow this rather useful feature.
Library Models
SuperSpice process models/subckts before they are sent to the engine. The actual models extracted from the loaded model libraries and sent to the engine can be viewed in the "Models" file window. This is accessible by the pink "M" button. This is a good way to check that the correct model is being passed through as it is quite possible to have the same model name in different library folders.
This model file also contains the spice "dot" commands such as .ac, .tran, .op etc. for the simulation. The main netlist is file_name.cir. This main netlist ".includes" the models file, a user include file, and the netlists of hierarchical schematics recursively. That is, the netlists for schematic blocks on one level include the netlist for the next lower level schematic block, which in turn include their block's netlists etc. The user include file, accessible from the pink "I" button, can contain any standard spice command. However, the GUI might not respond to all of them.
Debugging
As an alternative to pressing the blue "R" run button, you can use the blue "Go" button. The "Go" button simple runs the engine with the existing netlist, where as the "R" button will do a full netlist prior to running the engine. The 'Go" button thus allows quick text editing (and save) of a netlist and rerunning with minimum overhead.