12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <html>
- <head>
- <title>Wiring Tool</title>
- </head>
- <body bgcolor="FFFFFF">
- <h1><img align="center" src="../../../../en/icons/wiring.gif" width="32" height="32">
- <em>Wiring Tool</em></h1>
- <p><table>
- <tr><td><strong>Library:</strong></td>
- <td><a href="index.html">Base</a></td></tr>
- <tr><td><strong>Introduced:</strong></td>
- <td>2.0 Beta 1</td></tr>
- </table></p>
- <h2>Behavior</h2>
- <p>The wiring tool is the tool for creating wire segments that carry
- values from one endpoint to another. The bit width of these values can
- be anything; exactly which bit width is automatically inferred from the
- components to which the wires are ultimately attached. If it is not
- attached to any components, the wire will be drawn gray to indicate that
- its bit width is unknown; if the components at the locations that the
- wire helps to connect disagree on the bit width, then the wire will be
- drawn orange to indicate the conflict, and the wire will in fact refuse
- to carry any values at all until the user resolves the conflict.</p>
- <p>A single drag of the mouse can create multiple wire segments. The
- precise process is a little confusing in its description; but it works
- quite intuitively in practice: If you request a particular wire segment
- using the Wiring Tool, that segment will be split apart wherever it hits
- a pin for an existing component, or wherever it hits the endpoint of an
- existing wire segment. Also, if an endpoint of any of the new wire
- segments hit somewhere in the middle of an existing wire, then that wire
- will be split into multiple segments itself.</p>
- <p>For some components that draw short stubs to which wires can connect
- (such as an <a href="../gates/basic.html">OR gate</a> or a <a
- href="../gates/controlled.html">controlled buffer</a>), Logisim will
- silently correct attempts to create wires that slightly overshoot the
- stub's end.</p>
- <p>You can also shorten an existing wire segment using the Wiring Tool,
- using a drag that starts or ends at a terminus of the segment, and that
- overlaps the existing segment.</p>
- <p>All wires in Logisim are either horizontal or vertical.</p>
- <p>Wires are also non-directional; that is, they carry values from
- either endpoint to the other. Indeed, a wire can carry values
- in both directions simultaneously; the center wire in the below example
- is doing this.</p>
- <center><img src="../../../../en/img-guide/bundles-splitter-2way.png" width="191" height="44"></center>
- <h2>Attributes</h2>
- <p>The wiring tool does not itself have attributes, but the wires that
- it creates do.</p>
- <dl>
- <dt>Direction</dt>
- <dd>Indicates whether the wire is horizontal or vertical.
- The value of this attribute cannot be changed.</dd>
- <dt>Length</dt>
- <dd>Indicates how many pixels long the wire is.
- The value of this attribute cannot be changed.</dd>
- </dl>
- <h2>Poke Tool Behavior</h2>
- <p>When you click an existing wire segment using the Poke Tool, Logisim
- displays the current value traveling through that wire.
- The behavior is particularly useful for multi-bit wires, whose black
- color provide no visual feedback about what value the wire is
- carrying.</p>
- <p>For multi-bit values, you can configure exactly how the value
- is displayed (in binary, decimal, or hexadecimal, for example) using
- the <a href="../../guide/prefs/layout.html">Layout
- pane</a> of the Logisim Preferences dialog box.
- <p><a href="../index.html">Back to <em>Library Reference</em></a></p>
- </body>
- </html>
|