next up previous contents index
Next: The plot Button: Generate Up: The Side Menu: Geometry Previous: The Logo Font Setup   Contents   Index


The nodmp Button: Show Node Name Mapping

\epsfbox{nodmp.eps} The nodmp button, which is available in the electrical mode side menu, will bring up the Node Mapping Editor which is used to display and alter the names used for ``nodes'' (wire nets) in SPICE and netlist output. This name may be internally generated, or may be derived from a terminal name, or may be assigned by the user.

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.

  1. If a node is connected to a terminal device whose name string matches a global node name defined in the device library file, that global node name is used, and can not be overridden by the user. The global node names are set with the DefaultNode global properties, and are used as default nodes in some devices. In particular, the ``three terminal'' nmos and pmos devices included in the default library make use of this feature, defining global node names ``NSUB'' and ``PSUB'' that connect to the device substrate.

    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.

  2. If a user supplies a name for the node with the Node Mapping Editor or equivalent, that name will be used.

  3. If the node connects to a terminal of the current cell, the terminal name will be used as the node name. It is possible that more than one terminal of the current cell is connected to the node, in which case 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.

  4. If the node connects to a terminal, that terminal's name, as shown in its associated label, will be used. It is possible that more than one such terminal will be connected, with differing names, in which case the name chosen will be the one earliest in ACSII lexicographic order.

  5. The terminal will be given a name based on the internal node number of the node.

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.


next up previous contents index
Next: The plot Button: Generate Up: The Side Menu: Geometry Previous: The Logo Font Setup   Contents   Index
Stephen R. Whiteley 2012-04-01