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

Clock Phase Shifter 90 Degrees

MediumLogic CircuitBuild

Double data rate memory interfaces and radio frequency modulation systems rely on quadrature clocks to sample data accurately. Generating two clocks exactly 90 degrees out of phase ensures stable setup and hold margins across high-speed links.

Implement a divide-by-4 clock generator that produces two outputs: clk_0 and clk_90. The clk_90 signal must lag clk_0 by exactly one input clock cycle, which corresponds to 90 degrees of the divided clock period. When rst is asserted high, both outputs must immediately reset to 0. On subsequent clock cycles with rst low, the outputs must follow the quadrature sequence.

| rst | Cycle | clk_0 | clk_90 | |-------|-------|---------|----------| | 1 | 0 | 0 | 0 | | 0 | 1 | 1 | 0 | | 0 | 2 | 1 | 1 | | 0 | 3 | 0 | 1 | | 0 | 4 | 0 | 0 | | 0 | 5 | 1 | 0 |

Constraints

  • Use only D flip-flops and basic logic gates.
  • The outputs must operate at exactly one-fourth the frequency of the base clock.
  • Do not use delay elements or buffers to artificially shift the clock phase.

Topics

sequentialclockingquadrature

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