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

SIPO: Serial-to-Parallel Conversion Timing

MediumLogic CircuitTiming Diagram

A 100kHz serial link transmits a 7-bit character to a 7-bit Serial-In Parallel-Out (SIPO) shift register. The shift register captures SER_IN into Q0 on every LOW-to-HIGH transition of CLK and shifts existing bits toward Q6. A separate output register captures the shift register bits on the LOW-to-HIGH transition of STROBE. All outputs are initially 0.

Six signals are shown: CLK (clock, period 2), SER_IN (serial data input), STROBE (active-HIGH latch clock), and outputs Q0, Q6, and LATCH_Q6.

Trace Q0, Q6, and LATCH_Q6 across all 16 time steps.

Constraints

  • All flip-flops and registers are positive-edge-triggered.
  • Assume zero propagation delay. Outputs update exactly at the time step of the clock edge.

Topics

shift-registertimingserial-to-parallel

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