Once the devices and subcircuits have been placed, wires can be added to make connections between them. This is not typically a two-step process, as most users build a schematic by mixing placement and wiring operations.
First, it should be stressed that connections do not always require wires, and in particular it is often most convenient to make connections between devices by abutment. Devices and subcircuits have specific local coordinates where a connection is possible. In a device, these are typically at the end of the wire stubs shown as part of the device symbol. In subcircuits, these are the terminal locations defined by the designer of the subcell, and can be made visible with the terms button in the side menu. When moving or placing a device, or creating a wire, visual feedback is provided when the mouse pointer is over a possible connection point. Connections can only occur at the connection points. The Connection Dots button in the Attributes Menu can be used to draw a dot at all connection locations.
The devices in the device menu should mostly be familiar to users of SPICE. There are special terminal ``devices'' that can be used instead of wires to provide interconnections. These are the ``gnd'', ``tbar'' and equivalent terminals. In the first case, the symbol is of a ground connection, and it provides exactly that. At least one point of every circuit must be grounded, or the SPICE simulation may fail. The tbar terminal is more general purpose. As it is, this terminal will tie all locations attached to such terminals together. This is a convenient way of distributing a power net, for example. If the name label of the tbar device is changed, then all locations attached to terminals with this name will form a different network. The easiest way to change the name is to click on the ``tbar'' label of an existing tbar device (thus selecting the label), then press the label button in the side menu. The user will be prompted for a new string. Once the new string has been entered, the label will be updated, and the terminal can be copied to other locations to from the network.
Remaining connections are made with the wires button in the side menu, which has an icon that looks like a sideways L. Before generating wires for connections, the user should make sure that the current layer is the ``SCED'' layer. Wires on this layer are electrically active. Wires created on other layers are for decoration purposes only, unless the WireActive flag is set for the layer.
Wires are used to connect the devices together by clicking on the vertex locations of the wires. The vertices must be on the contact points of devices and subcircuits, i.e., the ends of the connecting wire stubs of the devices, and the terminal locations of subcircuits. These vertices are created automatically in horizontal or vertical wire segments which cross over contact points.
One of the problems that some new users encounter is that contact is not made due to improper placement of wires in relation to device contact points. To reiterate the previous discussion, only the ends of the wire stubs of devices are ``active'', and these must physically coincide with a wire vertex. Although a vertex will generally be created if necessary in an intersecting wire, new users should form the habit of explicitly creating a vertex, by clicking on the contact point while creating the wire,
In electrical mode, the first layer in the layer table is a layer named ``SCED''. This is an active wiring layer, and by default only this layer can be used for electrically significant wires. The layer named ``SPTX'' is also active, in that labels on this layer are included in the SPICE text generated for the cell. Other layers are used for visual purposes only (such as color-coding the displayed property labels), or for temporary ``storage'' of parts of the circuit not in use. The Chg Layer button in the Edit Menu is used to change the layer of objects.
The additional layers can be used for anything, but serve the following purposes:
SCED active wiring layer SPTX active label layer NAME device/subcircuit name property labels MODL device model property labels VALU device value property labels PARM device/subcircuit param property labels NODE terminal label ETC1 general purpose ETC2 general purpose
The Connection Dots button can be used to show dots at connection points. New users often appreciate the feedback provided by the Connection Dots button that a connection has been made. One has a choice of whether dots appear at every connection, or only at those likely to be ambiguous. When a wire is created, if it runs over a device terminal or a vertex of another wire while horizontal or vertical, a vertex is generated, which implies a connection. Two wires crossing do not connect, unless a vertex existed in one of the wires at the crossing point. Sometimes, is is desirable to remove a connection, or to enforce a connection of two crossing wires. This can be accomplished with the vertex editor available with the wires button. First, select the wire by clicking on it. After pressing the wires button, each vertex of the wire will be shown with a small box. Clicking on a vertex box will select that vertex, and allow the vertex to be dragged to a new location or deleted. In either case, the connection to an underlying vertex or device terminal will be broken. To add a vertex, click on the selected wire at the point where the vertex is to be added. A new vertex box will appear. If there is an underlying device terminal or wire vertex, a connection will have been established. If two wires cross with neither wire having a vertex at the crossing point, adding a vertex to one of the wires will automatically add a corresponding vertex to the second wire if the second wire is horizontal or vertical at the crossing point.