7
SPICE Compatibility
The Spectre® circuit simulator provides a SPICE compatibility mode, which eliminates the need for any netlist conversion in your flow.
For migration issues, see Spectre Circuit Simulator Migration Guide.
You can add the +spice option to the spectre command line option:
spectre +spiceoptionsinputfile
-
sets
tnomandtempto 25C. - sets parameter inheritance to global rather than the Spectre default of local. This means that global parameter definitions override local ones.
-
sets flags on files that do not have an
.scsextension or those that have sections withsimulator lang=spiceto be compatible with third-party simultors. This maps models in the SPICE sections to their Spectre equivalents, but does not modify Spectre files or sections. -
enforces .IC statements and initial conditions on elements for DC and OP analyses. By default, Spectre only forces initial conditions if the DC analysis
forceoption is set. -
allows duplicate parameter definitions.
By default, Spectre does not allow duplicate parameter definitions. The+spicecommand-line option automatically sets the value ofredefinedparamstowarningand generates a warning for the redefined parameters. -
sets
auto_minductortoyes. - sets the default resistance to 1e-5, if it is not specified for the resistor.
- errors out if linear CCCS does not have coefficients.
- sets the sources to be vcrspice instead of vcr.
Support for SPICE Netlists
The Spectre circuit simulator can read syntax that is consistent with other commercial SPICE simulators. These features include, but are not limited to.
-
Hierarchical identifiers
These are used to allow a parasitic device to connect to an internal node of the subcircuit. -
Miscellaneous SPICE syntax
Identifiers (instances, nodes, parameters, etc.) can include characters such as #, @ and |. -
Multiple namespaces
The same identifier can be used for different types of objects. In the following example,.param res=1k res res 0 res .model res r r=res
res is an instance, node, model, and parameter. -
Global nodes
You can now have multiple global statements in a design. -
Mixed Spectre and SPICE syntax
You can include both Spectre and SPICE languages in a design, as long as you insert simulatorlangswitches. -
Behavioral primitives
The Spectre circuit simulator supports the SPICE feature that allows a source, resistor, capacitor and/or inductance value to be expressed as a behavioral expression. -
Library files and sections
The Spectre circuit simulator supports the.libcard for model inclusion. -
Model binning
With the new parser, the Spectre circuit simulator supports the syntax of popular SPICE models, including the syntax that allows you to bin models according to geometry size.
Simulation Flow Compatible Options
Spectre also supports an extension of options used in the SPICE flow to better fit the existing simulation flow. These options are discussed below.
Options to Specify the Output Format
Options to Specify the Hierarchy Delimiter
Options to Control Duplicated Subcircuits, Measures, Instances, and Parameters
Spectre may generate an error for duplicate instance names, subcircuits, ports in a subcircuit, measures, models, and modules, based on strict and conservative rules. Spectre XPS provides the following options to modify the behavior and parse such duplicated definitions:
Option to not Save the Waveform
Spectre XPS does not support SPICE options .post and .probe. In some situations, you may want to output only the measure file and not the waveform files, to save disk space. To do this, you can use the option save=none.
save=none option does not save any waveform; however, measure results, such as .measure and .mt0 are still created for .measure.Option to Enable or Disable the Safe Operation Area (SOA) Check
Spectre XPS supports the Safe Operation Area (SOA) check and its parameters that are often defined in the foundry model files. The SOA check is enabled by default. However, for large designs, the check may introduce performance overhead. You can use the soa_warn option with possible values of yes (default) and no to control the SOA check behavior. When soa_warn=no is specified, Spectre does not generate any warning for the SOA check. As a result, there is no performance overhead.
PSpice Netlist and Device Model Support
Spectre supports PSpice® netlist format targeting to include PCB components modeled in PSpice format into a Spectre integrated circuit simulation. This solution does not support PSpice-only designs. The top-level netlist and control statement need to be defined in Spectre, or SPICE format. The recommended approach is to define a subcircuit in PSpice netlist format and to instantiate the subcircuit in the Spectre netlist.
You can include a PSpice netlist in Spectre using the following statement.
pspice_include <file> (Spectre format)
.pspice_include <file> (SPICE format)
All content of the included file is required to be in PSpice format. If the file includes files, they are required to be in PSpice format. Elements and device models used in the PSpice netlist are simulated using PSpice default values and equations.
The Spectre PSpice feature does not support digital PSpice elements.
Return to top