Shift Registers
Definition & Applications (serial-to-parallel conversion).
Types:
0 Serial-In Serial-Out (SISO).
0 Serial-In Parallel-Out (SIPO).
Parallel-In Serial-Out (PISO).
O Parallel-In Parallel-Out (PIPO).
Shift Register
A shift register is a sequential logic circuit made up of flip-flops connected in a chain so that the
output of one flip-flop becomes the input of the next. It is used to store and transfer data.
✅ Applications (including Serial-to-Parallel Conversion):
Serial-to-Parallel Conversion: Shift registers can take serial input data (one bit at a time) and
convert it into parallel output (multiple bits at once). This is useful in communication systems to
match different data formats between devices.
Serial-In Serial-Out (SISO):
A Serial-In Serial-Out (SISO) shift register is a type of digital circuit where data is entered one
bit at a time (serially) and is also output one bit at a time (serially) after passing through a series
of flip-flops.
Each clock pulse shifts the data one position to the right (or left), and the output is taken from the
last flip-flop.
✅ Working:
Data is loaded bit-by-bit at the input.
Each clock pulse moves the bit to the next flip-flop.
After n clock pulses (for an n-bit register), the first bit entered appears at the output.
Applications:
Time delay circuits
Data serialization for transmission
Simple data storage or buffering
Sequence generation or detection
The above circuit is an example of a shift right register, taking the serial data
input from the left side of the flip flop. The main use of a SISO is to act as a
delay element.
Serial-In Parallel-Out Shift Register (SIPO)
A Serial-In Parallel-Out (SIPO) shift register takes data serially (bit-by-bit
input) and makes it available all at once (in parallel) at its outputs.
Each bit is shifted in on each clock pulse and stored in a flip-flop. After a
certain number of pulses (equal to the number of flip-flops), the full data
becomes available at the output lines simultaneously.
🔹 Working:
Data is entered serially, one bit per clock cycle.
Each clock pulse shifts the bits into the next flip-flop.
The contents of all flip-flops are available in parallel after loading.
The above circuit is an example of a shift right register, taking the serial data
input from the left side of the flip-flop and producing a parallel output. They
are used in communication lines where demultiplexing of a data line into
several parallel lines is required because the main use of the SIPO register is
to convert serial data into parallel data.
Applications:
Microcontroller I/O expansion
LED control (e.g., LED matrix displays)
Converting serial data (like from UART) to parallel for processing
Data buffering and temporary storage
Parallel-In serious output
A Parallel-In Serial-Out (PISO) shift register is a digital circuit that allows
multiple bits of data to be loaded in parallel simultaneously, and then shifts
them out one by one (serially) on each clock pulse.
🔹 Working:
1. When a load signal is active, data is loaded in parallel into each flip-
flop.
2. Then, on each clock pulse, the data is shifted out serially, one bit at a
time, starting from the highest or lowest bit (depending on design).
Applications:
Sending parallel data over serial communication lines
Data compression and transfer
Microcontroller communication (SPI, etc.)
Keyboard or sensor data sending
Parallel-In Parallel-Out (PIPO).The shift register, which allows
parallel input (data is given separately to each flip flop and in a simultaneous
manner) and also produces a parallel output is known as Parallel-In parallel-
Out shift register. The logic circuit given below shows a parallel-in-parallel-
out shift register. The circuit consists of four D flip-flops which are connected.
The clear (CLR) signal and clock signals are connected to all 4 flip-flops. In
this type of register, there are no interconnections between the individual
flip-flops since no serial shifting of the data is required.
Working:
On an active load signal (or rising clock edge), the parallel input bits (D3–D0)
are stored in flip-flops.
The stored data is then available at the parallel output lines (Q3–Q0)
immediately.
There is no serial movement of data.
Applications:
Temporary data storage
Parallel data processing systems
Registers inside ALUs
Storing sensor or control signals