Barrel-Shifter

A barrel shifter is a component of the digital technology. It is a special type of a combinatorial circuit can be done with the binary shifts or rotations around an arbitrary variable number of digits. Unlike shift registers, which consist essentially of clocked flip-flops, such as D flip-flop, the barrel shifter is a combinational circuit, without the flip-flop as a storage element. If necessary, clocked flip-flops can be followed in the digital circuit, which are however not absolutely necessary for the proper function.

If the bits are cyclically connected each other within the barrel shifter, one also speaks of a barrel rotator.

General

In contrast to ordinary shift registers, a barrel shifter to perform a shift of several bits in a single step, thus avoiding time-consuming in carrying out grinding mehrbittiger shift operations. Depending on the application this can mean a significant speed advantage for the respective arithmetic unit, as this function can be performed in a single system clock usually.

A 4- bit-wide barrel rotator simplest form has four data inputs, two control inputs and four data outputs. When at the inputs of the string "ABCD " is present, it can be generated as a function of the possible four states at the two control inputs of the following main consequences: ABCD DABC, BCDA, CDAB, or.

The barrel shifter is often a component of microprocessors. Likewise, this logic function can be implemented as part of an overall circuit in a programmable logic device (PLD ), a FPGA or an ASIC. With discrete logic components, this circuit function is hardly realized today, because with these components, the required high clock frequencies usually can not be achieved and the circuit complexity of the installation and the cabling is much too large.

Realization

Barrel shifter can be variously constructed. A common variant is by means of multiplexers, which cause by appropriate wiring and control logic, a shift by a variable number of digits. In order to avoid different maturities, typically 2-of- 1 multiplexers are cascaded. Depending on the width of the barrel shifter 2 from many -1 multiplexers are different need their number increases disproportionately and therefore wide barrel shifter leads to a correspondingly large amount of circuitry:

  • 64 -bit -
  • 32 -bit -
  • 16 -bit -
  • 8 -bit -

Another possible implementation is in the form of digital Multiplizierwerken. In particular, when the digital circuit, such as an FPGA, unused hardware multiplier has, can thus be efficiently barrel shifter implemented without multiplexer.

There are also barrel shifter as a single integrated circuits, such as the block SN74AS897 which provides an 8 -bit barrel shifter.

Pictures of Barrel-Shifter

105992
de