Product Documentation
Virtuoso ADE Explorer User Guide
Product Version IC23.1, November 2023

2


Setting Up Explorer Environment

The Virtuoso ADE Explorer lets you can run different simulations for a given design. You choose a simulator and the types of analyses you want to run for the design. You can also specify design variables that you want to use for simulations. When you run simulation, the results are saved in a predefined formats and can be used by other tools, such as the Virtuoso Visualization and Analysis XL for further analysis. If there are signals in the simulation results, they are by default plotted in the Virtuoso Visualization and Analysis XL graph window.

This chapter covers the following topics that describe how you can perform the basic environment settings in Explorer, which includes setting up simulator options, simulation files, environment options, design variables, and so on. It also explains how to configure and customize the default Explorer settings.

ADE Explorer contains a single test and the test name is displayed at the top of the Setup assistant. This assistant displays the setup information for the test, such as simulator, analysis, design variables, parameters, corners, Monte Carlo. By default, the test name includes the design information in the lib:cell:view format. To change the test name:

This chapter covers the following topics:

Prerequisites For Running Explorer

Before you start performing the Explorer setup and run simulations, you need to perform the following mandatory settings:

Choosing a Design

To choose a design (library, cell, and view) for a given testcase:

In this form,

  1. In the Library Name, Cell Name, and View Name fields, choose library, cell, and view names.
  2. In the Open Mode field, choose the mode in which you want to open the selected design —edit or read mode, and click OK.

The Choosing Design form also appears when you create a new maestro view and open Explorer using CIW and Schematic window. For more information about opening Explorer using these methods and choosing a design, see Opening Virtuoso ADE Explorer.

You can also open an existing design and state in ADE Explorer that was created using ADE L. For more details, see Appendix E, “Migrating From ADE L to ADE Explorer”.

Choosing a Simulator

The default simulator used to run simulations in Explorer is Spectre. To use another simulator, do the following:

  1. Choose Setup – Simulator.
  2. Double-click in the Simulator section of the Setup assistant.
  3. Right-click the test name and choose Simulator.
    The Choosing Simulator form appears.
  4. In the Simulator drop-down list, select the simulator you want to set. The available options are—spectre, hspiceD, ultraSim, and ams.
    When you switch from one simulator to another, a new oasis session is created. The new simulator retains the setup files recognized by it and ignores the rest. This behavior is controlled by retainStateSettings environment variable with the default value “yes”. On setting this variable to “no”, the new simulator does not retain the setup files from the previous oasis session.

Setting the Simulation Temperature

To set the temperature for the simulation run:

  1. Choose Setup – Temperature.
  2. Right-click the test name and choose Temperature.
    The Setting Temperature form appears.
    Alternatively, click the temperature icon ( ) and specify the temperature value in the text box.
  3. In the Scale field, select the unit you want to use to specify temperature.
  4. In the Degrees field, specify the temperature value.
  5. Click OK.

To sweep the temperature,

You can also sweep the temperature by creating a design variable, for example, var1, and then in the Degrees field, type VAR("var1"). The value of variable var1 can be swept to perform a temperature sweep. While specifying the temperature value through the VAR function, if you have a temperature value specified in the Corners Setup form, an error message is displayed asking you to confirm whether the values in the Corners Setup form should be removed or retained.

Choosing an Analysis

After you specify a simulator, you need to choose the analysis type on which you want to run simulation. These analysis type vary according to the simulator you select.

To select an analysis type:

In this form, select the analysis you want to set and specify its attributes. For detailed information about the analyses in Spectre, see Setting Up Analyses.

If the simulation performance mode is set to Spectre FX, only the tran, dc, and ac analysis options are available in the Choosing Analyses -- ADE Explorer form.

Choosing Model Library Path

To set up models libraries for simulator interfaces, do one of the following:

You can also add, enable or disable model library files using the asiSetEnvOptionVal SKILL functions as shown below:
asiSetEnvOptionVal(asiGetTool(’spectre) "modelFiles"
list(
   list("/usr1/models/model1.scs")
   list("/usr1/models/model2.scs")
   list("#" "/usr1/models/model3.scs")
))
The # symbol is used to disable the model3.scs file. If the # symbol is not used, the model library is enabled for the design.
If you use an empty string, that is " ", as the first argument, the specified model file will not be included in the model library.

The order in which the libraries are listed in the form determines their search order. Libraries are searched starting at the top of the list. If a model is included in two or more libraries, you can change the search order to determine which library ADE Explorer searches first. ADE Explorer uses the first model found in the search order.

Example:

The model file for a direct interface simulation of the schematic view of the lowpass cell of the aExamples library can be found in your_install_dir/tools/dfII/samples/artist/models/spectre/definitions.scs

simulator lang=spectre
model npn bjt type=npn is=3.26E-16 va=60 bf=100 \
br=6 nc=2 ikr=100m rc=1 vje=0.7 \
cjc=1e-12 fc=0.5 cje=0.7e-12 \
tr=200e-12 tf=25e-12 itf=0.03 vtf=7 xtf=2
model pnp bjt type=pnp is=3.28e-16 va=30 bf=35 \
br=6 nc=2 ikr=100m rc=1 \
cjc=1e-12 fc=0.5 cje=0.7e-12 \
tr=200e-12 tf=65e-12 itf=0.03 vtf=7 xtf=2

The models npn and pnp are referenced within the opamp schematic cell-view of the aExamples library. The device Q25 (connected to the pin inp) references the model npn with the parameter model (Model Name).

Specifying Simulator Options

This section describes the various simulator that are supported in Explorer. The default simulator is Spectre.

Spectre

The Explorer environment provides the spectre interfaces to the Spectre® analog simulator.

You need to use the MMSIM version of Spectre, which is available on the MMSIM CD and not in the DFII hierarchy. If you set up your path to point to a previous (non-MMSIM) version of the Spectre software, the simulation will not run and you get the following message:

"The ’spectre’ executable that you are using is an older version.Use MMSIM60 or later version of Spectre with this release. To check the spectre version, run ’spectre -W’."

The Spectre simulator is integrated into the analog circuit design environment with the Open Analog Simulation Integration Socket (OASIS).

To run real time tuning simulations using Spectre, use MMSIM14.1ISR3 or beyond, otherwise the RTT simulations are run in the batch mode. For more information, see Chapter 10, “Real-Time Tuning in Simulations”.

Setting Spectre Options

Perform the following steps to set the simulator-specific options and variables for Spectre:

You can turn on the AHDL linter feature when the Fast APS mode is enabled. For information about the AHDL Linter feature, refer to the chapter AHDL Linter Checks in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Simulator Options Form

The Simulator Options form lets you specify simulator-specific options and variables that apply to all analyses.

The form contains the following tabs.

Tab Description

Main

Lets you specify the values for toleration, temperature, multithreading, noise, and high voltage options.

Algorithm

Lets you specify the values for convergence and matrix parameter options.

Component

Lets you specify the values for component, nport, and model options.

Check

Lets you specify the values for error checking and device checking options.

Annotation

Lets you specify the values for annotate options.

Miscellaneous

Lets you specify the values for quantity, sensitivity, AHDL linter, and other miscellaneous options.

Main

The following table describes the fields available on the Timestep tab of the Simulator Options form.

Field Description

TOLERATION OPTIONS

Specifies the values for toleration options.

reltol

Specifies the relative convergence criterion.

The default value is 1e-3.

residualtol

Specifies the time after which the outputs are to be saved.

vabstol

Specifies the convergence criterion for absolute voltage tolerance.

The default value is 1e-6.

iabstol

Specifies the convergence criterion for absolute current tolerance.

The default value is 1e-12.

TEMPERATURE OPTIONS

Specifies the values for temperature options.

temp

Specifies the temperature.

The default value is 27.

tnom

Specifies the temperature measurement of the default component parameter.

The default value is 27.

tempeffects

Specifies the temperature effect selector.

  • vt: Varies only the thermal voltage with temperature.
  • tc: Specifies that the parameters that start with tc are active and the thermal voltage is dependent on temperature.
  • all: Enables all built-in temperature models.
    This is the default.

MULTITHREADING OPTIONS

Specifies the values for multithreading options.

multithread

Enables or disables the multithreading capability. When multithreading is enabled but the number of threads (nthreads) is not specified, Spectre automatically detects the number of processors and selects the proper number of threads to use.

  • on: Enables multithreading.
  • off: Disables multithreading.

nthreads

Specifies the number of threads for multithreading.

The default value is 1.

NOISE OPTIONS

Specifies the values for time step parameters.

Noise Contribution

Enables or disables the noise contribution for the given instance list.

  • on: Enables the noise contribution for the given instance list.
  • off: Disables the noise contribution for the given instance list.

Instance List

Specifies the list of instances to be considered for noise contribution.

This option is available only when Noise Contribution is set to on.

Select

Lets you select instances from the schematic.

This option is available only when Noise Contribution is set to on.

Clear

Clears the selected instances from the instance list.

This option is available only when Noise Contribution is set to on.

noiseon_type

Defines the noise sources that are enabled by the noiseon/off_inst option.

Possible values are thermal, flicker, shot, ign, and all.

The default value is all.

noiseoff_type

Defines the noise sources that are disabled by the noiseon/off_inst option.

Possible values are hermal, flicker, shot, ign, and all.

The default value is all.

HIGH VOLTAGE

Specifies the values for time step parameters.

highvoltage

Enables optimized Spectre settings for high voltage designs including voltage, and current binning, excluding VerilogA and dangling nodes from convergence checks, and optimized large capacitance handling.

Possible values are on and off.

The default value is off.

Algorithm

The following table describes the fields available on the Algorithm tab of the Simulator Options form.

Field Description

CONVERGENCE OPTIONS

Specifies the values for initial condition parameters.

homotopy

Specifies the method used when no convergence occurs on the initial attempt of DC analysis. You can specify methods and their orders by specifying a vector setting such as homotopy=[source ptran gmin].

Possible values are none, gmin, source, dptran, ptran, and all.

The default value is all.

limit

Specifies the limiting algorithms to aid DC convergence.

Possible values are delta, log, dev, l2, newton, and none.

The default value is dev.

gmethod

Stamps gdev, gnode, or both in the homotopy methods (other than dptran).

Possible values are dev, node, and both.

The default value is dev.

dptran_gmethod

Stamps gdev, gnode, or both in the dptran (homotopy) methods.

Possible values are dev, node, and both.

The default value is node.

try_fast_op

Speeds up the DC solution. For hard-to-converge designs, this feature fails and other methods are applied. In corner cases, this feature may have negative effects. If the DC analysis is unusually slow, the memory usage of the processes keeps increasing, or if DC analysis gets stuck even before homotopy methods start, set this option to no.

Possible values are yes and no.

The default value is yes.

convdbg

Specifies theoption to diagnose convergence issues and identify problem areas.

Possible values are none, status, and detailed.

icpriority

Sets the IC priority order. If set to netlist, the order from lowest to highest is readNS, netlist NS, readIC, netlist IC. If set to file, the order from lowest to highest is netlist NS, readNS, netlist IC readIC.

Possible values are file and netlist.

The default value is netlist.

nonconv_topnum

Specifies the top number of non-convergence nodes to be printed public.

The default value is 10.

gmin

Specifies the conductance for each nonlinear branch of the device to prevent simulation non-convergence. A Large gmin impacts accuracy of the current probe, while a small gmin value may cause circuit convergence issue. For a circuit that is sensitive to leakage current, it is recommended to set gmin to a small value or zero.

The default value is 1e-12.

gmin_check

Specifies that the effect of gmin should be reported if significant.

Possible values are no, max_v_only, max_only, and all.

The default value is max_v_only.

gmindc

Specifies the minimum conductance across each non-linear device in DC analysis. If gmindc is not specified, the gmin value is taken as the value for gmindc.

The default value is 1.0e-12.

rforce

Specifies the resistance used when forcing nodesets and node-based initial conditions.

The default value is 1.

rthresh

Specifies that all instance resistors with abs(R) < rthresh most use resistance form unless their instance parameter or model parameter overwrites it.

The default value is 0.001.

rabsclamp

Specifies that all fixed value and variable resistors with an absolute value of R<=rabsclamp must be clamped to rabsclamp.

The default value is 0.0.

rabsshort

Specifies that all fixed value resistors with absolute value of R<=rabsshort must be shorted.

The default value is 0 for Spectre, and 1m for APS.

rabsshort can additionally be applied to variable resistors using the option short_cut_var_elem=yes.

MATRIX PARAMETER OPTIONS

Specifies the values for initial condition parameters for oscillators.

pivotdc

Enables the use of numeric pivoting on every iteration of DC analysis.

Possible values are yes and no.

The default value is no.

dc_pivot_check

Specifies that during a DC analysis, the numeric pivoting must be performed only when bad pivot is detected.

Possible values are yes and no.

The default value is no.

pivrel

Specifies the relative pivot threshold.

The default is 1e-3.

pivabs

Specifies the absolute pivot threshold.

The default is 0.

preorder

Controls the amount of matrix pre-ordering that is done and may lead to much fewer matrix fill-ins in some cases. Known cases include designs with large number of small resistors and large number of behavioral instances containing voltage based equations. Try this option when the simulation runs out of memory or if the simulation is unreasonably slow for the size of your design.

Possible values are partial and full.

The default value is partial.

rebuild_matrix

Ensures consistent matrix ordering at the beginning of the analyses for consistent results.

If set to yes, rebuild circuit matrix at the beginning of ac, dc, dcmatch, montecarlo, pz, stb, sweep, tdr, and tran analyses. Notice that rebuild circuit matrix can result in performance overhead.

Possible values are yes and no.

The default value is no.

Component

The following table describes the fields available on the Component tab of the Simulator Options form.

Field Description

COMPONENT OPTIONS

Specifies the values for component options.

scalem

Specifies the model scaling factor.

The default value is 1.0.

scale

Specifies the device instance scaling factor.

The default value is 1.0.

scalefactor

Specifies the Scale factor for Device Model Technology Scaling. The options parameter scalefactor enables device model providers to scale device technology independent of the design dimension scaling done by circuit designers. The resulting device instance scaling is defined by 'scale * scalefactor'. If the foundry uses a technology scale factor of 0.9 (scalefactor=0.9), and the circuit designer uses a design scale factor of 1e-6 (scale=1e-6), then the compounded scaling of the device instance dimension is 0.9e-6. Unlike options parameter scale, scalefactor cannot be used as a netlist parameter and cannot be altered or used in sweep statements.

The default value is 1.0.

approx

Specifies that the approximate models must be used. Difference between approximate and exact models is less.

Possible values are yes and no.

The default value is no.

macromodels

Determines whether the circuit contains macromodels. At times, setting this parameter to yes helps improve performance

Possible values are yes and no.

The default value is no.

maxrsd

Lets you use approximation for drain or source parasitic resistors which are less then maxrsd. Applies to bsim3v3 and bsim4 mosfet models.

auto_minductor

Lets you insert missing mutual inductor coupling automatically.

Possible values are yes and no.

The default value is no.

minr

Specifies that all parasitic resistors inside devices less than global minr must be removed.

The order of checking devices is as follows.

  1. Check if resistors are smaller than local minr. If yes, check if it is a MOSFET or BJT. If it is a MOSFET, drop the resistor, if it is BJT, clamp to the minr value, and give a warning message for both cases.
  2. Check global minr, All Parasitic resistors less than global minr are removed and a warning message is issued.
  3. If the resistor is not removed and is smaller than 0.001, issue a warning.

The default value is 0.0.

NPORT OPTIONS

Specifies the values for nport options.

nportirreuse

Lets you reuse impulse responses data for all nport instances.

Possible values are yes and no.

The default value is yes.

nportirfiledir

Specifies the directory to which the nport impulse response file is to be written. If it is not specified, the file is written to /home/<username>/.cadence/mmsim/. If a relative path is specified, the path is relative to the current working directory.

nportcompress

Improves the efficiency of S-parameter simulation of large nport files when a certain percentage of the ports is unused, i.e., open or short circuited. Nport compression does not impact simulation accuracy.

  • yes: Attempts to force compression.
  • no: Disables compression.

If left unspecified, compression is enabled when N>=10 and the ratio of used ports is less than or equal to 0.8.

Possible values are yes and no.

The default value is yes.

nportcompressfiledir

Specifies the directory where the compressed nport S-parameter file is to be written. If unspecified, it is stored in the output directory.

nportunusedportgmin

Leaves the port open-circuited. A small value loads open-circuited ports with a finite but large resistance. This introduces a small error in the response, but it induces losses which help obtain a passive response.

The default value is 0.

nportunusedportrmin

Leaves the port short-circuited. A small value will insert a small resistance in place of short-circuited ports. This introduces a small error in the response, but it induces losses which help obtain a passive response.

The default value is 0.

nportbbsfittedfiledir

Specifies the directory to which the BBSpice fitted S-Parameter file is to be saved. If not specified, the file is saved to a directory named BBSpiceOutput. If a relative path is specified, the path is considered relative to the current working directory.

nport_default_passivity

Checks and enforces passivity of S-parameter for all nport instances. When set to disable, this global option has no effect. If set to a value other than disable, all nport elements in the netlist without a value for passivity explicitly set have their passivity argument set to the same value as specified in this global option. If an nport instance already has the passivity option specified, the instance option takes priority, if both are present.

Possible values are no, check, enforce, fit_weak_enforce, fit_enforce, and disable.

The default value is disable.

nport_default_interp

Nport automatically chooses bbspice for analysis, such as pss and the tstab interval of hb and pss, and linear for analyses, such as ac, dc, tran, and sp, If nport_default_interp is set to auto_switch.

All nport elements in the netlist that do not have interp set will have interp set to the value specified in the global option nport_default_interp. If an nport instance has the interp option explicitly specified, the instance option will take priority over the global option.

Possible values are spline, rational, linear, bbspice, and auto_switch.

The default value is disable.

nportbbsversion

Controls the BBspice version used for S-Parameter fitting.

  • 1: The BBspice version 1 is selected
  • 2: The BBspice version 2 is selected.

The default value is:

  • 2: If the Spectre 20.1 version is used.
  • 1: If the Spectre 19.1 version is used.

MODEL OPTIONS

Specifies the values for model options.

vthmod

Specifies the Vth output selector.

  • std: Outputs the model equation Vth.
    This is the default.
  • vthcc: Outputs constant current Vth and may impact simulation performance.

ivthn

Specifies the NMOS Vth current parameter.

The default value is 0.0.

ivthp

Specifies the PMOS Vth current parameter.

The default value is 0.0.

ivthw

Specifies the Width offset for constant current Vth.

The default value is 0.0.

ivthl

Specifies the Length offset for constant current Vth.

The default value is 0.0.

ivth_vdsmin

Specifies the minimum Vds in constant current Vth calculation public.

The default value is 0.05.

tmevthmod

Specifies the TSMC constant vth calculation. By default it is not activated.

Possible values are 0 and 1.

vdsatmod

Specifies the Vdsat output selector.

Possible values are std, gds, and slow_gds.

The default value is std.

Check

The following table describes the fields available on the Check tab of the Simulator Options form.

Field Description

ERROR CHECKING OPTIONS

Specifies the values for error checking options.

topcheck

Checks circuit topology for errors.

  • no: The topology check is not performed.
  • min: The topology check is performed and gmin is inserted between isolated nodes and ground. A heuristic topology check is not performed.
  • full: The topology check is performed and gmin is inserted between isolated nodes and ground. A heuristic topology check is also performed to find nodes that may be isolated due to the numerical nature of the circuit. For example, nodes isolated by reverse biased diodes in MOSFETS.
    This is the default.
  • fixall: Attaches gmin to all types of isolated nodes, including the ones detected by the heuristic topology check.
  • errmin: Similar to topcheck=min (topcheck=full) but the simulation will stop if floating nodes are found.
  • errful: Same as errmin.

iccheck

Checks if nodes with initial conditions have capacitive path to ground or connected to ground by vsource. IC for such node is treated as nodeset.

Possible values are no, vsource, cap, and all.

The default value is all.

ignshorts

Silently ignores shorted components.

Possible values are yes and no.

The default value is no.

diagnose

Prints additional information that might help diagnose accuracy and convergence problems.

Possible values are no, yes, and detailed.

The default value is no.

redefinedparams

Specifies whether parameters can be redefined in the netlist. When set to warning or ignore, the simulator allows you to redefine parameters in the netlist. However, it honors only the last definition of the redefined parameter. Depending on the value set, the simulator displays warning messages for the redefined parameters or does not display any message. When set to error, the simulator does not allow you to redefine parameters in the netlist and displays an error message.

Possible values are error, ignore, warning, and warn.

The default value is error.

dspf_subckt_wo_instance_call

Specifies whether the simulator should error out, give a warning, or ignore when a subcircuit in a DSPF is not instantiated.

Possible values are error, ignore, and warning.

The default value is ignore.

DEVICE CHECKING OPTIONS

Specifies the values for device checking options.

dochecklimit

Enables or disables assert checks for simulation.

Possible values are yes and no.

The default value is yes.

checklimitfile

Specifies the file to which assert violations are written.

checklimitdest

Specifies the destinations where violations are written.

Possible values are file, psf, sqldb, and both.

The default value is sqldb.

checklimitskipsubs

Specifies the array of subcircuit masters or subcircuit master patterns to be skipped in device checking. Patterns can have any wildcard symbols.

checklimitskipinsts

Specifies the array of instances to be skipped in device checking. Instances can have any wildcard symbols.

checklimitskipfile

Specifies the file that contains the subcircuit masters or subcircuit master patterns to be skipped in device checking. Patterns can have any wildcard symbols.

opptcheck

Checks operating point parameters against soft limits.

Possible values are yes and no.

Options

Opens the Device Checking Options form.

Annotation

The following table describes the fields available on the Annotation tab of the Simulator Options form.

Field Description

ANNOTATE OPTIONS

Specifies the values for annotate options.

audit

Prints thetime required by various parts of the simulator.

Possible values are no, brief, detailed, and full.

The default value is detailed.

inventory

Prints the summary of components used.

Possible values are no, brief, detailed, and full.

The default value is detailed.

narrate

Narrates the simulation.

Possible values are no, yes, and compact.

The default value is yes.

debug

Prints debugging messages.

Possible values are yes and no.

The default value is no.

info

Prints informational messages.

Possible values are yes and no.

The default value is yes.

note

Prints notice messages.

Possible values are yes and no.

The default value is yes.

maxnotes

Specifies the maximum number of times a notice is issued per analysis.

This option has no effect on notices issued as part of parsing the netlist. Use the -maxnotes command-line option to control the number of all notices issued.

The default value is 5.

warn

Displays warning messages.

Possible values are yes and no.

The default value is yes.

maxwarns

Specifies the maximum number of times a warning message is issued per analysis.

This option has no effect on warnings issued as part of parsing the netlist. Use the -maxwarns command-line option to control the number of all warnings issued.

The default value is 5.

maxwarnstologfile

Specifies the maximum number of times a warning message is printed to the log file per analysis.

This option has no effect on warnings printed as part of parsing the netlist. Use the -maxwarnstolog command-line option to control the number of all warnings printed to the log file.

The default value is 5.

maxnotestologfile

Specifies the maximum number of times a notice message is printed to the log file per analysis.

This option has no effect on notices printed as part of parsing the netlist. Use the -maxnotestolog command-line option to control the number of all notices printed to the log file.

The default value is 5.

error

Generates error messages.

Possible values are yes and no.

The default value is yes.

printstep

Enables Spectre to print results by equal step defined in .tran statement.

Possible values are yes and no.

The default value is no.

digits

Specifies the number of digits used when printing numbers.

The default value is 5.

notation

Specifies the notation to be used to display real numbers to the screen.

Possible values are eng, sci, and float.

The default value is eng.

cols

Specifies the width of screen in characters.

The default value is 80.

colslog

Specifies the width of log file in characters.

The default value is 80.

title

Specifies the circuit title.

print statistics report

Prints simulation phase statistic reports.

Possible values are basic and detailed.

The default value is basic.

Miscellaneous

The following table describes the fields available on the Miscellaneous tab of the Simulator Options form.

Field Description

QUANTITY OPTIONS

Specifies the values for quantity options.

value

Specifies the default value quantity.

flow

Specifies the default flow quantity.

The default value is l.

quantities

Prints quantities.

  • no: No quantities are printed.
    This is the default.
  • min: The simulator prints out all defined quantities.
  • full: the simulator also prints a list of nodes and their quantities.

SENSITIVITY OPTIONS

Specifies the values for sensitivity options.

sensfile

Specifies the output sensitivity data file name.

sensformat

Specifies the format of sensitivity data.

Possible values are tabular and list.

The default value is tabular.

senstype

Specifies the type of sensitivity being calculated.

Possible values are partial and normalized.

The default value is partial.

sensfileonly

Enables or disables raw output of sensitivity results.

Possible values are yes and no.

The default value is no.

sensbinparam

Specifies the sensitivity for binning models.

Possible values are no, uncorrelated, and correlated.

The default value is no.

AHDL LINTER OPTIONS (APS Only)

Specifies the values for AHDL linter options for Spectre APS.

Linter check

Enables the AHDL lint checker feature for Spectre APS.

Possible value is on.

Warning type

Specifies the type of warning messages to be reported by the simulator.

Possible values are warn, error, and force.

Max Warning

Specifies the maximum number of Verilog-A linter warning messages to be reported by the simulator for each message ID.

The default value is 5.

OTHER OPTIONS

Specifies the values for any other options supported by Spectre simulator.

Additional arguments

Lets you specify any additional arguments supported by Spectre simulator.

Related Topics

Environment Variables for Spectre Simulator Options Form.

Specifying the PSF Version in Simulator Options

To specify the PSF version you want to use for writing the simulation results, do the following

Specifying Performance and Post-Layout Optimization Options for the Spectre Simulator

With the Spectre simulator, you can run simulation using the baseline Spectre version. You can also enable post-layout optimization to perform parasitic reduction with more tunable and higher compression levels. This option also enables other algorithms that optimize the performance of the DC solution phase and matrix solver specifically for large postlayout circuits, enabling transient and DC analyses with these circuits to be performed faster.

For more information about the baseline Spectre version and post-layout optimization, see the Spectre Circuit Simulator Reference

Spectre mode is supported in MMSIM 7.0 and later releases and post-layout optimization is supported in IC6.1.7 ISR1 and later releases. APS is supported in MMSIM 7.1 and later releases.
When a Spectre simulation is running in the interactive mode, do not restore a simulation setup in which the Spectre mode or post-layout optimization is enabled. Restoring such a simulation setup terminates the simulation run.

To specify performance and post-layout optimization options for the Spectre simulator, do the following:

  1. Choose Setup – High-Performance Simulation.
    The High-Performance Simulation Options form appears.
    The High-Performance Simulation menu option is disabled when a Spectre simulation is running in the interactive mode.
  2. Select one of the following simulation performance modes:
    • Spectre—Use the baseline Spectre version for simulation.
    • APS—Use the Accelerated Parallel Simulator (APS) for simulation. The additional fields required for APS mode appear on the form:
    • Spectre X— Use the Spectre X simulator mode for simulation. For more information, see Spectre X.
      Spectre X mode is supported in Spectre 19.10 release.
    • XPS MS—Use the Extensive Partitioning Simulator Mixed-Signal (XPS MS) mode for simulation. For more information, see MS Options.

    You can switch between Spectre and APS default tolerance options using the Reset cdsenv options check box. When the Simulation Performance Mode is set to Spectre and the Reset cdsenv options check box is selected, ADE resets the transient options to Spectre default settings. If you want to switch to APS default settings, select APS from the Simulation Performance Mode and select the Reset cdsenv options check box.
    The default transient options will change from Spectre to APS only if you change the Simulation Performance Mode from spectre to APS and select the Reset cdsenv options check box and vice versa. If you change the Simulation Performance Mode and do not select the check box, the default options will not change.
    Reset cdsenv options check box is available only if the .cdsenv file exists in <cds_inst_dir>/tools/dfII/etc/tools/aps/ location.
  3. Specify the accuracy level for transient analysis runs by selecting one of the following options in the Error Preset field:
    • Select Do not override to use the accuracy level specified for transient analyses runs in the Choosing Analysis form. For more information about setting up a transient analysis, see Transient Analysis.
    • Select Liberal, Moderate, or Conservative to override the accuracy level specified for transient analyses runs in the Choosing Analyses form.

    If errpreset is not set for transient analyses in the Choosing Analyses form and is set to Liberal, Moderate, or Conservative in the High-Performance Simulation Options form, the settings are netlisted and written into the runSimulation file.
    For more information about the Liberal, Moderate and Conservative accuracy levels, see the documentation for the errpreset parameter in the Spectre Circuit Simulator Reference.
    crformance mode is set to APS.
  4. Select the Enable FMAX Control check box to specify the maximum frequency of the internal net of the circuit or the max operating frequency of the circuit.
    This field appears only when the XPS MS simulation performance mode is selected and the Enable Post-Layout Optimization check box is selected.
    • Circuit internal net maximum frequency—Specify an integer value in this field. It adds the +rcnet_fmax=<value> option to the +postlayout command line option. The maximum frequency typically ranges from 50G to 250G.
      If the simulation performance mode is set to APS, this field appears when the post-layout preset mode is set to Default, High Precision Analog, or Ultra Precision Analog. And if the performance mode is set to XPS MS, this field appears when the Enable FMAX Control check box is selected.
    • Circuit maximum operating frequency—Specify an integer value in this field. It adds the rcr_fmax=<value> global option to the netlist. The operating frequency typically ranges from 1G to 30G.
      This field appears only when the performance mode is set to APS and the post-layout preset mode is set to Legacy RCR.
  5. Specify the instances to be preserved from being shorted by selecting the required Instance Preservation option. Select this check box only if you want to save all operating point data because it might slow down the simulation.
    Select To

    None

    Specify that no instances need to be preserved from being shorted.

    Selected

    Specify the instances that must be preserved from being shorted.

    In the Preserve Instance field, type the instance names separated by spaces. You can also use wildcards to specify the instances. For example, type I0.I1.r* to specify that all instances with names starting with r in the I0.I1 hierarchy must be preserved from being shorted.

    To select instances from the schematic, do the following:

    1. Click the Select button next to the Preserve Instance field.
    The schematic for the design is displayed.
    1. Select one or more instances on the schematic.
    To select more than one instance at a time, do one of the following:
    • Hold down the Shift key and click the instances you want to select.
    • Drag the mouse pointer over the instances you want to select.
    All the instances that are within the yellow bounding box that appears are included in the selection.
    1. Press the Esc key when you are done.
    The selected instances are displayed in the Preserve Instance field.

    All

    Specify that all instances should be preserved from being shorted.

  6. (Optional) Click the Detailed Options button. The Post-Layout Detailed Options form appears:
    In the form, specify the following:
    • Resistor Shorting Threshold— Specify a threshold value (in ohms) to short resistors whose resistance is less than the specified value.
    • Decoupling Capacitor Threshold—Specify a threshold value (in farads) to decouple capacitors whose capacitance is less than the specified value.

    The Detailed Options button is enabled only when APS is selected as the performance mode and the Enable Post-Layout Optimization check box is selected.
  7. Click OK.
    If high-performance mode is enabled, the simulator mode is automatically changed to batch.
    The ADE Explorer window displays the settings you made in the High-Performance Simulation Options form. For example, if you selected the simulation performance mode as and the accuracy level as Liberal, the status bar in the window displays the simulator name as:
    spectre liberal
    For more information on how to get better performance from APS mode, see the Getting More Performance From Spectre APS Simulation section in Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Spectre X

When you select the Simulation performance mode as Spectre X, the following fields appear in the High-Performance Simulation Options form.

Spectre X can be selected as the simulation performance mode only if the AMS flex mode is enabled.

For information about Spectre X, read the Spectre Classic Simulator, Spectre APS, Spectre X, Spectre XPS, Spectre FMC Analysis, and Legato Reliability Solution User Guide and the Spectre Circuit Simulator Reference.

Using GPU with Spectre X

Spectre X lets you use graphics processing units (GPUs) in addition to CPUs. If there are GPUs available in the setup and you have large designs that have long-running transient analyses, post-layout or advanced node simulations, you can use GPU mode of Spectre X to speed up simulations.

To enable GPU for Spectre X, perform the following steps:

  1. Set the SHELL environment variable CDS_ADE_SPECTREX_GPU 1.
  2. In the High-Performance Simulation Options form, select Spectre X as the simulation performance mode.
  3. Select the Advanced Options check box.
  4. Select the GPU check box.
    Select a job distribution method and specify the GPUs to be used for the simulation, along with their IDs.

MS Options

You can set up mixed-signal options only when:

On selecting Enable MS, the following fields appear in the High-Performance Simulation Options form.

Select the Enable Post-Layout Optimization check box in the Post-Layout Settings group box if you are using MS options on a design that uses a post-layout view or post-layout files, such as DSPF files, SPEF files, or Spectre/HSPICE netlists containing post-layout parasitics.

Related Topics

maestro.gui showMSOptionsInSpectreXTab

Spectre FX

On selecting the simulation performance mode as Spectre FX, the options specific to this mode are displayed.

In the General group box, specify the following options.

For more information, refer to the Spectre FX Circuit Simulator User Guide.

Transient Analysis with Spectre FX

When the simulation performance mode is set to Spectre FX, the Choosing Analyses form for transient analysis is updated as follows.

The following transient parameters are supported with Spectre FX.

Analyses Supported by Spectre FX

Spectre FX supports the following analyses:

Virtuoso Accelerated Parallel Simulator (APS)

The APS interface is no longer supported because the APS options can now be set in the Spectre interface. To specify APS options, set spectre as the simulator and choose Setup – High-Performance Simulation.

Explorer provides an interface to the Virtuoso® Accelerated Parallel Simulator (APS). APS is a next generation SPICE simulator that provides high performance, high capacity circuit simulation with full Spectre accuracy. APS achieves maximum simulation performance by enabling multi-threading on multi-core and multi-CPU shared memory systems. This allows you to quickly simulate large pre- and post-layout designs.

APS combines an advanced simulation engine with existing Spectre and Spectre technologies. It is primarily targeted at speeding up DC and Transient analyses. The APS use model is identical to Spectre, with same netlist syntax, device model, analyses, features, and output format support.

For more information about APS, see the Virtuoso Accelerated Parallel Simulator User Guide.

Virtuoso UltraSim Simulator Interface

Virtuoso ADE Explorer provides the interface to run Virtuoso® UltraSimsimulator.

For more information about how to use UltraSim simulator in Explorer, see Chapter 19, “Working with UltraSim Simulator”.

Virtuoso AMS Simulator Interface

Virtuoso ADE Explorer provides a seamless integration of the Spectre AMS Designer and Xcelium Mixed-Signal simulator. The integration of the Spectre AMS Designer simulator and ADE Explorer creates a design environment with the look and feel expected by the analog and mixed-signal designers who already use ADE. When using this integration, you can access designs using the same tools you currently use for pure analog and mixed signal designs.

For more information about how to use AMS simulator in Explorer, see Chapter 15, “Working with AMS Simulator”.

Virtuoso HSPICE Simulator Interface

Virtuoso ADE Explorer provides the interface to run Virtuoso HSPICE simulator.

For more information about how to use HSPICE simulator in Explorer, Chapter 16, “Working with HSPICE Simulator”.

Setting up High-Performance Simulation Options

To specify the high-performance simulation options for Spectre and AMS simulators, do the following:

  1. Choose Setup – High-Performance Simulation.
    The High-Performance Simulation menu option is disabled when a simulation is running in the interactive mode.
    The High-Performance Simulation Options form appears.
  2. Select one of the following simulation performance modes:
    • Spectre—Use the baseline Spectre version for simulation.
    • APS—Use the Accelerated Parallel Simulator (APS) for simulation. It preserves all of the numerical simulation algorithms like numerical tolerance control, time step control, Newton iteration control, analytical device model, and so on and it is expected to produce a near identical simulation numerical noise floor as baseline Spectre. This tight accuracy correlation between baseline Spectre and Spectre APS does restrict some additional simulation performance.
      To further speed up simulation, you can use the ++aps simulation mode.
      You can also set up the Mixed-Signal (MS Options) options to get a high-performance transistor-level multi-rate simulation solution by combining a highly accurate SPICE engine (Spectre APS) together with a fast digital simulation engine (Spectre XPS). The identification between the analog and digital portions of the circuit is done automatically, with the added flexibility for advanced users to optimize it. It further speeds up both pre-layout and postlayout simulations. For more information, see MS Options.
      To use the Mixed-Signal options during simulation, select the Enable MS check box.
      You can use the environment variable, uniMode to change the default setting for Simulation Performance Mode.
      You can switch between Spectre and APS default tolerance options using the Reset cdsenv options check box. When the Simulation Performance Mode is set to Spectre and the Reset cdsenv options check box is selected, ADE resets the transient options to Spectre default settings. If you want to switch to APS default settings, select APS from the Simulation Performance Mode and select the Reset cdsenv options check box.
      The default transient options will change from Spectre to APS only if you change the Simulation Performance Mode from spectre to APS and select the Reset cdsenv options check box and vice versa. If you change the Simulation Performance Mode and do not select the check box, the default options will not change.
      Reset cdsenv options check box is available only if the .cdsenv file exists in <cds_inst_dir>/tools/dfII/etc/tools/aps/ location.
      The additional fields required for APS mode appear on the form:
    • Spectre X— Use the Spectre X simulator mode for simulation. It provides five high-level +preset options like cx, ax, mx, lx and vx that allow you to trade off accuracy and performance. These high-level options not only control solver settings, but also enable parasitic optimization after automatically detecting postlayout designs. The cx mode provides the highest accuracy, while the vx mode provides the highest performance. For more information, see Spectre X.
      Spectre X is the default simulation performance mode.
      Note the following:
      • Spectre X mode is supported in Spectre 19.10 release.
      • To use the Mixed-Signal options for simulation, set up the fields in the MS Options group box and select the Enable MS check box.
    • Spectre FX— Use the Spectre® FX simulator mode for simulation. Spectre FX is the next-generation FastSPICE simulator that addresses simulation challenges like,
      • An increase in demand for performance, accuracy, and capacity from transistor-level simulators.
      • The advancement of process nodes.
      • The adoption of new design practices.
      • The need for full-chip simulation.
      • The stronger effect of parasitic elements that greatly increase the size and complexity of the designs to be simulated.

      For more information, see Spectre FX.
      Spectre FX mode is supported in Spectre 21.10 release.
  3. Specify the accuracy level for transient analysis runs by selecting one of the following options in the Error Preset field:
    • Select Do not override to use the accuracy level specified for transient analyses runs in the Choosing Analysis form. For more information about setting up a transient analysis, see Transient Analysis.
    • Select Liberal, Moderate, or Conservative to override the accuracy level specified for transient analyses runs in the Choosing Analyses form.

    If errpreset is not set for transient analyses in the Choosing Analyses form and is set to Liberal, Moderate, or Conservative in the High-Performance Simulation Options form, the settings are netlisted and written into the runSimulation file.
    For more information about the Liberal, Moderate and Conservative accuracy levels, see the documentation for the errpreset parameter in the Spectre Circuit Simulator Reference.
  4. Select the Use ++aps option to enable the Fast APS mode. This mode uses a different time-step control algorithm compared to spectre, which results in improved performance while satisfying error tolerances and constraints.
    Use ++aps option is enabled only when you set the Simulation Performance Mode to APS or XPS.
  5. Select one of the following options in the Multi-Threading field:
    Select To

    Auto

    Use the maximum number of available threads to run the simulation.

    The number of threads used—one thread for every CPU core—is automatically derived from the hardware architecture in use, but is limited to a maximum of:

    • 4 threads when Spectre is set as the simulation performance mode
    • 32 threads when APS is set as the simulation performance mode.

    Manual

    When a manual multi-threading simulation is run, in the #Threads field, you can add either:

    • The number of threads. You can specify up to:
      • 4 threads when Spectre is set as the simulation performance mode
      • 64 threads when APS is set as the simulation performance mode
        The tooltip of #Threads field shows the estimated thread count, which is the CPU estimate value backannotated from the Job Policy Setup form
    • The computer farm management tool (sge, lsf, loadleveler or farm) to be used to run simulation. On doing so, a +mt option will be added to the runSimulation file in the netlist directory.
      For example, if the specified computer farm management tool is sge, the option, +mt=sge will be added to the runSimulation file.
    In the manual multi-threading mode, the environment variable spectreMTNumberUsed specifies the +mt option for Spectre APS.

    Disable

    Disable multithreading.


    Note the following:
    • The multithreading options specified in this form override the multithreading options specified in the Simulator Options form. For more information about the Simulator Options form, see Specifying Simulator Options.
    • If Spectre is set as the analog solver for the Spectre AMS Designer simulator, multithreading is supported only if you are using the Cadence IUS 8.2 or a later release.
  6. Select one of the following options in Savefilter:
    Select To

    none

    Speeds up simulation by including RC reduction.

    rc

    Enables filtering the internal RC nodes for probe or save statement. It is the default value of Savefilter.

  7. In the Processor affinity field, specify the processors using which simulation sessions should be run.
    This field is available only for the lnx86 platform, If you are using an ibmrs or a sun4v machine, this option will not be visible.

    When running multiple multi-threading simulation sessions on a single computer, it is recommended that you fix the simulation session to particular processors. Otherwise multiple simulation sessions can race against each other to get the available processors, resulting in a less than optimum simulation performance. For example, to run two 4- thread simulation sessions on an 8-processor computer, specify 0-3 in the Processor affinity field for the first 4-thread simulation session using processors 0 to 3, and 4-7 in the Processor affinity field for the second 4-thread simulation session using processors 4 to 7.
    You can specify a range of processors such as 0-4, or a comma-separated list of processors such as 0,2,4,6.
  8. To optimize post-layout designs and maximize post-layout simulation performance select the Enable Post-Layout Optimization check box.
    The Enable Post-Layout Optimization check box and other options in the Post-Layout Settings section are available only when you set the Simulation Performance Mode to APS or XPS MS.
  9. Select one of the following options in the Post-Layout Preset Mode field:
    Select To

    High Precision Analog

    Perform post-layout optimization with better accuracy, as compared to the default mode, but with slower performance. You can use this option for sensitive analog and mixedsignal designs.

    This is equivalent to the +postlayout=hpa Spectre command-line option.

    Ultra Precision

    Analog

    Perform post-layout optimization with the best accuracy and include the optimizations present in the High Precision Analog mode.

    This is equivalent to the +postlayout=upa Spectre command-line option

    Legacy RCR

    This is equivalent to the +postlayout=legacy Spectre command-line option, which is similar to the +parasitics Spectre command-line option.

    Legacy-RF RCR

    Perform RF analysis. It preserves the level of accuracy needed for RF analysis.

    This is equivalent to the +postlayout=legacy_rf Spectre command-line option, which is similar to the +parasitics=rf Spectre command-line option.

    This field appears only when the performance mode is set to APS.
  10. Select the Enable FMAX Control check box to specify the maximum frequency of the internal net of the circuit or the max operating frequency of the circuit.
    This field appears only when the XPS MS simulation performance mode is selected and the Enable Post-Layout Optimization check box is selected.
    • Circuit internal net maximum frequency—Specify an integer value in this field. It adds the +rcnet_fmax=<value> option to the +postlayout command line option. The maximum frequency typically ranges from 50G to 250G.
      If the simulation performance mode is set to APS, this field appears when the post-layout preset mode is set to Default, High Precision Analog, or Ultra Precision Analog. And if the performance mode is set to XPS MS, this field appears when the Enable FMAX Control check box is selected.
    • Circuit maximum operating frequency—Specify an integer value in this field. It adds the rcr_fmax=<value> global option to the netlist. The operating frequency typically ranges from 1G to 30G.
      This field appears only when the performance mode is set to APS and the post-layout preset mode is set to Legacy RCR.
  11. Specify the instances that you do not want to be shorted by selecting the required Instance Preservation option:
    Select To

    None

    Specify that no instances need to be preserved from being shorted.

    Selected

    Specify the instances that must be preserved from being shorted.

    In the Preserve Instance field, type the instance names separated by spaces. You can also use wildcards to specify the instances. For example, type I0.I1.r* to specify that all instances with names starting with r in the I0.I1 hierarchy must be preserved from being shorted.

    To select instances from the schematic, do the following:

    1. Click the Select button next to the Preserve Instance field.
    The schematic for the design is displayed.
    1. Select one or more instances on the schematic.
    To select more than one instance at a time, do one of the following:
    • Hold down the Shift key and click the instances you want to select.
    • Drag the mouse pointer over the instances you want to select.
    All the instances that are within the yellow bounding box that appears are included in the selection.
    1. Press the Esc key when you are done.
    The selected instances are displayed in the Preserve Instance field.

    All

    Specify that all instances should be preserved from being shorted.

  12. (Optional) Click the Detailed Options button. The Post-Layout Detailed Options form appears:
    In the form, specify the following:
    • Resistor Shorting Threshold— Specify a threshold value (in ohms) to short resistors whose resistance is less than the specified value.
  13. (Optional) Click the Detailed Options button. The Post-Layout Detailed Options form appears:
    In the form, specify the following:
    • Resistor Shorting Threshold— Specify a threshold value (in ohms) to short resistors whose resistance is less than the specified value.
    • Decoupling Capacitor Threshold—Specify a threshold value (in farads) to decouple capacitors whose capacitance is less than the specified value.

    The Detailed Options button is enabled only when APS is selected as the performance mode and the Enable Post-Layout Optimization check box is selected.
  14. Click OK.
    If high-performance mode is enabled, the simulator mode is automatically changed to batch.
    The ADE Explorer window displays the settings you made in the High-Performance Simulation Options form. For example, if you selected the simulation performance mode as and the accuracy level as Liberal, the status bar in the window displays the simulator name as:
    spectre liberal
    For more information on how to get better performance from APS mode, see the Getting More Performance From Spectre APS Simulation section in Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Spectre X

When you select the Simulation performance mode as Spectre X, the following fields appear in the High-Performance Simulation Options form.

Spectre X can only be selected as the Simulation Performance Mode if the AMSD flex mode is enabled.

For information, see the Spectre X environment variables section, and read the Spectre Circuit Simulator User Guide and the Spectre Circuit Simulator Reference.

MS Options

You can only set up the Mixed-Signal options when the simulation performance mode is set to APS or Spectre X. On selecting the Enable MS check box, the following fields appear in the High-Performance Simulation Options form.

You need to select the Enable Post-Layout Optimization check box if you are using the MS options on a design that uses a post-layout view or post-layout files, such as DSPF files, SPEF files, or Spectre/HSPICE netlists containing post-layout parasitics.

This form includes an additional section, MS Options, that includes the various MS options.

The options that appear in the MS Options section of the High-Performance Simulation Options form are described below:

For information about Spectre, read the Spectre Circuit Simulator User Guide and the Spectre Circuit Simulator Reference.

Virtuoso Accelerated Parallel Simulator (APS)

The APS interface is no longer supported because the APS options can now be set in the Spectre interface. To specify APS options, set spectre as the simulator and choose Setup – High-Performance Simulation.

Explorer provides an interface to the Virtuoso® Accelerated Parallel Simulator (APS). APS is a next generation SPICE simulator that provides high performance, high capacity circuit simulation with full Spectre accuracy. APS achieves maximum simulation performance by enabling multi-threading on multi-core and multi-CPU shared memory systems. This allows you to quickly simulate large pre- and post-layout designs.

APS combines an advanced simulation engine with existing Spectre and Spectre technologies. It is primarily targeted at speeding up DC and Transient analyses. The APS use model is identical to Spectre, with same netlist syntax, device model, analyses, features, and output format support.

For more information about APS, see the Virtuoso Accelerated Parallel Simulator User Guide.

Setting Up Simulation Files

Before you run a simulation, you must set up the simulation files you want to use.

Path/Files:

Vector Files:

Refer to the following sections for more information about using the Simulation Files Setup form:

Specifying Simulation Files

Depending on your design and setup requirements, you need to use various types of files for simulations run in ADE Explorer.

The table below describes each file type and its purpose.

File Type Description

Definition Files

Definition files contain function and parameter definitions that are not displayed in the Design Variables list in the Data View assistant. See the following sample file that contains function and parameter definitions for the Spectre circuit simulator.

<your_install_dir>/tools/dfII/samples/artist/models/spectre/definitions.scs

The parameters in this file are referenced by included models and are not referenced from any part of the design in the Cadence library.

Stimulus Files

Stimulus files can contain input and power supply stimuli, initializing nodes, and estimated parasitics in the netlist. You can look at the following example file that contains Spectre circuit simulator stimuli definitions for the opamp sample design in the aExample library.

<your_install_dir>/tools/dfII/samples/artist/models/spectre/opampStimuli.scs

In a stimulus file, you can type node names and component names using Open Simulation System (OSS) syntax [#name] and the system will substitute the corresponding node numbers when writing the netlist. You can use a backslash (\) to escape a square bracket. For information about OSS syntax, see the Open Simulation System Reference.

DSPF Parasitic Files

DSPF files contain the post-layout data, including fingered devices and net parasitics, of the design. For EMIR analysis, Spectre APS/XPS requires a complete testbench that contains the DSPF files (with the parasitic and instance sections describing the circuit to be analyzed), stimuli, and device models.

On specifying a DSPF parasitic file, a few additional options are displayed. For more information on these options, see Specifying DSPF Files in the Simulation Files Setup Form in the Virtuoso ADE Assembler User Guide.

SPEF Parasitic Files

SPEF post-layout netlists are supported by the AMS, Spectre APS/XPS EMIR flow. An SPEF netlist contains a combination of a schematic netlist with the active devices and an SPEF netlist that includes the parasitic element information.

PSpice® Files

PSpice files contain netlists that include PCB components modeled using the PSpice format.

When you use PSpice files, the top-level netlist and control statement need to be defined in Spectre or SPICE format. A subcircuit defined in PSpice netlist format is instantiated in the Spectre netlist.

For the AMS simulator, the PSpice Files field is supported only when you select AMS Unified Netlister with xrun from the Netlist and Run Options form. For information on AMS UNL, see Working with AMS Simulator.

Vector Files

Vector (VEC) files include a table of times and values at those times. A vector file can include more than one vector definition.

VCD Files

VCD (Verilog® Value Change Dump) files contain information about value changes for selected variables in the circuit design.

EVCD Files

EVCD (Extended Verilog® Value Change Dump) files contain variable changes in all states and provide strength information and port direction.

You can use the Simulation Files Setup form to specify the paths to these files.

To specify simulation files for a test, do the following:

  1. In the Data View assistant pane, right-click the test or analysis name, and choose Simulation Files.
    The Simulation Files Setup form appears. This form contains two tabs:
    • Paths/Files: On this tab, you can specify paths for all file types other than vector files.
    • Vector Files: On this tab, you can specify digital vector files.
  2. If the files to be used are located at multiple locations and you want ADE Explorer to look for files in all those paths, specify those paths in the Include Paths tree.
  3. To specify the path to a file of a specific type, click where it says <Click here to add a path> or <Click here to add a file> in the tree of that file type.
    • For example, to specify the path to a definition file, click where it says <Click here to add a file> in the Definition Files tree.
  4. Type the path and name of your file, or click the browse button to select one or more files or paths using the Choose Files/Paths form.
    The simulator resolves a relative path by first looking in the netlist directory (relative to where you run the simulation). If the path starts with the . character, the simulator resolves this by looking in the netlist directory first, then in each of the directories specified in Include Paths in the order you type them. The . character does not mean the current directory.
    After you have specified a file or path, a new row is added to the tree. If you have multiple files, you can use the additional rows to specify the paths to those files.
  5. (Optional) Click Apply to the Selected Tests in the Setup () on the Paths/Files tab of this form to update simulation files for all the applicable tests in a setup.
    The Apply Simulation Files Setup to Tests form appears.
    1. Select the tests to which you want to apply the simulation files.
      You can also click Select Enabled to automatically select the tests that are enabled in the Data View assistant.
    2. Click OK to apply the selected simulation files.
      When you apply the simulation files to other tests, their existing simulation files setup is overwritten. Therefore, it is recommended to verify their existing setup before using this feature.
  6. Click OK to close the Simulation Files Setup form.

Important Points to Note

Specifying Simulation Files Using Variables

You can use variables to specify simulation files. Variables allow you to vary the simulation files during simulation.

For example, to specify a definition file using a variable, do the following:

  1. In the Simulation Files Setup form, click the Paths/Files tab.
  2. In the Definition Files tree, click where it says <Click here to add a file>.
  3. Type a variable name for the definition file you want to vary using the following format:
    VAR("myDefinitionFile")
  4. Click Apply.
    The myDefinitionFile variable appears in the Design Variables section of the Setup assistant.
  5. Double-click in the field next to the variable name and type the path and filename of the stimulus file or select the file using the browse button.

Using Shell Environment Variables to Specify the Paths

You can use shell environment variables to specify the paths of the simulation, vector and model files in the simulation window. Shell environment variables allow you to set different file paths for each session.

For example, to specify a model file using the shell environment variable, do the following:

  1. In the Global Model Files tree, click the cell with text <Click here to add model file>.
  2. Type the name of the shell environment variable to include the model file path in the following format:
    $<shell_variable_name>/<model_file_name>

  3. Click Apply.
    The shell environment variables are not displayed in the Design Variables section of the Setup assistant. The paths from the shell environment variables are resolved internally during the simulation run.

Enabling and Disabling Simulation Files

Editing Simulation Files

To edit simulation files, do the following:

  1. Select one or more simulation files.
  2. Click the button.
    The simulation files are opened in a text editor.
    If you edit simulation files outside ADE Explorer, the changes in the files will not be included in the netlist if you click the Netlist and Run button or choose Simulation – Netlist and Run. You must choose Simulation – Netlist – Recreate to include the changes in the netlist.

Deleting Simulation Files

To delete simulation files, do the following:

  1. Select one or more simulation files.
  2. Click the button.

Setting up Simulator Environment Options

You can set the environment options for the specified simulator using the Environment Options form. To open the Environment Options form:

  1. Choose Setup – Environment.
    The Environment Options form appears.
    The display varies depending on which simulator you are using and whether you are using a config view for the design. Instance-based view switching is supported only for purely analog designs, not for mixed-signal designs.
  2. Check that the path to the parameter range-checking file is correct. For the Spectre simulator, this file contains the parameter range limits. You do not need to enter the full path for the file if the file is in the directory specified in the include path on the Model Setup form.
    A period (.) in a UNIX path specification is interpreted relative to the directory from which you started the ADE Explorer.
  3. (Optional) If you are not using a config view, check and set the options for view switching to control how the system netlists hierarchical designs.
  4. Set the other options as listed below, and click OK.
    • Switch View List—This is a list of the views that the software switches into when searching for design variables.—The software searches through the hierarchical views in the order shown in the list.
    • Stop View List—This is a list of views that identify the stopping view to be netlisted. This list does not require a particular sequence.
    • Parameter Range-Checking File—Lets you enter the path to a file containing the correct ranges for component parameters. If this path is present, the simulator checks the values of all component parameters in the circuit against the parameter range-checking file and prints out a warning if any parameter value is out of range.
    • Print Comments
      • Prints the name mapping of the terminals in the netlist as comments.
      • When Name Mapping is selected, prints the mapping of the schematic terminal name with the netlist terminal name for the subcircuits and the mapping of schematic device names with simulator devices names.
      • When Subckt Port Connections is selected, prints the connection of each terminal with the net it is connected to, for each subcircuit.
    • User Command-line Options—Helps you specify options that cannot otherwise be specified using the UI. You can enter commands that are valid for the selected simulator. ADE appends these commands as they are to the list of commands specified using the UI for the simulator. If you provide invalid commands through this option, ADE does not validate them; the simulator may or may not fail depending upon the simulator strategy applied to invalid commands.
      To enable the MTS flow in Spectre, specify +mts command in this field.
    • Automatic output log—When this check box is selected, the output log opens and displays simulator messages as they are generated.
      The output log appears only for the single-point simulation runs. If the simualtion run includes corners or sweeps, the output log is not displayed regardliess of the setting of the Automatic output log check box.
    • savestate (ss)
      • Y —Runs spectre with the +ss option, which saves circuit information at set intervals or at multiple points during a transient analysis.
      • N —Runs spectre with the -ss option, which does not save circuit information at set intervals during a transient analysis.
        This option does not work as intended with parametric analysis. Ensure that it is set to N, it is the default setting, before using these tools.
    • recover (rec)—Allows the simulation to be restarted from a specified checkpoint.
      • Y —Runs spectre with the +rec option, which restarts a transient simulation based on conditions specified in a saved-state file.
      • N —Runs spectre with the -rec option, which does not restart a transient simulation, even if conditions for this have been specified in a saved-state file.

      Run with 64 bit binary—Instructs spectre to run in 64 bit mode.
    • Using colon as Term Delimiter—Instructs spectre to use: as the terminal delimiter. Whenever you select sst2 as the output format, you have to explicitly select this form option.
    • Netlist text views from shadow OA databaseWhile generating the netlist for a design that contains text cellViews,if this option is selected, the netlister reads the database for each text cellview and prints the corresponding netlist.
      If this option is not selected, the netlister includes the corresponding text files in the netlist.
      Important Points to Note:
      • This form option will have an impact only when you select sst2 as the output format.
      • If Using colon as Term Delimiter option is selected/deselected, you need to netlist the design.
      • Trace License Check-in/Check-out—Writes the license check-in/check-out information in the log file.
    • Check in license when suspended—Turns on the license suspend/resume capability. When Spectre receives SIGTSTP, it checks in all the licenses before it gets suspended. The licenses are checked out again when SIGCONT is received.
      You can also set the variable lsusp to select or deselect this check box.
    • License Queue Time Out—Turns on the queuing for license capability. Spectre sleeps and requests the license again if there is no available license. You have to specify for how long it must wait for a license (in seconds). Specifying value 0 means wait until the license is available.
    • Set Top Circuit as Subcircuit—Instructs Spectre to netlist the top-level schematic as a subcircuit.
    • Enables Diagnostic Mode—Enables diagnostic mode that provides debugging information to help you resolve simulation issues related to performance or convergence.
      Important Points to Note:
      • This form option will have an impact only when you select sst2 as the output format.
      • If Using colon as Term Delimiter option is selected/deselected, you need to netlist the design.
      • Set Top Circuit as Subcircuit instructs spectre to netlist the top-level schematic as a subcircuit.
    • PinCheck Term Mismatch Action and PinCheck Term Direction Mismatch—These options are available for spectre netlisting. They are equivalent to the OSS global settings, namely, simCheckTermMismatchAction and simCheckTermDirectionMismatch. The values set in these fields override the global settings for each test. If these values are not set, then global values take precedence. The valid values are default, ignore, warning, and error.
      Set it to default to use the properties, simCheckTermMismatchAction and simCheckTermDirectionMismatch, specified in .cdsinit or .simrc file. If these properties are not set, then OSS default value, error, is used.
    • Preserve Subckt Terminal by Names—Generates the save statements with the instance ports in name format instead of the default index format

For information about how to set the environment options for the AMS simulator, see Chapter 15, “Working with AMS Simulator”.

Setting up Design Variables

You can use design variables and CDF parameters to set component values.

Design variable values are always global to the design. The scope of CDF parameter values, however, depends on which Analog Expression Language (AEL) functions you use to refer to the parameter.

Do not use simulator reserved words as design variable names. For more information, see Reserved Words.

If you use the reserved words for design variables, the following message is displayed:

For AMS UNL, all design variables must be defined prior to the netlisting step.

Adding a New Variable

To add a new variable, do one of the following:

In this form, perform the following steps:

  1. Enter the variable name in the Name field.
    The name must begin with a letter and can contain only letters and numbers. If the Name field already contains the name of a variable, click Clear.
  2. Enter a number or an expression in the Value (Expr) field.
    A design variable value can also be a conditional expression containing a ternary operator (?:). For example, let us consider the following setup.
    • The expression clk2_freq=if(clk_freq<0 0 125)denotes that if the value of the variable clk_freq is less than 0, the value of the variable clk2_freq is 0, else it is 125. Since in this case, the value of clk_frq is 1, the value of clk2_freq is 125.
    • The expression resistance2=(cload>700f ? 40K:1K) denotes that if the value of the variable cload is greater than 700f, the value of the variable resistance2 is 40K, else it is 1K. Since, in this case, the value of cload is 500f, the value of resistance2 is 1K.
    • The expression VarX=(VarY==1)?1:-1 denotes that if the value of the variable VarY is 1, the value of the variable VarX is 1, else it is -1. Since in this case, the value of VarY is 2, the value of VarX is -1.
    • The expression Fstart=(band==1?100M:(band==2?80M:(band==3?75M:(band==4?450M:60M)))) denotes that if the value of band is:
      • 1—the value of Fstart is 100M.
      • 2—the value of Fstart is 80M.
      • 3—the value pf Fstart is 75M.
      • 4—the value of Fstart 450M, else it is 60M.

      Since in this case, the value of band is 2, the value of Fstart is 80M.

    The expression can be an equation, a function, or another variable. Expression syntax follows AEL syntax. These expressions are evaluated by the simulator. If the value does not have any number before the decimal point, the AMS Designer simulator inserts a leading zero before the decimal point.
    You can also add dependent variables. These are variables based on variables.
    For example,
    Set the values for two variables, V1 and V2, as 1 and V1*2 respectively.
    These variables are directly written to the netlist, to avoid losing the variable dependencies.
    If you try to add a new analysis or run a simulation when there is a cyclic dependency between the design variables in the setup, an error message is displayed asking you to edit the design variables to remove that dependency and rerun the simulation.
    In the GUI, you can also add a variable without specifying any value for it. The value can be assigned to the variable in a file, which is loaded using a model file at the time of simulation. As the value of the variable is not specified in the GUI, the simulator flags a warning message. For more information, see CheckForNewCellviewVarsUponRun and ignoreUnsetDesVars.
On switching from ADE Assembler to ADE Explorer, you can hover above a variable to see the tag assigned to it in ADE Assembler in the tooltip. You can then use these tags to filter the variables using the format tag: <tagname>. For example, using the command tag:supply in the filter of the Name column will filter out all the variables that have the tag supply assigned to them.

The following buttons are provided on this form:

Additionally, you can also define variables in the definitions file.

Exporting Variables to a CSV File

To export the design variables from the Design Variables section of the Setup assistant to a CSV file:

  1. Right-click Design Variables and choose Export to CSV.
    The Export Variables form appears.
  2. In this form, browse to a directory in which you want to save the variables in a CSV file.
  3. Specify the name of the CSV file in the File Name field.
  4. Click Save to close the form and export the variables.

All design variables, their values, and enabled or disabled status currently defined in the active setup are saved in the specified CSV file in a standard format, as shown in the example below.

Importing Variables from a CSV File

If you already saved variables or design variables in a CSV file, you can import them in the active setup. To import the variables from a CSV file, do the following:

  1. Right-click Design Variables and choose Import from CSV.
    The Import Variables form appears.
  2. In this form, browse to a directory from where you want to import the variables saved in a CSV file.
  3. Specify the name of the CSV file in the File Name field.
  4. Click Open to import the variables from the selected CSV file.

Note the following points:

Editing Values

To edit the value of a design variable,

  1. Double click a variable in the Setup assistant and edit the value in the Value field.
  2. In the Editing Design Variables form, click the variable name in the Design Variables table.
  3. Right-click the variable in the Setup assistant and choose Edit Variable.
  4. Click the variable name in the Design Variables table.
    The value or expression appears in the Value (Expr) field.
  5. Edit the value or expression.
  6. Click Change.
  7. Click Apply or Apply & Run Simulation.

Deleting Values

To delete a design variable,

  1. In the Editing Design Variables form, click the variable name in the Design Variables table.
  2. Click the delete button on the Run toolbar.
  3. Select the variable to delete in the Design Variables section of Setup assistant and choose Variables – Delete.
    To select more than one variable, hold down the Control key while you click the variables, or click and drag the cursor.
    To de-select a highlighted variable, hold down the Control key while you click the variable.
  4. Right-click the variable to delete in the Setup assistant and choose Delete Variable.
  5. Select a variable in the Setup assistant and choose Variables – Delete.

Copying Values From and To Schematic

If you change variables in the Schematic window and want to use these values in your next simulation,

  1. Select the design variable in the Setup assistant and choose Variables – EditCopy From Cellview.
  2. Right-click a design variable and choose Copy From Cellview.
  3. Click the design variable in the Design Variables table of the Editing Design Variables form and click the Copy From Cellview button.

If you change variables in the simulation window and want to copy the values back to the cellview before you save the schematic,

  1. Select the design variable in the Setup assistant and choose Variables – EditCopy To Cellview.
  2. Right-click a design variable and choose Copy To Cellview.
  3. Click the design variable in the Design Variables table of the Editing Design Variables form and click the Copy To CellView button.
Make sure that the schematic and simulation environment variables are consistent with each other.

Displaying Values on the Schematic

To display the values of instance parameters that are design variables on the schematic,

  1. Edit the component’s CDF with the CDF Editor.
  2. Set paramEvaluate to full.

Finding Design Variables in Schematic

You can search for a design variable in the schematic to identify its location. To find a variable, do the following:

If the variable is found in the schematic, the design is opened in the design tab and all the instances are highlighted.

In case of a hierarchical design, if the variable is not found in the top level of design, the tool traverses down the hierarchy and highlights the variable in the lower level, where found.

If the variable is not found in the schematic, a warning message is displayed in CIW.

You can drag the design variables to change their order in the Setup assistant.

Performing Parameterization in Design Variables

You can set up a sweep directly in the value field of the design variable in the start:step:stop format. For example, var1= 2:1:10, where start value=2, end value=10, and step size=1.

To parameterize a design variable, double-click the value of the design variable in the Setup assistant. The ellipses button appears. When you click this button, the Parameterize form appears.

In this form the drop-down at the top consists of the following options:

Adding Notes

To add notes to a test, do the following:

  1. In the Setup assistant, right-click the test name and choose Notes.
    The Add/Edit Notes form appears.
  2. In the Notes field, add notes for the test.
    By default, the notes field can accept only 512 characters. You can change this limit by setting the maxNotesLength environment variable.
  3. Click OK.
    The notes are added to the test details in the ADE Explorer setup database. Similarly, you can add notes for parameters and corners.

Important Points to Remember

Creating and Displaying Netlists

The ADE Explorer creates or updates the simulator input file automatically when you give the command to run a simulation.

You do not need to use the Netlist – Create command unless

There are two kinds of files generated for simulation:

Netlists are hierarchical. They are created incrementally, re-netlist only the changed schematics in a design. All schematics can be forced to re-netlist by using the following commands:

You can run multi-point simulations in ADE Explorer that generate multiple netlists. However, when you choose the Netlist – Create/Recreate command, it shows a single point netlist that is created in a temporary directory. While running a simulation, this temporary directory is used as an input to perform Incremental Netlisting.

The .simrc File

You can use the .simrc file with Spectre during interface initialization to customize netlisting. This file helps you set or override defaults for simulation variables in such a way that the changes affect only your own simulations. The .simrc file is a way to set defaults on a per-user or per-system basis, and no other designer is affected by this file. This file is optional and is loaded if it exists. It is searched for in the following order:

$SIMRC/.simrc
$ossSimUserSiDir/.simrc
dfII/local/.simrc
Current UNIX directory/.simrc
~/.simrc

The search stops at the first place where the file is found. No other .simrc files are loaded unless the load is done from within the first one it finds, allowing for tiered loading or for the local CAD group to alter or disallow the search mechanism. If it does not exist, no error is generated. You can delete the .simrc file if you do not want it to be taken into account while netlisting.

Incremental Netlisting

Incremental netlisting is faster than full hierarchical netlisting because only the schematics that have changed since the previous netlist was generated are re-netlisted. This substantially speeds up netlisting of hierarchical designs containing many small schematics. The system keeps track of the status of each schematic during and between design sessions.

Creating and Displaying a Netlist

To create and display a new netlist,

 projectDirectory/topCellName/simulatorName/view/netlist/input.ext

After successful creation of the netlist file, it is displayed in a new window.

To display an existing netlist file, do any of the following:

The netlist is displayed in a new window. Review the design components, their connections, and the files to be included in the simulation run. Note that the netlist contains hyperlinks to.scs, .va, .mod, .lib, .dspf, .fl, .vcd, .evcd, .mod, .def, .info, .log, .vec, .v, netlist, pspice, SPEF, and DSPF files.

For example, if you have used a model file, you can see a hyperlink pointing to it as highlighted in the following image.

Similarly, if you have used a .dspf file, the following image shows a related hyperlink.

ADE Explorer creates multiple netlists for a multi-point simulation run. However, when you choose NetlistCreate or Recreate, only a single-point netlist created in a temporary directory is displayed.

If you want to validate the successful creation of the netlist, run the NetlistCreate command instead of running a simulation.

Variables for Customizing Netlist Generation

You can customize ADE Explorer netlisting by setting the following variables.

Variable Description

nlReNetlistAll

When set to t, all cellviews in the design are re-netlisted, irrespective of the setting specified using the ADE GUI options Create or Recreate in the Simulation – Netlist submenu. If nlReNetlistAll is not set and has its default value, nil, the ADE GUI netlisting options are used. You can set this variable in the .simrc file.

globalGroundNet

When you use this variable to specify a string, the value specified is considered to be the global ground net and overrides the default analogLib global ground net (gnd!). You can set this variable in .simrc file. This variable is valid for socket direct netlister only.

hideGlobalGroundNetMessage

When set to t, this variable suppresses the information messages issued after you change the default value of the globalGroundNet variable.

The default value of hideGlobalGroundNetMessage variable is nil.

simPropValueNotation

When set to Engineering, all property values are displayed in engineering notation in the netlist. For Example, a resistance value of 1m is displayed as 1e-3. If simPropValueNotation is set to Scientific, all property values are displayed in scientific notation in the netlist. For Example, a resistance value of 1m is displayed as 1.000000000e-03. You can set this variable in si.env file. This variable is valid for socket netlisters only.

hnlDynamicFlagOn

This variable can be set to t or nil in the .cdsinit file. If the variable is not specified, it defaults to nil. If set to t, the parameter values having length more than 8K, which is the maximum limit, are printed in the netlist.

If set to nil, the parameter values with length more than 8K are truncated to the maximum limit.

spfHnlMapNetInName

Use this variable in the .simrc file to specify mapping rules for bus nets in the net name.

For example, you can escape $, ; and : with \ in the net names.

spfHnlMapNetInName =  '( "$" ";" ":"  )

With this setting, net name I0.netA$ is printed in the netlist as I0.netA\$.

In addition, you can also specify escaping characters if you do not want to use \, as shown below.

spfHnlMapNetInName =  '( "$" "," ";" ":" "=" "/" " " "\t" (">" "\]") ("<" "\[")  )

Here, < and > in net names are mapped to \[ and \]. For example,  net name I0.net10<0> is mapped to I0.net10\[0\].

spfHnlMapInstInName

Use this variable in the .simrc file to specify mapping rules for iterated instances in the instance name.

For example, you can escape a space and / in the instance names with \.

spfHnlMapInstInName =  '( " " "/")

With this setting, instance name Y/AN_n is printed in the netlist as Y\/AN_n.

In addition, you can also specify escaping characters if you do not want to use \ , as shown below.

spfHnlMapInstInName =  '(" " "/" (">" "\]") ("<" "\[")  )

For example, instance name Y_n<0> is mapped to Y_n\[0\].

nlCustomSubcktModelNameSuffix

Use this variable in the .simrc file to add a custom suffix to the model name generated for the subcircuits belonging to the specified library and cell. This avoids conflict with the subcircuit model name in case there is an external spice file bound to the same view.

For example, on using the following setting, the ADE netlister prints the subcircuit model name for DiffOpAmp as DiffOpAmp_NoSpiceSuffix, avoiding a clash with the subcircuit model name for DiffOpaAmp in the external spice file included in the HED binding.

nlCustomSubcktModelNameSuffix = list(list("Two_Stage_Opamp" "DiffOpAmp" "NoSpiceSuffix"))

nlSchPcellPerCellCustomFormat

Use this variable in the .simrc file to specify the rules for customizing the subckt names for multiple Pcells at once.

For example, let us specify the following setting in the.simrc file.

nlSchPcellPerCellCustomFormat = list(list("mylib" "hp_analog_cell" "schematic" "l:%NAME,sfy_b:%NAME %VALUE,w:%VALUE,spotr2:%NAME-%VALUE") list("mylib" "analog_cell" "schematic" "l:%VALUE,ploda1:%NAME-%VALUE,w:%NAME,spotr2:%NAME"))

The subcircuit names are then updated in the netlist as follows.

subckt hp_analog_cell_pcell_l_sfy_b134_00n_146_00n_spotr254_5n_11803695165159852977   D G S B

subckt analog_cell_pcell_6n_ploda16n_w_spotr2_2819258373539267837D G S B

nlCustomMasterOptionList

Use this variable in the .simrc file to trigger auto-netlisting when a change is detected in any of the options specified through this variable.

For example, let us specify the following setting in the .simrc file.

nlCustomMasterOptionList = list(list("hnlProcessNetsInReverse" "global") list("nlCustomerSubcktPrefix" "global" ) list("liclogs" "env"))

If any of the specified environment variables are updated, the re-netlisting process gets triggered.

nlCustomizedTermOrderList

The nlCustomizedTermOrderList variable is used to customize the terminal order in netlist. The value of this variable is a list that represents the possible combinations for portorder and defines the preference order. The available terminal orders are: CDF simInfo termOrder (cdfTermOrder), schematic portorder (masterPortOrder), name of the custom function for fetching terminal order (customFunc), and alphanumeric order given by OSS (defaultTermOrder).

nlCustomizedTermOrderList = list("cdfTermOrder" "masterPortOrder" "customFunc" "defaultTermOrder")

Setting up Stimuli

There are three ways to set up stimuli in the simulator:

Setting up Stimuli Using the Stimuli Assignment Form

This form is used to define stimuli and assign them to your design. It creates a simulator input file that is used by the simulator.

For input stimuli, your top-level schematic must contain input pins for the signals that you plan to set. To use the power stimuli, you must use a global name on a signal (such as vdd!).

All sources, whether used for stimulus or for a power supply, are assumed to come from the analogLib library, a library supplied by Cadence. If your sources are located in a different library, you must add the refLibs property to your design library to specify the location of the source information.

It involves three steps, that of, setting up the simulation environment for external stimuli, creating a simulator input file, and then generating a stimulus file containing input and power source stimuli in the proper syntax for your simulator.

  1. To access libraries other than the default analogLib library for sources:
    1. From the CIW, choose Tools – Library Manager.
      The Library Manager: Directory form appears.
    2. Select the library name of the current design.
    3. Choose Edit – Properties.
      The Library Property Editor form appears.
    4. Verify that the refLibs property has been set to the appropriate library search sequence. This property should be visible in the lower section of the form.
    5. Click OK.
      If there is no refLibs entry, click Add on the Library Property Editor form, add the data specified below,
      In the Add Property form, specify the following property name and characteristics.

      Name

      refLibs

      Type

      string

      Value

      list of one or more libraries in the required search sequence from left to right


      The refLibs property and the search list are displayed in the parameter list on the Library Property Editor form.
    6. Click OK to return to the Library Manager form.
  2. Choose Setup – Stimuli in the Simulation window to add stimuli.
    Alternatively, right-click the test name in the Setup Assistant or the Dataview Assistant in ADE Assembler and choose Stimuli.
    The Stimuli Assignment form appears.

The form consists of two sections:

Creating and Managing Stimuli

You can see the predefined stimuli in this section. These could have been created for the view specified or imported from another design.

Creating Stimuli

To create new stimuli:

  1. In the Stimuli Authoring section, select Authoring On. This enables the authoring section of the form and disables pin assignments.
  2. Enter the stimulus name in the text field. The name should be alphanumeric.
    It the stimulus name is illegal, the text field is highlighted in red.
  3. Select the type of stimulus.

    Type of stimuli

    Type

    Description

    bit

    Bit

    dc

    Direct current

    sin

    Sinusoidal waveform

    pulse

    Pulse waveform

    exp

    Exponential waveform

    pwl

    Piecewise linear waveform

    pwlf

    Piecewise linear waveform file

You can browse to find the required files for different types of stimuli.

  1. Specify whether it is a current or voltage source .
  2. Modify the values of stimulus parameters. These values can also be specified as expressions.
    If the specified expression has an error, it gets highlighted in red and the Apply option gets disabled.
  3. Select Show in Preview Transient Waveforms to enable Stop Time.
  4. Specify the stop time to generate the waveform.
    It can be set using a valid value, design variable or an environment variable stopTime. The default value of this environment variable is 1n.
  5. Click Apply.
    Notice a new stimulus entry in the top-left section.
To edit an existing stimulus, you can search a stimulus by its name. Select the stimulus from the list and make required changes.

All the stimuli definitions are stored on the path — <Lib-name>/<Cell-name>/<View-name>/namedStimuli/stimuli.xml.

Using Variables to Set Parameters of Stimuli

You can use design variable names defined in ADE Explorer to set a parameter value in the stimuli definition. For example, the DC voltage is set to DC1 in the specified stimulus.

You can also use an expression containing design variables to define a parameter value in stimuli.

To print the details of the specified parameters under the Stimuli Authoring section to a CSV file, right-click a parameter in the list box and choose Print Parameters to CSV File.

The Save Parameters to CSV File window is displayed.Either select an existing file or create a new one and specify its name in the Field_name field and select Save.

The parameters are then saved in that file in CSV format.

Any variable added to a stimulus definition in the format VAR("<myVariable>") is automatically added to the Design Variables in ADE Explorer or in the Data View Assistant in ADE Assembler. It prompts you to assign values to such variables.

If the environment variable, autoPromoteVarsToGlobal, is set to t, the new variable is added to the list of Global variables.

Importing Stimuli

To import stimuli from other cellviews, follow the steps:

  1. In ADE Explorer, choose Session – Import.
  2. Select the Library, Cell, and View to import their stimuli.
  3. Select the check box, Stimuli.

The imported stimuli definitions are appended to the existing stimuli definitions in your view. For example, you have two stimuli definitions, namely, pulse1 and vsin1 in your design, then you import stimuli from another view. You will still have pulse1 and vsin1, and the other stimuli definitions will be added.

The stimuli assignments can be imported in ADE Explorer. These will overwrite the current assignments.

To generate waveforms for all the imported stimuli definitions in one go, run the command maeStmGenerateWaveforms() in CIW. This command also generates waveforms for any stimuli definition that is out of date, for example, a stimulus uses a design variable whose value has now changed.

Removing Stimuli

Stimuli can be removed from this form. However, there is also a safety net to retrieve the removed stimuli.

To remove a stimulus, right-click the stimulus name and select Remove.

If a stimulus is assigned to a pin, the option to remove it from the form is disabled.

To display all the removed stimuli, right-click in the Stimuli Authoring section and select Display Removed Stimuli.

You can perform the following actions on the removed stimuli:

The stimuliRemovedNames.xml contains information of the removed stimuli that have not yet been deleted from the disk.

The waveform information is stored in the simulation directory. The location of this simulation directory is set by the following cdsenv

envSetVal("asimenv.startup" "projectDir" 'string "./simulation")

It is only created if the Apply button is clicked in the Preview Transient Waveforms section in the Stimuli Assignment form.

you remove stimuli but do not delete them from disk, they remain available for import or export with the associated maestro views.

Editing Stimuli

To edit an existing stimuli:

  1. In the Stimuli Authoring section, select Authoring On.
  2. Modify the required parameter values.
  3. Regenerate the waveform. To learn about generating waveform, refer to the section Previewing Stimuli Waveform below.
  4. Click Apply.
    Click Default to reset the stimulus parameters to their default values from the CDF.

Creating Copy of Existing Stimuli

To create a copy of an existing stimulus, follow these steps:

  1. Select the stimulus in Stimuli Authoring section.
  2. Select Authoring On.
  3. Rename the stimulus.
    You can edit its parameters values and save as a new stimulus.

Printing the Stimuli details to a CSV file

To print the stimuli details to a CSV file, follow these steps:

  1. Right-click a stimuli entry in the list box under the Stimuli Authoring section and choose Print Stimuli to CSV File.
  2. The Save Stimuli CSV File window is displayed. Either select an existing file or create a new one and specify its name in the File_name field and click Save.
    The contents of the list box will then be saved in that file in CSV format.
    To edit stimuli, you can filter them according to their type or source to identify the most relevant set of stimuli for you.

Previewing Stimuli Waveform

To preview a stimulus created, follow the steps:

  1. Ensure that the form is in authoring mode. To do this select Authoring On.
  2. Select Show in Preview Transient Waveforms.
  3. It opens the Variable Preview table that shows all the variables and their respective values.
  4. Select one or more rows in the Variable Preview table and click .
    It generates a Virtuoso Visualization & Analysis XL preview of the selected stimulus.

Alternatively, you can use the function maeStmGenerateWaveforms() in CIW to generate waveforms in a batch mode for all the stimuli added to a maestro cellview.

Important Points

You can select multiple sweeps of design variables defined in ADE Explorer. These are displayed, irrespective of whether they have been used in the stimulus definition or not.

If there are design variables in Explorer which are defined in quotes, such as "aaaa". They remain hidden from the Variable Preview table as quotes are not supported by the Simulator. The variables defined in quotes are not supported and are hidden from the table, to see these variables right click the header to select the columns or select to see all of them.

From the example above, the swept values of V1 are displayed below.

If the Stimuli Authoring is in Off mode, you can select the stimuli and perform either of the following actions:

Waveform Generation Status

Click Wave Status in the bottom of the Stimuli Authoring section, to see the log file in the Waveform Generation Status message box.

You can check information related to generating waveforms in the following ways.

Assigning Stimuli

You can assign stimuli to pins, buses and global nets in the specified design. The Stimuli Authoring mode must be set to Off to assign stimuli or preview stimuli on pins, buses or nets.

All these design components are automatically fetched and are visible as a list in this section.You can run the simulation in ADE Explorer after pin assignments are completed.

To print the pin assignment table to a CSV file, right-click a pin name and select Print to CSV File.

The Save Pin Assignments Table To CSV File window is displayed.Either select an existing file or create a new one and specify its name in the Field_name field and click Save.

The contents of the pin assignments section will then be saved in that file in CSV format.

Assigning Stimuli to Pins

To assign a stimulus to a pin in a schematic, perform the following steps:

  1. Select a stimulus from Stimuli Authoring section for an input signal.
  2. Select an input pin in the Pin Assignments section.
    You can select Show Unassigned Pins check box to filter to display the pins which do not have any stimuli applied to them.
  3. Click .
    Alternatively, select the stimulus, and then, right-click the pin. Select Assign Stimuli to Selected Pins option.
    You can perform the above steps to assign stimuli to more than one pin.
    You can see the pin with an assigned stimulus in the schematic by selecting the pin and clicking .
    Important Points to note:
    • The Pin Assignment Status shows the total number of pins assigned / total number of pins in the design. It also indicates the number of disabled pins. These numbers also include the bus bits in your design.
    • The warning icon near Pins indicates that there are enabled pins in the design which do not have assigned stimuli.
    • The warning icon near Globals indicates that there are enabled global sources in the design which do not have assigned stimuli.
    • Once all pins are assigned stimuli, a green tick appears next to pins . This is applicable to global sources as well.

Assigning Stimuli to Global Sources

To assign stimulus to global sources, select Globals and repeat the steps as explained in the section Assigning Stimuli to Pins.

Global signals should be set to only DC sources.

Assigning Stimuli to Bus Bits

You can either assign the same stimulus on all the bus bits or different stimuli on different bus bits.

To assign the same stimulus to bus bits:

  1. Select a stimulus from the Stimuli Authoring section.
  2. Select a bus in the Pin Assignment section.
  3. Click .
Press + to see all the children bus bits contained in a bus.

To assign different stimuli on the bus bits, perform the following steps for each bus bit:

  1. Select a stimulus from the Stimuli Authoring section.
  2. Select the required bus bit in the Pin Assignment section.
  3. Click .
To know more, see the video, Creating a Bus from Stimuli Assignment Form that is available on Cadence Online Support
To disable a bus bit, right-click the bus bit and select Disable Selected.

While you are working on pin assignments, you can use the commands in the context menu in the Pin Assignments section.

Right-click Menu Option

Description

Assign Stimuli (FORCE) to All Bus Children

Forces the assignment of all bits of a bus to its children bits

Assign Stimuli to Unassigned Bus Children

Assigns all the unassigned bus bits

Consider a scenario, if all the children buses are unassigned, you can choose the parent bus and select a stimulus. All the children bus bits will be assigned. But, if you do it again you will not be able to assign stimulus because the children bus bits in the parent bus have already been assigned a stimulus. In this case you need to select Assign Stimuli (FORCE) to All Bus Children. This overwrites the new stimulus assignment on the children bits.

In another scenario, if the bus is partially assigned, which means some children bits are assigned stimuli and the other bits are unassigned. You can choose a stimulus and the bus and select Assign Stimuli to Unassigned Bus Children. This way, the unassigned bits will be assigned the selected stimulus. The previously assigned children bits continue to carry the old stimulus.

The description of stimuli status of parent bus bits:

Plotting Waveforms for Assigned Stimuli

To plot the waveforms for stimuli assigned to pins, bus, or bus bits, select all the pins in the Pin Assignments section. Right-click and select Plot transient waveform for assigned stimuli.

This enables a visual check on the stimuli assigned to each pin and bus bit in the design.

When you click OK on the Stimuli Assignment form, it checks whether all the enabled pins have stimuli assigned. If yes, it successfully saves it. Otherwise, it generates a warning message suggesting that you save and apply incomplete stimuli assignments in the design, which can lead to errors during netlist generation.

Specifying a Stimulus File

Stimulus files let you add lines of code to the simulator input file that the analog circuit design environment generates. The stimulus file can be used to include input and power supply stimuli, initializing nodes, or including estimated parasitics in the netlist.

You can specify a stimulus file by using the Simulation Files Setup form.

Example of a Spectre Stimulus File

The file opampStimuli.scs in tools/dfII/samples/artist/models/spectre is an example of a stimulus file that can be used for the opamp example in the aExample library.

simulator lang=spectre
_v1 ([#inp] 0) type=sin freq=1k ampl=1
_v2 ([#inm] 0) type=dc dc=0

Setting up Cosimulation Options

To set up the cosimulation options when the simulatior is spectre, choose Setup – MATLAB/Simulink – Setting. The Cosimulation Options form appears.

  1. In the BASIC SETTING section, specify the following fields:
    • In the Cosimulation inputs field, select the source instance from the schematic as input
    • In the Cosimulation outputs field, select the source a net or terminal from the schematic as output.
    • In the Cosimulation socket port, specify the socket port number.
    • In the Cosimulation timeout field, specify the timeout value. The default value is 60 secs.
    • In the MATLAB start host field, select the localhost option or specify a remote host name.
  2. In the ADDITIONAL SETTING section, specify the following fields:
    • In the MATLAB start command field, enter the command for starting MATLAB. The default command to start MATLAB is matlab”. You can enter any other command along with the command-line argument.
    • In the MATLAB startup directory field, enter the path to the directory where matlab is launched in the
    • In the MATLAB design name field, enter the path to the MATLAB design.
    • Select one of the following options to start the Matlab:
      Select If

      no

      If you select no option in Start MATLAB, MATLAB will not be started. This may be useful if you want to keep same form setup but do not want to run cosimulation or if you want to start MATLAB yourself, independent of ADE.

      before Simulation

      Select this option if you want to start MATLAB automatically, After you select this option, all the fields in the form are enabled. To run Simulink simulation automatically, you need to have a startup.m file that contains the sim() command in the directory, which is specified in the MATLAB startup directory field.

      now

      Select this option if you want to launch MATLAB manually. The Start button appears that you can click to launch MATLAB.

  3. Select the Enabled check box to enable cosiumation and click OK.

Setting up MDL Mode

You can use the MDL mode to import an MDL control file in ADE Explorer environment. The MDL control file includes a script that defines measurements.

Perform the following steps to enable and setup the MDL mode:

  1. Choose Simulation — MDL Control.
    The MDL Control Options form appears.
  2. Select Enable MDL Mode to enable the MDL mode. This lets you add an MDL script that runs existing analyses defined in a netlist or that defines new analyses and measurements.
    When enabled, settings for all analyses are ignored.
  3. In the MDL Control File field, select one of the following options to specify the source of the MDL file:
    • From File—When you select this option, the File Path field appears, in which you specify the file path.
      Alternatively, click the ellipses button to locate the file.
    • From Cellview—When you select this option, the Library, Cell, and View drop-down list boxes appear, in which you select the required library, cell, and view names.
      Alternatively, click the ellipses button to locate the view.
  4. Click View to view the MDL file in read-only mode.
  5. Click Edit to open the MDL file for editing.
    The MDL file opens in the default text editor set in Virtuoso.
  6. In the Format field, choose one of the following formats to be used in calculations. The Format field specifies the notation style and default number of significant digits for the measured results.
    • Default—Displays the result in suffix notation.
      For example, 5.802m is displayed as 5.802m when number of significant digits is 4.
    • Precision—Displays the result in scientific notation and sets the maximum number of significant digits to be printed for g, G, S, and s types; or the number of decimal digits to be printed for e, E, and f types.
      For example, %.15g outputs the measured value to 15 significant digits.
    • Engineering—Displays the result in engineering notation and specifies the number of significant digits of the signal value output to the measurement file.
      For example, 6 outputs the signal value to six significant digits.
  7. In the Additional Options field, specify the additional options.
  8. Click Default to set all the options to back to their default values.
  9. Click Apply to save the settings, and click OK to save the settings and close the form.

For more information, see Virtuoso Simulator Measurement Description Language User Guide and reference.

Saving the Current Setup

To save the current ADE Explorer setup, do one of the following:

In the Select Destination section, select the following:

Click the Close button to close this form. The selected library, cell, and view are displayed in the respective fields in the Save a Copy form.

Importing a Saved Setup

You can import the setup in ADE Explorer that you had previously saved using ADE Explorer or Assembler. In this case, you do not need to close the current ADE Explorer window to open a new setup and you can directly import another existing setup in the same window.

Unlike ADE Assembler, the design and simulator settings cannot be imported in ADE Explorer.
The video Saving and Importing a Setup is available on Cadence Online Support demonstrates how to save the current setup in ADE Explorer and how to import a saved setup in ADE Explorer.

To import a previously saved setup:

In the Select Design section, select the following:

Load and Save Options

The following options are available on the What to Import group box:

Basic

The following table describes the basic options in the Import Setup form for Spectre and AMS simulators.

Option Description

Analyses

Restores or saves the Choosing Analyses form settings (but not simulator options that you set with the Options buttons in these forms). Analysis settings are simulator specific, so you cannot restore them from a different simulator.

Outputs

Restores or saves the saved and plotted output settings. Output settings are design specific, but if the signal names match, you can restore them from a different design. You can also restore expressions from any design.

Model Setup

R estores or saves the model setup of the session that was saved.

Simulation Files

Restores or saves simulation-specific files and other information. For Spectre, these files can be stimulus files, definition files, and include paths.

Simulator Options

Restores or saves all the settings from the Simulator Options form. This information is simulator specific.

Device Checking Setup

Restores or saves all the settings from the Device Checking Options form.

High-Performance Simulation

Restores or saves the settings from the High-Performance Simulation Options form.

Variables

Restores or saves design variables.

Parameters

Restores or saves parameters.

Specifications

Restores or saves specifications from the Outputs Setup pane.

Corners

Restores or saves corners defined in the Corner Setup form.

Advanced Options

The following table describes the advanced options in the Import Setup form for both Spectre and AMS simulators.

Option Description

Subckt Inst

Restores or saves the settings specified in the Save By Subckt tab of the Save Options form.

Operating Points

Restores or saves operating points outputs specified in the Outputs Setup pane.

Environment Options

Restores or saves only the environment option settings. If you are using a different simulator in another session, you can restore only those options that are applicable to the current simulator.

Convergence Setup

Restores or saves the Node Set, Initial Condition, and Force Node settings, as well as DC and transient solutions.

EMIR Options

Restores or saves the settings from the EMIR Analysis Setup form.

MTS Options

Restores or saves the settings from the MTS Options form.

Run Mode

Restores or saves the specified run mode and run options. The run modes can be Single Run, Sweeps and Corners or Monte Carlo.

Model Groups

Restores or saves the model groups specified in the Model Library form

Extensions

Restores or saves the High Performance simulation options settings. This information is simulator-specific.

Reliability Analyses

Restores or saves the setup of the Reliability analyses options form.

Plotting Templates

Restores or saves the settings from the Plotting Template form.

Stimuli Definitions

Restores or saves the stimuli definitions specified in the Stimuli Authoring group box of the Stimuli Assignment form.

Stimuli Assignments

Restores or saves the stimuli assignments specified in the Pin Assignments group box of the Stimuli Assignment form.

The following table describes the advanced options that are specific to Spectre simulator.

Option Description

Cosimulation Options

Restores or saves the Matlab/Simulink cosimulation options settings.

MDL Control Setup

Restores or saves the MDL control options, which runs Spectre with the MDL control file.

The following table describes the additional advanced options that are specific to AMS simulator.

Option Description

Solver Option

Restores or saves the solver specification for the current session.

Run Option

Restores or saves the run option setting as batch or interactive as specified in the Choose Run Options form.

MATLAB and Simulink

Restores or saves the settings for MATLAB/Simulink co-simulation.

Connect Rules/IE Setup

Restores or saves Restores or saves connect rules and related information about modules, disciplines and resolution as specified in the Connect Rules Selection form.

To import the connect rules, ensure that the Environment Options check box is selected as well.

Discipline Section

Restores or saves disciplines as specified in the Default Digital Discipline Selection form.

Global Signals

Restores or saves global signals specified through the Global Signals form.

Library Files

Restores or saves the library file and directory specifications.

Specifying Simulation Results Directory Location

To specify the results directory location where simulation results are to be saved:

Related Topics

saveEvaluationErrorResults

How does ADE Explorer save the results in the results database?

Prior to IC6.1.7 ISR10, ADE Explorer and the IC remote processes (ICRP) used to write to the .rdb file on the file system, which is an NFS disk. However, the NFS file locks, which are used to ensure database correctness, are slow. This used to impact the performance resulting in a non-responsive GUI during simulation and a lengthy simulation run time. In addition, simultaneous attempts to access the .rdb file by the ADE Explorer user interface and the ICRP increase the possibility of database corruption due to the unreliability of NFS file locking mechanism.

To avoid this, in IC6.1.7 ISR10, ADE Explorer uses a local directory, named as /tmp, to temporarily save the results database. This avoids the NFS file lock issues and centralizes access to the .rdb file because it can be accessed only through the ADE Explorer UI. In addition, it uses a separate backup thread to copy the results data from the /tmp directory to the permanent results database, the location specified by the ADE Explorer Results Database Location field.

ADE Explorer saves a .rdb file in the libraryName/cellName/viewName/results/data directory under the specified location.

Important Points to Note

ADE Explorer saves the .rdb file to the /tmp directory on the same computer where the application is running.

Saving Results in ADE Explorer

By default, in edit mode, the Virtuoso ADE Explorer saves the results of only the recent simulation run with the default history filename, ExplorerRun.0 at the following location:

<simulationDir>/<lib>/<cell>/<view>/results/maestro/ExplorerRun.0/

Every time a new simulation is run, the ExplorerRun.0 results file is overwritten to store the results from the latest simulation run. However, you can also save on-demand results (histories) in ADE Explorer that can be loaded later.

When the ADE Explorer is opened in a read-only mode, the ExplorerRORun.0.RO history file is created at the following location:

<simulationDir>/<lib>/<cell>/<view>/results/maestro/ExplorerRORun.0.RO/

You can simultaneously open two or more ADE Explorer sessions in read-only mode using the same maestro cellview. These sessions share the same ADE Explorer history item, ExplorerRORun.0.RO. Therefore, you cannot run two simulations in parallel because both the simulations need write access to the same history item. You can run simulations in a sequence, one after the other. The most-recent simulation run will overwrite the history file ExplorerRORun.0.RO. If you want to save the results obtained from both the simulations, then save the results of the runs individually, or if you want to run simulations simultaneously, switch to ADE Assembler. When the ExplorerRun.0 or ExplorerRORun.0.RO histories already exist and you try to run a simulation in ADE Explorer, an error message is displayed mentioning that the simulation cannot be run. To run the simulation in this case, you need to delete these histories by selecting them from the Results – Delete menu.
If a history is opened in multiple ADE Explorer sessions, and you rename or delete that history in one session, the history is closed in all the sessions except the one in which the change is initiated. Similarly, if you run a simulation to overwrite a history, ADE Explorer closes the history from other sessions, if found open.

Follow one of the below steps to save the results in ADE Explorer after the simulation run is complete:

In this form, do the following

  1. In the Enter New History Name field, specify a history name to store the simulation results of the current simulation.
    For single point, multipoint run, or corners, the default history name is ExpInteractive.0 and for Monte Carlo simulation, the default history name is ExpMonteCarlo.0.
  2. In the Notes: field, specify a description about this history.
  3. Click OK.
    The history of the current simulation run is saved with the specified name, TestHistory.
    If you save the same Explorer setup with a new history name without running the simulation, the previously-specified history file is overwritten. For example, if you save the same setup saved in the TestHistory, with a new name TestHistory1, the TestHistory is renamed to TestHistory1.
    After running a single point simulation and exiting the session, if you re-open the maestro view in Explorer, or descend to the same test from Assembler, the previous set of results are automatically loaded.
    When you specify an already existing history name to save the results, the following pop-up message is displayed:
    Cannot modify history '%s' with value '%s' because this history item already exists. Do you want to overwrite this history item?
    By default, the maximum of 10 histories can be saved in ADE Explorer. However, when you load histories saved in ADE Assembler into ADE Explorer, the ADE Explorer histories are also retained even if the total history count goes beyond the specified limit.
    To load results from a multi-point run, open the maestro view and choose Results – View – ExplorerRun.0.
    The results you save in Explorer are visible on the History tab in Assembler, as shown in the figure below:

After running a single-point simulation, If you close the ADE Explorer session and then open the session again, the simulation results and scalar values are automatically loaded in the Value column of the Outputs Setup pane. However, if you re-open a session in which you ran multi-point simulation previously, the results are not automatically loaded because of their heavy size. To view or perform plotting operations on those results, you can choose Results – View – ExplorerRun.0.

Deleting Saved Results

To delete a previously-saved history, perform the following steps:

  1. Choose Results – Delete. The Select History form appears as shown in the below figure. This form lists all the previously-saved histories.
  2. Select the history name that you want to delete.
  3. Click OK.

Viewing Saved Results

To view a saved history,

The results from the selected simulation run history are displayed in the outputs setups

The results of the selected history must be compatible with the existing setup. For a single point history run, if the selected history has different outputs, the incompatible outputs will not be displayed.

Saving an OCEAN Script

The Open Command Environment for Analysis (OCEAN) helps you set up, simulate, and analyze circuit data. OCEAN is a text-based process that you can run from a UNIX shell or from the Command Interpreter Window (CIW). You can type in OCEAN commands in an interactive session, or you can create scripts containing your commands, then load those scripts into OCEAN. OCEAN can be used with any simulator integrated into the analog circuit design environment.

The OCEAN script helps you do the following:

In ADE Explorer, you can set up the simulation environment, choose plotting options, and then save these settings in a script.

To save an OCEAN script:

  1. Create the setup and plot processing selections that you want to capture in the script.
  2. Choose Session – Save Ocean Script
    The Save OCEAN Script form appears.
    The OCEAN XL script starts with ocnxlSetXLMode() and saves simulation commands for corners and Monte Carlo. The OCEAN L script does not save any XL related information even if the ADE Explorer setup contains corners or Monte Carlo. In addition, when an OCEAN XL script is saved using ADE Explorer, the simulation run modes that are not supported in ADE Explorer are not written to the script.
    When you switch from ADE Assembler to ADE Explorer, the OCEAN script shows the setup information of only the selected test.
  3. In the File Name field, specify the name of the OCEAN file to be saved. By default, it displays the ./oceanScript.ocn filename.
  4. In the What to Save field, select one of the following options:
    • Single point data if you want to save an OCEAN L script that includes only single-point data.
    • Sweeps, Corners, Parameters, Specs & Monte Carlo to save an OCEAN XL script. This option also saves the local design variable sweeps.
  5. Click OK.
    ADE Explorer creates and displays a script containing the OCEAN setup and plotting tasks you selected. You can edit the script to add simulation or postprocessing commands as needed.
    Alternatively, you can use a text editor to create an OCEAN script by using OCEAN commands and save it in a .ocn file.
    For a single point run, ADE Explorer can run multiple simulations simultaneously using different OCEAN sessions.
    The spectreFormatter and associated methods are defined in the spectreinl context. This does not get loaded automatically by asiGetTool(’spectre). To load relevant contexts, you need to edit your code by adding spectreinl to the list of contexts it loads. This is illustrated in the following example:
    ; Need to have these contexts loaded - in the right order 
    ; - so that that the spectreFormatter class can be extended
    (foreach context ’("oasis" "asimenv" "analog" "spectrei" "spectreinl")
      (unless (isContextLoaded context)
              (loadContext
               (prependInstallPath (strcat "etc/context/" context ".cxt")))
              (callInitProc context)
              )
      )

To know more about how to run an OCEAN script and how to run parallel OCEAN XL simulation runs for a maestro View, see Creating and Running an OCEAN Script in Virtuoso ADE Assembler User Guide.

For more information about OCEAN commands and scripts, see the OCEAN Reference.

Closing a Session

To close an ADE Explorer session, choose Session – Quit.

The following form appears:

Click Yes to save the current setup of the ADE Explorer. Click No to close the session without saving setup or click Cancel to continue working in the current setup.

Configuring and Customizing ADE Explorer Settings

The configuration of ADE Explorer depends on the following types of configuration settings:

Customizing Your .cdsinit File

You can customize your analog circuit design environment by adding SKILL commands to your .cdsinit file, the initialization file for the Cadence software.

There is a sample .cdsinit file for the analog circuit design environment in the following location:

your_install_dir/tools/dfII/samples/artist/.cdsinit

Customizing Your .cdsenv File

You can set the default values for fields in analog circuit design environment forms by setting variables in your ~/.cdsenv file.

There is a sample .cdsenv file for the analog circuit design environment in the following location:

your_install_dir/tools/dfII/etc/tools/simulator_name

Customizing Your Menus File

The menus file is a simple SKILL file, therefore you can customize the same menu file for different releases by adding SKILL code within the if-then-else statement.

(if (equal curVersion 44X) then
   ;;; 44X menus customization here
else
   ;;; 44Y menus customization here
)

Alternatively, you can create the simui.menus file like this:

(if (equal curVersion 44X) then
    load "44X_file"
)
(if (equal curVersion 44X) then
    load "44Y_file"
)

where 44X_file and 44Y_file are path to the menus file for different releases.

Setting UNIX Environment Variables

UNIX environment variables help configure the Virtuoso® analog design simulation environment.

The CDS_Netlisting_Mode variable controls

The syntax for this variable in a .cshrc file is

setenv CDS_Netlisting_Mode "{Analog|Digital|Compatibility}"} 

When the CDS_Netlisting_Mode variable is set to Analog or Compatibility, the component parameter evaluation takes CDF and AEL into account. When the variable is set to Digital, CDF and AEL are not taken into account, which results in better netlisting performance. When the variable is set to Analog, the Analog LVS tool (auLvs) is used.

Use these rules to set CDS_Netlisting_Mode.

By default, CDS_Netlisting_Mode variable is set to Analog.

RF Options

When the simulator is set to Spectre, do the following to set up the ACPR (Adjacent Channel Power Ratio) and LSSP (Large Signal S-Parameter) options:

For more information about the fields on these forms, see Spectre Circuit SImulator and Accelerated Parallel Simulator RF User Guide and Spectre Circuit SImulator RF Analysis Theory.

Using Signals or Triggers

The ADE Explorer session functions are a known set of states. Any transition from one state to another is called an event. You can specify customized actions to be automatically performed whenever an event occurs. You can do this by registering callbacks for these events or signals. In Trolltech QT's terminology, these events are known as signals and the callbacks are known as slots.

To execute callbacks or slots for ADE Explorer signals, you need to perform the following tasks:

  1. Define a callback function
    Define any SKILL function that you need to call when an event occurs in ADE Explorer. It is recommended to define this procedure in the .cdsinit file.
  2. You can use any other SKILL function in this callback function.
    Connect the defined callback function with the signal
    Connect the custom SKILL function defined in step 1 with the required signal or event by using the axlSessionConnect SKILL function in the .cdsinit file.
  3. Register the callback when a ADE (G)XL session is launched
    To make the callback function available for calling, it is required to register the function by using the axlSessionRegisterCreationCallback SKILL function in the .cdsinit file.
    To know the signature of a trigger, you can use the axlSessionSignalSignature SKILL function.

For more information about how to set the triggers, see the examples in the Working with ADE (G)XL Signals or Triggers section of Virtuoso ADE XL SKILL Reference.

Reserved Words

Each simulator has reserved words you cannot use as names for design variables or passed parameters of a subcircuit (use in a pPar expression):

All Spectre simulator reserved words can be found in the Creating Component and Node Names section of the Spectre Circuit Simulator Reference.


Return to top
 ⠀
X