next up previous contents index
Next: Physical Devices Up: Extraction Functions Previous: Physical Terminals   Contents   Index

Physical Conductor Groups

(int) Group()
This function will run the grouping and device extraction algorithm on the current physical cell. The grouping algorithm identifies the wire nets. The returned value is the number of groups used, or 0 if an error occurs. The group index extends from 0 through the number returned minus one. Group 0 is the ground group, if a ground plane layer has been defined.

(int) GetNumberGroups()
This returns the number of conductor groups allocated by the extraction process in the physical part of the current cell. The group index passed to other functions should be less than this value.

(int) GetGroupBB(group, array)
This function returns the bounding box of the conductor group whose index is passed as the first argument. The coordinates, in microns relative to the current physical cell origin, are returned in the array, which must have size 4 or larger. If the function succeeds, 1 is returned, otherwise 0 is returned. The saved order is L, B, R, T.

(int) GetGroupNode(group)
This function returns the node number from the electrical database which corresponds to the physical group index passed as the argument. If the association failed, -1 is returned.

(string) GetGroupName(group)
This will return a string containing a name for the group whose number is passed as the argument. The name is the name of a formal terminal attached to the group, or the net name if no formal terminal. If the group has no name, a null string is returned.

(string) GetGroupNetName(group)
This will return a string containing the net name for the group whose number is passed as the argument. If the group has no net name, a null string is returned.

(real) GetGroupCapacitance(group)
This will return the capacitance assigned to the group whose index is passed as the argument. If no capacitance has been assigned. 0 is returned.

(int) CountGroupObjects(group)
Return the number of physical objects that implement the group. If there is an error, such as the argument being out of range, -1 is returned.

(object_handle) ListGroupObjects(group)
This function returns a handle to the list of objects associated with the current physical cell which constitute the group, as found by the extraction system. These may or may not correspond to actual objects in the cell. For example, the objects returned have been processed by the Conductor Exclude directive, so would possibly be clipped versions of the original objects. Additionally, objects from wire-only subcells and vias that have been logically flattened during extraction will be included. Objects from flattened via instances will mave the MergeCreated (0x1) flag set, which can be tested with GetObjectFlags. This allows the caller to filter out redundant metal if standard vias are used, in addition to the objects, to represent the net.

The argument is the group number. The returned objects are copies, so can not be modified or selected. If an error occurs, 0 is returned.

(int) CountGroupVias(group)
Return the number of via instances used to implement the group, from the extraction system. This is the number of vias that would be returned by ListGroupVias (below). If there is an error, such as the group number argument being out of range, -1 is returned.

(object_handle) ListGroupVias(group)
This function returns a handle to the list of via instances associated with the current physical cell which are used in the group, as obtained from the extraction system. This may include vias that were ``promoted'' due to the logical flattening of wire-only subcells during extraction. Vias in such cells are treated as if they reside in their parent cells, recursively.

The argument is the group number. The via instances are copies, so can not be modified or selected. If an error occurs, 0 is returned.

(int) CountGroupDevContacts(group)
This function returns a count of the number of device contacts which are assigned to the conductor group whose index is passed as the argument. If an error occurs, -1 is returned.

(dev_contact_handle) ListGroupDevContacts(group)
This function returns a handle to the list of device contacts which are assigned to the conductor group whose index is passed as the argument. If an error occurs, 0 is returned.

(int) CountGroupSubcContacts(group)
This function returns a count of subcircuit contacts associated with the group index passed as the argument. If an error occurs, -1 is returned.

(subc_contact_handle) ListGroupSubcContacts(group)
This function returns a handle to a list of subcircuit contacts associated with the group index passed as the argument. If an error occurs, 0 is returned.

(int) CountGroupTerminals(group)
Return a count of cell connection terminals associated with the group number passed as an argument. If an error occurs, -1 is returned.

(terminal_handle) ListGroupTerminals(group)
This will return a handle to a list of formal terminals associated with the group number passed as an argument. If an error occurs, 0 is returned. If the group contains no formal terminals, the list will be empty.

(stringlist_handle) ListGroupTerminalNames(group)
This function returns a list of names of the cell connection terminals assigned to the conductor group whose index is passed as the argument. If an error occurs, 0 is returned. If the group contains no cell connection terminals, the list will be empty.

(int) CountGroupPhysTerminals(group)
Return a count of the physical terminal descriptors from the physical cell that are associated with the group number given.

(physterm_handle) ListGroupPhysTerminals(group)
Return a handle to a list of the physical terminal descriptors from the physical cell that are associated with the group number given.


next up previous contents index
Next: Physical Devices Up: Extraction Functions Previous: Physical Terminals   Contents   Index
Stephen R. Whiteley 2022-05-28