Professional Documents
Culture Documents
A barrel shifter is a wrap around or end around shifter that is a very useful switch array. It uses
only combinational logic, and can be easily implemented in silicon. The basic layout is shown in
Figure. The inputs are labelled Ii , the shift controls Si , and the outputs Yi . If a shift of one or
two is desired, then the outputs will be as indicated in Figures .
The barrel shifter will be laid out with two 4-bit buses running horizontally through it, and the data
paths running vertically through it. A way of connecting any bus with any output bit is needed, and the
4¥4 crossbar switch is a simple circuit from which to start. The switching is done with transistors
labelled Sij , where switch ij connects bus i to output j. All sorts of shifting and interchanging of data can
be done with this structure, but it requires N2 control lines which limits the design to reasonably small
values of N. To convert the crossbar shifter to a barrel shifter, one must add a third horizontal bus line
to handle the shift signals. Next, add all the FET switches to connect bus i to output i as shown in Figure
6.23, and connect the gate of all these transistors together with a line labeled SHIFT-0.