Selectors and Shifters
In this chapter, we present combinational circuits that manipulate the input bits. By manipulation we mean that the bits in the output appear in the input. Why do we need such circuits?
We deal with two settings in which such manipulations take place: selection and shifting.
- In selection, we are given an n-bit string D[n – 1 : 0] and an encoding of an index 0 ≤ i < n in binary representation. The output is simply D[i]. Namely, we want the output to equal the ith bit of the input. The circuit that performs selection is often called a multiplexer.
- In shifting, we wish to “move” the input bits around. Most programming languages include shift instructions, so we must design combinational circuits that can ...