cute70.jpg
CuteStudio Ltd.
madeonamac.png
Simulators
Customise
Sumol
Sumos

TAILORING SIMULATOR SUPPORT

This is only available in SUMO-EXPERT .

Selecting Simulators

Simulator selection is only available from SUMO-EXPERT.

Click on the simulator name in the top menu-bar....

m_12_simulate_html_m7309658d.png

and select the simulator that you wish to use. To switch to the selected simulator click-on SWITCH-TO . This will now become current.

Information about each simulator is stored in its .SIM file. The selected simulator must be installed properly before use. For example, if using a simulator whose name is 'SPICE', and lives in the directory 'C:\SPICE', then the PATH may need to be extended, i.e.:

PATH = C:\DOS;C:\WINDOWS;C:\SUMO;C:\SPICE

and is to be found in the C:\AUTOEXEC.BAT file on PCs. If the simulator is not correctly installed the message: 'Bad Command or Filename' will appear when SUMO tries to run it.

SPICE model support

Some SPICE models are included with the sumos simulator, however the program can extract models from the SPICE .LIB files.
Here is a list of Free SPICE models on the internet.
You can also get SPICE models from the device manufacturers.

Support for simulators

All simulator support is contained with the .SIM files, and many different simulators can be attached to SUMO, provided the correct information is specified in the .SIM file, and the simulator netlist can be sufficiently represented.

Click-on the simulator name on the top menu-bar, then click-on EDIT . Pressing CLOSE now causes SUMO to prompt you about saving the currently selected simulator (.SIM) file. Changes made to the simulator are immediate in effect, but will be lost if you do not save them, at the next simulation or upon exiting SUMO . If you wish to abandon changes, click-on NO, and re-start SUMO .

Aspects of customising SUMO to specific simulators:

  • Options - simulator options
  • Simulation data - data used when netlists are created
  • Classes - Edit and define classes and class specific netlist data


Simulator options

Most simulators have a variety of options that control certain aspects of the simulation. These normally appear in SPICE netlists as .OPT statements, and control things such as the error tolerances or the maximum iterations for convergence etc.

In SUMO options are treated as regular parameters, with a name, default value and a specific value. These options can then be set from the SIM menu, for specific circuits as required. These options are not generic, and when set from the SIM menu, are only used for the simulator that was current at that time.

By clicking on the OPTIONS button, a parameter editing menu is opened to allow you to add to, delete and edit these parameters.

Simulation netlisting data

Simulation netlisting is controlled by a number of statements or variables. For instance specifying a transient simulation requires a specific output netlist syntax to be used, relating to that simulator, that SUMO can use whenever it needs to run such a simulation.

More data about the specific format that SUMO requires for this data is in Appendix A.

Modifying Classes

From the class edit menu, reached by clicking on CLASSES, it is possible to create, edit and delete classes for the currently switched-to simulator.

The netlist data for each class of component is specified in a series of ASCII strings containing embedded commands. This is a common format throughout SUMO and is used for most output.

Netlist output format

This section details the file format that SUMO uses to determine the format of the netlist output data.
This data originates in .SIM files, and may be edited directly or altered using the menus contained within the Extraction Tools option.

General Formatting Characters

Each string can contain characters 'embedded' into the string such as line-feeds. These are:
'\n' Linefeed
'\t' Tab
'\\' Back-slash

Component Netlisting

Used to specify the netlisting line output for a component.
Usually each component has a separate one of these, this is the global default.
NET_LINE "%C %N %M %V\n";

Where
Symbol keyDescription
%C Components name
%N Node-list (order is determined by the class (symbol))
%n1Specific node - order from class, used when a simulator has a different node ordering from SPICE, for instance:
"%C %n3 %n2 %n1 %M\n"
%M Model name if appropriate
%V Value if appropriate
%D Dependent (source) data
%p<name>
Direct parameter. Look at the class definition for TRAN and MUTUAL, and their parameters.
Parameters can then be used in the netlist by this command:
for instance for parameter "L2" use "%pL2"

Examples of usage

The following example is taken from the SUMOS.SIM file, and details the output of the MUTUAL class for the SUMOS simulator.
The parameters L1 and L2 are used in the netlist to form inductors that are then mutually coupled together by the component value.

e.g: MUTUAL
$ Class definition for "MUTUAL"
CLASS "MUTUAL" {
    NET_LINE "L1_%C %n1 %n2 %pL1\n";
    NET_LINE "L2_%C %n3 %n4 %pL2\n";
    NET_LINE "%C L1_%C L2_%C %V\n";
    PREFIX "K"; NET_PREFIX "K";
    DIRECT
    {
        "L1" "Primary inductance" 10u;
        "L2" "Secondary Inductance" 10u;
    }
}

Thus the class appears in the schematic as an integrated single component with parameters for the two inductances. The value is used for the mutual inductance. In the netlist two fictitious (From the schematics viewpoint) inductors are constructed from the parameters and the names are made unique by using the mutual components own name.

TRAN is a similar concept but using more inductors, in this way any complex component group can be made into a 'macro' element, rather than using a sub-circuit, which is the alternative method.

General netlisting data


Node separation data

Node separation data - what goes between each node in the list
 NODE_SEP " ";

e.g.
  • NODE_SEP " "; → 1 2 3
  • NODE_SEP ","; → 1,2,3

Strings for scales

Strings used to signify LOG (etc.) scale (simulation spec.)
 LOG "DEC";
 OCT "OCT";
 LIN "LIN";

Simulation specifiers

Simulation specifiers - to specify type and values
AC_SPEC ".AC %T %I %S %E\n";
DC_SPEC ".DC LIN %D %S %E %I\n";
TR_SPEC ".TRAN %I %E\n";

Where
SymbolUsage
%T Type, LOG, OCT, LIN etc.
%S Starting value
%I Increment value
%E End value
%D DC sweep source name
%P Number of points in simulation

Output specifiers

Simulation output specifiers
AC_OUT ".PRINT AC%P\n";
DC_OUT ".PRINT DC%P\n";
TR_OUT ".PRINT TRAN%P\n";

Where
SymbolUsage
%PProbe name

Output name specifiers

Specifiers for the names of the PROBEs and METERs
PROBE_OUT " V%P([[%C])";
METER_OUT " I%P(%C)";

Specifiers for the names of the PROBEs and METERs
Where
SymbolUsage
%P Prefix type (M, DB etc.)
%C Component name

Probe type specifiers

Simulation output probe type specifiers for AC and MAG for others
OUT_MAG "M";
OUT_PHASE "P";
OUT_REAL "R";
OUT_IMAG "I";
OUT_DB "DB";
OUT_GD "GD";

Names of the base types

Names of the base types
AC_BASE "FREQ";
TR_BASE "TIME";

Start of netlist keyword string

Start of netlist keyword string. Put in just before the simulator options, it allows default options to be specified for setting up the simulator to integrate better with SUMO .
START ".OPTIONS NUMDGT=10\n";

End netlist symbol

End of netlist keyword string
END ".END\n";

Temperature command

Simulation temperature command
TEMP ".TEMP %T\n";

Where
SymbolUsage
%TTemperature (degrees)

Sub-circuit header

Sub-circuit header/definition types. Not generally used as SUMO is usually set to flatten during netlisting.
SUBDEF_LINE "";
SUBEND_LINE "";
SUBUSE_LINE "";
SUBNODE_SEP " ";

Model specifier

Model specifier format - for netlist
MODEL_LINE ".model %M %C (%P )\n";

Where
SymbolUsage
%M Model name
%C Class name
%P Parameters

Model parameters

Model parameter definition
PARAM_LINE "%P=%V ";

Where
SymbolUsage
%P Parameter name
%V Value

Linefeed specifier

Linefeed specifier for linefeeds put in by SUMO. In this case a linefeed will become a linefeed followed by a '+' and a tab.
LINEFEED "\n";
LINEFEED "+ \t";

Comments

Start and end of a comment (remark) within the netlist
REM_START "*";
REM_END "\n";

optional parameter format

Simulator optional parameter format specifier
SIM_PARAM ".OPTIONS %N=%V\n";

Where
SymbolUsage
%N Name of option
%V Value of option

Simulation Control Specifiers

These options are solely concerned with simulation control

Run command

When 'Simulate' is pressed in the SIM menu, this string is used to tell the PC what to do next.
SIM_RUN "sumos %F";

Where
SymbolUsage
%F Filename with no extension
%R Root of the program (e.g. 'C:\SUMO');

Batch/sweeper command

When the sweeper is used from the SIM-SWEEP menu, this string is used to call the simulator in batch mode - not to display results
SIM_BATCH "sumos -b %F";

Where
SymbolUsage
%F Filename with no extension
%R Root of the program (e.g. 'C:\SUMO');

View command

When 'View' is pressed in the SIM menu, this string is used to tell the PC what to do next.
This is for external viewers
VIEW_RUN "sumos -v %F";

Where
SymbolUsage
%F Filename with no extension
%R Root of the program (e.g. 'C:\SUMO');
Copyright © 2007-2009, CuteStudio Ltd.
Page generated in 1.383s, Powered by Silk V1.1-1 from Cutestudio