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

4


Specifying Output Data to be Saved or Plotted

This chapter covers the following topics to explain how to select data that you want to save or plot during a simulation run.

From the Outputs Setup tab of the Outputs pane, you can specify nets, terminals, and measurements you want to save and plot. You can save all node voltages and terminal currents or specify a set of voltages and currents you want to save. You can select output nodes and terminals on your schematic and build expressions using the Calculator to analyze or measure particular results.

Each item that appears on the Outputs Setup tab has a Plot check box and a Save check box. You can select the check box for those outputs you want to plot or save, or deselect the check boxes of those items you do not want to plot or save.

This chapter covers the following topics:

Using the Outputs Setup Pane

The Outputs Setup pane appears to the right of the ADE Explorer window. You can use the this pane to add a new output signal/expression/OCEAN or MATLAB script or to change an existing output. This pane is blank when no outputs are specified.

Do the following to add a new output:

The selected output type is added in a new row in the Outputs Setup pane. For example, if you add an output of type signal, the following row appears in the Outputs Setup pane. The Plot check box is selected by default.

Specifying Whether a Result is to be Saved or Plotted

You can specify whether an item will be saved to the results database or plotted in a waveform window on the Outputs Setup tab by selecting or deselecting the Plot or Save check box for the item. Selecting the Plot check box causes the selected item or items to appear in a waveform window at the end of the simulation.

If none of the outputs specified for a test are selected for plotting, the following warning message is displayed in the CIW:
(ADEXL-1617): Following tests do not have any outputs selected for plotting:
<testname1>
<testname2>

...

When the Plot and Save checkboxes are disabled for an output, the Value column for that output is blank.

When Plot is disabled and Save is enabled, a waveform icon is displayed in the Value column to indicate that the data is available and can be manually plotted. In this case, the signal is not plotted automatically after the simulation run is complete.

Type of Outputs to be Saved or Plotted

The outputs of type—Expression, Signal, OCEAN Script, MATLAB Script, Area Specification, Violation Filter and OP Parameters—that are added in the Output Setup pane are called measurements. The following figure shows the list of outputs that can be saved or plotted after a simulation is complete:

This section covers the following topics:

Saving Output Expression

To add output expressions, click Expression from the drop-down list. A new row of type expr is added in the Outputs Setup tab.

  1. In the Name column, specify the name for the expression output.
  2. In the Details column, either directly type an output expression or click the button to open Expression Builder to add an output expression. For example, you can build an expression for the 3 dB point of an output signal as follows: bandwidth(VF("/OUT), 3, "low"). For more information about how to build expressions using Expression Builder, see Creating Expression Outputs Using the Expression Builder.
  3. The expression appears in the Details field. If the expression uses a signal or net that does not already exist in the outputs table, a new row for an output of type Implicit is added to the table. By default, implicit signals are not shown in the outputs table. To show these signals, set the environment variable displayImplicitSignals to t
    As shown in the example below, when you create average(VT("/net06")) as an output expression, an implicit output is created for signal /net06.

In the following two scenarios, the implicit signals are not added to the output setup:

To add the implicit signals to the outputs setup, set the Select signals to output (save) option on the Save options form to selected.

When the netlist is being created in the GUI, i.e. the ICRP mode, you can set the saveImplicitSignalsDuringRun environment variable to t. This ensures that the implicit signals are added to the save statement in the netlist during the simulation run. However, those implicit signals will not be visible in the Outputs Setup or Results tab.

  1. Change the Plot and Save check boxes for the expression, if required.
  2. To add more columns to the Outputs Setup pane for expression, right-click anywhere in the header and choose the column you want to add from the context-menu. By default, Name, Type, Details, Plot, Save, and Spec columns are displayed.
  3. When you select to display the EvalType column, the default value displayed in this column is point. This signifies that by default the expression are run for the given design point. If you want to evaluate the expression across corners, or across sweep points, or across all corners and sweep points, double-click in the EvalType cell and select corners, sweep, or all from the drop-down list.
    When you set the EvalType to a value other than point, the color of the row is changed to blue.
  4. In the Value column, the value of each output type is displayed. The default value in this column is a blank string.
    The environment variable showUnitsInResults is used to control whether to show or hide the units, such as Hz or dB, in the measured results or values for the expressions in the Results tab.
  5. In the Spec and Weight columns next to the expression, define the specification and the weighting factor for the specification for the output expression.
  6. In the Units column next to the expression, specify the unit value to be used for displaying the measured results for the expression in the Results tab of the Outputs pane.
    For example, if you specify the unit value as dB for an expression named Gain, the measured results for the expression is displayed with the unit value dB in the Results tab of the Outputs pane.
  7. In the Digits column next to the expression, specify the number of significant digits in which the measured results for the expression needs to be displayed in the Results tab of the Outputs pane. Valid values are 2 to 15.
    If you do not specify the number of significant digits, the default number of significant digits specified in the Default Formatting Options form will be used to display the measured results for the expression in the Results tab.
  8. Double-click in the Notation column next to the expression. From the drop-down list that appears, choose the notation style in which the measured results for the expression needs to be displayed in the Results tab of the Outputs pane.
    Choose To

    default

    Display results using the default notation style specified in the Default Formatting Options form.

    eng

    Display results in the engineering notation.

    sci

    Display results in the scientific notation.

    suffix

    Display results in the suffix notation.

    If you choose suffix, double-click in the Suffix column next to the expression and choose the suffix from the drop-down list. If you specify the suffix as auto or do not specify the suffix in the Suffix column, the suffix is automatically assigned.

    If you do not specify the notation style, the default notation style specified in the Default Formatting Options form will be used to display the measured results for the expression in the Results tab.
While performing the division of two integer or floating point values, if denominator is greater than numerator, the division results are truncated. For example, if you perform the division of 1/2, the int function displays the result as 0 instead of 0.5.

For more information about how the integer and floating point division is performed using SKILL, see Integer versus Floating-Point Division in the Arithmetic and Logical Expressions chapter of the Cadence SKILL Language User Guide.

Creating Dependent Expressions

You can create expressions based on other expressions. For example, assume that you have an expression named s1 with the value 5. If you want another expression, say, s2 to be ten times the value of s1, type s1*10 in the Details field as shown in the figure below.

Note the following when you create dependent expressions:

Dependent expressions appear on the Results tab only if the Plot check box is checked. However, if you want to display of the results of intermediate expressions irrespective of the setting of the Plot check box, set the forceShowAutomaticExpressions environment variable to t.

Plotting Dependent Expressions

When sweep includes dependent design variables, scalar expression outputs are plotted as continuous line.

For example, consider the ADE Explorer setup in which you have the following design variables:

Here, the variable vdd1 is dependent on another variable vdd.

Now, if you run a simulation and plot the /OUT signal, the following waveforms are generated for the three values of vdd and vdd1, as shown in the figure below.

Saving Output Signals

You can selects signals (nodes, terminals, or nets) on the schematic and specify whether you want to save or plot them.

To select an output on the schematic, do the following:

  1. Choose Signal from the drop-down list. A new row is added with the output type signal.
  2. In the Name field, type the name for the signal output. This name appears in the ViVA XL window.
  3. Double-click in the Details column and click the ellipses button.
    The schematic window appears in a new tab.
  4. In the schematic, select a signal.
    The signal name appears in the Details field on the Outputs Setup tab.
    Alternatively, you can manually enter a signal. In this case, the type of data to be saved—current, voltage, or both— is decided through the terminal selection type specified in the Plotting/Printing Options form.
    By default, the current data is saved for all selected terminals. However, you can choose to save or plot voltage data, or both current and voltage. Alternatively, you can request for a prompt to check which type of data to be saved for all signal output selections. For this, set the terminalSelectionType environment variable.
    When the variable is set to "prompt", the following message prompt is displayed where you can select the type of data.
  5. You can select or deselect either or both of the check boxes:
    • Plot—The program plots the specified signal output after simulation.
    • Save—The program saves the signal output to the simulation results file.

Alternatively, in the ADE Explorer window, choose Outputs – To be Saved – Select On Design or choose Outputs – To be Plotted – Select On Design to save or plot the signals. The schematic design appears. Select the signals you want to save. The selected signals appear in the Details column.

You can select multiple signals in schematic. Press Esc to end the selection. The name of each selected item appears (such as /out or /I2/PLUS) in different rows in the Outputs Setup tab.

Selecting Nodes, Nets, and Terminals

A circle appears around each pin when you choose a terminal and wires appear highlighted when you choose a net. You can alternate between selecting a terminal and selecting the wire to which it is connected.

You can

Saving a Digital Bus

In the Outputs Setup pane, pane, you can specify a digital bus output to be saved or plotted when the simulation run is complete. The digital bus output can include a single bit or multiple bits bundled together in one output.

To add a single bit or a bundle of bits from a bus as outputs in the ADE Explorer Outputs Setup pane, perform the following steps:

  1. Add a new output row of type signal. Then, double-click in the Details column and click the ellipses button.
    Alternatively, choose OutputsTo be Saved Select On Design, or choose OutputsTo be Plotted Select On Design.
    The schematic appears in a new tab.
  2. In the schematic, click the bus.
    The Select bits from bus form appears.
    Perform one of the following steps to specify bits from the bus as outputs to be saved or plotted:
    • To add a single bit as an output, select the bit and click OK.
    • To add multiple bits bundled together as an output,
      • Press the Ctrl key and select the bits.
      • Ensure that the Include as bundle check box is selected and click OK.

      The selected bits appear in one row in the Outputs Setup pane.
      If the Include as bundle check box is not selected while you are adding or editing an output, an error message is displayed.
    • To add multiple bits to individual outputs, use the OutputsTo Be Saved Select On Design, or the OutputsTo Be Plotted Select On Design command in the ADE Explorer window to open the schematic.
      In the schematic, click the bus to open the Select bits from bus form and perform the following steps:
      • Press the Ctrl key and select the bits.
      • Clear the Include as bundle check box and click OK.

      Each selected bit appears in a different row in the Outputs Setup pane.
      You can also click the Select All button to select all the available bits. Or use the Deselect All button to clear the selection.

    The following image shows how the selected bits appear as ouputs in the Outputs Setup pane in ADE Explorer.
  3. In the Name field on the Outputs Setup pane, type the name for the signal output. This name appears in the graph window.
  4. You can click or clear the Plot or Save check box corresponding to the output as required.
  5. If you have used the OutputsTo Be Saved Select On Design command, or the OutputsTo Be Plotted Select On Design command to open the schematic, press the Esc key to end the selection.

Saving OCEAN or MATLAB Measurement

To load an OCEAN script file containing one or more output measurements or a MATLAB measurement defined in a script file (one value per script), do the following:

  1. Select the OCEAN Script or MATLAB Script in the drop-down list.
    A new row is added for the test with the output type ocean or matlab.

See the OCEAN Reference for information about OCEAN script commands.

  1. In the Name column, type a name to represent the measure.
  2. In the Details column, type the name of (and location/path to) the script file. Alternatively, double-click the Details field. The ellipses button appears. Click this button to open the Choose a File form in which you can browse to specify a file. After you select a file and click Open, the relative path to the file appears in the Details field.
    Once the script filename appears in this field, you can edit it by clicking the Edit File button.

Editing an OCEAN or a MATLAB Script File

To edit an OCEAN or a MATLAB measurement in a script file, do the following:

  1. On the Outputs Setup tab, double-click the OCEAN or MATLAB script file in the Details field.
  2. Click the Edit File button.
    The script file appears in a text editor.
    By default, ADE Explorer opens the text editor set by using the $EDITOR shell variable in UNIX. You can specify a preferred text editor by using the editor SKILL variable.
  3. Edit the script file and save your changes.
    The program uses the new script the next time you run the test.

Writing a MATLAB Measure

When writing a MATLAB measure, you create a script in a .m file. You can use additional tools such as the cds_srr function provided in the Spectre/RF MATLAB Toolbox1 to read the results data. You can also use the axlCurrentResultsPath special function in your MATLAB script file to determine the current ADE Explorer results path. If you want your script to write results to the Results tab, you must assign the value to the axlResult variable. You can plot your results in MATLAB if you include a MATLAB plot command in your script file.

To write a MATLAB measure for a test, do the following:

  1. Use a text editor to create a .m file.
  2. (Optional) Use the cds_srr function to access results data as follows:
    cds_srr( ’path_to_psf_dir’, ’analysisName’, ’outputVariable’ )
    where

    path_to_psf_dir

    is the path to the psf directory; for example:

    simulation/ampTest/schematic/psf 
    You can use the axlCurrentResultsPath function (instead of ’path_to_psf_dir’) as follows to return the current ADE Explorer results path:
    cds_srr( axlCurrentResultsPath, … )

    analysisName

    is the analysis name string that corresponds to the psf subdirectory that contains the results; for example:

    tran-tran

    outputVariable

    is the output variable name


    For example:
    cds_srr( ’simulation/ampTest/schematic/psf’, ’tran-tran’, ’out’ ) 
  3. If you want your script to write results to the Results tab, you must assign the value to the axlResult variable as follows:
    axlResult = resultStatement 
    For example:
    axlResult = max( out.time ) 
  4. Save your changes and load this .m file.
    Matlab prefers current directory over any other path. So, if the Matlab script file (.m file) exists in the current directory, it is always run from there. To run a matlab script saved at a location other than the current run directory, delete the script from the current directory.

Example scripts

The following script creates a MATLAB plot using the specified X and Y values.

figure 
x = [1 2 3]
y = [2 0 6]
plot(x,y)

The following script accesses the value of the out output variable from the current transient results directory using axlCurrentResultsPath, plots out using MATLAB (Voltage on the X axis and time on the Y axis), and writes the measured value (for total simulation time) to the Results tab.

out = cds_srr( axlCurrentResultsPath,'tran-tran', 'out' ) 
fig = figure
plot( out.V,out.time )
axlResult = max( out.time )

Creating Expression Outputs Using the Expression Builder

You can use the Expression Builder to create outputs of type expr in the ADE Explorer Outputs Setup pane that are evaluated after a simulation run is complete. The Expression Builder provides an interface that helps you create or edit expressions based on suggested inputs, with minimal interaction between the schematic and Calculator. However, using the Expression Builder, you can open the function template, and also select nets and instances from the schematic.

This section includes the following topics:

To know more about how to use eye masks, view the Expression Builder in ADE Assembler and Explorer video available on Cadence Online Support.

In addition, you can read an interesting blog about Expression Builder, see Virtuoso Video Diary: Why Should you Switch to the Expression Builder for Creating Expressions?.

Opening the Expression Builder

Perform the following steps to open the Expression Builder:

  1. In the Outputs Setup pane, add an output row of type expr.
  2. Double-click the Details column of this signal row. An icon appears at the end of this column. Click this icon to open the Expression Builder, as shown in the figure below:

Now, you can use Expression Builder to create the expressions.

You can also edit an existing output expression using the Expression Builder. To edit an existing expression, double-click in the Details column for an existing output row. Then, click the Open Expression Builder button. The selected expression is displayed in the Expression Builder that you can edit further.

Graphical User Interface of Expression Builder

The Expression Builder GUI includes the following elements:

Supported Functions

Creating Expressions Using the Expression Builder

To create expressions in the Expression Builder:

  1. Type the expression in the Buffer. As you start typing, a drop-down list appears with suggested values. For example, if you type letter d, all the functions available in the Calculator starting with letter d are listed in the drop-down list that you can apply in the current scenario. (See the figure below). In addition, when you hover the pointer on a function, a brief description about the selected function is displayed.
  2. Now, when you choose a function from the list, the syntax of the selected function appears. For example, if you select the delayMeasure function from the given list, the syntax for delayMeasure appears in the tooltip that guides you through the arguments required for the selected function (see the figure below).
  3. After you type the function name, the next possible input value for this expression is listed in the Auto-complete drop-down list. You can scroll down in the drop-down list using the up and down keyboard arrows and press the tab key to select the function. When the function name is complete, the parenthesis will open automatically. For example, see the figure below in which the delayMeasure function is selected from the drop-down list.
  4. To create the expression for the delayMeasure function, you need to specify an input signal. After you select the function name, delayMeasure, the Auto-complete drop-down list displays a list of schematic-selection functions, such as VT, VF, and so on. You can select one of these functions to specify the input signal. For more information about how to use these functions to select signals, see Using Schematic-Selection Functions. Notice that the function tooltip also indicates that the current input argument is signal1 and displays it with an underline.
    The Auto-complete drop-down list also includes signals that are already saved in the Outputs Setup pane. You can directly select them from the drop-down list, without the need to open the schematic design.
  5. After you select the first signal, the tooltip shifts the underline over signal2, which is the next argument. In addition, the Auto-complete drop-down list also shows the schematic-selection functions to select the second signal.
  6. After you select signal2, the Auto-complete drop-down list displays a list of all the key arguments (optional) starting with ?, as shown in the figure below. Notice that the tooltip also shows the syntax of these arguments. You can specify these arguments if you want; otherwise, choose the closing parenthesis to complete the expression.
    Notice that all the function arguments that you have specified in the expression are displayed in bold in the tooltip.
  7. After the expression is complete, press the Enter key or click the OK button available on the Expression Builder.
You can also right-click the output row in ADE Explorer or ADE Assembler and choose Send to Calculator to open the Calculator window with the selected expression displayed in the buffer.

If an expression output name includes a space, such as Absolue Current, then the Auto-complete drop-down list displays an escape character (\) in this output name, as shown in the figure below:

After you create the expression, the Outputs Setup pane also displays escape character in the expression.

You can use Alt + Enter to enter line breaks while creating an expression in the expression builder. This improves readability, and makes it easy to edit long expressions.

These line breaks in the expression are retained even when you close and reopen Expression Builder. Line breaks in the expression are retained also when outputs are exported to the CSV file. When you import these outputs using the CSV file again, line breaks in the expression remain as they were earlier

Different Icons Available in Auto-complete Drop-Down List

The following icons are used to display different types of data in the Auto-complete drop-down list:

Using Schematic-Selection Functions

If an argument in the function syntax requires a signal to be chosen from the schematic, then the schematic-selection functions, such as VT, are also listed in the Auto-complete drop-down list. After you select the schematic-selection function, the Auto-complete drop-down list then displays the list of available nets and also provides the option, Select from design, to choose the net, instance, or terminal by selecting them in the schematic. For example, to create the expression for the clip function, you can use the schematic-selection function as shown in the figure below:

When you choose this option, the schematic design appears. After you make a selection, the selected object is added in the buffer of the Expression Builder, as shown in the figure below:

The suggestions for the next argument values are also displayed in the Auto-complete drop-down list. You can select the next argument value based on the syntax given in the tooltip and complete the expression.

After the expression is complete, press the Enter key or click the OK button available on the Expression Builder.

Alternatively, you can type the design elements in the Buffer. After typing the schematic-selection function VT, if you select the first-level design element from the drop-down list, the design is traversed and the drop-down list then displays the next hierarchy-level elements.

Using the Existing Function Templates

To open the complete list of functions available in the Calculator within different function categories,

Alternatively, to view the template of a specific function,

  1. Type the function name in the Locate function field. All the functions matching the specified function name are listed in the drop-down list.
  2. Click the function you want to choose. For example, if you select freq, the template for the freq function appears, as shown in the figure below:
  3. Specify the argument values and click OK. The signal you want to specify as an input should be available in the buffer of the Expression Builder.
    The specified function is added to the current cursor position in the Buffer.

Alternatively, you can open the template for a function by pressing the Ctrl key and simultaneously clicking the function name in the Buffer. For example, see the figure below, if you press the Ctrl key and move the pointer over the function name in the Buffer, the function expression becomes a hyperlink.

Then, click the function name to open its template with the argument values you specified in the expression. The arguments that are not specified in the expression are displayed with their default values.

You can then update the argument values in the template and click the Update button. The expression is updated in the Buffer.

Using Function Templates to Specify Input Signals

While building expressions in the buffer, if a function requires more than one input signal, for example, compare, all the signals that are available in the design are listed in the Auto-complete drop-down list. However, if you use function templates to build the expression, ensure that those signals are available in the Buffer and in the Recent drop-down list of the Expression Builder. The Recent drop-down list maintains a history of all the previous signals and expressions that you created using the Expression Builder. All the signals available in this drop-down are also listed in the input signal field drop-down list of the function template. Therefore, in this case, you can select the first input signal using the Buffer and the next input signal using the available history, as shown in the figure below.

Using Functions with a Signal Argument

If a function includes only a signal argument, the function is added at the current cursor position in the Buffer. For example, if you select average, the function is added to the buffer, as shown in the figure below.

Then, you can use the Auto-complete drop-down list to build the rest of the expression.

Using VAR in Expressions

You can also use the VAR syntax to specify the existing design variables while creating expressions in the Expression Builder. When you type VAR, the available design variables are listed in the Auto-complete drop down list.

Using Conditional Statements

You can use an if-else statement in output expressions to assign different values to a variable depending on the condition being satisfied.

In the following setup, testA has two design variables, a = 5 and b = 3. Variables A and B are expressed using VAR syntax. Variables C1, C2, and C3 are expressed using conditional statements. The values of variables A and B are 5 and 3, respectively.

According to the conditions defined in the expressions for variable C1, C2, and C3:

Creating Nested Expressions

You can build expressions in the Expression Builder by using the previously-created expressions. For example, create an expression in the Expression Builder to clip the out signal using the clip function signal, and then add this expression to the buffer.

Now, you can specify this expression name while creating other expressions. For example, if you create an expression for fallTime, the Clip_out is also displayed in the list of available options, as shown in the figure below:

Then, build the rest of the expression, as shown in the figure below:

Click OK to send this expression to the Outputs Setup pane.

Creating an Expression using CalcVal

You can type the calcVal function to use the result of a previously-added expression in another expression. To use calcVal, you need to specify the expression name, test and optionally history or corner or results name.

To use calcVal, type calcVal in the Expression Builder buffer. All the available output expressions are listed in the Auto-complete drop-down list. For example, in the figure below, rmspower and Clip_out output expressions are listed in the drop-down list.

Now, after you select the output, Clip_out, the drop-down list displays all the test names available in the session. For ADE Explorer, only the current test name is displayed because it is a single-test environment.

After selecting the test name, you can specify the key arguments, such as historyName, cornerName, result and defaultValue, and complete the expression. The history name must be selected before specifying the corner name. For more information about this function, see calcVal.

Upon evaluation, this calcVal expression returns the result of the Clip_out output for the specified argument values. You can use this function within other expressions.

For example, the figure below shows that the calcVal function is used within the clip function to specify the input signal. Upon evaluation, this function clips the waveform returned by the Clip_out according to the specified From and To values.

Creating the Expression for RF Functions

You can create and evaluate expressions for RF functions in the Expression Builder. For example, consider the S-parameter (SP) analysis of the Low Noise Amplifier (LNA) design. Perform the following steps to build an expression for the gac_freq function using the Expression Builder:

  1. Select the gac_freq function from the Auto-complete drop-down list, as shown in the figure below:
  2. Now, create an expression with gain=16, startFreq=2G, stopFreq=3G, and step=100M.
  3. Click the Evaluate button to open the evaluation and plotting options. Select the plotting mode as New Window and graph type as Impedance, as shown in the figure below.
  4. Now, click the plot icon to plot the output in a new graph window. The following plot is created:

Similarly, you can create and plot expressions for other RF functions.

Bindkeys in Expression Builder

You can use the following bindkeys while building expressions in the Expression Builder:

Evaluating or Plotting Expressions in Expression Builder

By default, the expressions you created using Expression Builder are plotted when you add them to the Outputs Setup tab and run the simulation.

However, you can also use the plotting options available within Expression Builder to directly plot expressions without running the simulation.

Related Blogs

Disabling Expression Builder

Expression Builder is opened by default when you build expressions in ADE Explorer and ADE Explorer Outputs Setup pane. However, if you want to open the Calculator window, you can set the useExpressionBuilder environment variable in CIW, as shown below:

envSetVal("maestro.gui" "useExpressionBuilder" ’boolean nil)

Limitations

Currently, the history items saved in the Recent drop-down list cannot be deleted. By default, maximum of 10 histories are saved in this list.

Defining Specifications for an Output

You define performance specifications on the Outputs Setup pane. After simulation, the program displays information so that you can see whether your design met, nearly met, or failed to meet your performance specifications.

You can view specification (spec) results from the Results tab. You can select which measurement result for which corner or sweep to display. The program displays specification information such as the corner or sweep name, the analysis name, the measurement name, the conditions, the minimum or maximum values. You can view the spec for each measurement along with information about whether each spec passed or failed. You can create a summary report of pass/fail results.

You can control the format for each specification such that the program uses particular units or engineering or scientific notation when displaying each spec. You can sort by measurement name and export your spec sheet to a comma-separated values file.

Defining and Managing Specifications for Outputs

You can define a performance specification for a measurement in the Spec column on the Output Setup pane.

By default, the specification defined for a measurement applies to all the corners enabled for the test. You can also disable the corner specification.

Defining Specification for an Output

To define a specification for a measurement on the Outputs Setup tab, do the following:

  1. Double-click in the Spec column.
    The Spec cell has two parts: a specification type (which you select from a drop-down list) and a target value.
  2. In the drop-down list that appears select one of the following specification types and fill in the right half of the cell with an appropriate target information as indicated:

    Specification Types

    Objective Target Description

    minimize

    targetValue

    Minimize the result; used in circuit optimization

    maximize

    targetValue

    Maximize the result; used in circuit optimization

    <

    targetValue

    The result must be less than the target value

    >

    targetValue

    The result must be greater than the target value

    range

    lowerBound upperBound

    The result must fall between the boundary values

    tol

    targetValue percentageDeviation

    The result must be within the specified percentage deviation of the target value

    info

    Choose this setting when you want the measured value to appear but there is no target value or performance objective to meet

    A target specification value can be specified in the form of constant values or expressions using global variables or other output names. For more details, refer to Using Variables in Specifications.
  3. (Optional) In the Weight column next to the specification, specify the weighting factor for the specification.

Using Variables in Specifications

The target values for specifications can be specified as a constant or an expression using variables. In case the value is specified as an expression, the evaluated value of the expression is compared with the output value to identify the pass or fail status. By using expressions in specifications, you can vary the specifications across sweep points.

The expressions can be created for specification target values in any of the following ways:

Saving Violation Filter

See Performing Circuit and Device Checks

Saving Operating Point Parameters

In the Outputs Setup pane, you can specify the instances and their operating point parameters that you want the simulator to save. Currently, this feature is available only in the Spectre and operating point parameters for only DC and transient analyses are saved.

This output is supported only for the Spectre and AMS simulators.

By default, the instance column on the Outputs setup pane is blank. To add instances and their operating point parameters that are to be saved, perform one of the following steps:

An empty row is added in the Outputs Setup pane as shown in the figure below:

Adding Operating Point Parameters

In the Details column, do one of the following to specify the operating point parameters to be saved for each instance:

You can also add and delete operating points by using the saveOpPoint and deleteOpPoint OCEAN commands.

Using MATLAB® Expressions in Outputs

Fast, accurate, and efficient analysis of simulation results is one of the key requirements for circuit simulation and verification. Integration of MATLAB® with ADE Explorer provides the capability to apply various data slicing and querying methods for advanced data analysis and waveform processing using a high-level language.

To use MATLAB in ADE Explorer, you can add MATLAB expressions as outputs that are evaluated in the MATLAB engine. The MATLAB engine runs independent of ADE Explorer, but there is a channel through which ADE Explorer exposes the circuit simulation data. This provides MATLAB a capability to access both the scalar and waveform data that can be used in measurements for single points, sweeps or corners as well as for Monte Carlo analysis. The results of these expressions are returned by MATLAB and displayed on the Results tab in ADE Explorer.

To evaluate MATLAB expressions, you need to run MATLAB vR2018a or later. You also require the Virtuoso MATLAB Integration Option (95252) license.

For more information about how you can use MATLAB expressions, see Using MATLAB Expressions in Outputs in Virtuoso ADE Assembler User Guide.

Deleting Outputs

To delete an output, do one of the following in the Output Setup tab:

Adding a User-Defined Column

In addition to the default set of columns that appear in the Outputs Setup tab, you can add one or more user-defined or custom columns. These user-defined columns can be used to save additional information, such as comments, target values for specifications, or other notes related to a measurement.

To add a user-defined column in the Outputs Setup tab:

Right-click the title of any existing column and choose Add Column.

The Add Column form appears.

  1. In the New Column Name field, specify a name for the new column to be added.
  2. Click OK.
    A new column is added to the right of the existing columns.

Renaming a User-Defined Column

To rename a user-defined column, do the following:

  1. Right-click the column in the Outputs Setup tab and choose Rename Column.
    The Rename Column form appears.
  2. In the Rename Column to field, specify a new name for the column.
  3. Click OK.

Deleting a User-Defined Column

To delete a user-defined column, Right-click the user-defined column and choose Delete Column.

The column is removed from the Outputs Setup tab.

You can only delete a custom or user-defined column. It is not possible to delete a standard column from the Outputs Setup tab. However, you can hide or show selected columns, as required.

Filtering and Searching in Outputs Setup Pane

You can use the search filters (Filters) displayed at the top of the Outputs Setup pane to filter the outputs based on specified search words or strings. These filters are displayed for all the fields in the Outputs Setup pane except for the Plot and Save check boxes.

By default, filters are displayed only when 20 or more output rows are specified in a given ADE Explorer setup. However, you can increase or decrease this limit (threshold) by setting the outputSetupFilteringNumOutputThreshold environment variable.

Regardless of the setting of this variable, you can also show or hide filters manually for any number of output rows. To do this, right-click anywhere on the outputs header and choose Show Filters or Hide Filters.

For video demonstration, see Filtering Data on the Outputs Setup and Results Pane on Cadence Online Support.

To filter the output rows in the Outputs Setup pane, do one of the following:

To specify filter conditions while searching or filtering the outputs,

The tooltip on the Filter drop-down list displays the selected search conditions, as shown in the figure below.

Viewing Search History

A history of the searched words or strings is also maintained in the Filter drop-down list. This history can be reused later, and therefore, helps in making the filtering or searching faster for the frequently used outputs. In addition, you do not need to type the search text again to search for particular outputs.

To clear the search history, select Clear Search History from the drop-down list of search filter.

In addition, after the searched outputs are filtered and listed, the Filters drop-down list changes into a Cancel button that you can use to cancel the search and display all the specified outputs.

Using Named Filters Toolbar

You can use the Named filters toolbar to create and save named filters for combination of column searches that you use or refer to more frequently. These named filters include search words or strings used to filter the outputs for all columns.

To open the Named filters toolbar,

To save a named filter,

To delete a saved filter,

Importing and Exporting Outputs to a CSV File

Working on a large number of signals and expressions, which includes specifying values and setting plot and save options for signals and expressions, in the Outputs Setup tab in ADE Explorer is difficult. Therefore, to manage the signals and expressions better, you can export the outputs from the Outputs Setup tab to a CSV file. You can then edit or add output values to the file in a text editor and import the file back to ADE Explorer.

This section covers the following topics:

Structure of a CSV File

The following table lists the output components in the order required by the CSV file format and provides a brief description of each component.

Component

Description

Name

Indicates the name of the expression.

If the output is for a signal, specify nil for this component.

Type

Indicates the type of output. The possible values are:

  • net — Indicates a node voltage
  • terminal — indicates a current
  • expr — indicates an expression

Output

Indicates the name of the net, terminal or the expression.

Plot

Indicates if a output is to be plotted or not. The possible values are:

  • t — Indicates output is to be plotted
  • nil — Indicates output is not to be plotted

Save

Indicates whether an output is to be saved or not. The possible values are:

  • t — Indicates that the output is to be saved
  • nil — Indicates that the output is not to be saved

Exporting Outputs

To export outputs to a CSV file, do the following:

  1. Ensure that all the required outputs are defined on the Outputs Setup tab.
  2. Choose Outputs – Export.
    The Export Outputs to CSV form appears.
  3. Specify a name for the CSV file to which the output is to be saved.
    The default file name is outputs_<lib>_<cell>_<view>.csv where lib, cell, and view are the library name, cell name, and view name associated with the test. By default, it is saved in the testcase directory.
    Alternatively, click Browse and choose a directory and name for the CSV file.
  4. Click OK to export the outputs.

All the outputs defined on the Outputs Setup tab are saved in the specified CSV file. You can open the CSV file in any text editor.

Importing Outputs

To import outputs from a CSV file to the Outputs Setup tab, do the following:

  1. Choose Outputs – Import.
    The Import Outputs from CSV form appears.
    The default file name appears in the File field.
    Click Browse to locate and select a different file.
    Only those outputs that are not defined in the Outputs Setup pane are loaded from the CSV file being imported. Therefore, to ensure that the changes made to an exported output are visible in the Outputs Setup, delete that output before importing the CSV file.
  2. Click OK to import the outputs.

The imported output value is displayed in the Outputs Setup pane of ADE Explorer.

Important Points to Note:

Specifying which Outputs to Save

Saving all the node voltages and terminal currents for a large design produces an enormous data set. The analog circuit design environment lets you save a selected set of voltages and currents from the schematic.

Once you select a set of output nodes and terminals, you can save their names to a file using the Save State command. You do not need to explicitly save nets and terminals that are used in expressions. All nets and nodes that are used in expressions are automatically set for saving and are also added to the Outputs Setup tab.

After you select the outputs you want to save, the next step is to start the simulation.

This topic covers the following sub-topics:

Saving Selected Voltages or Currents

To save the simulation data for particular nodes and terminals,

  1. Choose Outputs – To Be Saved – Select On Design.
  2. In the Schematic window, choose one or more nodes or terminals.
    The system circles pins when you choose a current and highlights wires when you choose a net.
    • Click an instance to choose all instance terminals.
    • Click the square pin symbols to choose currents.
    • Click wires to choose voltages.
    • Click and drag to choose voltages by area.

Press the Esc key when you finish.

Saving All Voltages or Currents

To save all of the node voltages and terminal currents,

  1. Choose Outputs – Save All.
    A form appears that varies according to the simulator you use. For example, if you use the Spectre simulator, the Save Options form appears with the following format.

When you use the AMS simulator, the following Save Options form appears.

With AMS, the Save All command is not on by default. Save (or probe) statements are placed in the probe.tcl file and not in the amsControl.scs file. For information about this, see the “Tcl-Based Debugging” appendix chapter of Spectre AMS Designer and Xcelium Simulator Mixed-Signal User Guide.

  1. Select the values you want to save and click OK.
For AMSUltra, the options Save model parameters info, Save elements info, and Save output parameters info appear deselected by default. If you select them, the speed with which AMSUltra typically works may be compromised especially if you have a big design.

All of the cross-references are to sections in the Specifying Output Options chapter of the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

The table below describes the fields of the Basic tab in Save Options form:

Field For more information, see

Select signals to output (save)

The save Parameter Options in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Select power signals to output (pwr)

Saving Power in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Set level of subcircuit to output (nestlvl)

Saving Groups of Signals in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Select device currents (currents)

Saving Groups of Currents in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Select AC terminal currents (useprobes)

Setting Multiple Current Probes in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Set Subcircuit probe level (subcktprobelvl)

Saving Subcircuit Terminal Currents in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide

Select AHDL variables (saveahdlvars)

Saving All AHDL Variables in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

The all buttons (Select signals to output (save) ) are global buttons but can be locally overridden while specifying options for a particular analysis.
Spectre never saves the current data for global pins even if you select Save all on the Outputs tab.

Specifying Hierarchy Levels to Save Outputs

When the circuit has multiple levels of hierarchy, saving the voltages and currents for a subcircuit can produce an enormous data set, resulting in degraded simulator performance or out-of-memory problems. To address this issue, you can set the level of hierarchy to which you want to save voltages, currents and power signals from the schematic.

Any changes made in the Save By Subckt Instances table on the Save Options form are saved and reflected in the netlist even if you click Cancel on the form. If you do not want to save the changes in this table, delete the rows or edited entries.

To do this, you can use the Save By Subckt tab on the Save Options form.

Saving Pcell Operating Point Parameters

The Save By Subckt tab on the Save Options form is used to manage Subckt instances and Pcell.

To save the operating point parameters of a selected Pcell:

  1. Select the Schematic Pcell OP Parameters to be Saved check box. You can either type the names of the OP parameters in the text box, or click Select to choose the operating point parameters of the specified Pcell from the schematic. When you choose from schematic, the text box displays the selected operating points as "<name-ofoppoint>:oppoint" and the netlist is generated in the format:
    save NM0:oppoint M0:oppoint devtype=subckt
  2. Select the Save Registered Pcell OP Parameters check box to save the operating points of Pcells registered using the function sevRegisterPcellsForAnnotation. This check box is enabled only if Schematic Pcell OP Parameters to be Saved is selected.
    For example, if you specify the Pcell in the format "<lib-name>/<cell-name>", the netlist is generated as:
    save *:oppoint devtype=nmos1v_s_pcell_3
    If you specify the Pcell in the format "<lib-name>/<cell-name> <commaseparated-list-of-parameters>", the netlist is generated as:
    save *:vth *:id devtype=nmos2v_s_pcell_1
    save *:vth *:id devtype=nmos2v_s_pcell_2
    save *:vth *:id devtype=nmos2v_s_pcell_0
To set the check box Schematic Pcell OP Parameters to be Saved as the default selection, set the environment variables subcktoppoint and savePcell in your.cdsenv file.

Saving Transient Time Window Setup

To save the time interval or time window for which you need to save outputs for signals during transient analysis:

  1. In the Transient Time Windows Options section, select the Transient time window save options check box in the Basic tab of Save Options form. By default, this check box is disabled.
  2. Click the Time Setup button.
    The Save Option Time setup form is displayed. By default, the output data for signals for the complete simulation time is saved. This form helps you specify the time windows for specific signals.
    This form contains the following sections:
    • Net Selection
      • Signal Name — The nodes or signals. Click Select to open the schematic view in a new window, where you can select the nodes or signals. Click Clear to clear Signal Name.
        You can specify a list of either signals or nodes, or a combination of both when selecting the Signal name from the schematic, to save the output data for the same time window for different signals or nodes
    • Time Window
      • Time Window Setup — Sets up one or more time windows for which you need to save the output data for the node or signal specified in Signal Name. Click Add to add these time windows to the Summary Information table. For each time window you can specify the Begin and End nodes in the respective columns.
    • Summary Information — Used to display the summary of the signals and their corresponding time windows. Click Delete to remove the time window details for the specified node or signal from the netlist. Click Clear to clear the Summary Information table.
    The netlist file saves the Summary Information in the following format:
    save N1 time_window=[1 2] 
    save IO.* time_window=[1n 2n] 
    save IO.* time_window=[1n 2n 3n 4n] 

    Nodes or signals that start with the same name can be referred to by adding a wildcard. Here, save IO.* time_window=[1n 2n] implies that the output data is to be saved for the time window [1n 2n] for all the signal names starting with "IO".

Saving Circuit Information Analysis

You can use the Save circuit information analysis table in the Basic tab of Save Options form to save the information about the circuit and its components. The table data can be saved in a state file and loaded into another session. To save the table data in a state file, select the Outputs check box in the Saving State form.

This table includes the following fields:

To add a new parameter to the table, double-click <Click_To_Add> and specify the required values in various fields.

To delete a parameter, right-click anywhere in the row that contains the parameter and choose Delete.

You can only delete the parameters that you added to the table manually.

For more information, see Control Statements in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.

Setting Up Output Options

The table below describes the Output Options field of the Save Options form. These options specify the format in which the results data must be saved.

On selecting Spectre as the simulator, the following output formats are displayed.

Field Description

Output Format

Specifies the format in which the results data must be saved. The results data can be saved in the following formats:

  • sst2 – Signal Scan 2 (SST2) format. This format is supported for transient analyses only. Non-transient data cannot be generated in the SST2 format and is generated in parameter storage format (PSF) format.
  • psf – Cadence parameter storage format (PSF)
  • psf with floats – Cadence lowered precision parameter storage format.
    The psf with floats format stores data using floats versus doubles. This results in a database that is about 50% of the size of normal PSF output, thereby providing capacity and performance benefits. For some simulators, using this format is not recommended as the use of floats reduces the number of significant digits and can limit the accuracy of measurements. Specifically, SpectreRF users are recommended not to use this format as the noise floor numbers can be misleading.
  • psfxl – Cadence parameter storage XL format (PSF XL). PSF XL provides higher performance for large circuit designs.
    When psfxl is set as the output format for transient analysis, the behavior of the waveform writing module is controlled by a set of environment variables. For more details, refer to Environment Variables for PSFXL Output Format.
    The PSFXL format is not compatible with versions of Virtuoso Visualization and Analysis prior to IC6.1.4 unless the CDS_PSFXL_COMPAT environment variable is defined by the user. For information on this variable, refer to Table 4-2.
  • fsdb – Fast Signal Database format (FSDB).

On selecting AMS as the simulator, the following output formats are displayed.

Field (Output Format) Description

udb

Unified Database (UDB) format. On using this format, the analog signals are saved in psfxl format while the digital signals are saved in sst2 format. When the results with udb format are viewed using Virtuoso Visualization XL or SimVision, both analog and digital signals are displayed in one dataset.

fsdb

Fast Signal Database (FSDB) format.

This format is supported only for transient analyses.

wdf

Waveform Data Format (WDF).

This format is supported only for transient analyses.

sst2

Signal Scan 2 (SST2) format. This format is supported only for transient analyses. Non-transient data cannot be generated in the SST2 format and is generated in Parameter Storage Format (PSF).

sst2+fsdb

Signal Scan 2 (SST2) format and Fast Signal Database (FSDB) format.

On selecting this output format, the analog and digital signals are saved as follows.

  • Analog signals are saved in sst2 and fsdb format.
  • Digital signals are saved in sst2 and vcd format.

sst2+wdf

Signal Scan 2 (SST2) format and Waveform Data Format (WDF).

On selecting this output format, the analog and digital signals are saved as follows.

  • Analog signals are saved in sst2 and wdf format.
  • Digital signals are saved in wdf format and vcd format.

Expressions to be Measured Across Dimensions

Simulation results data is spread across multiple dimensions—sweeps or corners. Therefore, at times, it is required to measure outputs across these dimensions. You can do this by specifying the dimension across which you want to evaluate a result.

ADE Explorer provides the following ways to evaluate expressions across different dimensions:

Measurements across dimensions are supported only in the following run modes:

Related Topics

Environment Variables for PSFXL Output Format

When psfxl is set as the output format for transient analysis, the behavior of the waveform writer module is controlled by a set of environment variables defined in your shell session. These variables are listed in Table 4-2. You can override the default values of these variables by setting them in your .cshrc or in your shell session.

The default values of the variables given in Table 4-2 have been set to provide optimal performance for most end-user designs. Users should not change the default values unless they experience specific performance degradation issues.

Table 4-1 Environment Variables for PSFXL Output Format

Variables Description

CDS_PSFXL_FLUSH_INTERVAL

Specifies the number of CPU seconds elapsed between data flushes to disk. This value is increased by 2% after every flush upto the value of variable CDS_PSFXL_MAX_FLUSH_INTERVAL.

Default value is 300 seconds.

Larger flush intervals require more simulation data to be kept in memory, but results in more efficient reading of data by the waveform and post-processing tools. Smaller intervals reduce the memory usage and runtime overhead of the simulator.

CDS_PSFXL_INIT_FLUSH_INTERVAL

Specifies the rate (in terms of number of CPU seconds elapsed) at which data is initially flushed to the disk. This value is progressively increased by 50% after each flush until it approaches the value of variable CDS_PSFXL_FLUSH_INTERVAL. After this point, the flush rate is determined by the behavior of the variable CDS_PSFXL_FLUSH_INTERVAL.

Default value is 60 seconds.

CDS_PSFXL_MAX_FLUSH_INTERVAL

Specifies the maximum number of CPU seconds elapsed between data flushes. This sets an upper limit on how large the progressively increasing flush period defined by CDS_PSFXL_FLUSH_INTERVAL can grow.

Default value is 1200 seconds.

Larger flush intervals require more simulation data to be kept in memory, but results in more efficient reading of data by the waveform and post-processing tools. Smaller intervals reduce the memory usage and runtime overhead of the simulator.

CDS_PSFXL_MAX_BUFSIZE

Specifies how much in-process memory to be allocated for unwritten data values.

Default value is 256 MB for 32-bit platform and 384 MB for 64-bit platform.

You need to specify the value of this variable in Bytes. For example, if you need to specify the CDS_PSFXL_MAX_BUFSIZE to 1024 MB, you need to set CDS_PSFXL_MAX_BUFSIZE as follows:

setenv CDS_PSFXL_MAX_BUFSIZE 1073741824

Larger buffer size increase the performance of the viewer or reader module. Smaller buffers reduce the memory usage and runtime overhead of the simulator.

CDS_PSFXL_COMPAT

Instructs the simulator to write both PSF and PSFXL data simultaneously, thereby preserving backward compatibility for users of Virtuoso Visualization and Analysis prior to IC6.1.4.  

Default value 0 disables this compatibility mode. Setting the value to 1 preserves backward compatibility, but requires twice as much disk space to be consumed, and leads to slightly higher runtime overhead on the simulator.

CDS_PSFXL_FLOATY

Sets the default precision of waveform Y-values. This has no effect on the X- or time sweep values that are always saved as double precision. By setting this variable, you can reduce the size of waveform database by approximately 50% for spectre and aps simulators and approximately 25% for ultrasim. This variable has negligible impact on simulations and waveform viewing.

Default value 0 sets the default precision of waveform Y-values to double precision float. Set this variable to 1 to set the default precision to single precision float.

The CDS_PSFXL_FLOATY environment variable will be removed in a future release. It is recommended that you use the Spectre command-line option uwiprecision in its place.

CDS_PSFXL_SERVER

Enables or disables reading of live simulation data while the simulation is running. Live simulation data includes both of the following:

  • the simulation data that has been flushed to the disk
  • data that is still in the simulation process memory and not yet flushed to the disk

By enabling the reading of live simulation data, you can improve the performance of waveform viewing  because it is not required to read the entire waveform data every time the data is flushed by the simulator. This has negligible impact on simulation unless excess live simulation data reads are requested by you. Therefore, to maximize the performance of the simulator, it is recommended to minimize the amount of live data requests for plotting while the simulation is in progress.

Default value 0 disables reading of live simulation data. Set this variable to a non-zero integer value to enable reading.

PSFXL Environment Variables for Site Administrators

In addition to the environment variables given in Table 4-2, there are two more variables that control how the live simulation data in PSFXL format is read. These variables define the port range for server connections and are intended for site administrators who want to enforce network service restrictions across their IT domain. The site administrators can set these variables in their shell session. Any value set for these variables in users local home is ignored.

Table 4-2 Environment Variables for Site Administrators

CDS_PSFXL_PORT_LOW

Lowest TCP/IP port number allowed for server connections. The server will not search for any open ports below this value.

Default value: 32768

CDS_PSFXL_PORT_HIGH

Highest TCP/IP port number allowed for server connections. The server will not search for any open ports above this value.

Default value: 65536

Setting both the variables given in the previous table to 0 disables communications with the simulator for reading live PSFXL data. It is recommended that site administrators use the default values set for these variables. Making the port range too restrictive might limit the number of live simulations that can be made available to the end user. For example, if the range is set to 38000 to 38009, then only ten simulation processes can be used simultaneously by the users.

  1. Installed in your MMSIM 6.x hierarchy under tools/spectre/matlab.

Return to top
 ⠀
X