Skip to main content

SISO and SIPO shift register circuits

Short answer

In a Serial In/Serial Out shift register, data enters and leaves one bit at a time through the chain of D flip-flops, providing a 4-clock delay. The Serial In/Parallel Out register instead takes parallel outputs from all flip-flops after 4 clocks, converting serial data to a parallel word.

Draw the circuit diagram of Serial In Serial Out and Serial In Parallel Out shift register and explain one of them.

Both registers are chains of D flip-flops with a common clock in which Q of one stage drives D of the next. They differ only in how the output is taken.

Serial In Serial Out (SISO)

 Din  +-----+   +-----+   +-----+   +-----+
 ---->|D  QA|-->|D  QB|-->|D  QC|-->|D  QD|--> Dout
      |>    |   |>    |   |>    |   |>    |
      +-----+   +-----+   +-----+   +-----+
         ^         ^         ^         ^
 CLK ----+---------+---------+---------+

Output only from the last flip-flop (QD).

Serial In Parallel Out (SIPO)

 Din  +-----+   +-----+   +-----+   +-----+
 ---->|D  QA|-+>|D  QB|-+>|D  QC|-+>|D  QD|-+
      |>    | | |>    | | |>    | | |>    | |
      +-----+ | +-----+ | +-----+ | +-----+ |
         ^    |    ^    |    ^    |    ^    |
 CLK ----+----|----+----|----+----|----+    |
              v         v         v         v
             QA        QB        QC        QD
          (parallel outputs read together)

Outputs from every flip-flop (QA to QD) are available together.

Explanation of SIPO shift register

  1. Clear all flip-flops (QA..QD = 0000).
  2. Apply the data bits one at a time at Din, LSB first. At each rising clock edge every bit moves one stage to the right: QA←Din, QB←QA, QC←QB, QD←QCQA \leftarrow D_{in},\ QB \leftarrow QA,\ QC \leftarrow QB,\ QD \leftarrow QC.
  3. After 4 clocks the full word is stored and is read in parallel from QA QB QC QD.

Example, storing 1011 (serial input 1, 1, 0, 1):

CLKSerial inQAQBQCQD
0 (initial)-0000
111000
211100
300110
411011
       1   2   3   4
CLK   _|‾|_|‾|_|‾|_|‾|
Din   ‾‾‾‾‾‾‾|___|‾‾‾|
QA    _|‾‾‾‾‾‾‾|___|‾‾
QB    _____|‾‾‾‾‾‾‾|__
QC    _________|‾‾‾‾‾‾
QD    _____________|‾‾

After the 4th clock the outputs show QA QB QC QD = 1011. Thus SIPO converts serial data to parallel form (used in serial receivers), while SISO only delays the data by 4 clock periods.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 7 questions →