Shift registers

Comprehensive study notes, diagrams, and exam preparation for Shift registers.

Shift registers

Definition

A shift register is a group of flip-flops connected in such a way that binary information can be entered, stored, and shifted from one stage to another on each clock pulse.

In simple terms, it is a circuit that:

  • stores data in binary form,
  • moves data in a sequence under clock control,
  • and can accept or deliver data either serially or in parallel.

For example, if a 4-bit shift register contains 1011, a clock pulse may shift the bits to 0101 or 0110 depending on the direction and type of shift register used.


Main Content

1. Basic Structure and Operation of Shift Registers

  • A shift register is made by connecting multiple flip-flops in cascade, usually D flip-flops, because they are simple and well suited for data storage and transfer.
  • Each flip-flop stores one bit, so an n-bit shift register can store n binary digits. The same clock signal is applied to all flip-flops so that all stages update simultaneously on the active clock edge.

A typical 4-bit right shift register can be represented as:

Serial Input -> [FF1] -> [FF2] -> [FF3] -> [FF4] -> Serial Output
                   Q1       Q2       Q3       Q4

On each clock pulse:

  • the new input bit enters the first stage,
  • each stored bit moves one position,
  • the last bit is shifted out.

Example:

  • Initial contents: 1 0 1 1
  • After one right shift with input 0:
  • new contents become 0 1 0 1

This shifting action is the key feature that gives the register its name. Because the data movement occurs in step with the clock, shift registers are sequential circuits, not combinational circuits.

2. Types of Shift Registers

Serial-In Serial-Out (SISO)

  • Data enters one bit at a time and leaves one bit at a time. This is useful for temporary storage and delay applications.

Serial-In Parallel-Out (SIPO)

  • Data enters serially but can be read from all outputs simultaneously. This is widely used for serial-to-parallel conversion.
Serial In -> [FF] -> [FF] -> [FF] -> [FF]
             |      |      |      |
           Q1     Q2     Q3     Q4

Parallel-In Serial-Out (PISO)

  • All bits are loaded at once and then shifted out one by one. This is used in parallel-to-serial conversion.

Parallel-In Parallel-Out (PIPO)

  • Data is loaded and read in parallel. This works like a basic register for temporary storage.

Also, shift registers may be classified by direction:

Right shift register

  • bits move toward the right.

Left shift register

  • bits move toward the left.

Bidirectional shift register

  • can shift in both directions depending on control input.

Universal shift register

  • can shift left, shift right, parallel load, and hold data.

These types make shift registers flexible for many digital design tasks.

3. Functional Uses and Characteristics

  • Shift registers are used for data conversion, such as converting serial data from a communication channel into parallel form for processing by a microprocessor, or converting parallel data into serial form for transmission.
  • They are also used as digital delay elements, where data is delayed by one or more clock cycles as it passes through the stages.

For example, in a 4-bit SISO register, if each flip-flop delays the bit by one clock cycle, the total delay through the register is four clock cycles.

Shift registers also support:

temporary data storage

ring counters and Johnson counters

sequence generation

arithmetic shifting

pseudo-random bit generation in some specialized designs

Important properties include:

  • data movement is synchronized with the clock,
  • the number of stages determines storage capacity and delay,
  • the input/output mode determines the application,
  • the circuit can be designed with simple logic but provides powerful functionality.

Working / Process

1. Data input is applied

  • Binary data is fed into the first stage either serially or in parallel, depending on the type of shift register.
  • In serial mode, one bit enters per clock pulse.
  • In parallel mode, all bits enter at once through separate input lines.

2. Clock pulse triggers shifting

  • When the clock edge arrives, each flip-flop captures the value from the previous stage.
  • The stored bits move one position in the specified direction.
  • The new input bit is stored in the first stage.

3. Output is updated

  • After shifting, the final stage presents the last bit to the output.
  • In parallel-output types, all stage outputs are available simultaneously.
  • In serial-output types, one bit exits per clock pulse.
  • Repeated clock pulses continue the movement until all bits are shifted through the register.

Example of a 4-bit right shift:

  • Initial contents: 1 0 1 1
  • Input bit: 0
  • After clock pulse: 0 1 0 1
Before clock:   [1] [0] [1] [1]
After clock:    [0] [1] [0] [1]

This process repeats each cycle, making the shift register a controlled data movement system.


Advantages / Applications

Data conversion

  • Shift registers efficiently convert serial data to parallel data and vice versa, which is essential in communication and interfacing systems.

Storage and timing

  • They provide temporary storage and accurate time delay because each stage updates only on a clock pulse.

Versatility in digital systems

  • They are used in registers, counters, sequence generators, display drivers, and hardware interfaces such as LED control and data transfer circuits.

Common applications include:

  • serial communication receivers and transmitters,
  • keyboard interfacing,
  • LED pattern generation,
  • digital timing circuits,
  • ring and Johnson counters,
  • arithmetic shift operations in processors.

Summary

A shift register is a clocked sequential circuit made of flip-flops that stores bits and shifts them from one stage to another. It is used to move data serially or in parallel, provide delays, and support many digital system functions.

  • Key point 1: It stores binary data and shifts it under clock control.
  • Key point 2: It can work in serial, parallel, left, right, or bidirectional modes.
  • Key point 3: It is important in data conversion, storage, and timing applications.
  • Important terms to remember: flip-flop, clock pulse, serial input, parallel input, shift left, shift right, SISO, SIPO, PISO, PIPO, universal shift register