next up previous contents index
Next: Physical Conductor Groups Up: Extraction Functions Previous: Menu Commands   Contents   Index

Terminals

(int) ModifyTerminal(xe, ye, xp, yp, name, lname, type, remove)
This is a rather complicated function used to add, modify, or remove formal terminals of the current cell. The arguments are as follows:

xe, ye (real)
The coordinates, in microns of the terminal in the electrical schematic.
xp, yp (real)
The coordinates, in microns, of the terminal in the physical layout.
name (string)
The terminal's name.
lname (string)
Physical layer name associated with the terminal.
type (string)
The terminal type, one of INPUT, OUTPUT, INOUT, SUPPLY, GROUND.
remove (integer)
Non-zero will remove terminal.

If a terminal already exists which matches the given name, or either the physical or electrical coordinates, the existing terminal will be updated, or removed if remove is nonzero. Otherwise, if remove is zero, a new terminal will be added with the given characteristics. The name, lname, and type arguments can be passed 0, in which case a default will be used.

If the electrical coordinates do not match a ``node'' where a connection can occur, the terminal will be ``virtual''.

The function returns 1 if the operation succeeded, 0 otherwise.

(string) GetTerminalName(terminal_handle)
This will return a string containing the name of the terminal referenced by the handle passed as an argument.

(int) GetTerminalType(terminal_handle)
This will return a type code index for the terminal referenced by the handle passed as an argument.

This is not expected to be useful at present.

(int) GetTerminalFlags(terminal_handle)
This will return the flags for the terminal referenced by the handle passed as an argument.

This is not expected to be useful at present.

(int) GetTerminalLocation(terminal_handle, array)
This function returns the location for the terminal referenced by the handle passed as an argument. The second argument is an array of size two or larger which will receive the x-y coordinate, in microns. The function returns 1 on success, 0 otherwise.

(object_handle) GetTerminalInstance(terminal_handle)
This function returns a handle to the electrical subcircuit or device instance associated with the terminal referenced by the handle passed as an argument. This will not exist for formal terminals.

The returned object is an electrical object.

(int) IsTerminalFormal(terminal_handle)
This will return 1 if the terminal is ``formal'', i.e., it is one of the external connections to the current cell. Otherwise, 0 is returned if the terminal connects to internal objects only. The return value is -1 on error.

(object_handle) GetTerminalObject(terminal_handle)
This function returns a handle to a physical object that is associated with the terminal referenced by the handle passed as an argument. Terminals are associated with underlying conducting objects as part of the connectivity algorithm. Not all terminals have an associated object, in which case they are ``virtual''.

(int) GetTerminalVgroup(terminal_handle)
This will return the virtual group number for the terminal referenced by the handle passed as an argument. Terminals that are not associated with an object are ``virtual'' and represent pass-through between other cells or subcells. The returned value is -1 on error or if the terminal is not virtual.

(string) GetTerminalLayer(terminal_handle)
This returns a string containing the layer name for the terminal referenced by the handle passed as an argument. Non-virtual terminals are associated with a conducting layer.


next up previous contents index
Next: Physical Conductor Groups Up: Extraction Functions Previous: Menu Commands   Contents   Index
Stephen R. Whiteley 2006-10-23