At the top of the page is the Show group, containing check boxes that make visible certain features related to extraction.
This viewing mode is compatible with most other commands, however when active, editing is prevented. Object and subcell selection works in the normal way, however only visible objects can be selected, which includes the ``phony'' objects created by the extraction system and not present in the actual geometry database.
Should association fail, unplaced terminals are grouped in an array to the lower left of the physical cell's bounding box. Also potentially visible after failure, to the right of the physical layout, are any unassigned subcircuit labels.
This check box is mutually exclusive with the Cell Terminals Only check box.
The Terminals group provides buttons which initiate commands and modes related to terminal placement and parameters.
The cell's contact terminals that have been explicitly placed by the user, and consequently have the FIXED flag set that locks the position, are not touched by this operation.
This capability is mostly for debugging. It may be entertaining to make all terminals visible, then press this button. Zooming out will reveal the terminals arrayed outside the lower left corner of the cell. Then, on pressing Do Extraction, the terminals will snap back to their locations within the layout. The locations of these terminals are set by Xic, unlike the cell connection terminals which can be placed by hand.
The same capability is available from the !ptrms text-mode command.
This capability is mostly for debugging. It may be entertaining to make terminals visible (which also makes the instance label marks visible), then press this button. Zooming out will reveal the instance marks arrayed outside the upper right corner of the cell. Then, on pressing Do Extraction, the marks will snap back to their locations within the layout. The locations of these marks are set by Xic, and presently they can not be manually placed.
The same capability is available from the !ptrms text-mode command.
In physical mode, the Edit Terminals button makes visible the current cell's contact terminals, if any have been assigned with the subct command. These terminals are automatically placed during association (if possible) however this command allows manual placement and editing of the properties of the terminals.
Terminals are moved and selected for editing using the same mouse and keyboard operations as in the subct command. One can click twice or drag the terminals to a new location. Multiple terminals can be selected and moved (unlike in electrical mode) by dragging over them with the mouse pointer, which displays a rectangle. The selected terminals are ghost-drawn and attached to the mouse pointer, during the move operation. In this state, pressing either the Backspace or Esc keys will deselect the terminals and abort the pending move. Terminals can not be deleted or created in this command, these operations must be done in the subct command.
If the Shift key is held while the user clicks on a terminal, or the user double-clicks on a terminal, including the case of a ``move'' to the same location, the Terminal Edit pop-up appears, just as in the subct command. The entries and effects are the same as are described for that command.
It is usually not necessary to place terminals manually. Exceptions are cells with ambiguous connection points. For example, suppose a cell contains a single resistor, with cell contacts ``C1'' and ``C2'' to the resistor. Xic will assign the physical locations of the terminals arbitrarily, which may not be the locations expected in a parent cell. For example, if the physical resistor is a vertical strip, a parent cell may expect C1 above C2, whereas Xic might have assigned the reverse. The user can move the terminals to the proper locations, bypassing the assignment in Xic, and the locations are made permanent when the cell is saved.
If association fails to place a terminal, or it is placed in the wrong location, then manual placement should be used. If the new location is over a conductor, that node/group association is assumed before the association operation (so it had better be correct, or association will not be correct).
The cell terminals have a FIXED flag which will be saved in cell files if set, the purpose of which is to prevent Xic from reassigning the physical location of the terminal. This flag will be set whenever the terminal is moved by the user. Once moved, the terminal should always remain in that location (which had better be correct for extraction/LVS to succeed).
The state of the flag is indicated by the check box in the Terminal Edit pop-up with label ``Location locked by user placement''. This flag can be set or unset with the check box.
When a terminal is placed, Xic searches through the conductor groups that touch the terminal for a suitable object to associate with the terminal. The object must touch the terminal, be on a Routing layer, and match the layer hint given to the terminal, if any. The hint layer can be supplied with the Terminal Edit pop-up, and is otherwise the last layer that the terminal was associated with (if any). If no object can be found that matches the hint, the hint is ignored and any Routing layer will be used. If an association is made, the layer name is printed near the terminal marker. If not, no layer name will be printed, and the terminal no longer has a hint. If the cell has not yet been associated, the layer name label may not appear. The actual association will be made the next time the cell is processed, which occurs when entering most of the extraction commands. In particular, activating the All Terminals or Cell Terminals Only check boxes is a benign way to force a recalculation of all associations. Better still is the Do Extraction button at the bottom of the panel.
Below the Terminal group are the Select Unassociated buttons. These can be used after extraction to identify the objects that failed to associate. These are objects in physical mode that have no identified electrical counterpart, and vice-versa.
The command works in physical and electrical modes. Display windows will highlight the appropriate unassociated objects for the window's display mode.
The highlighting is removed on a deselect operation, with the menu button or otherwise. Mostly, the objects are simply selected, however objects such as physical devices use other highlighting methods.
This functionality is also available from the !ushow text-mode command.