In releases prior to 3.1.5, node name mapping was optional, and if not turned on, internally generated names would be used exclusively. In subsequent releases, node-name mapping is always enabled.
Nodes are given names based on the following hierarchy. The naming priority is in the order listed.
If two or more such terminals exist for the same node (which is probably an error), the name chosen will be the one earliest in ACSII lexicographic order.
The terminal names are set when the terminals are defined with the subct command, and it is also possible to name terminals from the Edit Terminals command in the Extract Menu.
For names other than the internally generated node numbers, the name is predictable. The internally generated numbers will change if the circuit is modified, or possibly for other reasons. Thus, if netlist or SPICE output is to be used in another application, it may be important to assign names to nodes to be referenced by name.
The Node Mapping Editor contains two text areas, with the left area listing the nodes, and the right area listing the device and subcircuit terminals connected to the selected node. Nodes can be selected by clicking on the text in the left text window, or by clicking in the circuit if the Click-Select Mode button is active.
When a node is selected in the left text window, the right text window will display a listing of the device, subcircuit, and cell terminals connected to the node. The names used for device terminals are the terminal names as supplied in the node properties in the device library file. However, only ``physical'' terminals will have an assigned name. Device contacts such as the phase node of a Josephson junction, branch nodes, and nodes of current and voltage sources have no implementation in a physical layout and have no names. In the listing in the right-hand panel, the terminal name for these ``unnamed'' terminals is constructed as devicename_contactnum. That is, the device name, followed by an underscore, followed by an internal index number for contacts of that device or subcircuit (subcircuits may have non-implemented contacts as well). The terminal device has a name key ``@'', other devices are keyed by a letter.
In the electrical schematic drawing, each of the terminals listed in the right text area will have a small box drawn around it.
The internal data structure representing node name mapping, and the listings, will be in one of two states. Either devices and subcircuits with the nophys property will be included as normal devices and subcircuits, or these will be ignored. In the latter case, if the nophys property has the ``shorted'' option, the terminals will be effectively shorted together, which will obviously change the node numbering.
The current state is as set by the last function to generate the mapping. Functions in the extraction system will always recognize the nophys properties, and build the map excluding these devices but taking the ``shorted'' nophys devices as shorted. Functions in the side menu which generate a SPICE listing will ignore nophys properties and include all such devices in the net list.
The Use NoPhys button is used to switch between these two representations, and the state of the button will be reset if another function changes the state.
When the Use NoPhys button is pressed, devices and subcircuits wil the nophys property set will be included in the listings, just as ``normal'' devices. Their terminals will be listed in the terminals listing window. The nophys property is ignored in this case, as will be true when a listing is being prepared for SPICE output from functions in the side menu.
When the Use NoPhys button is not pressed, devices and subcircuits with the nophys property will be ignored in the listings, and the node numbering will respect the ``shorted'' nophys properties. Terminals from these devices and subcircuits will not be listed in the terminal listing window. This mode is consistent with the usage by the extraction system.
When the Click-Select Mode button is pressed, a command state is entered whereby clicking on a wire or contact point in the drawing window will select that node. This mode is exited if another command is started, or Esc is pressed, or the Click-Select Mode button is pressed again.
The Deselect button will deselect selections in the node listing window, and the corresponding blinking highlighting in the drawing windows.
The left column in the node listing contains the internal node numbers, which can change arbitrarily if the circuit is modified. Entries in the second column are the mapped names, i.e., the names used in SPICE and netlist files. If the second column entry is blank, the internal node number will be used. The third column will contain the letter ``Y'' if the node has a name assigned by the user, or a ``G'' if the node name is that of a global node (including ground). The ``G'' nodes can not be renamed by the user.
The entry in the second column will be blank unless:
The node referencing works by association with a device terminal. This association persists if the object is moved, and is transferred to another device or wire if the object is deleted, if possible. In some cases it may get lost, however, so an assigned name may have to be reentered after the circuit is edited.
To apply a name, select a node in the left text area, and press the Rename button. A new name will be prompted for on the prompt line. However, the ground node 0 can never be renamed, nor can names that are global nodes. The name can be any text token (white space is not allowed), however it is up to the user to ensure that the name makes sense in the context of the output. For example, for SPICE output, the node names must adhere to the rules for valid node names in SPICE. The second column will be updated to show the new name.
An assigned name can be deleted by first selecting the node in the left text area, then pressing the Remove button. If the name was assigned, the name will revert to the default name. This will have no effect on nodes that don't have a user-specified name.