dsd13-gos / dsd-14=pdk / Lect11_12
.pdf
Title: |
Callbacks |
|
& |
|
Parametrized Cell |
|
|
Date:
Author:
1 CADENCE DESIGN SYSTEMS, INC.
PDK Data Map
USER
CADENCE
Chip Designer
Schematic |
Simulation |
Layout |
Verification |
|
capture |
||||
|
|
|
PDK
Symbols |
Device |
Verification |
|
Layouts |
Rule Files |
||
|
CDF |
Techfile |
VXL Env |
Params |
SimInfo |
Callbacks |
3 |
CADENCE CONFIDENTIAL |
Callbacks
A callback procedure is a Cadence ® SKILL language expression that is evaluated when a parameter value changes. Using callbacks is a powerful way to control relationships between parameters and the restrictions on the parameter itself.
4 |
CADENCE CONFIDENTIAL |
Callbacks (cont)
•Callbacks are executed when a parameter is changed in the “Add Component Form” or the “Edit Object Properties
Form”.
•Callbacks should be used to do range checking.
•Callbacks can be used to set other device parameters, however this should be avoided since not all situations will trigger the callbacks (i.e. setting values in skill).
•The alternative approach is to use the function “iPar” which will inherit its value from another parameter.
5 |
CADENCE CONFIDENTIAL |
Callbacks (cont)
• Example CDF parameter without callbacks using iPar.
cdfCreateParam( cdfId
?name |
"r" |
?prompt |
"Resistance" |
?units |
"resistance" |
?defValue |
" iPar(\"RhoD\") * ( iPar(\"l\") * iPar(\"srs\") / |
|
iPar(\"prl\") + iPar(\"deltaL\") ) / ( iPar(\"w\") |
|
+ iPar(\"deltaW\") ) + 2 * 1e-6 * iPar(\"RhoS\") |
|
/ ( iPar(\"w\") + iPar(\"deltaW\") ) " |
?type |
"string" |
?parseAsNumber "yes" |
|
?parseAsCEL |
"yes" |
)
6 |
CADENCE CONFIDENTIAL |
Callbacks types
Callbacks can be GUI based or database based. GUI based callbacks occur when you modify the values in the parameter form fields. Database based callbacks occur when the parametervalue is modified via a database action. The CDF parameter callback is primarily a GUI based callback. A GUI based callback is active when the CDF parameters are displayed in the Add Instance form or the Edit Object Properties form when you use the Create Instance or Edit Properties commands.
7 |
CADENCE CONFIDENTIAL |
Using Callbacks
•You can enter a callback as a SKILL expression that you type directly in the callback field of the parameter section of the Edit Component CDF form. You can also enter a callback by using the ?callback keyword.
8 |
CADENCE CONFIDENTIAL |
Using Callbacks (cont.)
•In this example, the callback on parameter pName2 sets the value of parameter pName1 to the new value when the value of pName2 changes.
cdfParamId = cdfCreateParam(cdfDataId ?type "string"
?parseAsNumber "yes" ?parseAsCEL "yes" ?name "pName2" ?prompt "width" ?defValue 7u
?display "artParameterInToolDisplay(’w)" ?editable "cdfgData->maskLayoutViewName->..."
?callback "cdfgData->pName1->value = cdfgData->pName2->value")
9 |
CADENCE CONFIDENTIAL |
Using Callbacks (cont.)
A callback can also be a call to a function that you loaded previously.
?callback "myFunc( )“
When using callbacks, always use the global variable cdfgData to access information about parameter values and default values.
To get the default value for a parameter, type the following expression:
•cdfgData->paramName->defValue (or default)
To get the current value for a parameter, type the following expression:
•cdfgData->paramName->value
10 |
CADENCE CONFIDENTIAL |
