callback Reference
several functions only available for callback macro, parametric cell macros and plot macros. More...
See also: List of Classes
Member
- iPar(string parameter)
- iPlot()
- pPar(string parameter)
- iPDK_getCurrentInst()
- iPDK_paramExist(string parameter)
- iPDK_engToSci(string s)
- iPDK_sciToEng(string s)
- iPDK_getParameterList()
- iPDK_getGlobalParameterValue(string parameter)
- iPDK_setGlobalParameterValue(string parameterName,string parameterValue)
- iPDK_getParameterValue(string parameter)
- iPDK_setParameterValue(string parameterName,string parameterValue)
- iPDK_getParameterHash(stringList list)
- iPDK_getParamDef(string type, string parameter)
- iPDK_getOrient()
- iPDK_isLayout()
- iPDK_isSchematic()
- iPDK_isIvPCell()
- iPlot()
Detailed Description
Special macros require special functions. In four areas special macros are used:
parameter calculation in the SchematicEditor: Component parameter can be calculated on the fly. The function iPar() and pPar() can be used for these caluclation. The caluclation formular will be entered as parameter value and the option 'parse=true' had to be set to enable calculation. e.g. the parameter capacitance can be calculate c = 3e-6 * iPar(width) * iPar(weight)
callback macros on parameter change of component parameter: if the parameter option 'callback=macro_name.layout' is set the named macro will be called in the case of any value change of this parameter. This macro can be used to calculate related parameter or for a range check. Special function for these callback are defined in the Interoperable Process Design Kit specifications. All listed iPDK function can be used. Next to the use of C++ macros TCL macros can be used. iPDK function as C++ macros don't need the device ID be set as specified in the iPDK spec.
parametric cell creation: C++ parametric cell macro used named in the 'layout' section of the component definition can use all iPDK functions.
- plot macros to display simulation results: these macros are called in the probe mode of the Schematic Editor. the function iData() will return any data to plot the picked node or device.
Member Function Documentation
string ::iPar(string parameter)
Returns: string with the value of the parameter
plotData * ::iPlot()
Returns: a pointer to the plot/simulation data.
string ::pPar(string parameter)
Returns: the value of the global parameter
void* ::iPDK_getCurrentInst()
Returns: a point the the component placement,
bool ::iPDK_paramExist(string parameter)
Returns: true if the parameter existing for the current component
string ::iPDK_engToSci(string s)
Returns: string with a number in scientific notation, input string is in engeniering notation
string ::iPDK_sciToEng(string s)
Returns: string with a number in engeniering notation, input string is in scientfific notation
stringList ::iPDK_getParameterList()
Returns: a list with all parameter of the component
string ::iPDK_getGlobalParameterValue(string parameter)
Returns: value if the global parameter
void ::iPDK_setGlobalParameterValue(string parameterName,string parameterValue)
sets global parameterName to parameterValue
string ::iPDK_getParameterValue(string parameter)
Returns: value if the component parameter
void ::iPDK_setParameterValue(string parameterName,string parameterValue)
sets global parameterName to parameterValue
string ::iPDK_getParameterHash(stringList list)
Returns: if list is empty it return a hash value over all parameter excluding the devicename. If stringList contains parameter names, it return a hash value on these parameter only. The parameter name list may contain any existing parameter name including devicename.
string ::iPDK_getParamDef(string type, string parameter)
Returns: the definition type of the parameter. Type may be "type" (will return string, int, double, choose), "callback" (return callback macro), "prompt§ (returns the info field), "units" (returns the units field.
string ::iPDK_getOrient()
Returns: always the string "R0"
int ::iPDK_isLayout()
Returns: always 0
int ::iPDK_isSchematic()
Returns: always 1
int ::iPDK_isIvPCell()
Returns: always 0
plotData * ::iPlot()
Returns: the plot data inside a plot macro