CodiodeCodiode
Home
Problem Solving
Skill Tracks
My Assignments
Contests
Leaderboard
Community
Settings
Codiode/Problems/Sequential Logic

4-Bit SIPO: Construction from SISO

EasyLogic CircuitBuild

Serial communication protocols like SPI or UART require converting sequential data streams into parallel words for microprocessor consumption. The Serial-In Parallel-Out (SIPO) register acts as this data deserializer by exposing the internal state of a shift register.

A SIPO is structurally identical to a Serial-In Serial-Out (SISO) register. The only distinction is that every intermediate flip-flop output is routed to an external parallel pin. On every rising edge of clk, the value at D is sampled into Q0. Simultaneously, the previous value of Q0 shifts to Q1, Q1 shifts to Q2, and Q2 shifts to Q3.

| clk edge | Q0 | Q1 | Q2 | Q3 | |------------|------|------|------|------| | Rising | D | Q0 | Q1 | Q2 |

Constraints

  • Use exactly four D flip-flops.
  • All flip-flops must share the same clk signal.
  • Route the output of each flip-flop to both the next stage and its corresponding parallel output pin.
  • Do not use pre-packaged shift register macros.

Topics

DFFShift RegistersSIPO

Solve this problem

Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.

This problem is part of Codiode Pro. The statement above is free to read.

Sign in to solveSee what Pro unlocks

The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.

Related problems

  • 3-bit Ripple Counter from Toggle Flip-FlopsEasy
  • D Latch from a 2:1 MUXEasy
  • 2-bit Ring CounterEasy
  • T Flip-Flop from a D Flip-FlopEasy
  • Handshake Deadlock Due to Early ResetHard
  • Reconvergence of Individually Synchronized BitsHard
  • Debug: Asynchronous Clear GlitchHard
  • Clock Gate Enable Crossing DomainsHard

Browse all problems · Learning tracks