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

Basic Serializer

EasyLogic CircuitBuild

High-speed interfaces like PCIe and USB rely on converting wide parallel data buses into single-bit streams to minimize pin count. The parallel-to-serial converter takes a multibit input and shifts it out one bit at a time over consecutive clock cycles.

The circuit must implement a 4-bit parallel-in, serial-out shift register. It uses an active-high load signal and a 4-bit data input D. When load is 1, the 4-bit input D is captured into the internal register. When load is 0, the register contents shift right by one position. The serial output Sout always reflects the least significant bit of the current internal register state.

| load | Next Register State | |--------|---------------------| | 1 | D[3:0] | | 0 | 0 concatenated with Reg[3:1] |

Constraints

  • Implement a 4-bit internal register using synchronous flip-flops.
  • Fill the most significant bit with 0 during a right shift.
  • Route the least significant bit of the register directly to the Sout port.

Topics

shift registerserializerparallel-to-serial

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