Skip to main content

SIPO register with 1001 data

Short answer

Input 1001 is applied LSB-first (1,0,0,1) over four clocks. After clock 4 the register stores 1001 (QA=1, QB=0, QC=0, QD=1). Retrieval is parallel: all four bits are read simultaneously at that moment, requiring no extra clock.

You are provided with a bit sequence 1001 to operate with serial in parallel out shift register. Draw the circuit diagram and timing diagram to illustrate the procedure for storing and retrieving those bits.

In a serial-in parallel-out (SIPO) shift register, bits are fed one by one into the first flip-flop and shifted along at every clock; once all bits are in, they are read at the same time from the outputs of all flip-flops. For the 4-bit sequence 1001 we need four D flip-flops with a common clock.

Circuit

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

Each flip-flop's Q drives the next D input, and all four Q outputs are brought out. At every clock edge: QA←Din, QB←QA, QC←QB, QD←QCQA \leftarrow D_{in},\ QB \leftarrow QA,\ QC \leftarrow QB,\ QD \leftarrow QC.

Operation with data 1001

The register is first cleared (0000). The data is applied LSB first, so the serial input is 1, 0, 0, 1 at clocks 1 to 4.

CLKSerial inQAQBQCQD
0 (initial)-0000
111000
200100
300010
411001
500100
600010
700001
800000
  • Storing: after the 4th clock, QA QB QC QD = 1001, which is 1001 with QA as MSB.
  • Retrieving: the four outputs are read at once (in parallel) right after clock 4, so loading takes 4 clocks but reading takes no extra clock. (If clocking continues with input 0, the data shifts out at QD and the register clears after clock 8.)

Timing diagram

       1   2   3   4   5   6   7   8
CLK   _|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|
Din   ‾‾‾|_______|‾‾‾|________________
QA    _|‾‾‾|_______|‾‾‾|______________
QB    _____|‾‾‾|_______|‾‾‾|__________
QC    _________|‾‾‾|_______|‾‾‾|______
QD    _____________|‾‾‾|_______|‾‾‾|__

So storing 1001 takes 4 clock pulses (input 1, 0, 0, 1, since 1001 is the same read either way), and retrieving is done in one step by reading QA QB QC QD = 1001 in parallel.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 7 questions →