| XC3000 | XC4000E | XC4000X | XC5200 | XC9000 | Spartan | SpartanXL | Virtex |
|---|---|---|---|---|---|---|---|
| Macro | Macro | Macro | Macro | Macro | Macro | Macro | Macro |


BRLSHFT4, a 4-bit barrel shifter, can rotate four inputs (I3 - I0) up to four places. The control inputs (S1 and S0) determine the number of positions, from one to four, that the data is rotated. The four outputs (O3 - O0) reflect the shifted data inputs.
BRLSHFT8, an 8-bit barrel shifter, can rotate the eight inputs (I7 - I0) up to eight places. The control inputs (S2 - S0) determine the number of positions, from one to eight, that the data is rotated. The eight outputs (O7 - O0) reflect the shifted data inputs.
| Inputs | Outputs | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| S1 | S0 | I0 | I1 | I2 | I3 | O0 | O1 | O2 | O3 |
| 0 | 0 | a | b | c | d | a | b | c | d |
| 0 | 1 | a | b | c | d | b | c | d | a |
| 1 | 0 | a | b | c | d | c | d | a | b |
| 1 | 1 | a | b | c | d | d | a | b | c |
BRLSHFT4 Truth Table
| Inputs | Output | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S2 | S1 | S0 | I0 | I1 | I2 | I3 | I4 | I5 | I6 | I7 | O0 | O1 | O2 | O3 | O4 | O5 | O6 | O7 |
| 0 | 0 | 0 | a | b | c | d | e | f | g | h | a | b | c | d | e | f | g | h |
| 0 | 0 | 1 | a | b | c | d | e | f | g | h | b | c | d | e | f | g | h | a |
| 0 | 1 | 0 | a | b | c | d | e | f | g | h | c | d | e | f | g | h | a | b |
| 0 | 1 | 1 | a | b | c | d | e | f | g | h | d | e | f | g | h | a | b | c |
| 1 | 0 | 0 | a | b | c | d | e | f | g | h | e | f | g | h | a | b | c | d |
| 1 | 0 | 1 | a | b | c | d | e | f | g | h | f | g | h | a | b | c | d | e |
| 1 | 1 | 0 | a | b | c | d | e | f | g | h | g | h | a | b | c | d | e | f |
| 1 | 1 | 1 | a | b | c | d | e | f | g | h | h | a | b | c | d | e | f | g |
BRLSHFT8 Truth Table
Figure 3.33 BRLSHFT8 Implementation XC3000, XC4000, XC5200, XC9000, Spartans, Virtex |