Class Reference Callbacks

several functions only available for callback macro, parametric cell macros and plot macros. More...

Member

string iPar(string parameter)
plotData * iPlot()
string pPar(string parameter)
void* iPDK_getCurrentInst()
bool iPDK_paramExist(string parameter)
string iPDK_engToSci(string s)
string iPDK_sciToEng(string s)
stringList iPDK_getParameterList()
string iPDK_getGlobalParameterValue(string parameter)
void iPDK_setGlobalParameterValue(string parameterName,string parameterValue)
string iPDK_getParameterValue(string parameter)
void iPDK_setParameterValue(string parameterName,string parameterValue)
string iPDK_getParameterHash(stringList list)
string iPDK_getParamDef(string type, string parameter)
string iPDK_getOrient()
int iPDK_isLayout()
int iPDK_isSchematic()
int iPDK_isIvPCell()
plotData * 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 [[iPDK|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 [[EditComponent|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.

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