Back to course

Shift Registers: Serial In - Serial Out (SISO)

Digital Logic Systems: From Zero to Hero

39. Shift Registers: Serial In - Serial Out (SISO)

A Shift Register is a specialized register that can shift the stored data left or right by one position upon each clock pulse.

Serial Data Transfer

Shift registers are fundamental in handling serial data communication, where data is transferred one bit at a time over a single line (like USB or SPI).

SISO Structure

  1. An N-bit SISO register consists of N D Flip-Flops connected in a simple cascade chain.
  2. The output ($Q_i$) of one FF becomes the input ($D_{i+1}$) of the next FF.
  3. Data is entered sequentially (Serial Input, $D_{in}$) into the first FF.
  4. Data exits sequentially from the last FF (Serial Output, $Q_{out}$).

Operation

To load an N-bit word, it takes N clock pulses. On each clock pulse, the first bit is loaded, and all existing bits shift one position down the chain.

Example: To load 1011 (4 bits):

Clock PulseInput$Q_3 Q_2 Q_1 Q_0$
Start-0000
111000
211100
300110
411011

The data is available at $Q_0$ after 4 clock cycles.