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

PISO: Serial Output Timing Relative to Load Cycle Annotation

MediumLogic CircuitTiming Diagram

A 4-bit Parallel-In Serial-Out (PISO) shift register internally captures parallel data on the positive clock edge when LOAD is HIGH, and begins serial transmission on the following positive clock edge.

Six signals are shown: CLK (clock, period 2), LOAD (synchronous active-HIGH load enable), and D3 through D0 (4-bit parallel data input, where D3 is the MSB). The serial output SOUT is initially 0 and outputs 0 when not transmitting.

Trace SOUT across all 20 time steps.

Constraints

  • SOUT updates only on the positive edge of CLK.
  • The first transmitted bit is the MSB (D3), appearing exactly one clock cycle after the LOAD capture edge.
  • The parallel data inputs D3 through D0 fluctuate: you must capture their exact values only during the specific clock cycle when LOAD is HIGH.

Topics

timing-diagramshift-registersserial-protocolpiso

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