next up previous contents index
Next: Proxy Windows Up: Prompt Line Previous: Prompt Line Editing   Contents   Index


Hypertext

Xic contains a ``hypertext'' capability, which is active in electrical mode. By default, the names of circuit nodes and devices are internally assigned, implying that the name of a particular device or node name of a particular wire net might not be well defined. This poses a problem when one wishes to identify a specific device or wire net by name. The hypertext feature addresses this issue, as do the node name mapping and name property assignment features.

This is necessary, for example, when setting device properties which reference other devices or nodes. The device names and node numbers might change, thus property text could become invalid if it were static. Instead, internally, strings are stored as data structures which reference pure text as well as devices and nodes by internal reference. Thus, these hypertext strings are always valid.

One creates a hypertext reference by clicking on the schematic while text input is being solicited in the prompt area. The returned data can be a node reference, a device branch reference, or a device name. The string, as currently defined, is inserted into the displayed text in the prompt area in color. Note that one can only delete the whole item with the Delete and Backspace keys, the hypertext references are treated as single items.

<p> One will encounter hypertext when using the prompt line editor as itemized below. In these cases, one could type in the text, however if due to future modifications that text changes, the present text would be wrong. If is therefor advantageous to use hypertext, by, e.g., clicking on a device in a drawing window rather than typing its name.

There are three types of reference that can be defined by clicking in a schematic.

Node Reference
If the user clicks over a wire or on a contact point of a device or subcircuit, a node reference is established. The colored hypertext entered into the prompt line as a response is of the SPICE form ``V(name)'', where name is the node name, which is an integer by default. The string, when printed or shown as a label, will always show the correct name for the node selected.

``Hidden'' target
Some devices have a ``hidden'' target, which is usually shown as a `+ ' symbol as part of the device schematic representation. The hidden targets are defined in the device definition in the device library file, so that the meaning and location may differ. In the default device library, most two-terminal devices have such a point, which generally returns a branch node or function which specifies the current through the device. For Josephson junctions, the target represents the junction phase. Clicking on this point in a drawing window will insert the corresponding reference.

Name Reference
Clicking within the bounding box of a device or subcircuit, but not over a node or hidden target, will insert a name reference. The returned text is the name of the instance, as derived from the name property attached to the device or subcircuit. This can be applied by the user, to give the device a fixed name. If no name property is applied by the user, Xic will generate one with an internally generated name.

The node references and hidden targets are also the sensitive points when using the plot and iplot commands.

Note that these targets are active at any level of the hierarchy. However, they are generally not selectable unless the containing subcell is shown expanded as a schematic. If a subcircuit is shown as a symbol, one can still select internal points for hypertext references by using a proxy window. This is described in the next section.

This feature can be used to set up specialized SPICE output. Suppose one wishes to use a .save line in WRspice. A spicetext label can be created, where the nodes to be included in the save are inserted in the label by clicking on the drawing. The resulting .save line will always save the clicked-on nodes, whether or not the actual node names change.

For another example, suppose one needs to apply a functional dependence to a voltage source in the circuit to the voltage of some node. One would accomplish this with the following procedure.

  1. Open the Property Editor and use the Add menu to initiate addition of a value property.
  2. In the prompt line, type the equation representing the desired functional dependence, and whenever the node voltage text is needed, click on that node in a drawing window.
  3. Press Enter to complete the operation.

The equation should appear in the property label near the voltage source. This could be, for example, ``2*v(4) + v(5)'', if default node names are used. Later, after modifying the circuit, one might notice that the label now reads ``2*v(6) + v(8)''. The internal node numbering has changed due to the modification, but the source still references the correct circuit nodes. This would not be the case if ordinary text was used for the equation string.


next up previous contents index
Next: Proxy Windows Up: Prompt Line Previous: Prompt Line Editing   Contents   Index
Stephen R. Whiteley 2022-05-28