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

5


Working with Device Instance Parameters

You can use Component Description Format (CDF) instance parameters to set component values for simulation. The scope of a CDF parameter value depends on which Analog Expression Language (AEL) functions you use to refer to the parameter.

This chapter covers the following topics:

Creating Device Instance Parameters

Perform the following steps to create instance parameters for the design associated with your test:

  1. In the Parameters section on the Setup assistant, click Click to add parameter.
    Alternatively, right-click Parameters and choose Add Parameter.
    The schematic associated with the test is displayed in a new tab in the ADE Explorer window. The menu changes to that of Virtuoso Schematic Editor and the Parameterization workspace is set.
    In this workspace, the Variables and Parameters assistant is displayed. The Parameters tab on the Variables and Parameters assistant is also opened.
  2. On the schematic, select one or more device instances.
    To select more than one instance, hold down the Shift key and click each instance one by one or by dragging a selection box around a set of instances.
    The parameter properties of the selected devices are listed in the upper half of the Parameters tab of the Variables and Parameters assistant.
  3. Expand a property section to view the device names.
  4. Right-click an instance name and choose Create Parameter.
    Alternatively, click Create Parameter on the toolbar.
    A parameter is created for the selected property of the selected device instance. The details of the added parameter appear in the lower half of the Variables and Parameters assistant.
    The device instance parameter name is displayed in the Parameter column and value is displayed in the Value column. You can hover above an instance name to view the related test information along with the parameter name and prompt name for that instance.
    Note the following:
    • The parameter is also displayed in the Parameters section in the Setup assistant, as shown below.
      The value to be used for the parameter is same as the value of the parameter specified in the schematic, which is also shown in the Design Value column in the lower half of the Parameters tab on the Variables and Parameters assistant. You can specify a different value to be used while running simulation. For more details, refer to Changing the Value of Device Instance Parameters.
    • If required, you can also view specific instance parameters by using the filters available in each column header of the lower half of the Variables and Parameters assistant.
    To view the schematic where a particular parameter is set, right-click that parameter and select Open Design in Tab.
    If the schematic containing that parameter is already open, then on using this option, the existing schematic tab gets refreshed instead of opening a new one.

Additional Points to Note

Changing the Value of Device Instance Parameters

Perform the following steps to change the value of a device instance parameter for a simulation without affecting the value on the schematic:

  1. On the upper half of the Parameters tab on the Variables and Parameters assistant, click the value of the device instance parameter you want to change and type a new value.
    You may have to expand the section by clicking the plus sign to the left of the instance name.
    To view only the parameters in the Parameters tab, see Viewing Parameters by Property and Object Names.
    For example, change the value of the Length parameter from 45n to 50n.

    The instance parameter and its new value (50n) appear in the lower half of the Parameters tab on the Variables and Parameters assistant. The simulator uses this value when you click Run Simulation.

Alternatively, perform the following steps:

  1. Right-click the instance parameter whose value you want to change and choose Create Parameter.
    The instance parameter and its value appear in the lower half of the Parameters tab on the Variables and Parameters assistant.
  2. Double-click the value in the lower half of the Parameters tab and type a new one.
    The simulator uses this value when you click Run Simulation.

The parameter is also displayed in the Parameters section in the Setup assistant.

Important Points to Note

Sweeping Pcell Parameters

You can sweep Pcell parameters in the same way as described above for other device parameters. The sweep values are used to create multiple design points for simulations. During netlist creation, ADE Explorer and ADE Assembler create subcircuits for each swept Pcell parameter value.

This feature is helpful for advanced node designs that contain Pcells with parameters to adjust circuit topology changes, such as the number of stacked components represented by a device. You can run local or global optimization to identify the best value for the Pcell parameters to optimize your designs.

Specifying Values of Device Instance Parameters

You can specify a device instance parameter as a sweep parameter. The settings for a sweep parameter override the settings of an instance parameter that has the same name as the sweep parameter.

Perform the following steps to specify an instance parameter as a sweep parameter:

  1. Create instance parameters for the design associated with your test. See Creating Device Instance Parameters for more information.
  2. Perform one of the following steps to define sweep values for an instance parameter:
    • In the lower half of the Parameters tab in the Variables and Parameters assistant, double-click the value of the parameter and specify a sweep value.
      Alternatively, in the Setup assistant, double-click the value of the parameter and specify a sweep value.
    • In the lower half of the Parameters tab in the Variables and Parameters assistant, double-click the value of the parameter, then click the ellipses button to open the Parameterize form and define a parameter specification.
      Alternatively, in the Setup assistant, double-click the value of the parameter, then click the ellipses button to open the Parameterize form and define a parameter specification.
      See Adding or Modifying Specifications for Parameters and Design Variables for more information.

To specify a valid sweep value, ensure that:

Creating Matched Device Parameters

You can create matched parameters for device matching such that one device’s parameters track with another’s.

Perform the following steps after creating device instance parameters, to specify two or more devices to match:

  1. On the schematic, click to add the first device, then Shift+click to add one or more additional devices.
    As you click, each device and its parameters appear on the upper half of the Parameters tab of the Variables and Parameters assistant.
  2. On the upper half of the Parameters tab of the Variables and Parameters assistant, select (highlight) the device you want as the primary device, against which all other devices are matched.
  3. Click Match Parameters on the toolbar of the Variables and Parameters assistant.
    The instance name of the primary device for which matched parameters exist appears in the lower half of the Parameters tab, in the Variables and Parameters assistant.
  4. Optionally, to view the devices whose parameters are matched to the primary device, click the plus sign to the left of an instance name in the lower half of the Parameters tab.
    The value of a matched parameter appears in the Value column as shown below, to indicate the matching relationship:
    primaryInstName/deviceParam@
    For example, in the above figure, the value MP1/fw@ for instance MN1 indicates that the fw parameter of instance MP1 is matched to the fw parameter of instance MN1 (the primary device).
    You can also match parameters across different levels of design hierarchy.
    Right-click the lower half of the Parameters tab and choose Expand All to view the devices whose parameters are matched to all primary devices. Right-click and choose Collapse All to collapse the expanded view.

Creating Ratio-Matched Device Parameters

You can create ratio-matched parameters for device tracking such that one device’s parameters track with the ratio of another’s.

Perform the following steps to specify two or more devices to ratio-match:

  1. On the schematic, click to add the first device. Next, Shift+click to add each additional device.
    As you click, each device and its parameters appear in the panel on the upper half of the Parameters tab of the Variables and Parameters assistant.
    You can also create ratio-matched parameters for the devices in different hierarchy levels of the design.
  2. Select a device in the upper section on the Parameters tab of the Variables and Parameters assistant.
  3. Click Ratio Matched Parameters .
    The ratio-matched parameters are created. A row is created in the lower section of the assistant and name of the primary device (that appeared on top in the upper section of this assistant) and the parameter name is displayed in that.
    For example, if you select two devices, MP1, and MN1, and create a ratio-matched parameter for the parameter length, finger width and total width a new row displaying MN1 and fw is created, as shown below.
  4. Optionally, to view the devices whose parameters are ratio-matched to the primary device, click the plus (+) sign to the left of an instance name in the lower half of the Parameters tab.
    The value of a ratio-matched parameter appears in the Value column, as shown below, to indicate the matching relationship:
    ratio*primaryInstName/deviceParam@
    For example, in the above figure, the value 1.25*M1/l@ for instance M2 indicates that the l parameter of instance M2 is ratio-matched to the l parameter of instance M1 (the primary device).
    You can also right-click the lower half of the Parameters tab and choose Expand All to view the devices whose parameters are matched to all primary devices. Right-click and choose Collapse All to collapse the expanded view.

Deleting a Device Parameter

Perform the following step to delete a parameter:

Enabling and Disabling Parameters

You can enable or disable parameters before starting your simulation. This allows you to specify the set of parameters you want to be used for a particular simulation.

Perform the following step to enable/disable a parameter:

Perform the following step to enable/disable all parameters:

Perform the following step to toggle the enabling or disabling of one or more parameters:

Adding Notes to Parameters

If you need to save some additional reference information about a device parameters, you can add notes for it. For this, perform the following steps:

  1. In the Setup assistant, expand the Parameters section, right-click the parameter for which you want to add notes, and choose Notes.
    The Add/Edit Notes form is displayed.
  2. In the Notes field, add notes for the device parameter.
    By default, the notes field can accept only 512 characters. To change the default maximum characters limit, you can set the maxNotesLength environment variable.
  3. Click OK.
    The note is added to the parameter. This is displayed in the tooltip for the parameter and is saved with the setup state.

Viewing Parameters by Property and Object Names

By default, in the upper half of the Parameters tab in the Variables and Parameters assistant, the parameters are displayed by property names, as shown below.

Perform the following step to view the parameters by object names:

You can set the preferred view as the default view by using the defaultParametersViewBy environment variable.

Filtering Device Instance Parameters

Perform the followings step to filter the device instance parameters that appear on the upper half of the Parameters tab on the Variables and Parameters assistant:

Creating Custom Device Filters

Perform the following steps to create a custom device instance parameter filter:

  1. Write a procedure to define your custom filter.
    For example, you want to filter out the Total Width, Threshold and S/D Metal Width parameters for all instances of the pmos2v cell, write a procedure as shown below:
    (procedure (myCustomFilter inst simulator)
    (let (paramList libName cellName instName)
    (setq instName inst->name)
    (setq cellName inst->cellName)
    (setq libName inst->libName)
    (setq paramList list())
    ;;Example filter for hiding Total Width, Threshold and S/D Metal Width
    ;;parameters for instances of cells whose names start with pmos2v 
    (rexCompile "^pmos2v")
    (if (rexExecute cellName) then
         (setq paramList
              (list
                   (list "fw" (get inst "fw"))
                   (list "l" (get inst "l"))
                   (list "fingers" (get inst "fingers"))
                   (list "m" (get inst "m"))
              )))
    paramList
        )
    )

    You must specify the CDF parameter names and not the CDF prompt names in the procedure. For example, you must specify the CDF parameter name fw and not the CDF prompt name Finger Width in the procedure.
    You can also write procedures to filter parameters of instances starting with specific names (for example, all instances starting with the name PM), or to filter parameters of instances of cells in a library (for example, filter parameters of all instances of the pmos2v cell in the gpdk090 library).
  2. Call axlRegisterCustomDeviceFilter as shown below:
    axlRegisterCustomDeviceFilter "My Filter" 'myCustomFilter
    The function returns t if the registration is successful; otherwise, nil.
    My Filter appears in the Filter drop-down list.

To load your custom filters each time the program starts, you can declare and register them in your .cdsinit file.

When you select My Filter in the Filter drop-down list, the device parameters Total Width, Threshold and S/D Metal Width do not appear on the upper half of the Parameters tab on the Variables and Parameters assistant for the selected device instance(s).

Changing the Order of Device Parameters

When there are multiple parameters in the Parameters list of the Setup assistant, you can change the order in which they are listed. A change in the order of device parameters in this assistant changes the nesting of sweep points as well.

Perform the following steps in the Setup assistant to change the order of a parameter:

  1. Expand the Parameters section to view all the parameters.
  2. Click a parameter name and drag it.
    A blue indicator line appears at the location where you have moved it. The tooltip also shows the name of the parameter being moved.
    Also, because all the parameters for a device are placed together, you cannot move only a single parameter for a device to another location in the list. Therefore, while you are moving a device parameter, all the other parameters for the device are also highlighted and moved, as shown below.
    While you are dragging the parameters, you cannot place the device parameters in between the list of parameters for another device. If you drop the parameters in the midst of the list of parameters for another device, they are placed above the list if you are moving the parameters up, or below the list if you are moving the parameters down.
  3. Drag the indicator line to the desired location and drop the parameter.

You can also select the parameters for more than one device and move them together.

Disabling Callbacks on Swept Device Parameters

By default, the program executes callbacks on device parameters that you sweep.

Perform the following step to disable callbacks on swept device parameters:

For more information about callbacks in parameter expressions, see “Triggering callbacks” in the Advice and Warnings appendix of the Component Description Format User Guide.

Adding or Modifying Specifications for Parameters and Design Variables

Perform the following steps to add or change the specification for a parameter or a design variable you want to sweep (vary):

  1. Perform the following steps to open the Parameterize form and define a specification for parameters or design variables.
    • To add or change specifications for a parameter, right-click the parameter in the Parameters section of the Setup assistant or in the Parameters tab of the Variables and Parameters assistant and choose Edit Parameter.
      Alternatively, double-click the Value field next to the parameter in the Setup assistant or in the Parameters tab of the Variables and Parameters assistant, then click the ellipses button.
    • To add or change specifications for a design variable, double-click the Value field next to the variable in the Setup assistant or in Variables tab of the Variables and Parameters assistant, then click the ellipses button.

    The Parameterize form appears.
  2. Click Add Specification and choose one of the following from the drop-down menu:
    • Inclusion List of values

    You can specify a set of values through which you want to sweep your parameter.

    • Exclusion List of values

    You can specify a set of values to exclude from your parametric sweep.

    • From/To range of values

    You can specify a range of values through which you want to sweep your parameter and a method for stepping through that range.

    • Center/Span values

    You can specify a center value and a span value for varying your parameter.

    • Center/Span% values

    You can specify a center value and a percentage span value for varying your parameter.

Specifying an Inclusion List of Values

Perform the following steps to specify an inclusion list of values:

  1. From the Add Specification drop-down menu, choose Inclusion List.
    A row appears on the Parameterize form for defining the specification type you selected. The Inclusion radio button is selected.
  2. In the Values field, type a list of values you want to include in your sweep. You can separate the values in the list with either a comma or a space.
  3. Optionally, click Add Specification to add another parameter specification.
  4. Click OK.
    The list of values appears in the Value column, beginning and ending with the {Inclusion List} text string.
You can change an inclusion list of values to an exclusion list to exclude the list of values from the sweep, by selecting the Exclusion radio button in the row where your inclusion list is specified. See Specifying an Exclusion List of Values.

Specifying an Exclusion List of Values

One application of the exclusion list is to define a From/To parameter specification (see Specifying a Range of Values) and exclude some values from the range by defining an exclusion list.

Perform the following steps to specify an exclusion list of values:

  1. From the Add Specification drop-down menu, choose Exclusion List.
    A row appears on the Parameterize form for defining the specification type you selected. The Exclusion radio button is selected.
  2. In the Values field, type a list of values you want to exclude from your sweep. You can separate the values in the list with either a comma or a space.
  3. Optionally, click Add Specification to add another parameter specification.
  4. Click OK.
    The list of values appears in the Value column beginning and ending with the {Exclusion List} text string.
You can change an exclusion list of values to an inclusion list (to include the list of values in the sweep) by selecting the Inclusion radio button in the row where your exclusion list is specified. See Specifying an Inclusion List of Values.

Specifying a Range of Values

Perform the following steps to specify a range of values and sweep through those values:

  1. From the Add Specification drop-down menu, choose From/To.
    A section appears on the Parameterize form for defining the specification type you selected.
  2. In the From field, type the starting value for your range.
  3. In the To field, type the ending value for your range.
  4. From the Step Type drop-down menu, select how you want the simulator to step from one value to the next:

    Linear

    Linear steps from the From value to the To value

    Decade

    Decade steps from the From value to the To value

    Octave

    Octave steps from the From value to the To value

    Logarithmic

    Logarithmic steps from the From value to the To value

    Times

    Steps taken according to a specified multiplier from the From value to the To value

    LinearStepCount

    Linear steps from the From value to the To value

  5. Depending on the Step Type you selected, type the remaining value for your parameter specification in the field that appears:
    Step Type Field that appears Value

    Auto

    Total Steps

    Total number of steps to take

    Linear

    Step Size

    Size of steps to take when sweeping

    Decade

    Steps/Decade

    How many steps to take per decade

    Octave

    Steps/Octave

    How many steps to take per octave

    Logarithmic

    Total Steps

    Total number of steps to take

    Times

    Multiplier

    Multiplier for taking steps

    Typing 10 for Multiplier is tantamount to selecting Decade and specifying 1 step per decade.

    LinearStepCount

    Step Count

    Number of steps to take

  6. Optionally, click Add Specification to add another parameter specification.
  7. Click OK.
You can change the specification type from From/To to Center/Span or Center/Span% by selecting a different item from the drop-down menu in the added section. See Specifying Center and Span and Specifying Center and Span as a Percentage for more information.

Specifying Center and Span

Perform the following steps to specify a center value and a span value:

  1. From the Add Specification drop-down menu, choose Center/Span.
    A section appears on the Parameterize form for defining the specification type you selected.
  2. In the Center field, type the center value.
  3. In the Span field, type a span value.
    The simulator can vary your parameter between Center-Span and Center+Span according to the Step Type you select (next).
  4. From the Step Type drop-down menu, select how you want the simulator to vary the parameter value:

    Linear

    Linear steps from Center-Span/2 to Center+Span/2

    Decade

    Decade steps from Center-Span/2 to Center+Span/2

    Octave

    Octave steps from Center-Span/2 to Center+Span/2

    Logarithmic

    Logarithmic steps from Center-Span/2 to Center+Span/2

    Times

    Steps taken according to a specified multiplier from Center-Span/2 to Center+Span/2

    LinearStepCount

    Linear steps from Center-Span/2 to Center+Span/2

  5. Depending on the Step Type you selected, type the remaining value for your parameter specification in the field that appears:
    Step Type Field that appears Value

    Auto

    Total Steps

    Total number of steps to take

    Linear

    Step Size

    Size of steps to take when varying

    Decade

    Steps/Decade

    How many steps to take per decade

    Octave

    Steps/Octave

    How many steps to take per octave

    Logarithmic

    Total Steps

    Total number of steps to take

    Times

    Multiplier

    Multiplier for taking steps

    Typing 10 for Multiplier is tantamount to selecting Decade and specifying 1 step per decade.

    LinearStepCount

    Step Count

    Number of steps to take

  6. Optionally, click Add Specification to add another parameter specification.
  7. Click OK.
You can change the specification type from Center/Span to Center/Span% or From/To by selecting a different item from the drop-down menu in the added section. See Specifying Center and Span as a Percentage and Specifying a Range of Values for more information.

Specifying Center and Span as a Percentage

Perform the following steps to specify a center value and a span percentage:

  1. From the Add Specification drop-down menu, choose Center/Span%.
    A section appears on the Parameterize form for defining the specification type you selected.
  2. In the Center field, type the center value.
  3. In the Span field, type a span value.
    The simulator can vary your parameter between and according to the Step Type you select (next).
  4. From the Step Type drop-down menu, select how you want the simulator to vary the parameter value:

    Linear

    Linear steps from

    to

    Decade

    Decade steps from

    to

    Octave

    Octave steps from

    to

    Logarithmic

    Logarithmic steps from

    to

    Times

    Steps taken according to a specified multiplier from to

    LinearStepCount

    Linear steps from

    to

  5. Depending on the Step Type you selected, type the remaining value for your parameter specification in the field that appears:
    Step Type Field that appears Value

    Auto

    Total Steps

    Total number of steps to take

    Linear

    Step Size

    Size of steps to take when varying

    Decade

    Steps/Decade

    How many steps to take per decade

    Octave

    Steps/Octave

    How many steps to take per octave

    Logarithmic

    Total Steps

    Total number of steps to take

    Times

    Multiplier

    Multiplier for taking steps

    Typing 10 for Multiplier is tantamount to selecting Decade and specifying 1 step per decade.

    LinearStepCount

    Step Count

    Number of steps to take

  6. Optionally, click Add Specification to add another parameter specification.
  7. Click OK.
You can change the specification type from Center/Span% to Center/Span or From/To by selecting a different item from the drop-down menu in the added section. See “Specifying Center and Span” and “Specifying a Range of Values” for more information.

Deleting a Parameter Specification

To delete a parameter specification, do the following:

To delete the last parameter specification listed in the form, do the following:

  1. On the Parameterize form, click Delete Spec.
    The last specification listed in the form is deleted.
  2. Click OK.
    You can delete all but one specification in the form. If you want to delete the only remaining specification in the form, delete the values specified for the specification and click OK.

Creating Parameter Ranges

To specify the range for an already existing parameter,

ADE Explorer creates the parameter ranges for all the parameters and updates the Setup and the Variables and Parameters assistants.

When the Variables and Parameters assistant is open in the schematic view and you select an instance to create a parameter, you can right-click the instance in the top area of the assistant and use the Create Parameter Range command to create a parameter as well as to apply a range of values for it.

Working with Parametric Sets

By default, ADE Explorer creates all the possible sweep combinations by pairing each value of a variable or parameter with all given values of the other variables or parameters. In parametric sets, a selected set of sweep combinations are created by picking values from the same ordinal position for all the variables or parameters in that parametric set. This reduces the number of design points, thereby, reducing the number of simulations.

You can create parametric sets when you need to run simulations for a specific set of sweep values for different parameters. This helps in saving the simulation run time.

You can also view the Parametric Sets in Design Variable video is available on Cadence Online Support.

Consider an example where two variables, cload and rload, are grouped together to create a parametric set, as shown in the figure below:

To view the sweep value sets that are run for this setup, open the Run Preview tab. The following three sweep value sets are created and displayed in the Points table.

The sweep value sets are created by picking values from the same ordinal position for all the variables or parameters in a parametric set. You can see that while running simulations, ADE Explorer created three design points, as shown in the figure above.

As compared to this, if the parametric sets are not created, ADE Explorer creates nine design points, where each value of rload is paired with all the three values of cload.

Creating Parametric Sets

To create a parametric set, do the following in the Setup assistant or the Variables and Parameters assistant:

  1. Press the Ctrl key and select two or more variables that you want to group together.
  2. Right-click and choose Group as Parametric Set.
  3. If required, specify the sweep values for the variables. For different variables, you can specify sweep values in different formats. For example, you can specify values for variables, as shown below.

If you want to specify a sweep, the minimum number of values required for variable is 2. If the number of sweep points for variables in the parametric set are not the same, the number of design points will be run based on the minimum points specified in the variable value. In addition, when only one value is specified for a variable in the parametric set, then that variable is considered as a scalar. For example, consider you have the following variables specified in the parametric set:

A=10 20 30

B=10 20

C=10

In this case, the following two simulation points will be run:

A=10 B=10 C=10

A=20 B=20 C=10

The variable C is added in both the simulation points.

Consider another example in which you have two variables, rload and cload, in the parametric set with 6 and 4 values, respectively. In this case, the minimum number of points of both the variables will be run, which is 4.

Important Points to Note

Note the following changes in the Setup assistant and the Variables and Parameters assistant:

A parametric set is formed and two more variables M4/w and M9/w are also added to that set. This is because m4/w and M9/w are matched with M3/w and M10/w, respectively.

Adding a Variable to a Parametric Set

To add a variable to an existing parametric set:

  1. Right-click a variable and choose Add to Parametric Set.
  2. From the list of existing parametric sets shown in the sub-menu, select the name of the parametric set to which you want to add the parameter.

The variable is added to the specified parametric set. In addition, all the variables and parameters are rearranged to display all variables or parameters of a group together.

To add a parametric set for local variables in an existing maestro view, refer to the SKILL function, ocnxlLocalParametricSet.

Removing a Variable from a Parametric Set

To remove a variable from a parametric set:

The variable is removed from the parametric set and moved to its original location in the list.

Ungrouping Parametric Sets

To ungroup the parametric set:

The group is dissolved and the variables are moved back to their original location in the Variables or Parameters list.

Enabling or Disabling Parametric Sets

You can disable or enable all parametric sets present for design variables in the Setup assistant.

To disable all parametric sets:

After the parametric sets are disabled, the variables are moved back to their original location in the list. If the parametric sets are disabled, you can enable all the sets together. To do this, right-click Design Variables and choose Enable All Parametric Sets. All the parametric sets become visible again.


Return to top
 ⠀
X