Shift Registers
A register that is capable of shifting data one bit at a time is called a shift register. Shift registers are a type of sequential logic circuit, mainly used for store and move digital data. They accept binary inputs from one serial or parallel source and then shift the data through a chain of flip-flops, one bit at time. In shift register the output of the first flip-flop becomes the input of the next flip-flop. All the flip-flops are driven by a common clock, and all are set or reset simultaneously.
One of the most common uses of a shift register is to convert between serial and parallel interfaces. This is useful as many circuits work on groups of bits in parallel, but serial interfaces are simpler to construct. Shift registers can be used as simple delay circuits. Several bi-directional shift registers could also be connected in parallel for a hardware implementation of a stack.
Types:
Serial In - Serial Out Shift Registers
Serial In - Parallel Out Shift Registers
Parallel In - Serial Out Shift Registers
Parallel In - Parallel Out Shift Registers
Serial In - Serial Out Shift Registers:
Serial In - Serial Out Shift registers receive serial data from one input and send serial data from one output. This registers delay data by one clock time for each stage. They will store a bit of data for each register. A serial-in, serial-out shift register may be one to 64 bits in length, longer if registers or packages are cascaded.
Serial In - Parallel Out Shift Registers:
Serial in/parallel out (SIPO) registers receive serial data from one input and send parallel data from several outputs. Therefore, a serial-in/parallel-out shift register converts data from serial format to parallel format. It is different in that it makes all the internal stages available as outputs.
Parallel In - Serial Out Shift Registers:
Parallel in/serial out (PISO) registers receive parallel data from several inputs and send serial data from one output. This is a way to convert data from a parallel format to a serial format. The parallel-in/ serial-out shift register stores data, shifts it on a clock by clock basis, and delays it by the number of stages times the clock period.
Parallel In - Parallel Out Shift Registers:
Parallel in/parallel out (PIPO) registers receive parallel data from several inputs and send parallel data from several outputs.