By default, a newly-created scalar terminal will be given the largest index number, meaning that it will be the last terminal listed when the subcircuit is represented in SPICE or other netlisting output. However, it is possible to insert new terminals at any point in the sequence.
If the user types a number while the command is active, the number will appear in the keypress buffer area for the drawing window that has the keyboard focus. If this number is within the range of existing terminal indices, then new terminals created from this window will be given this index, and existing terminals with this index or larger will have their indices incremented.
Suppose for example that the cell contains five terminals, and one needs to add a sixth, and further the new terminal should be the fourth terminal in the sequence (index number 3). While in the subct command, one can type ``3'' and note that ``3'' appears in the keypress buffer area. One can now click on a circuit location to create the new terminal, and note that the new terminal is given index 3, the previous 3 is now 4, etc. The backspace key can be used to clear the keypress buffer, or the next new terminal added will also be inserted as number 3. Note that one can type ``0'' and leave this in place, so that all new terminals will be added to the front of the list rather than the back.
The indexing and order can also be changed with the Terminal Edit panel.
For multi-contact terminals, the index parameter provides ordering information. The terminal order assumed by Xic is that a multi-contact terminal is ordered by its index, ahead of a scalar terminal with the same index. If the multi-contact terminal is named, then the index number is arbitrary, however by convention Xic will set the index to the index of the first (leftmost) bit. If the terminal is unnamed, the index is also the index of the first bit, and in fact this identifies the first bit.