Translating Commands and Functions
This chapter provides information on translating individual commands, functions, and the binning process from Spectre and SPICE to Advanced Design System.
Commands, Functions, and Binning for Spectre
The following table displays a list of commands and functions that are supported by the Netlist Translator.
| Command / Function | Description |
|---|---|
| ends | End of Subcircuit |
| check | Ignored by ADS |
| include | Include File |
| info | Ignored by ADS |
| library | Library File |
| parameters | Parameter |
| subckt, ends | Subcircuit |
| Other Functions | Function Mapping in the spectrefunc.rul File |
If the translator reads a command that is not recognized or supported, the translation log file will include a warning such as:
WARNING: Skipping unsupported statement.ALTER, line 10.
alter and altergroup
The ADS simulator does not have a comparable command. Translation will terminate when this line is found. Everything before it will be translated. Everything after it will be ignored.
check
All check statements will be ignored by the Netlist Translator.
ends
See subckt, ends.
include
This line identifies another Spectre file that needs to be read by the translator. The contents are integrated directly into the translated design as appropriate.
Spectre Netlist Syntax:
include file_name
ADS Netlist Syntax:
There is no ADS syntax since the referenced file is read and the contents are processed as part of the parent file.
ADS Schematic Symbol:
There is no ADS symbol since the referenced file is read and the contents are processed as part of the parent file.
Parameters:
name = Legal file name including file extension.
Comments:
The include statement is used in Spectre to insert the contents of another file. In ADS, separate include statements are not created.
Instead, the collection of files are processed as if they were one long file. All circuits defined in an include statement are read by the translator,
but a schematic will only be created for those that are referenced in the design hierarchy.
To force creation of all schematics for all subcircuits in an include file, import the include file separately. Note that the top line of an include file may not be a comment line, so to read it as a stand-alone file, insert a comment line or a blank line as line 1, if the existing line 1 has information that needs to be processed. Alternately, you may uncheck the box in the import dialog options page to indicate that the first line is not a comment (refer to Setting the Import Options), or use the command line argument -l (refer to Executing the Nettrans Command) to deselect the First line is a comment option.
For tips on debugging the translation of a large set of nested include files, refer to Troubleshooting.
info
All info statements will be ignored by the Netlist Translator.
library
This line indicates that another Spectre file is to be read by the translator. The contents are integrated directly into the translated design as appropriate.
Spectre Netlist Syntax:
library library_name
section section_name_
<statements>
endsection [section_name]
section [another_name]
<statements>
endsection [another_name]
library library_name
ADS Netlist Syntax:
No ADS netlist syntax because the contents are just read and processed like the include file.
ADS Schematic Symbol:
No ADS Schematic Symbol because the contents are just read and processed like the include file.
Parameters:
entryname = Name of library within specified file
filename = Legal file name including extension.
dirpath = Optional path to library file. There is no space between dirpath and filename when dirpath is given.
Comments:
The library statement is used in Spectre to insert the contents of another file. In ADS, separate include statements are not created. Instead, the collection of files are processed as if they were one long file. All circuits defined in a library statement are read by the translator, but a schematic will only be created for those that are referenced in the design hierarchy.
To force creation of all schematics for all subcircuits in a library file, import the library file separately. Note that the top line of a library file may not be a comment line, so to read it as a stand-alone file, insert a comment line or a blank line as line 1, if the existing line 1 has information that needs to be processed. Alternately, you may uncheck the box in the import dialog options page to indicate that the first line is not a comment (refer to Setting the Import Options), or use the command line argument -l (refer to Executing the Nettrans Command) to deselect the First line is a comment option.
For a description of the -models command, refer to Executing the Nettrans Command. This command can be used to read a model file and create a separate ADS netlist file for each model.
Not supported:
The ADS translator does not automatically read nom.lib and it does not use the search path. All libraries must be specified explicitly with a full path if the library file is not in the working directory. If the file nom.lib is needed, an include statement should be added to the main source file to instruct the translator to read that file.
The .OPTIONS SEARCH statement is not supported by the translator. All library paths must be explicitly specified.
parameters
This line is translated as a name=value parameter.
Spectre Syntax:
parameter name=value
ADS Netlist Syntax:
name=value
ADS Schematic Symbol:

Parameters:
name = Parameter name
value = Parameter value
subckt, ends
This line is translated as a parametric subnetwork.
| Note The keyword inline is optional in the syntax below. If the keyword exists in the Spectre input, it will be translated in the ADS netlist. |
inline subckt subname ( node1...nodeN )
parameters name=value
end subname
inline define subname ( n1... )
parameters name=value
end subname
ADS Schematic Symbol:

Parameters:
subname = Subnetwork name
n1* = Node names
name = Parameter name
value = Parameter default value
ends = Spectre subcircuit definitions must end with an ends statement.
Comments:
For more information on defining subcircuit parameters, refer to Using the NetlistInclude Component.
Other Functions
Functions such as log10(x) and ln(x) are mapped in the spectrefunc.rul file. Any function that requires mapping into the equivalent ADS function is entered into this file. For more information about function mapping, see User Defined Models and Parameter Mapping Rules.
Commands and Functions for SPICE
| Command / Function | Description |
|---|---|
| .ALIASES and .ENDALIASES | Aliases and Endaliases |
| alter and altergroup | Alternate |
| .END | End of Circuit |
| .ENDL | End of Library |
| .ENDS or .EOM | End of Subcircuit |
| .IC | Initial Bias Point Condition |
| .INC[LUDE] | Include File |
| .LIB, .ENDLIB | Library File |
| .MACRO, .ENDM | Macro |
| .MODEL | Model |
| .NODESET | Set the Approximate Node Voltage for the Bias Point |
| .NOISE | Noise Analysis |
| .OP | Bias Point |
| parameters | Analysis Options |
| parameters | Parameter |
| subckt, ends | Subcircuit |
| .TEMP | Temperature |
| .TRAN | Transient Analysis |
| .FUNC | User-defined function (PSpice only) |
If the translator reads a command that is not recognized or supported, the translation log file will include a warning such as:
WARNING: Skipping unsupported statement.ALTER, line 10.
.ALIASES and .ENDALIASES
This command block is recognized but not translated. Everything between the .ALIASES and .ENDALIASES lines is ignored.
.ALTER
The ADS simulator does not have a comparable command. Translation will terminate when this line is found. Everything before it will be translated. Everything after it will be ignored.
.DCVOLT
The .DCVOLT statement is processed exactly the same as a .IC statement. For more information, refer to .IC.
.END
All processing stops when a .END statement is encountered. Comments and any other information following the .END statement are discarded.
.ENDL
See .LIB, .ENDLIB.
.ENDS or .EOM
See subckt, ends or .MACRO, .ENDM.
.IC
This line is translated as an initial condition control element. It sets the initial conditions for a transient simulation.
Example SPICE Command Line:
.IC V(11)=5 V(4)=-5 V(2)=2.2
SPICE Netlist Syntax:
.ic v(node)=val[v(node)=val ]*]
ADS Netlist Syntax:
InitCond:instanceNameNodeName[1]=nodeV[1]=val
NodeName[2]=node V[2]=val
ADS Schematic Symbol:

Parameters:
node = Node number
val = Voltage at the specified node.
instanceName = Unique component name. This is not provided by SPICE so it is automatically generated by the translator.
Comments:
The following PSpice syntax variations are not translated:
.IC V(inPlus,inMinus)=1e-3
.IC I(L1)=2uAmp
.INC[LUDE]
This line identifies another SPICE file that needs to be read by the translator. The contents are integrated directly into the translated design as appropriate.
Example SPICE Command Line:
.INC vars.inc
SPICE Netlist Syntax:
.INC name
ADS Netlist Syntax:
There is no ADS syntax since the referenced file is read and the contents are processed as part of the parent file.
ADS Schematic Symbol:
There is no ADS symbol since the referenced file is read and the contents are processed as part of the parent file.
Parameters
name = Legal file name including file extension.
Comments:
The .INC statement is used in SPICE to insert the contents of another file. In ADS, separate include statements are not created. Instead, the collection of files are processed as if they were one long file. All circuits defined in a .INC statement are read by the translator, but a schematic will only be created for those that are referenced in the design hierarchy.
To force creation of all schematics for all subcircuits in an include file, import the include file separately. Note that the top line of an include file may not be a comment line, so to read it as a stand-alone file, insert a comment line or a blank line as line 1, if the existing line 1 has information that needs to be processed. Alternately, you may uncheck the box in the import dialog options page to indicate that the first line is not a comment (refer to Setting the Import Options), or use the command line argument -l (refer to Executing the Nettrans Command) to deselect the First line is a comment option.
For tips on debugging the translation of a large set of nested include files, refer to Troubleshooting.
.LIB, .ENDLIB
This line indicates that another SPICE file is to be read by the translator. The contents are integrated directly into the translated design as appropriate.
Example SPICE Command Line:
PSpice: .LIB linear.lib
HSpice library call: .LIB 'file1' mos8
HSpice library definition: .LIB mos8
SPICE Dialect and Netlist Syntax
Spice2/3: Not supported
PSpice: .LIB name
HSpice library call: .LIB '<dirpath>filename' entryname
HSpice library definition: .LIB entryname
ADS Netlist Syntax:
No ADS netlist syntax because the contents are just read and processed like the include file.
ADS Schematic Symbol:
No ADS Schematic Symbol because the contents are just read and processed like the include file.
Parameters:
entryname = Name of library within specified file
filename = Legal file name including extension.
dirpath = Optional path to library file. There is no space between dirpath and filename when dirpath is given.
Comments:
The .LIB statement is used in SPICE to insert the contents of another file. In ADS, separate include statements are not created. Instead, the collection of files are processed as if they were one long file. All circuits defined in a .LIB statement are read by the translator, but a schematic will only be created for those that are referenced in the design hierarchy.
To force creation of all schematics for all subcircuits in a library file, import the library file separately. Note that the top line of a library file may not be a comment line, so to read it as a stand-alone file, insert a comment line or a blank line as line 1, if the existing line 1 has information that needs to be processed. Alternately, you may uncheck the box in the import dialog options page to indicate that the first line is not a comment (refer to Setting the Import Options), or use the command line argument -l (refer to Executing the Nettrans Command) to deselect the First line is a comment option.
For a description of the -models command, refer to Executing the Nettrans Command. This command can be used to read an HSpice model file and create a separate ADS netlist file for each model.
Not supported:
PSpice has a master library file nom.lib that is used by default in PSpice if no library is specified. It also has a LIBPATH variable in a file called msim.ini. This search path is used in PSpice if the library is not in the working directory. The ADS translator does not automatically read nom.lib and it does not use the search path. All libraries must be specified explicitly with a full path if the library file is not in the working directory. If the file nom.lib is needed, an include statement should be added to the main SPICE file to instruct the translator to read that file.
The HSpice .OPTIONS SEARCH statement is not supported by the translator. All library paths must be explicitly specified.
.MACRO, .ENDM
The .MACRO statement is processed exactly the same as a .SUBCKT statement. For more information, refer to subckt, ends.
.MODEL
A .MODEL statement is translated to a corresponding model if a compatible model exists in ADS. For translation details of specific models, refer to Translating a Model.
Example SPICE Command Line:
.MODEL dmodel D is=1e-14
SPICE Netlist Syntax:
.model name type [param = value* ]
ADS Netlist Syntax:
model name type [param = value* ]
ADS Schematic Symbol:

.NODESET
This line is translated as a NodeSet control element.
Example SPICE Command Line:
.NODESET V(12)=4.5 V(4)=2.23
SPICE Netlist Syntax:
.nodeset v( node )=val[v(node)=val ]*
ADS Netlist Syntax:
NodeSet:instanceNameNodeName[1]=nodeV[1]=val
[NodeName[2]=node V[2]=val]
ADS Schematic Symbol:

Parameters:
node = Node name
val = Voltage at the specified node.
instanceName = Unique component name. This is not provided by SPICE so it is automatically generated by the translator.
Unsupported syntax:
HSpice .NODESET V(5:SETX)=3.5V
.NOISE
This line is translated as a noise stimulus control element.
Example SPICE Command Line:
.NOISE V(\5) VIN DEC 10 1KHz 100MHz
SPICE Netlist Syntax:
Spice2/3: .NOISE v( out )<,ref> srcname [dec | oct | lin] numpoints fstart fstop [ pts_out ]
PSpice: .NOISE v(out, <,ref>) name=value
HSpice: .NOISE v(out) srcname numpoints
ADS Netlist Syntax:
AC:cmp99 SweepVar="freq" SweepPlan="freqstim" CalcNoise=yes\
NoiseNode="out"
SweepPlan:freqstim Start=fstart Stop=fstop [Dec=ptsperdec | Oct=ptsperoct/log(2) | Lin=numpoints]
ADS Schematic Symbol:
Parameters:
dec = Sweep by decades
oct = Sweep by octaves
lin = Linear sweep
numpoints = Integer number of points in the sweep. If sweeptype is dec or oct, then this is the number of points per decade or octave.
fstart = Start frequency
fstop = Stop frequency
poi = List of points
Comments:
HSpice has extended syntax formats that are not supported by the translator. All extra keywords and values are ignored.
The srcname allows SPICE to compute the output noise referred back to an input node: this usage is ignored by the translator. The optional pts_out parameter causes a printed output to occur for one of every pts_out frequency points; this is also ignored by the translator.
.OP
This line is translated as a DC analysis control.
.OP
.OP
DC:cmp1
ADS Schematic Symbol:

h5. Parameters:
None. Any optional parameters are ignored.
Comments:
The .OP function in SPICE invokes the simulator to calculate the DC operating point of the circuit. It is sometimes placed in a netlist just to perform the simplest possible analysis to verify that a dc solution can be found. In ADS, this is accomplished with a simple dc analysis with no parameters.
.OPTIONS
The only options currently translated are used to set other values on specific components.
Example SPICE Command Line:
.OPTIONS TNOM=25 DCAP=1 WL
SPICE Netlist Syntax:
.OPTIONS [option name]* [option_name=value]*
Parameters:
tnom = Default nominal temperature. Used for models if TNOM is not specified. ADS does not have a global TNOM parameter. If TNOM is specified on the .OPTIONS statement, the value is copied to all models if the nominal temperature is not specified directly on the model. Nominal temperature parameters are as follows:
BSIM1, BSIM2........Temp
MOS_Model9...........Tr
All others......................Tnom or Trefdcap = Controls the forward bias capacitance of the diode. ADS does not have an equivalent global parameter, so this is used by the translator to set Fc on the BJT model and Fc and Fcsw on the Diode model. If DCAP is not set to 1, (.OPTIONS DCAP=1), Fc and Fcsw will be set to 0 on the Diode and BJT models.
wl = If values without parameter names are given for Mosfet length and width parameters, the first is assumed to be length. If the wl parameter is present with no value, or the value is set to 1, the order is reversed.
The following parameters are default values for mosfets. If no value is given on a mosfet device for a certain parameter, the SPICE simulator uses the default given here. However, the value of the MOSFET ACM parameter affects the recognition of these values. There is no global ADS equivalent for these parameters and they are not currently translated.
defl = Default value for l
defw = Default value for w
defad = Default value for ad
defas = Default value for as
defnrd = Default value for nrd
defnrs = Default value for nrs
defpd = Default value for pdThe following SPICE tolerances have counterparts in ADS on the Options control element but are not set by the translator. They can be set manually after translation.
SPICE ADS
pivtol PivAbsThresh
pivrel PivotRelThresh
vntol V_AbsTol
abstol I_AvsTol
reltol V_RelTol
Comments:
For large RFIC designs, the I_RelTol and V_RelTol should be set to a larger value than the default 1e-6. 1e-3 is a better start value and is the default value for SPICE based simulators. The translator will not set a default value for these.
.PARAM
This line is translated as a name=value parameter.
Example SPICE Command Line:
.PARAM name=value
SPICE Dialect and Netlist Syntax:
Spice2/3: .PARAM name=value
PSpice: .PARAM name=value (expressions must be in curly brackets)
HSpice: .PARAM name=value (expressions must be in single quotes)
ADS Netlist Syntax:
name=value
ADS Schematic Symbol:

Parameters:
name = Parameter name
value = Parameter value
.SUBCKT
ENDS
This line is translated as a parametric subnetwork.
Example SPICE Command Line:
.SUBCKT OPAMP 1 2 3 4
.ENDS
SPICE Dialect and Netlist Syntax:
Spice2/3:
.SUBCKTsubname [ n1*]
.ENDS [subname]PSpice:
.SUBCKT subname[n1*] [OPTIONAL:interface node = default value ]
[PARAMS: name=value*] [TEXT: name=textvalue]
.ENDSHSpice:
.SUBCKT subname[ n1* ] [name=value*]
.ENDS
ADS Netlist Syntax
define subname (n1...)
parameters name=value
end subname
ADS Schematic Symbol:

Parameters:
subname = Subnetwork name
n1* = Node names
name = Parameter name
value = Parameter default value
.ENDS = SPICE subcircuit definitions must end with a .ENDS statement.
Comments:
Spice 3:
Subcircuits may be nested in the SPICE file; however, ADS does not allow this. The translator handles this by writing each subcircuit definition separately in order of occurrence. Line by line comparison with the original netlist will be harder in this case since the lines will not match up directly.
PSpice:
OPTIONAL and TEXT parameters are ignored by the translator.
For more information on defining subcircuit parameters, refer to Using the NetlistInclude Component.
.TEMP
| Note The translator does not currently translate the TEMP statement. Temp enables you to maintain control over this setting at the highest level of your design. |
To set the simulation temperature, place an OPTIONS element in the highest level of your schematic design, or use an Options statement in the netlist as shown below in ADS Netlist Syntax.
Example SPICE Command Line:
.TEMP 25
SPICE Netlist Syntax:
.TEMP _tempval
ADS Netlist Syntax:
Options:options1 Temp\=tempval
ADS Schematic Symbol:

Parameters:
tempval = Temperature in degrees Celsius.
Comments:
.TRAN
This line is translated as a transient analysis control element.
Example SPICE Command Line:
.TRAN 1nS 1000nS 500nS 1nS
SPICE Dialect and Netlist Syntax:
Spice2/3:
.TRAN tstep tstop [tstart[tmax]] [uic]PSpice:
.TRAN[/op] tstep tstop [tstart [tmax]] [SKIPBP]HSpice: .TRAN var1 START= tstart STOP= tstop STEP= tstep
OR .TRAN tstep tstop [tstep2 tstop2 ...] [START=tstart] [UIC]
OR .TRAN DATA=dataname
ADS Netlist Syntax:
Tran:Tran1 StopTime=tstop MaxTimeStep=tmax [StartTime=tstart ]
ADS Schematic Symbol:

Parameters:
tstep = Time step between output points.
tstop = Final time.
tstart = Initial time, assumed zero if omitted.
tmax = Maximum step size between simulation points.
var1 = Voltage or current source (ignored).
Comments:
.tran is used to perform a time-domain transient analysis.
Optional UIC keyword is ignored by the translator.
MaxTimeStep is calculated by the translator as the smallest of tstep, (tstop-tstart/50 * tmax)
PSpice optional /OP and SKIPBP are ignored by the translator.
HSpice tstep and tstop are ignored for n>1. SWEEP, SWEEP MONTE, OPTIMIZER and DATA keywords are ignored by the translator.
.FUNC
This is supported for PSpice only.
PSpice Netlist Format:
.FUNC a(b,c) {b+c}
ADS Netlist Format:
a(b,c)=b+c
The .FUNC statement in PSpice is used to define a single line user-defined function. This will be imported as shown above.
Privacy
Statement
|
Terms of Use
|
Legal |
Contact Us
|
© Agilent 2000-2008 ![]()