next up previous contents index
Next: Extraction System: Ground Plane Up: The Extract Menu: Extraction Previous: Extraction System: Cell Hierarchy   Contents   Index

Extraction System: Group/Net Naming

It is possible to apply a name to a physical wire net (or group) by use of special labels. The group name will be used in output when appropriate. It will also be used in association to match to electrical nets which have the same name (see 7.11).

Net name labels are created in the same way as any other label in physical mode. There are two requirements that must be met for the label to be applied.

  1. The label origin mark must reside over or touch an object on a layer with the Conductor attribute. This is generally applied in the layer blocks of the technology file to metal or otherwise conducting layers.

  2. The layer name of the layer-purpose pair on which the label resides must match that of the metal object above. The purpose name must match the special purpose name defined for this purpose within Xic. By default, this purpose is named ``pin''.

For example, suppose we have a box on a metal layer M1, which has the default ``drawing'' purpose. To name the conductor group containing this box, we create a label, containing the name, on the layer-purpose ``M1:pin'', and place this so that the label origin mark, which is marked with a tiny ghost-drawn cross during placement, will be located in or touching the box.

The assumed ``pin'' purpose name can be changed with the PinPurpose variable, or equivalently with the Net label purpose name text input area of the Net and Cell Config page of the Extraction Setup panel from the Extract menu.

Alternatively, the PinLayer variable can be set to a layer name, and all netname labels must reside on this layer. In this case, the pin purpose is not recognized. This is for compatibility with older libraries and is not recommended.

Physical groups can acquire a name in the following ways, listed in priority order.

  1. An element of the group contains a net name label. Only one name is allowed, all net labels are ignored if conflicting net names are found. The net may have arbitrarily many name labels, but each must specify the same name logically. Names are by default case-insensitive, and different subscripting delimiters are taken as equivalent. Net name labels override any other name that might be associated with the group.

  2. If an otherwise unnamed group contains a scalar cell terminal after association, the group name will take the terminal name. There can be at most one terminal, if more than one the terminal names are ignored.

  3. After association, otherwise unnamed groups will take any assigned name of the corresponding wire net. Net names can be applied in electrical mode with the Node (Net) Name Mapping panel from the nodmp button in the electrical side menu. Electrical nets can also be named with wire labels, or with the named terminal devices provided in the device library.

During association, electrical nets and physical conductor groups with the same logical name will be associated without further testing. At this point, the only names that may apply to the conductor group are from name labels, or from cell terminals that have been placed into the layout by the user and therefor have the FIXED flag set. Thus, liberal but correct use of net name labels can speed up the association operation.

There is a provision for automatically generating or updating net name labels after association, with the Update net name labels after association check box in the Net and Cell Config page of the Extraction Setup panel, which is displayed with the Setup button in the Extract Menu. This tracks the state of the UpdateNetLabels variable, which can be set or cleared directly to set this mode.

This mode should be used only when layout of a cell is complete and LVS passes. Adding additional net name labels by forcing association with this mode active before saving the cell to a library can maximize association efficiency wen the cell is used in the future.

It is also possible to ignore net name labels entirely by use of the Ignore net name labels check box in the same panel, or equivalently by setting the IgnoreNetNameLabels variable. It is unlikely that a user will require this with any frequency.

The pre-association net names, as obtained from net name labels and user-placed cell terminals, can explicitly imply connectivity in LVS, thus accounting for ``split nets''. A split net is a logical conductor group that consists of two or more physically disconnected conductor groups. For example, the cell schematic may show a simple wire distributing power to all parts of a cell. The physical implementation, though, might consist of a power ring in the parent or another cell, that runs over and makes contact at various points in the cell. Without the power ring, the cell contains multiple locations that should be, but are not, connected together. Association and LVS will fail in this case, however there is a way to detect and accept this type of case.

If each piece of a split net has a separate and of course logically equivalent net name, then setting the Merge groups with matching net names check box in the Net and Cell Config page of the Extraction Setup panel from the Extract Menu will cause association to logically merge these groups, allowing LVS to pass. Equivalently, the MergeMatchingNamed variable, which tracks the check box, can be set or cleared to the same effect.

Although it is required that this mode be active for successful LVS when the top-level cell contains split nets, it is not required otherwise, even if cells lower in the hierarchy contain split nets.

next up previous contents index
Next: Extraction System: Ground Plane Up: The Extract Menu: Extraction Previous: Extraction System: Cell Hierarchy   Contents   Index
Stephen R. Whiteley 2022-05-28