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

24


Circuit Optimization

You can parameterize a design for sizing and optimization using variables. In addition, you can also use a parameterization flow in ADE Assembler. To use this flow, you can parameterize a design and set specifications, then perform a local or global optimization and backannotate the results of the optimization.

This chapter covers the following tasks:

Parameterizing the Design

When you parameterize the design for optimization, you capture the critical device relationships in the circuit. For example, the input transistors of an opamp must be matched, and the transistors of a current mirror must be ratioed. In order to run optimization, you must define a range of legal values for optimization for each transistor that is the “master” in a matching relationship.

To begin parameterizing the design.

Matching Devices and Device Properties

You have three options for matching. You can match all device properties for a device, or you can match only specific properties. You can also ratio-match. When you’re finished specifying device relationships, you can define legal values for device properties.

Matching Devices

To match devices:

  1. Select the devices you want to match in the schematic.
    The devices are listed on the upper half of the Parameters tab of the Variables and Parameters assistant pane.
  2. In the Parameters tab, select the device you want as the “master device.” The master device is the device that all the other selected devices will match.
  3. Click the Match Parameters button.
    The matched parameters appear in the lower half of the Parameters tab of the Variables and Parameters assistant pane.

You can now modify the values of matched parameters to vary them during the optimization process.

Matching Device Properties

To match specific device properties:

  1. In the schematic, click the devices for which you want to match properties.
    As you click, each device and its parameters appear on the upper half of the Parameters tab of the Variables and Parameters assistant pane.
  2. Ensure that Default is selected in the drop-down list on the upper half of the Parameters tab of the Variables and Parameters assistant pane.
  3. Click the + sign next to a device with whose properties you want to match the properties of other devices.
    The list of properties for the device appears, as well as the schematic value of each property.
  4. Select the property you want to match.
  5. Click the Match Parameters button.
    The matched parameters appear in the lower half of the Parameters tab.

You can now modify the values of matched parameters to vary them during the optimization process.

Ratio-Matching Device Properties

To ratio-match specific device properties:

  1. In the schematic, click the devices for which you want to ratio-match properties.
    As you click, each device and its parameters appear on the upper half of the Parameters tab of the Variables and Parameters assistant pane.
  2. Ensure that Default is selected in the drop-down list on the upper half of the Parameters tab of the Variables and Parameters assistant pane.
  3. Click the + sign next to a device with whose parameters you want to ratio-match the parameters of other devices.
  4. Select the parameters you want to ratio-match.
  5. Click the Ratio Matched Parameters button.
    ADE Assembler automatically ratios the parameters based on the lowest value.
    The ratio-matched parameters appear in the lower half of the Parameters tab.

You can now modify the values of ratio-matched parameters to vary them during the optimization process.

Defining Values for Optimization

To define a legal range of values for devices:

  1. In the schematic, click the devices for which you want to specify values.
    As you click, each device and its parameters appear on the upper half of the Parameters tab of the Variables and Parameters assistant pane.
  2. Ensure that Default is selected in the drop-down list on the upper half of the Parameters tab of the Variables and Parameters assistant pane.
  3. Click the + sign next to a device whose parameters you want to modify for optimization.
    The list of parameters for the device appears, as well as the schematic value of each property.
  4. Click the value for the parameters you want to modify and type a range or list of values. Specify ranges in the format MIN:STEP:MAX. You can separate a list of values with either commas or spaces.
    The modified parameters appear in the lower half of the Parameters tab.

Setting Up Specifications

When you set specifications on outputs, you establish the performance specifications that ADE Assembler must meet during synthesis. These specifications are used as benchmarks for candidate circuit quality during optimization.

You can set up general specifications, area constraint specifications and operating region specifications. For more information, see the following topics:

General Specifications

For each specification, you specify an objective, or performance constraint, then specify a target value for that specification.

Objective Types

There are five types of objectives:

An open-ended specification is when you choose either minimize (min) or maximize (max), then specify an ideal value. For an open-ended specification, ADE Assembler tries to continually improve upon the ideal value. So, if the ideal value for the ugf specification is maximize to 1e+8, 3e+8 is better than 2e+8.

A close-ended specification is when you specify a target value, then specify that the resulting specification must be greater than (>) or less than (<) that target value. For a close-ended specification, ADE Assembler attempts to meet the target value, and exceeding the target is no better than meeting the target. So, if the target value for ugf is >1e+8, 3e+8 is no better than 2e+8.

You can also specify a range specification, in which you specify both an upper and a lower boundary for the target value. For a tolerance (tol) specification, you specify a target value and an allowable percentage deviation.

The optimizer treats the range and tolerance specs as closed-ended unless all the specifications are met. When all the specifications are met, range and tolerance are treated as open-ended. When all the specifications are met and the all specs met stopping criteria has not been specified, the optimizer continues to prefer the values closer to the midpoint of the range or tolerance target value.

You can specify an info specification when you want to see the value of a measurement, but do not want that specification to affect sizing.

Design specifications might include specifying an open loop gain maximized with an acceptable value of 60dB, or a settling time < 15ns.

You can also specify area goals. For more information, see Device Area Constraint Specifications.

Specification Weights

ADE Assembler supports weighing on specifications, that is, the ability to put particular emphasis on one or more specifications. You may use weighing if you have certain important specifications, and it is imperative that ADE Assembler meet those specifications, even at the expense of other specifications. Or, if you have run ADE Assembler without any specification weights, and you have one particular specification that is not being met, you can put emphasis on that specification in order to ensure that ADE Assembler meets it.

To set specification weighing, you specify a positive integer as the “weight.” ADE Assembler multiplies the cost function for that specification by the integer specified for the weight. Because this specification is now “x” times more important than other specifications, it changes the way ADE Assembler searches the design space. ADE Assembler will put particular stress on meeting that specification, even at the expense of specifications weighted at “1.” This discrepancy is especially true of specifications that are minimized or maximized, because ADE Assembler is already working harder to optimize the value for that specification.

In general, ADE Assembler is able to find a working solution without specification weighing. As a result, Cadence advises that you run ADE Assembler first with all specifications weights set to “1.” If ADE Assembler is repeatedly unable to meet a particular specification, you can put more emphasis on meeting that specification using specification weighing.

Setting Up Specifications

To set up specifications:

  1. In the Outputs Setup tab, double-click the Spec column in the row for the output for which you want to set up specifications.
    A drop-down list of objectives appears.
  2. Choose an objective from the drop-down list.
    For more information on the types of objectives, see Objective Types.
  3. Select the field next to the drop-down list.
  4. Enter a target value in the field.
  5. (Optional) Specify a weight for the specification in the Weight column.
    For more information on weights, see Specification Weights.
  6. Repeat step 1 through step 5 for all outputs for which you want to set specifications.

Maximizing Operating Region Specification

To maximize an operating point specification:

In this case, the special operating region type of specification is not used because the individual expressions are considered to pass the specification when the constraint is met. For example, if you define an expression, vgs-vth maximize 20m, it is considered pass for all the values above 20m.

The special operating region specification performs the following tasks:

If you want to maximize the operating region for a small number of devices, you can create expressions as normal output specifications. For a large number of devices, you can create close-ended expressions as part of the special operating region specification.

Device Area Constraint Specifications

You can specify area constraint specifications for use in optimization runs. For each device, you can either manually specify an area formula, or use a CDF parameter to set default area formulas for devices. For more information about using a CDF parameter to set default area formulas, see Setting Default Area Formulas.

You can add multiple area constraint specifications for a test if you want to set different specifications for some devices.

For more information, see the following topics:

Setting Default Area Formulas

You can specify default area formulas for devices using the AreaFormula CDF parameter.

If you want to use a different CDF parameter name for specifying default area formulas, specify the parameter name using the defAreaProp environment variable in one of the following ways:

For more information about CDF parameters, see the Component Description Format User Guide.

Setting Up Area Constraint Specifications

To set up area constraint specifications, do the following:

  1. On Outputs Setup tab, click the Add new output button.
  2. In the drop-down list, select a test and choose Area Specification.
    You can also right-click a test name in the Outputs Setup tab and choose Add Area Specification to set up area constraint specifications for that test.
    The Area Constraint Specification form appears.
  3. Specify a device name for which you want to add an area formula:
    • Select a device in the schematic. To do this, click the Select button to display the schematic window. Select the device in the schematic window and press the Esc key. The device name is displayed in the Devices field.
    • Enter the device name in the Devices field.
  4. Click Add to add the device to the list.
  5. Select the Formula field for the device and enter an area formula.
    You must enter an arithmetic combination of valid CDF parameters that are specified for the device.
    You can use the Copy Formula button to copy area formulas from one device to another.
  6. Repeat step 3 through step 5 for any other devices you want to include in the area constraint specification.
  7. Click the Add Devices with Default Formulas check box to add all instances in the design for which default formulas are specified using the AreaFormula CDF parameter. For more information, see Setting Default Area Formulas.
    You can modify any default formula by selecting the Formula field and typing a new area formula.
  8. To include a device in the area constraint specification, select the Enable check box for the device. De-select the Enable check box for the devices you do not want to include in the area constraint specification.
    All devices with default area formulas are included by default, while any devices for which you manually entered area formulas are not.
  9. Click OK.
    The area constraint specification is displayed in the Outputs Setup tab.
    The area constraint specification is assigned the name area_seqNum, where seqNum is 0 (zero) for the first area constraint specification you add. You can double-click the Name field and modify the name.
  10. Set up specifications for the area constraint specification. For more information, see Setting Up Specifications.

Modifying an Area Constraint Specification

To modify an existing area constraint specification:

  1. In the Outputs Setup tab, double-click the Details field for the area constraint specification.
    The Area Constraint Specification form appears.
  2. Modify the area constraint specification as required.

Copying a Device Formula

To copy the area formula from one device to another:

  1. Select the device from which you are copying the formula.
  2. Control-click the device to which you want to copy the formula.
  3. Click Copy Formula.

Including Devices in the Area Constraint Specification

To include more than one device at once:

  1. Select the devices you want to include.
  2. Right-click and choose Enable.
    You can enable all devices by right-clicking and choosing Enable All.

Excluding Devices from the Area Constraint Specification

To exclude more than one device at once:

  1. Select the devices you want to exclude.
  2. Right-click and choose Disable.
    You can disable all devices by right-clicking and choosing Disable All.

Deleting Devices with Area Formulas

To delete devices and their area formulas:

  1. Select one or more devices.
  2. Right-click and choose Delete.

Specifying How Much Optimization Data to Save

To specify the number of design points for which you want to save simulation data, do the following:

  1. In the ADE Assembler session window, choose Options – Save.
    The Save Options form appears.
  2. In the Design Points per Optimization Run group box, select one of the following radio buttons:
    Radio Button Description

    Save all design points

    Saves data from all design points

    Save best

    Saves data from the specified number of best design points

  3. (Optional) In the Results DB group box, either type the directory path where you want the program to write your setup and results database information in the Results DB location field, or do the following:
    1. Click Browse.
    2. On the form that appears, navigate to and select the directory where you want the program to write your setup and results database information.

    The program writes setup and results database information to libraryName/cellName/adexl in the specified directory.
    If you do not specify a setup and results database location, the program writes this information to libraryName/cellName/adexl for the current test. If your design library is set up as read-only, you can use this field to specify a writable location.
  4. Click OK.
    The program applies the settings you specified.

See also

Data Points—Definition

A data point represents one simulation run with one set of parameter values and corners setup. For example, if you sweep CAP (a global variable) from 600p to 800p with a step value of 3, you will have three data points. If you sweep more than one variable, each unique combination of values constitutes one data point. If you have two corners for temperature at 0 and 30 in addition to the CAP sweep through three values, you will have six data points:

Data Point

CAP

Corner Temperature

1

600p

0

2

700p

0

3

800p

0

4

600p

30

5

700p

30

6

800p

30

Design Points—Definition

A design point consists of the set of data points that represents one sweep value across all corners. For example, if you have two corners for temperature at 0 and 30, and a sweep of CAP (a global variable) through three values (600p, 700p, 800p), each sweep across both corners constitutes a design point.

Design Point

CAP

Corner Temperatures

1

600p

0

600p

30

2

700p

0

700p

30

3

800p

0

800p

30

How Top Ten Best Design Points are Calculated Using Running Over Corners?

The optimizer treats range and tolerance specs as closed-ended unless all specs are met. If all specs are met, range and tolerance are treated as open-ended and optimization attempts to find values that are closer to the target yield.

The design point that has the yield value closer to the target yield is considered as the best point and placed at the top of the table. For example, consider the following case where target yield is 1.443, point A has yield value=1.267, and point B has yield value=1.265. In this case, point A is the best point because it is closer to the target than point B.

Points are also ordered in terms of the total error generated for all specs for each point. The point that has lesser error value is considered as the best point.

Total error in point A = 1.332
Total error in point B = 1.452

Clearly, point A is better than point B. You can calculate the total error of all the specs in a point by summing the absolute value of the result minus the target.

Points for which tolerance spec is passed are treated as equally good points unless all the specs are passed. You can compute the total error considering only those values for which the tolerance specs fail. You can also check how many specs are failed for each point. If some points have more failures as compared to the others, then those points are placed towards the end of the best points list.

For example, below list shows the total number of failures and total error for 10 design points that are arranged in best to worst order:

  1. Number of failures = 4, Total sum of failing difference from target = 6.09u
  2. Number of failures = 4, Total sum of failing difference from target = 9.06u
  3. Number of failures = 5, Total sum of failing difference from target = 5.65u
  4. Number of failures = 5, Total sum of failing difference from target = 5.773u
  5. Number of failures = 5, Total sum of failing difference from target = 5.787u
  6. Number of failures = 5, Total sum of failing difference from target = 5.799u
  7. Number of failures = 5, Total sum of failing difference from target = 5.844u
  8. Number of failures = 5, Total sum of failing difference from target = 5.849u
  9. Number of failures = 5, Total sum of failing difference from target = 5.882u
  10. Number of failures = 5, Total sum of failing difference from target = 5.936u

Notice that the first two points have a larger total, but they have 4 failures as compared to other points that have 5 failures. It has been concluded from this example that number of passes overrides the total number of errors while calculating the best design points.

Error Conditions

ADE Assembler shows error messages in the following situations:

The errors displayed are:

ERROR: Encountered the following problem with the results database engine:
SQL statement: 
Error code: 1
Description: unable to open database file.
The results database uses SQL statements internally.
Contact Cadence Customer Support to report the problem.
ERROR: Received a database engine error: unable to open database file All runs have been stopped because ADE Assembler can no longer guarantee the correctness of results written to the results database. The results tab corresponding to this run has been closed. Common reasons for this error:
1. Physical disk full or quota limit reached.
2. The results database file has been deleted or is no longer writable.
3. File system internal I/O error.
ERROR: ADE Assembler session has recovered from a serious error: 'unable to open database file' and may become unstable. Save your work and restart the session.

Running Optimization

You have three options for optimization:

Local optimization runs the schematic design, then deterministically improves that design. Local optimization is useful if:

Local optimization searches the design space only around the specified point, so ADE Assembler may not locate the best point possible to meet the design specifications. In addition, local optimization does not guarantee small perturbations to your variable values.

Unlike local optimization, global optimization efficiently searches over all of the variables defined to find a good solution for your design.

If you have a large number of corners, you may want to run Size Over Corners instead of running global or local optimization. For more information, see Sizing Over Corners.
To perform an optimization, ensure that the design meets the following requirements:

Understanding Conditional Evaluation

As ADE Assembler is running the simulations for each design point, it may encounter a point where the first simulation run is not as good as the current best design point. In this case, ADE Assembler will not run any remaining simulations in order to more quickly and effectively reach a solution. This type of evaluation is called conditional evaluation, and may result in only partially-evaluated points.

When sizing a design with conditional evaluation set, ADE Assembler follows the following procedure:

The “No” case results in a partially-evaluated point.

Algorithms of Local Optimization

You can perform local optimization by using any of the four algorithms: Brent-Powell, Hooke-Jeeves, BFGS, and Conjugate Gradient. You can consider the following points while making a choice of an algorithm to be used to run local optimization:

Running a Local Optimization

To run local optimization:

  1. From the Select a Run Mode drop-down list on the Run toolbar, choose Local Optimization.
  2. Click Simulation Options to specify optimization options.
    The Local Optimization Options form appears.
  3. From the Algorithm drop-down list, select the algorithm for local optimization.
    The following algorithms are supported:
    • Conjugate Gradient
    • Brent-Powell
    • Hooke-Jeeves
    • BFGS
  4. Select an evaluation type by selecting one of the following radio buttons:
    • Full
    • Conditional

    For more information on conditional evaluation, see Understanding Conditional Evaluation.
  5. In the Starting State drop-down list, select a setup state that defines a set of fixed values for each global variable or device parameter that uses a range of values in the active setup. This drop-down list can contain the following values:
    • Automatic: It refers to the default way in which the values for parameters and global variables are set for a starting point. The parameters with range values are replaced with their values in the schematic. Parameters with scalar values or a reference to another parameter remain unchanged. Global variables with range values are replaced with the mid-point of the given range.
      If the value of a parameter in the schematic is out of the optimization value range, the actual value used for the starting point is changed to a value from the optimization range. For example, if a parameter is set to a range of 100u:10u:200u, but the value of this parameter in the schematic is 20u, the starting point would be set to 20u. However, for the actual optimization run, the value of this parameter would be set to 100u.
      When you select this value, ADE Assembler internally creates a state named automaticStartingPoint, which replaces each parameter and global variable range as described above. automaticStartingPoint is visible in the Load State form, Setup States tree in the Data View assistant, and the Setup State field in the Variables and Parameters assistant. ADE Assembler does not allow you to save any changes in automaticStartingPoint because they would be overridden whenever you choose Automatic as a starting state. To reuse and customize automaticStartingPoint, you can load the state, modify the parameters or global variables and save those in another state, which you can choose in the Starting State drop-down list for the next optimization run.
    • Names of the setup states you created, if any, to save the values of variables and parameters. For details, refer to Saving Parameters and Global Variables to a Saved State.
      A saved stated to be used as a starting point should not have sweep values in variables and parameters.
    • A setup state named ref_point_migrated, which was created if your cellview earlier used a reference point. If it exists, it is automatically selected.
  6. If desired, select the criteria for the duration of time for which the local optimization should run. You can select one or more of the following:
    • To run only until all goals are met, select the All Specs Met check box.
    • To set a time limit for the run, select the Time Limit check box and enter a value in minutes.
    • To set a limit in the number of points run, select the Point Limit check box and enter the number of points.
  7. Click OK.
  8. Click the Run Simulation button on the Run toolbar to optimize the circuit.

Running a Global Optimization

To run a global optimization:

  1. From the Select a Run Mode drop-down list on the Run toolbar, choose Global Optimization.
  2. Click Simulation Options to specify optimization options.
    The Global Optimization form appears.
  3. Select an evaluation type by selecting one of the following radio buttons:
    • Full
    • Conditional

    For more information on conditional evaluation, see Viewing the Variable Data from Optimization Results.
  4. If you want to specify a starting point for the simulation run, select the Use Starting Point check box in the Other Options panel.
  5. In the Starting State drop-down list, select a setup state that defines a set of fixed values for each global variable or device parameter that uses a range of values in the active setup. For more details, refer to Starting State.
  6. If desired, select criteria for the length of time local optimization should run.
    You can select one or more of the following:
    • To run only until all goals are met, select the All Specs Met check box.
    • To set a time limit for the run, select the Time Limit check box and enter a value in minutes.
    • To set a limit in the number of points run, select the Point Limit check box and enter the number of points.
    • To stop sizing when no improvement is seen for a certain number of points, select the No Improvement with Points check box and enter the number of points.
    • To continue exploring the design space for a better solution even all specifications are met, select the Points After All Specs Met check box and enter the number of points to explore.
      You cannot select both the All Specs Met and Points After All Specs Met check boxes, as these two options are mutually exclusive.
  7. Click OK.
  8. Click the Run Simulation button on the Run toolbar to optimize the circuit.

Viewing the Variable Data from Optimization Results

The Optimization results view displays all the possible design points for which simulation can be run. The starting point is highlighted in blue and the simulation continues for the remaining points until the stopping criteria is met. After the stopping criteria is met, the simulation for the remaining points is canceled.

In the following example, the design point with AVDD=2 is the starting point. Next, ADE Assembler runs simulation for the point with AVDD=1.4 where the stopping criteria is met, and therefore, the simulation for the point with AVDD=2.2 is canceled.

The optimization results view hides certain outputs, for example, expressions resulting in waveforms, which are not related to the spec. In this case, it shows the number of output rows displayed out of the total number of output rows, 29/45 in this example, above the table.

The Variable Display assistant also displays, for a selected design point, the minimum and maximum values for each variable. During optimization, this assistant shows the values for the current best point found, while after optimization, the assistant displays the values for the best point found during the optimization process.

In addition, ADE Assembler also displays the current variable values for the selected point, and, through a status bar, shows how far from the minimum and maximum values the current value is. A min or max value in red indicates that the current value is pushing the minimum or maximum and may need adjustment for synthesis to be completely successful.

To display the Variable Display Assistant:

Sizing Over Corners

While you can always size with all corners enabled using local or global optimization, it may not be efficient to do so with a large number of corners.

The Sizing Over Corners feature is an intelligent algorithm designed to optimize the test benches over a large number of corners. It does this by running a single point over all user-defined corners, determining the worst-case corners, using the worst-case corners for optimization and improving those corners on each iteration.

You can either provide a starting point, or ADE Assembler performs an initial global optimization on a specific corner and uses its best point as the starting point for the run. ADE Assembler simulates all corners to determine the worst case performance corners for each goal. ADE Assembler then resizes, taking into account the identified worst case performance corners. This process repeats until the stopping criteria for your size over corner run are met—either until all goals are met, or until it has run through the specified number of iterations or time limit.

If the run stops due to the number of iterations or time limit being met, a final corner simulation is run if the last history children item for the run is related to sizing/optimization.

Figure 24-1 illustrates the sizing over corners flow.

Figure 24-1 Flow for Sizing Over Corners

To size over corners, do the following:

  1. From the Run menu, select Size Over Corners.
    Alternatively, select Size Over Corners in the Select a Run Mode drop-down list on the Run toolbar, then click the Simulation Options button on the Run toolbar.
    The Size Over Corners form appears.
  2. From the Algorithm drop-down list on the Basic tab, select the algorithm for sizing over corners.
    The default algorithm is Global Optimization.
  3. In the Starting Point panel, select one of the following options to specify a starting point for the simulation run:
    • Use Starting State—Select this option if you have created a setup state and want to use that as the starting point for the run. To use the setup state as the starting point for the optimization, select a setup state that defines a set of fixed values for every global variable or parameter that defines a range of values in the active setup.
      For information about the possible values of this list, refer to Starting State.
    • No (Runs Initial Global Optimization)—Select this option if you do not have a starting state to be used as a starting point for sizing. When this option is selected, ADE Assembler performs an initial global optimization on the corner specified in the Corner drop-down list and uses its best point as the starting point for the run. If you select No (Runs Initial Global Optimization), ensure that:
    • The specified corner is not disabled in the Run Summary pane.
      For more information, see the Disabling and Enabling the Nominal Corner.
    • For tests that are enabled in the Data View pane, the specified corner is not disabled in the Corners Setup form.
      For more information, see Disabling and Enabling the Nominal Corner for Specific Tests.
  4. In the Evaluation group box, select one of the following evaluation types for the sizing run:
    • Full
    • Conditional

    For more information on conditional evaluation, see Understanding Conditional Evaluation.
  5. Select the Recommended option under Stopping Criteria to use the recommended criteria for the length of time size over corners should run. The recommended criteria are:
    • Three sizing iterations
    • 3000 points run per iteration

    If you want to modify these defaults, select the Custom option, then select one or more of the following stopping criteria:
    • To set a time limit for the run, select the Time Limit (minutes) check box and enter a value in minutes.
    • To specify the number of sizing iterations, select the No. of Iterations check box and enter the number in the field.
    • To specify the maximum number of points processed per iteration, select the Max Points per Iteration check box and enter the number of points in the field.
    • To stop the process early if the sizing results in no improvement, select the Stop Iteration Early if No Improvement check box. This option is applied to each optimization iteration. This stopping criteria is similar to the No Improvement with Points stopping criteria for the Global Optimization run mode for which the user also specifies the number of points. In the case of iterative run modes, the number of points is calculated as Max Points per Iteration / 3.
      If all goals are met prior to the stopping criteria being reached, ADE Assembler will stop the sizing run.
  6. (Optional) By default, the Size Over Corners run is automatically stopped when all the goals are met. If the test outputs have minimize or maximize specs defined for them, you can choose to automatically run the local optimization after the best design point is found. This helps in getting better results for these types of specifications.
    For this, open the Advanced tab.
    Select the Run Local Optimization After All Spec Met option. This specifies that local optimization needs to be run after all the specs are met. The other options on this tab are used by the local optimization run. If required, change the default values.
  7. Click OK to save the changes and close the Size Over Corners form.
  8. Click the Run Simulation button on the Run toolbar.

ADE Assembler runs through iterations of sizing and corner sweeping until your stopping criteria are met.

Performing Manual Tuning

While parameterizing a design, you can tune your design by varying the values of parameters, running multiple simulations and then comparing results. You can do this by using the Manual Tuning run mode.

Some of the important points related to the Manual Tuning run mode are as follows:

To run manual tuning:

  1. In the ade assembler view of your design, from the Select a Run Mode drop-down list on the Run toolbar, choose Manual Tuning.
  2. Click the Run Simulation button on the Run toolbar.
    The color of the Run Simulation button changes to yellow . This indicates that the Manual Tuning run mode has started.
    Now, you can tune or vary the values of design parameters and run multiple simulations to obtain the desired results.
  3. In the Data View or the Variables and Parameters assistant, specify values for the design parameters.
  4. From the Select a Run Mode drop-down list on the Run toolbar, choose Single Run, Sweeps and Corners.
  5. Click the Run Simulation button on the Run toolbar to start the Single Run, Sweeps and Corners run.
    The simulation results are displayed on the Results tab, as shown below.

    The default name of the Results tab indicates the interactive run number in the Manual Tuning run mode. For example, in the figure shown above, the first single, sweep, corner run in the manual tuning run mode is named as ManualTuning.0.Interactive.0.
  6. If required, change the value of parameters to tune your design and again click the Run Simulation button on the Run toolbar to start a new Single Run, Sweeps and Corners simulation run.
    The results of the subsequent simulation runs are appended on top of the Results tab already open for the previous run, as shown below.

    In the other run modes, results of every next simulation run are displayed on a new tab. Also, the name of the Results tab has also changed to ManualTuning.0.Interactive.1.
    At the end of the second simulation run, the Results tab contains all the design points run during the Interactive.0 and Interactive.1 runs.
  7. Compare the results of the two simulation runs.
    You can also plot the results of all the simulations run in a manual tuning run. For that, in the Results tab, right-click a specification and choose Plot Across Design Points.
    When you plot results across different design points, data is plotted for all the points of the two runs, as shown below.

  8. (Optional) If the desired results are not obtained, you might choose to further tune the design parameters and run more simulations till you get the best design point.
  9. After the desired results are obtained, sort the design points to view the best or the worst point. If the best point meets the specifications, you can save the values used for that point so that they can be reused later. To do this, right-click the gray row on top of that design point and choose Save variable and parameter values to Setup State.

    ADE Assembler creates a state by using the names of the simulation run and the design point ID. For example, for the design point 44 shown above, the tool creates a state named ManualTuning.0.Interactive.1.PointID.44 and saves the values of variables and design parameters in that state.

    You can use this saved state in the future to load the values of variables and parameters. For more details, see Working with Global Variables.
  10. Click Stop Simulation on the Run toolbar to exit the Manual Tuning run mode.

Important Notes


Return to top
 ⠀
X