In this Topic Hide
The input file for the SIMPLIS package is organized into different statements. Ordinarily, the end of a line signifies the end of a statement. However, a statement can be continued on to the next line by using the line continuation character, the plus sign ('+'). Refer to Continuation of Statements for more about the continuation of statements.
Within a single statement, the data are organized into different fields. Fields are separated by one or more spaces or tabs. Spaces and tabs are called blank characters. While blank characters must be used to separate different fields, the presence of at least one blank character between two groups of non blank characters does not always mean the two groups of characters belong to two different fields. Blank characters may be present within a single field. In general, blank characters are used to separate different fields or to improve the readability of the input file.
Blank lines can be placed anywhere in the input file to make the file more readable. Blank lines have no effect on the execution of the program.
Comment statements are used to make the input file more readable. A comment is identified by an asterisk ('*') as the first character, at the beginning of a line. Comment statements which are several lines long must have a comment character at the beginning of each line. Comment statements are ignored during program execution.
An in-line comment is a comment that starts in the middle of a line. The in-line comment is identified by the semicolon character, (';'), placed at the beginning of the comment section. The portion of the line to the right of the in-line comment symbol is ignored by SIMPLIS. For example, in SIMPLIS, the following two lines are equivalent:
RC 1 0 1K ;esr of c1 |
RC 1 0 1K |
A statement can be continued to the next line by using the line continuation character, the plus sign ('+'). Any line whose first non blank character is the line continuation character is considered the continuation of the previous line. For example, the following lines form one single statement:
V1 1 0 PUL V1=0 V2=1 |
+ FREQ=1MEG DRATIO=0.1 DELAY=0.1 |
+ OFF_UNTIL_DELAY=YES |
A comment statement cannot be followed by a line continuation statement.
The name of a device is formed by the concatenation of two parts: the element keyword and the individual name. The element keyword is a character string of one or two characters. The individual name is a character string of arbitrary length. You should keep the individual name descriptive and short (no more than sixteen characters).
The table below shows the relationship between each element keyword and the type of corresponding circuit elements.
Element Keyword | Type of Element |
---|---|
R | Linear Resistor |
L | Linear Inductor |
C | Linear Capacitor |
V | Independent Voltage Source |
I | Independent Current Source |
M | Linear Mutual Inductance |
E | Linear Voltage-Controlled Voltage Source |
G | Linear Voltage-Controlled Current Source |
H | Linear Current-Controlled Voltage Source |
F | Linear Current-Controlled Current Source |
!T | Ideal Transformer |
Q | Simple Transistor Switch |
S | Simple Switch |
!R | Piecewise-Linear Resistor |
!L | Piecewise-Linear Inductor |
!C | Piecewise-Linear Capacitor |
!D | Simple Logic Gates |
X | Instantiation of subcircuits |
An individual name is a string made up of zero or more characters from the following character set:
Alphabetic characters | a-z A-Z |
Numeric characters | 0-9 |
Underscore | _ |
The following entries are all legal device names for inductors:
L La LA L1 L_MAG |
SIMPLIS supports the concept of device models and subcircuits in the input file. The name of a model or a subcircuit is a string that is made up of the same characters as those outlined in See Individual Name for the individual name of a device. In addition, each of the following conditions must also be satisfied:
SIMPLIS is case sensitive to individual device names . For example, the following device names are two different inductors:
La |
LA |
However, SIMPLIS is not case sensitive to element keywords . For example, the following names are the same inductor:
La |
la |
because the first character ('l' or 'L') is the element keyword for a device name.
The interpretation of the model names and subcircuit names follows the same interpretation as the operating system of the host. If the operating system is case sensitive to file names, then SIMPLIS is case sensitive to model names and subcircuit names. If the operating system is not case sensitive to file names, then SIMPLIS is not case sensitive to model names and subcircuit names. For example, UNIX operating systems are case sensitive, while Windows operating systems are not.
Some input statements may have fields or parameters which are required to be integers. The legal format for an integer entry is:
[-]d[d...] |
where
[-] | is the optional negative sign associated with a negative integer, |
d | is a numeral in the range of 0 through 9, and |
[d...] | is an optional string of extra digits. |
-34 0 25 -27 301 |
The following are illegal integer entries:
- +1 23. 24.5 |
They are illegal integer entries because
From time to time, a certain field or parameter in a statement calls for a floating-point entry. A floating-point entry can be typed in several possible formats:
Whenever a floating-point entry is expected, the entry can be typed in the integer format as defined in Integer Entries if the corresponding entry turns out to be an integer. For example, if 34 is to be typed as a floating-point entry, it can be typed as 34 without the accompanying decimal point.
The simple floating-point format is defined as
[-]d[d...].[d...] or [-].d[d...] |
[-] | is the negative sign associated with a negative integer, |
d | is a numeral in the range of 0 through 9, |
. | is the decimal point, and |
[d...] | is an optional string of extra digits. |
9.37 -0.5 1001.76 |
Similar to an integer entry, a floating-point entry cannot begin with a positive sign.
The exponential floating-point format is defined as
[if]E[+-]d[d] or [sfpf]E[+-]d[d] |
[if] | is a number in the integer format, |
[sfpf] | is a number in the simple floating-point format, |
E | is either the character e or the character E, |
[+ -] | is either the positive sign or the negative sign, |
d | is a numeral in the range of 0 through 9, and |
[d] | is an optional extra digit in the exponent. |
27000 2.7e+04 27E+3 |
The engineering floating-point format is defined as
[if]S or [sfpf]S or [efpf]S |
[if] | is a number in the integer format, |
[sfpf] | is a number in the simple floating-point format, |
[efpf] | is a number in the exponential floating-point format, and |
S | is one of the character strings used to represent one of the scale factors. The string can be entered in either lower or upper case. |
27k 27K 27000 27000 2.7E+4 27e-03MEG |
The table below shows all the engineering prefixes recognized by SIMPLIS, and their corresponding scale values.
Prefix Types
Symbol | Prefix | Scale Factor |
---|---|---|
F | femto | 10 -15 |
P | pico | 10 -12 |
N | nano | 10 -9 |
U | micro | 10 -6 |
M | milli | 10 -3 |
K | kilo | 10 +3 |
MEG | mega | 10 +6 |
G | giga | 10 +9 |
T | tera | 10 +12 |
The following entries are all valid floating-point entries:
0 -3 3. 0.3 31.12 -.12E-06 3.12e+3 1.1K -150U |
The entries 0 and -3 are in integer format. The entries 3., 0.3, and 31.12 are in simple floating-point format. The entries -.12E-06 and 3.12e+3 are in exponential format. The entries 1.1K and -150U are in engineering format.
The following are illegal floating-point entries:
+0.7 3.12E+345 4.7 K |
They are illegal because
SIMPLIS works with System Internationale (SI) units. The table below gives a summary of all units expected for different types of variables. Units are not allowed to be specified with the values of the corresponding variables. For example, a capacitance of 1.25 microfarads may be represented by 1.25U or 0.00000125, but not 1.25UF or 0.00000125F.
Unit Types
Variable | Units |
---|---|
Time | second |
Resistance | ohm |
Capacitance | farad |
Inductance | henry |
Voltage | volt |
Current | ampere |
Charge | coulomb |
Each field of entry should be restricted to no more than 80 characters long. Each input line should be restricted to no more than 160 characters long. This restriction does not limit the length of a statement since it can continue over several lines through the line continuation character.
|