next up previous contents index
Next: The symbl Button: Symbolic Up: The Terminal Edit Pop-Up: Previous: Physical Terminal Editing   Contents   Index

Multi-Contact Connector Editing

When the target terminal is a multi-contact connector, the panel reconfigures itself to provide the appropriate entry areas.

At the top of the panel is a numeric Term Index entry area. Just below this are two text entry areas with labels Terminal Name and Net Expression. A ``bundle'' terminal may have a separate simple text name, as well as its net expression. If given, the simple text name will be used as a name for the terminal in instance placements of the cell. The terminal in the instance will look like a pure vector terminal with the given name, and a range starting with zero and extending to the width of the bundle minus one.

If the terminal does not represent a bundle, then internally there is only one name, which is the net expression. This is obtained from the two entry areas, which should not conflict or an error will result. Probably the best approach is to use the Net Expression entry for the complete expression, and leave the Terminal Name entry blank. Alternatively, one could put a text name in the name entry, and the subscripting, without a name or with the same name, in the expression entry.

It is legitimate to not provide a name, but to provide subscripting only. In this case:

  1. The subscripting is ignored, except to determine the implied width (number of conductors).

  2. The connector maps the scalar terminal with index value equal to the Term Index entry and terminals with successive indices, the total number of which will be equal to the connector width. Thus, scalar terminal order and the Term Index value are critical in this case. It is up to the user to maintain consistency while editing, as indices may change. Probably, though, there is no reason to use this approach, and not supply a terminal name.

If the terminal has a name, or has a bundle net expression, then the name of every scalar terminal ``bit'' is well defined. These are found by name, so there is no order requirement, only an existence requirement. Furthermore, the Term Index entry has much less significance. It is only used to assign an order for the terminal relative to other terminals. Specifically, the terminal order is just ahead of the scalar terminal with the same index (multi-conductor terminal index values are required to be unique). Xic will initially assign the index as the index of the first scalar terminal referenced. This can be changed if necessary.

Below the three entry areas is a Delete button, which will delete the terminal if pressed. This, and all other operations, can be undone/redone with the standard Xic Tab/Shift-Tab keys and equivalent operations in the Modify Menu.

There are two check boxes for terminal visibility in the schematic and symbol, as we saw for scalar terminals. It is unlikely that the user would go to the trouble of implementing a multi-contact terminal and not have it visible, but it is possible.

The Bus Term Bits group provides some specialized functions for working with the scalar terminals referenced. These can be applied only if the terminal has a name or is a bundle terminal.

Check/Create Bits
This will create, at the end of the scalar terminal list, any scalar terminal referenced by the present terminal and not found. Newly created scalar terminals whill have BYNAME, SCINVIS, and SYINVIS set, meaning that the terminals will be invisible and make contact by name only. The new terminals are placed at the same location as the present terminal. As they are invisible and they do not connect by location, there is no problem with this. In one way or another, the scalar terminals referenced by a multi-conductor terminal must exist for connectivity to be established, even if they are invisible and never dealt with again after creation. The Check/Create Bits button makes the scalar terminal creation quick and easy. Be aware, though, that it will probably still be necessary to edit these terminals to set the physical data.

Reorder to Index
This will create missing scalar terminals as above, but in addition it will reorder the scalar terminals list so that the index values of the referenced terminals are contiguous and start with the Term Index value. All other considerations aside, this may be a ``nice'' way to organize the terminals. It is also potentially more efficient. If the net expression does not duplicate any connection bits, an internal mapping step can be skipped as it becomes an identity, saving a little memory and time. This is the same ordering used with ``unnamed'' terminals.

The four buttons below allow setting of the visibility flags of all of the referenced scalar terminals. It is unlikely that the flag states would vary between the bits.

The remaining buttons operate as described for scalar terminal editing.

next up previous contents index
Next: The symbl Button: Symbolic Up: The Terminal Edit Pop-Up: Previous: Physical Terminal Editing   Contents   Index
Stephen R. Whiteley 2022-05-28