GNU Spice GUI (gSpiceUI) is intended to provide a GUI for freely available Spice electronic circuit simulation engines ie. GnuCAP and NG-Spice. It uses gNetList to convert schematic files to net list files and gWave to display simulation results. gSchem is the preferred schematic capture tool.
Here are two screen shots of gSpiceUI in action; the first with GNU-Cap as the simulation engine, the second with Ng-Spice as the simulation engine. The gSpiceUI GUI is designed to be as consistant as possible between analysis types and simulation engine types. The intention is to abstract the technical particulars from the user so that the focus may be on the simulation rather than the simulation engine or even analysis type.
This menu contains options mainly associated with files.
Open a net list (circuit description) file containing SPICE compatible component definitions. If the net list contains SPICE simulation instructions these are parsed and the settings are displayed in the GUI.
Import one or more schematic files. gNetList is used to convert the schematic file/s to a single net list file. The net list file name is automatically derived from the first schematic file name in the list with the file extension changed to .ckt. Eg. if schem1.sch, schem2.sch, schem3.sch were specified as the schematic file names to be impoted the net list file name would be schem1.ckt.
Reload the net list file. If the net list was imported from one or more schematic files, the import operation will be repeated. As far as possible the simulation settings shown in the currently displayed analysis notebook page are retained.
When gSpiceUI is used to create a net list file from scheamtic file/s it inserts a reference to the schematic file/s near the beginning of the net list file. If the currently open net list has this schematic reference, reload performs an import operation otherwise the net list is simply reloaded. In either case the simulation settings shown in the currently displayed analysis notebook page are retained as far as possible.
Close the currently open net list file and reset all GUI parameters to default values.
Close all files and child applications, delete temporary files if appropriate and exit the application.
This menu contains options associated with circuit simualtion and data display operations.
Create a simulation based on the values entered in the currently displayed analysis panel. The results of this operation are written to file and displayed in the Simulation text control. If a problem is encountered a message box will be display giving a brief explaination as to why the simualtion could not be created.
Run a simulation. If the simulation has already been created it is run immediately. If the analysis panel values have been modified since the last create operation new create simulation operation is executed prior to running the simulation. The simulation text control can be edited by the user, if this is the case the contents of the simulation control are written to file and run as is, ignoring any changes that may have been made to the analysis panel.
Stop a running simulation immediately.
Plot/view the simulation results by envoking the plotter/viewer application eg. gWave. The file loaded into the plotter process at startup is dependent on some of the GUI selections. Generally the results file for the currently selected simulation engine will be loaded. The analysis type is dependent on the currently selected analysis page. If the resultgs tab for the other simulation is currently displayed the results file will be for the other simulation engine.
This menu contains application configuration options.
Radio buttons allowing the selection of the electronic circuit simulation engine to be used. The selected simulation engine name is displayed in the status line.
The paths to the various utilities used by gSpiceUI may be manually set via this menu selection.
A check box allowing the tool tips to be enabled or disabled.
The menu contains a link to the help contents, links to the electronic circuit simulation engine user manuals and a link to the application about dialogue.
The gSpiceUI tool bar contains groups of buttons associated with groups of functions. The functions which are chosen for inclusion in the tool bar are those which will speed up the use of gSpiceUI for the user.
Tool bar buttons associated with file operations
Refer to section 2.1.1 Open Option.
Refer to section 2.1.2 Import Option.
Refer to section 2.1.3 Reload Option.
Refer to section 2.1.4 Close Option.
Toll bar buttons associated with simulation operations.
Refer to section 2.2.1 Create Option.
Refer to section 2.2.2 Run Option.
Refer to section 2.2.3 Stop Option.
Refer to section 2.2.4 Plot Option.
Display the list of node labels extracted from the net list file. One or more nodes may be selected (or deselected) by clicking on the node/s in the list with the mouse. The probes for the selected nodes will be calculated and included in the simulation results.
A single node may be selected from the list by left clicking on it with the mouse. To select multiple nodes press the control key and left click on the desired nodes with the mouse. To select a range of nodes left click on the desired range with the mouse while holding down the shift key.
Display the list of components extracted from the net list file. One or more components may be selected (or deselected) by clicking on the component/s in the list with the mouse. The probes for the selected components will be calculated and included in the simulation results. At present only two terminal components are included in this list.
A single component may be selected from the list by left clicking on it with the mouse. To select multiple components press the control key and left click on the desired components with the mouse. To select a range of components left click on the desired range with the mouse while holding down the shift key.
There are two different analysis notebooks which may be displayed associated with the two simulation engines supported by gSpiceUI ie. GNU-Cap and NG-Spice. Each analysis notebook contains analysis pages reflecting the different analysis types supported by the particular simulation engine.
GNU-Cap :
Performs a nonlinear DC steady state analysis. If a temperature range is given, it sweeps the temperature. Refer to the GNU-Cap User Manual, Section 2.31 OP Command, for a detailed description.
NG-Spice :
This analysis type is not directly supported by NG-Spice however similiar functionality is provided via the DC Analysis panel.
GNU-Cap :
Performs a nonlinear DC steady state analysis, and sweeps the signal input, or a component value. Refer to the GNU-Cap User Manual, Section 2.11 DC Command, for a detailed description.
NG-Spice :
Determines the DC transfer curve (with capacitors open and inductors shorted). A source must be selected which may be an independent voltage or current source, a resistor or the circuit temperature. Refer to the NG-Spice User Manual, Analyses and Output Control, Analyses, DC Tranfer Function, for a detailed description.
Not yet written.
Not yet written.
Not yet written.
The console tab contains text controls which are used to display text data generated by the various operations performed by bgSpiceUI.
Display the console input/output for the last process executed by gSpiceUI.
Display the raw net list file which was opened or imported via the file menu.
Displays the simulation to be run. It can be manually edited by the user and will be run as is if the Run button is pressed. Note: if the create button is pressed the contents of the tab will be over-written destroying any user input.
Display the last raw GNU-Cap simulation results.
Display the last raw NG-Spice simulation results.
Not yet written.
During the execution of gSpiceUI various files may be generated in the directory occupied by the schematic or net list file. To illustrate consider the situation where the gSchem file test-amp1.sch (found in the schematic directory) is imported and every possible type of simulation is run using both NG-Spice and GNU-Cap. The following is the list of files which would be created :
<path>/sch/test-amp1.sch | (The schematic file) | ||
1. | <path>/sch/test-amp1.ckt | (Net list file with simulation commands) | |
2. | <path>/sch/gspiceui.log | (Temporary file containing raw process output) | |
3. | <path>/sch/test-amp1.gnucap.op | (Results file - operating point analysis) | |
4. | <path>/sch/test-amp1.gnucap.dc | (Results file - DC analysis) | |
5. | <path>/sch/test-amp1.gnucap.ac | (Results file - AC analysis) | |
6. | <path>/sch/test-amp1.gnucap.tr | (Results file - transient response analysis) | |
7. | <path>/sch/test-amp1.gnucap.fo | (Results file - fourier analysis) | |
8. | <path>/sch/test-amp1.ngspice.dc | (Results file - DC analysis) | |
9. | <path>/sch/test-amp1.ngspice.ac | (Results file - AC analysis) | |
10. | <path>/sch/test-amp1.ngspice.di | (Results file - distortion analysis) | |
11. | <path>/sch/test-amp1.ngspice.no | (Results file - noise analysis) | |
12. | <path>/sch/test-amp1.ngspice.pz | (Results file - pole-zero analysis) | |
13. | <path>/sch/test-amp1.ngspice.se | (Results file - sensitivity analysis) | |
14. | <path>/sch/test-amp1.ngspice.tr | (Results file - transient response analysis) | |
15. | <path>/sch/test-amp1.ngspice.tf | (Results file - transfer function analysis) |
All file names begin with the prefix test-amp1 taken from the schematic file. File name extensions then depend on the file type. Files containing simulation results include the name of the simulator used to generate the data and an abbreviation indicating the analysis type.
Note: The object models depicted here largely show the actual application architecture. However, the software is under development and is often in a state of flux, it will not always exactly match the information shown in the object models.
The following links are to object models depicting the static architecture of gSpiceUI: