Splitter
Library: | Base |
Introduced: | 2.0 Beta 1 |
Appearance: |
Behavior
The splitter creates a correspondence between a multi-bit value and several separate subsets of those bits. Despite its name, it can either split a multi-bit value into component parts, or it can combine component parts into a multi-bit value - or indeed it can do both at once. A more complete description of splitters is found in the `Splitters' section of the User's Guide.
Logisim treats splitters specially when propagating values within a circuit: Whereas all other components have a computed delay for purposes of simulating their behavior, values propagate through splitters (as well as wires) instantaneously.
Note: The term splitter is a non-standard term, which is unique to Logisim as far as I know. I am unaware of any standard term for such a concept; the only term I have heard used is bus ripper, but this term is unnecessarily violent for my tastes.
Pins
To distinguish the several connecting points for a splitter, we refer to the single connecting point one side as its combined end, and we refer to the multiple connecting points on the other side as its split ends.
- Combined end (input/output bit width matches Bit Width In attribute)
- A value holding all of the bits traveling through the splitter.
- Split ends (input/output, bit width computed based on Bit x attributes)
- The number of split ends is specified in the Fan Out attribute, and each split end has an index that is at least 0 and less than the Fan Out attribute. For each split end, all bits for which Bit x refers to its index travels through that split end; the order of these bits is the same as their order within the combined end.
Attributes
When the component is selected or being added,
the digits '0' through '9' alter its Fan Out
attribute,
Alt-0 through Alt-9 alter both the Fan Out
and Bit Width In
attributes,
and the arrow keys alter its Facing
attribute.
- Facing
- The location of the split ends relative to the combined end.
- Fan Out
- The number of split ends.
- Bit Width In
- The bit width of the combined end.
- Bit x
- The index of the split end to which bit x of the combined end corresponds. The split ends are indexed starting from 0 at the top (for a splitter facing east or west) or from 0 at the left/west (for a splitter facing north or south). A bit can be specified to correspond to none of the split ends. There is no way for a bit to correspond to multiple split ends.
Poke Tool Behavior
None.
Text Tool Behavior
None.