the fair gds editor MacroClassCallback

callback Reference

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

See also: List of Classes


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

See also


CategoryMacroClass


MacroClassCallback (last edited 2014-12-30 20:07:21 by JürgenThies)