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

Local versus Distributed Gating Timing

MediumLogic CircuitTiming Diagram

Placing a clock gate deep in a logic path introduces insertion delay that skews the local clock relative to the global clock. A local clock gating cell computes the logical AND of CLK and EN, but its output GCLK is delayed by exactly one time step. A positive-edge-triggered D flip-flop captures the value of D at every LOW-to-HIGH transition of GCLK and holds it until the next rising edge.

Five signals are shown: CLK (source clock, period 2), EN (enable input), D (data input), GCLK (gated clock output, initially 0), and Q (flip-flop output, initially 0).

Trace GCLK and Q across all 12 time steps.

Constraints

  • GCLK at any given time step is the logical AND of CLK and EN from the previous time step.
  • Q updates its value to match D exactly at the time step where GCLK transitions from 0 to 1.
  • EN transitions only when CLK is LOW to prevent clock glitches.

Topics

clockingsynchronizationclock-gating

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