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

Dual Edge Detector

EasyLogic CircuitBuild

Interrupt controllers and DDR data samplers often require triggering an action whenever a signal toggles, regardless of the transition direction. A dual edge detector identifies any state change on an input line and asserts a single-cycle pulse.

The circuit receives an input din and must generate an output pulse that goes high for exactly one clock cycle immediately following any rising or falling edge on din. This is achieved by comparing the current input state against its state from the previous clock cycle, din_prev.

| din | din_prev | pulse | |-------|------------|---------| | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 0 |

Constraints

  • Use exactly one D flip-flop to store the previous state of the input.
  • Use an XOR gate to evaluate the transition condition.
  • Do not use any other sequential elements.

Topics

XOREdge DetectionInterface

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