Last Updated on March 13, 2023 by Prepbytes
Shift Register is a digital circuit that can be used to store and transfer data sequentially. It is designed by connecting a set of flip flops with each flip flop storing a single bit of data. Then, the data is shifted from one flip-flop to another, either serial or parallel.
The information in form of bits can be made to move out or move in from these registers with the help of clock pulses. There can be n flip-flops that can be connected to make an n-bit shift register where a flip-flop stores a single bit of data.
Types of Shift Register
There are mainly four types of shift registers that can be described as follow below:-
- Serial In Serial Out shift register
- Serial In parallel Out shift register
- Parallel In Serial Out shift register
- Parallel In parallel Out shift register
Serial In Serial Out Shift Register
It is a shift register that performs input of serial data and generates serial data as the output. It stores multiple bits in a series of flip-flop shifting them one by one either left or right. It has single input and single output, both of them being serial.
Block Diagram of Serial In Serial Out Shift Register:
In the above illustration, we can see that all the D flip-flops are connected with the same clock signal applied, and are synchronous to each other as the input of the preceding flip-flop becomes the output of the following flip-flop.
This shift register allows us to transmit the bits serially from the leftmost D flip-flop’s input, which is also referred to as the serial input. On every positive edge-triggering of the clock signal, the data moves from one stage to the next. Simultaneously, the outputs of each D flip-flop can be accessed in serial from the rightmost flip-flop labelling it as serial output.
Serial In Parallel Out Shift Register
It is a shift register that performs input of serial data and generates parallel data as the output. It stores multiple bits in a series of flip-flops shifting them one by one either left or right. It has a single input and multiple outputs with all the outputs in parallel.
Block Diagram of Serial In Parallel Out Shift Register:
As shown in the illustration above, the circuit has four D flip-flops cascaded. When the same clock signal is applied, flip-flops are synchronous to each other as the input of the preceding flip-flop becomes the output of the following flip-flop. A clear signal is set to clear the connected flip-flops to reset their values.
This shift register allows us to transmit the bits serially from the leftmost D flip-flop’s input, which is also referred to as the serial input. On every positive edge-triggering of the clock signal, the data moves from one stage to the next. Simultaneously, the outputs of each D flip-flop can be accessed in parallel, resulting in parallel outputs from this shift register.
Parallel In Serial Out Shift Register
It is a shift register that receives parallel input data and generates series data as the output. Unlike serial input, the data is provided in parallel and simultaneously to each flip-flop.
Block Diagram of Parallel In Serial Out Shift Register :
Data is loaded into the parallel input pins of the shift register and then clocking is performed to get the data out of the serial pin of the shift register. Data is shifted one by one with the least significant bit shifted out first. A multiplexer named MUX is fit at to the output of the previous flip-flop and parallel data input. The output of MUX is connected to the next flip-flop. In this shift register, all the flip-flops are synchronous.
Parallel In Parallel Out Shift Register
It is a shift register that receives parallel input data and also generates parallel data as the output. Unlike serial input, the data is given in parallel and simultaneously to each flip-flop.
Block Diagram of Parallel In Parallel Out Shift Register:
The above-mentioned logic circuit has four D flip-flops with clear and clock signal available to each of the n flip-flops. Here, no flip-flops are connected to each other because no serial shifting is performed. The data is received and generated independently in each flip-flop.
Bidirectional Shift Register
Suppose the binary of a number is shifted by one position then the result turns to be a product of 2 and the number (i.e n*2) itself and on right shifting by one position then the result is a division of the initial number with 2 (i.e n/2).
Given above is a block diagram of the bidirectional shift register than can help understand the shift register better. Bidirectional registers have two modes, high(1) and low(0), in high, the data is shifted in the right direction while in low, the data is shifted towards the left direction.
Applications of Shift Register
Now that we have a certain understanding of shift registers and how they function, let’s take a look at some of the widely used applications of shift registers as follows:-
- Shift Register can be used for the temporary storage of data such as buffering and delay circuits.
- The two types of shift registers, parallel-in-parallel-out and serial-in-serial-out are used to produce time delay to digital circuits.
- A shift register can be used to convert data from parallel to shift or vice versa as such a parallel data stream can be converted to a series data stream using a shift register.
- Digital Signal Processing is another application of shift registers like filtering and enhancement. Shift Register is used in the design of finite impulse response.
- Counter Circuits can be implemented by placing the result of flip-flops together to the inputs of others. It counts up or down as per the configuration.
- Liquid Crystal Displays or LCDs use shift registers to convert parallel data to series data to make the segments of LCD function properly.
- Media Compression is the wide-used application of shift registers as algorithms like MPEG and JPEG use shift registers to encode and decode using variable-length codes.
- Serial Communication uses shift registers for transmitting and receiving data in serial communication protocols like serial peripheral interfaces and inter-integrated circuits.
In this article, we started with studying shift registers and understanding the working and types of shift registers with detailed descriptions and block diagrams. In the end, we studied the applications of shift registers and their prominent uses. We hope you liked this article and hope to see you again at PrepBytes.
Frequently Asked Questions
1. What is a shift register?
A shift register is an electronic device that can store and shift data in a serial manner. It is a collection of flip-flops connected in series, with the output of one flip-flop connected to the input of the next. The shift register can shift the data either left or right, depending on the design.
2. What are the applications of shift registers?
Shift registers are commonly used in digital circuits for a variety of applications, including data storage, serial-to-parallel and parallel-to-serial data conversion, shift and rotate operations, and frequency division. They are also used in communications systems, such as in serial data transmission and reception.
3. What are the different types of shift registers?
There are several types of shift registers, including parallel-in, serial-out (PISO), serial-in, parallel-out (SIPO), serial-in, serial-out (SISO), and parallel-in, parallel-out (PIPO) shift registers. Each type has its own specific application and use case.
4. How does a shift register work?
A shift register works by storing and shifting data in a serial manner. When data is input to the first flip-flop, it is stored there temporarily. When the shift signal is applied, the data is shifted to the next flip-flop, and so on. The output of the shift register is the last bit shifted out, which can be either the most significant or least significant bit depending on the shift direction.
5. What are the advantages of using shift registers?
Shift registers offer several advantages in digital circuit design, including storing and shifting large amounts of data in a small space, low power consumption, and high-speed operation. They also provide flexibility in data manipulation and conversion, making them useful in a wide range of applications.