 Bit Extender
Bit Extender
| Library: | Wiring | 
| Introduced: | 2.5.0 (in Base library, moved to Wiring in 2.7.0) | 
| Appearance: |  | 
Behavior
The bit extender transforms a value into a value of another bit width.
If it's being transformed into a smaller bit width,
it is simply truncated to keep the lowest-order bits.
If it's being transformed into a large bit width,
the lowest-order bits are the same,
and you have a choice about what the additional high-order bits will be:
They can all be 0, all be 1, all match the input's sign bit
(its highest-order bit), or the component can have an additional one-bit
input that determines the identity of these other bits.
Pins
- West edge (input, bit width from Bit Width In attribute)
- The multi-bit input whose value is to be transformed. 
- East edge (output, bit width from Bit Width Out attribute)
- The computed output. 
- North edge (input, bit width 1)
- Specifies what the additional bits in the output should be. This pin is available only when the Extension Type attribute is - Input. 
Attributes
When the component is selected or being added,
the digits 0 through 9 alter the Bit Width In
 attribute
and Alt-0 through Alt-9 alter its Bit Width Out
 attribute.
- Bit Width In
- The input's bit width.
- Bit Width Out
- The output's bit width.
- Extension Type
- Assuming the output bit width exceeds the input bit width,
this attribute configures what the additional output bits should be.
If Zero orOne, the additional bits are 0 or 1 accordingly. IfSign, the additional bits are taken to match the highest-order bit in the input. And ifInput, the component has a second input on its north side whose one-bit value is used for the additional bits.
Poke Tool Behavior
None.
Text Tool Behavior
None.
