10.1.32.1 Barrel Shifter Functionality

The Barrel Shifter can be generated for a fixed shift or range of shift, with feedbit shift or rotation in left, right or both directions. The non-pipelined Barrel Shifter is designed to shift any number of positions at one time. For the pipelined version, it takes log2(MAXSHIFT) clock cycles for the shifted data to appear at the output.

The architecture is based on 2:1 multiplexors.

Table 10-125. Functional DescriptionA (Standard)
DataEnableClockQ
M1ƒQn
M0ƒMshifted
Note: Assume Aclr is active low, Enable is active high, Clock is rising.
Table 10-126. Functional DescriptionA (Pipelined)
DataAclrEnableClockQ
X0XX0's
X10XQn = Mshifted - log2(MAXSHIFT)
m11Qn+1 = Mshifted - log2(MAXSHIFT) + 1
Note: Assume Aclr is active low, Enable is active high, Clock is rising.