Manuals >User's Guide >Optimizing Print version of this Book (PDF file) |
![]() ![]() |
||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
Performing an OptimizationThe basic steps required to perform an optimization are:
The following sections describe each of these steps, as well as undoing an executed optimization. Select the Optimizer TransformThe optimizer in IC-CAP is provided in the form of a function, the Optimize transform. To select the Optimize transform:
Selecting the Optimizer AlgorithmAfter selecting the transform, choose an algorithm from the drop-down list. Select the Error as Absolute or RelativeChoose an error type from the Error drop-down list. You must specify the inputs, parameters, and options for the selected transform. The following sections describe these tables. For further details, refer to Chapter 9, "Using Transforms and Functions." Defining Optimizer InputsYou can define the optimizer inputs by completing the Inputs table. The fields available in the Inputs table (figure above) are: TargetData set containing the measured data against which simulated data is matched. SimulatedData set containing simulated data. Neither target nor simulated data files must come from the same setup. The Inputs table may be used to specify either target or simulated data files from any location. The only requirement is that both data sets must have the same number of data points. There is no limit on the number of data points. You can also run multiple setup optimizations by entering more than one target simulated pair in the Inputs table. Enter as many target pairs as desired. WeightRelative weighting factor to apply to each pair of Targeted and Simulated data. For details, see Weighted Optimization. Target MinLower limit for the target data values. Data values lower than this limit are ignored during optimization. Target MaxUpper limit for the target data values. Data values higher than this limit are ignored during optimization. X MinLower limit for the X-axis data values. Data with X-axis values lower than this limit are ignored during optimization. X MaxUpper limit for the X-axis data values. Data with X-axis values higher than this limit are ignored during optimization. Curve MinLower limit for the curve. For a family of curves, curves numbered lower than this limit are ignored during optimization. A single curve can be selected by entering the same curve number in both the Curve Min and Curve Max fields. Curve MaxUpper limit for the curve. For a family of curves, curves numbered higher than this limit are ignored during optimization. X Data RefReference data set used for X boundary conditions X Min and X Max or when the variables X_LOW and X_HIGH are defined. When left blank (default), the reference data set is the first order sweep defined in the setup. When no target or X-axis bounds are set, the bounds default to zero (0) and no bounding is performed. When minimum and maximum bound values are equal, no bounding is performed. These per-target bounds take precedence over the bounds specified in the optimizer Options table. That is, if bounds are entered in one or more Min or Max fields in an Inputs table, the bounds from the Options table are not applied to that row. Reference SetUpThe location of the setup that all inputs will reference. When this field is left blank (default), the inputs reference the current setup. For example, if ib.m is set as the target, ib.m must be an output or a transform in the current setup to be resolved correctly. When it points to another setup, then inputs are referenced to that setup. You can also point to a setup in another file (for example, npn_01/dc/fgummel). When reading, the syntax dc/fgummel is changed to ../../dc/fgummel to make it consistent with the relative path. Defining Optimizer ParametersYou can define the parameters or variables to be optimized by completing the Parameters table. There is no limit on the number of parameters.
The settings available in the Parameters table (figure above) are: Insert a GroupSelect a group in the first Drop-down, and then all the parameters or variables defined in the group can be selected in the second Drop-down. Insert Param or VarNo group selected in the first Drop-down, the second Drop-down list of all parameters defined in the Model Parameters table. Select a parameter to load from the Model Parameters table into the Optimizer Parameters table. Clear TableSelect to clear values from the optimizer Parameters table. Auto SetSets minimum and maximum values based on the value of the coefficient defined with the AUTOSET_COEFF variable on the System Variables page. The default coefficient value is 5. Using an AUTOSET_COEFF value of 5, the minimum would be set to 1/5 of the Value and the maximum would be set to 5 times the Value setting. An AUTOSET_COEFF value of 8 would result in the minimum set to 1/8 of the Value and the maximum would be set to 8 times the Value setting. NameName of a model parameter, DUT parameter or variable that is to be optimized. A parameter can be removed temporarily from an optimization by placing an exclamation point (!) before its name. MinMinimum acceptable value of parameter. MaxMaximum acceptable value of parameter. StoredThe last stored value for the parameter. The Store Par button stores the current parameter Value setting in the optimizer Parameters table to the Model Parameters table. The Recall Par button recalls the last stored parameter Value setting in the optimizer Parameters table from the Model Parameters table. TunerSets the Tuner to linear (L) or logarithmic (G) scale for the parameter. Default is G logarithmic. The Tune Fast and Tune Slow buttons open a tuner window. The tuner enables you to adjust the parameter values. You can see the effects in a plot as you vary parameter values using the tuner. Tune Fast recalculates constantly as a slider is moved. Tune Slow recalculates only when a slider is released. While the tuner window is open, you can change the Min and Max values. It's best to use Tune Slow when the time per calculation is slow (about one second or more). Store ParamLocally stores the current parameter values to the Stored column on the Parameters table. When the file is saved, these values are stored as part of the optimizer settings. Recall ParamResets the Parameters table values to the locally stored values. Defining Optimizer OptionsThe Options table is divided into the following groups: Termination Conditions, Global Boundaries, Other Settings, and Print Settings. The specific variables contained within these four groups will change depending on the currently selected algorithm. As an example, the following figure shows the optimizer Options table for the Levenberg-Marquardt algorithm.
Termination ConditionsThis group of settings determine the values at which the optimization process terminates. The following data fields may be active, depending on which algorithm is selected. Function TolOptimization stops when the percentage change in RMS error value, from one optimization to the next, is less than the specified value. Max errorOptimization stops when the maximum error between measured and simulated data is less than the specified value. Max EvalsOptimization stops when the number of function evaluations (which normally are simulations) exceeds the specified value. Max ItersOptimization stops when the number of iterations reaches the specified value. Parameter TolOptimization stops when the percentage change in each parameter value, from one optimization to the next, is less than the specified value. Rand ItersOptimization stops when the number of iterations reaches the specified value. RMS errorOptimization stops when the RMS deviation between all measured and simulated data points is less than the specified value. Percentages are normalized to 1. For example, 1% is specified as 0.01. Global ConditionsThis group of settings determine the rectangular limitations of the optimized data set. Y Lower BoundSets a lower limit for Y-axis data values. Data values lower than this limit are ignored during optimization. Bounding is performed according to the target data values. If a target data point falls within the specified range, the simulated data point is also used in the optimization, regardless of its value. Y Upper BoundSets an upper limit for Y-axis data values. Data values higher than this limit are ignored during optimization. X Lower BoundSets a lower limit for X-axis data values. Data values lower than this limit are ignored during optimization. X-axis bounding only applies to the main sweep of the Setup that contains the target data set. This cannot be changed by simply specifying a different X-axis on a plot. X Upper BoundSets an upper limit for X-axis data values. Data values higher than this limit are ignored during optimization. You can set these bounds by using the Y_LOW, Y_HIGH, X_LOW, and X_HIGH variables. However, any functions, such as log, that are applied to the data sets in the Inputs table must be applied to the bounds also. When no bounds are set, the option defaults to zero (0) and no bounding is performed. Also, when upper and lower bound values are equal, no bounding is performed. These bounds are only applied to targets that do not have any per-target bounds specified. That is, if bounds are entered in one or more of the target Min/Max, X Min/Max, or curve Min/Max fields, the bounds from the Options table are not applied to that Inputs table row. Other SettingsThis group of settings determine values specific to the chosen algorithm. The following data fields may be active, depending on which algorithm is selected. Comb FilterFilters the target data to be used in the optimization by using every nth point, where n is the value set in this field. For example, set the value to 2 and the optimizer uses every other data point. Set the value to 3 and the optimizer uses every third data point, and so on. The comb filter uses at least one data point from each data set. Enable ExtractionSelect checkbox when optimization is to run when Extract is selected from the DUT or Setup Menu. The optimization is performed after any extractions that are defined in the Setup have been run. Normalize SensControls the sensitivity analysis. Select check box for normalized sensitivities. Deselect checkbox for raw partial derivatives. Param DeltaControls the parameter delta used in the optimizer when calculating the numerical derivatives. Typically this option is not altered, but altering it may be useful for certain time domain optimizations. The default is 0.001. Rand Std DevControls the standard deviation of the Gaussian distribution for Random optimization. The default is 0.3. Rand RewardSpecifies the reward coefficient for Random optimization. The default = 0.5. Rand PenaltySpecifies the penalty coefficient for Random optimization. The default = 0.5. Rand SeedSpecifies the seed that controls the initial random jump. The default = 0. Use Rank 1Select checkbox to allow the Broyden rank one Jacobian update. Print SettingsThis group of settings determine print values specific to the chosen algorithm. The following data fields may be active, depending on which algorithm is selected. Print ParametersSets option for printing parameter data. Print ErrorSets option for printing error data. Print Sens ResultsSets option for printing sensitivity information. Executing an OptimizationTo perform an optimization on the active setup,
To perform an optimization on all setups in the active DUT,
Undoing an OptimizationTo undo an optimization, click the Undo Optim button on the Extract/Optimize page. Pressing this button resets the optimized parameter values to values prior to the optimization and runs a simulation. |
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
![]() ![]() |