several functions only available for callback macro, parametric cell macros and plot macros. More...
| 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() |
The functions on this page exist only inside special macros: parameter formulas, component callbacks, parametric-cell macros and plot macros. They are not members of a window object; you call iPar, pPar or iPlot by those names. In the Schematic Editor a parameter value can be a formula. Set parse=true on that parameter. iPar reads a parameter of the current device; pPar reads a global parameter. A typical formula multiplies iPar(width) with iPar(weight). If a parameter option is callback=macro_name.layout, that macro runs after the value changes and can adjust related parameters or reject a range. The iPDK helpers (iPDK_getParameterValue, iPDK_setParameterValue, iPDK_getParamDef and the rest) follow the Interoperable Process Design Kit names; in a LayoutEditor C++ macro you do not pass a device id. The same iPDK names are available in a parametric-cell macro named in the layout field of a component. In probe mode a plot macro calls iPlot() to obtain the plotData that schematicDisplay setProbeMode attached.
Example:
string w = iPar("width");
string g = pPar("scale");
if (!iPDK_paramExist("length"))
return 1;
iPDK_setParameterValue("area", iPDK_engToSci("2.5u"));
plotData *pd = iPlot();
if (pd != NULL && !pd->dataRead())
pd->readSource();
Returns: the value of device parameter as a string.
Returns: a pointer to the plotData of the current plot macro, or NULL if this macro is not a plot macro.
Returns: the value of the global parameter.
Returns: a pointer to the current component placement.
Returns: true if parameter exists on the current component, otherwise false.
Returns: s converted from engineering notation to scientific notation.
Returns: s converted from scientific notation to engineering notation.
Returns: a stringList of all parameter names of the current component.
Returns: the value of the global parameter.
Sets the global parameter parameterName to parameterValue.
| Parameter: | |
|---|---|
| parameterName | name |
| parameterValue | parameterValue |
Returns: the value of component parameter.
Sets component parameter parameterName to parameterValue.
| Parameter: | |
|---|---|
| parameterName | name |
| parameterValue | parameterValue |
Returns: a hash of parameters. If list is empty, every parameter except the device name is hashed. If list contains names, only those parameters are hashed. The list may include devicename.
Returns: a definition field of parameter. type may be type (returns string, int, double or choose), callback (callback macro), prompt (info field) or units (units field).
| Parameter: | |
|---|---|
| type | mode selector |
| parameter | parameter |
Returns: always the string R0.
Returns: always 0.
Returns: always 1.
Returns: always 0.
Returns: the plotData inside a plot macro.