- Game version
- v0.201.378
A Barrel Shifter is much like the standard shift operations found in most ALU designs. However they have the distinct benefit of being able to do in one operation what might otherwise take several much like using adders repeatedly or using a multiplication circuit. Shift/Rotation operations have multiple uses including but not limited to security and floating point numbers.
This design can be improved by removing the lights, as they cause lighting updates. Removing the internal activators that are used to connect together the individual 8-Wide modules, as you can have the logic gates connect directly. Also by better labeling of the inputs and outputs. As for some reason templates don't seem to save display's text contents reliably.
This circuit does Logical Shifts and Rotations only it doesn't support Arithmetic shift or Rotate through shifts.
OP (2-Bit) codes:
00 - Left Shift
01 - Left Roll
10 - Right Shift
11 - Right Roll
The amount input is a 3-Bit range with a fixed +1 offset
e.g.
Amount input of 000 = shift amount of 1
Amount input of 010 = shift amount of 3
ect.
When using an amount input of 111 the output will either match the input or all be low(0) depending on whether its a rotation operation or not.
As always any and all feedback is welcome please enjoy.
~SI
This design can be improved by removing the lights, as they cause lighting updates. Removing the internal activators that are used to connect together the individual 8-Wide modules, as you can have the logic gates connect directly. Also by better labeling of the inputs and outputs. As for some reason templates don't seem to save display's text contents reliably.
This circuit does Logical Shifts and Rotations only it doesn't support Arithmetic shift or Rotate through shifts.
OP (2-Bit) codes:
00 - Left Shift
01 - Left Roll
10 - Right Shift
11 - Right Roll
The amount input is a 3-Bit range with a fixed +1 offset
e.g.
Amount input of 000 = shift amount of 1
Amount input of 010 = shift amount of 3
ect.
When using an amount input of 111 the output will either match the input or all be low(0) depending on whether its a rotation operation or not.
As always any and all feedback is welcome please enjoy.
~SI