B
Troubleshooting CDF Callback
CDF callbacks are used for various tasks, such as calibrating entered values and controlling form appearance. You can also use them to compute the values of other CDF parameters, especially derived parameters. Using CDF callbacks to derive a value of another parameter is also referred to as a push model because at the point of creation or change of the source parameter, the derived parameter is pushed.
Potential Problems
Using CDF callbacks for computing the value of a derived parameter can cause data inconsistency if the callbacks do not get invoked. Using callbacks to derive parameters also prevents parameterization of the source parameter, which can cause problems.
Using callbacks to derive parameters can cause tools that sweep parameters to function inconsistently. Such an inconsistency can lead to issues when you use the source parameter for simulation, and the derived parameter for layout and physical verification.
There are several situations in which a callback does not get invoked. An example of such a situation is when you use the search and replace forms in Schematic Editor or the Layout Editor. In such a case, potentially all derived parameters become outdated.
Resolution
Use a pull model instead of the push model. This means that each application that requires a derived parameter should compute the value from the source parameter at the time of usage. Typically these need to be done for the following:
-
Simulation
Calculate the derived parameter within a subckt model. The simulator can calculate a derived parameter when the hierarchy is flattened, using parameters passed to each occurrence. -
Pcells
Calculate the derived parameter value in the Pcell SKILL code. For graphical Pcells, consider rewriting them in SKILL. However, in simple cases, you can get your graphical Pcell to work by using string parameters, andcdfParseFloatString()to convert those strings to numbers wherever used. -
Physical Verification
The derivation of parameters to compare can be done in custom Diva or Assura rules, because these rules allow SKILL code to do the computation. You can also consider making the source parameters the parameters that can be extracted from the layout. This way, the source parameters can be compared directly.For more information on the CDF callback problem and its alternatives, see the CDF Callback Solution Page.
Return to top