In the last few blogs of this series, we have examined some unique features of Cadence^{®} Liberate^{TM} Characterization, Liberate MX, Liberate AMS, Liberate LV, and Liberate Trio. How about looking into the Liberate Variety^{TM} statistical characterization solution this time?

As per Liberty specification, Liberty Variation Format (LVF) modeling is always done at one-sigma. However, did you know that Liberate Variety supports unique settings for characterization and LVF modeling? These settings allow you to use different sigma values for variation parameters and data types such as delay, setup, hold, and so on.

## Identify the Variation Parameters

The first step to override the one-sigma rule is to determine the variation parameters that need to be characterized. In Liberate Variety, you do this using the `define_variation`

command. The information about the variation parameters can be obtained from the foundry. For example, the table below illustrates the syntax and meaning of the variation parameters in a model file of SPICE and Spectre formats. It is noteworthy that the last case shown in the table is mathematically possible, but never encountered.

SPICE Format |
Spectre Format |
Meaning |

parl1=agauss (0,1,1) parl2=agauss (0,1,1) … … |
vary parl1 dist=gauss std=1/1 vary parl2 dist=gauss std=1/1 … … |
Absolute variation at 1-sigma is 1 |

parl1=agauss (0,1,3) | vary parl1 dist=gauss std=1/3 | Absolute variation at 3-sigma is 1 |

parl1=agauss (0,3,3) | vary parl1 dist=gauss std=3/3 | Absolute variation at 3-sigma is 3 |

parl1=agauss (0,3,1) | vary parl1 dist=gauss std=3/1 | Absolute variation at 1 sigma is 3 |

For example, the following commands define the variation parameters at one-sigma:

define_variation –type random {parl1 1} parl1

define_variation –type random {parl2 1} parl2

## Determine Different Sigma Values for Different Variation Parameters and Data Types

The global parameter, `variation_sigma`

, defines the sigma level at which to characterize. By default, variation_sigma is set to 1 and is applied to all the define_variation commands. Changing this default sigma value is not recommended. However, in Liberate Variety, you can define an absolute variation value using the `-sigma`

option of the define_variation command. This command option treats the value in the {*parameter* *value*} pair as a sigma value. Note that the requirement here is that the SPICE models have been read and flattened so that the specified sigma value can be mapped into the real value specified in the gauss or agauss setting in the model file.

To adjust the sigma value at which to characterize the variation by the data type, you need to use the `define_variation_factor`

command. This command allows you to specify sigma values for data types such as delay, constraint, setup, recovery, non_seq_setup, hold, removal, non_seq_hold, and mpw. For example, the following command shows how to characterize delay at one-sigma, constraint at two-sigma, and all other data types at one-sigma:

define_variation_factor {all 1 delay 1 constraint 2}

## Model with Different Sigma Factor Values for Each Variation Parameter

At the time of model creation, the variation is stored in the library database (LDB) at one-sigma. Therefore, for characterizing the variation parameters at different sigma values, you need a sigma factor value to adjust the modeled variation. Liberate Variety supports this feature through the `-sigma_factor`

option of the `define_variation_group`

command. Using this option, you can define a multiplicative weighting factor to be applied to each variation parameter. For example, to model the variation parameters into the output library at three-sigma, set the -sigma_factor option to a value of 3:

define_variation_group –sigma_factor 3.00 {parl1 parl2} LOCAL_VARIATION

## How About Reviewing Some Example Scenarios Now?

By now, you would know that to override the one-sigma rule of the Liberty syntax for LVF modeling, you primarily need to be familiar with the usage of the following three Liberate Variety commands: `define_variation`

, `define_variation_factor`

, and `define_variation_group`

.

For some useful example scenarios, refer to the How to Specify Variation Setup for LVF Characterization & Modeling application note available in the Cadence Support portal.

Do try this feature of Liberate Variety, if you have not done that already. Hope you would agree with me on its usefulness.

Till we meet next, take care and stay safe!

**~Abha Rawat**

## Related Resources

For more information about working with the Liberate Variety statistical characterization solution, see the following documents:

- Liberate Variety Statistical Characterization Reference Manual
- Liberate Characterization Portfolio Command and Parameter Support Matrix

## About Library Characterization Tidbits

Library Characterization Tidbits is a blog series aimed at providing insight into the useful software and documentation enhancements in the LIBERATE release. In addition, this series would broadcast the voices of different bloggers and experts, who would share their knowledge and experience about all the tools in Liberate Characterization Portfolio. To receive notifications about the new blogs in this series, click Subscribe and submit your email ID in the *Subscriptions* box.