Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • RTL Foundations36
  • Combinational Design25
  • Sequential Design27
  • FSM & Control27
  • Timing & Clocking39
    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation
    • Timing Exceptions
    • Clock Gating
      • Why Clock Gating Saves Power
      • The ICG Cell
      • Safe RTL Gating Style
      • Enable Quality Rules
      • Latch-Based Gating: Timing and Signoff
    • RTL for Timing
    • Clock Architecture
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
  • Glossary and Notation
Loading lesson

‹Timing & Clocking
  1. Topics
  2. RTL Design
  3. Timing & Clocking
  4. Clock Gating

Part 5 · Timing & Clocking · Intermediate

Clock Gating

Clock gating stops the clock to idle logic to cut dynamic power safely.

  • 5topics
  • 5lessons

Topics in this section

  1. 1Why Clock Gating Saves Power1 lesson
  2. 2The ICG Cell1 lesson
  3. 3Safe RTL Gating Style1 lesson
  4. 4Enable Quality Rules1 lesson
  5. 5Latch-Based Gating: Timing and Signoff1 lesson
On this page

    A clocked flip-flop burns power on its clock pin and tree wiring every cycle, even when its data does not change. Clock gating removes the clock from idle groups of flops. This topic models positive-edge flops behind a low-transparent latch/AND ICG. Other approved clock-control cells and dedicated FPGA clock resources can also be safe; use the target library/resource and its timing contract.

    Clock and enable feed an integrated clock gate whose output clocks a group of flip-flops.
    An integrated clock gate (ICG) combines a latch and an AND gate so the gated clock starts and stops only at clean clock edges.

    Each slot is one clock edge, rising (h) or falling (l), sampled just after it. The picture covers six clock periods.

    • clk toggles in all 12 slots. Every one of those toggles charges and discharges the clock pins it drives.

    • en falls in slot 3, while clk is low, and rises again in slot 9.

    • gclk toggles in slots 0 to 3 and 10 to 11 only: 6 toggles instead of 12. The three rising edges in between never reach the flops.

    • q counts 1, 2 and holds 2 through the gated-off edges, then counts to 3 at the first enabled edge. The register keeps its value without being clocked.

    Lessons in this topic

    5 lessons, about 23 min

    1. 1Why Clock Gating Saves PowerYou can estimate clock power from C, V and f, work out the saving from an idle fraction, and choose the level at which to put a clock gate.3 min
    2. 2The ICG CellYou can explain why a bare AND gate glitches, draw the latch-and-AND ICG, and read a waveform that compares the two.6 min
    3. 3Safe RTL Gating StyleYou can write a gated register as a plain enable, decide when to instantiate the ICG yourself, and follow the rules for an explicit gate.5 min
    4. 4Enable Quality RulesYou can list the rules an enable must meet, compute the time left for enable logic, and say where a wake-up request must come from.4 min
    5. 5Latch-Based Gating: Timing and SignoffYou can list the gating checks STA makes, set the gating margins, and walk through a signoff checklist for a gated design.5 min
    Check yourself Which part of a gated flip-flop's power does clock gating reduce: the clock tree, the flop's internal logic, or the data path?

    Mainly the clock network and the flop's clock-pin switching. Data-path power drops only indirectly (because the flop does not change). Gating high in the tree saves the most because it stops all the buffers below the gate.

    Interview

    Common question: “Why can't I just AND the clock with an enable?” Because the enable can change while the clock is high, producing a runt pulse or an extra edge. The standard answer is a latch-based ICG that holds the enable during the high phase.

    Revision sheet

    The whole topic on one page, taken from each lesson's Remember box. Read it before an interview, or print it.

    Why Clock Gating Saves Power

    • Clock power is alpha x C x V^2 x f with alpha = 1 for an ungated clock. State the activity convention to avoid a factor of two.

    • One ICG per flop usually costs more than it saves. A gate for 8 to 64 flops, or higher in the tree, pays off more.

    • Net saving is avoided clock power minus the ICG, enable logic and extra CTS overhead. It can be negative.

    Rule of thumb: measure activity first, then gate a group that is idle often and has an early enable.

    The ICG Cell

    • A change of enable while the clock is high cuts a pulse short (1 to 0) or starts a late partial pulse (0 to 1).

    • The ICG latch is transparent while the clock is low and opaque while it is high, so the enable only matters at the start of a pulse.

    • In a real flow you instantiate the library ICG cell. You do not write the latch and AND by hand.

    Rule of thumb: never gate a clock with a bare AND gate; use an integrated clock-gating cell.

    Safe RTL Gating Style

    • Write a plain enable by default. Synthesis can replace the feedback mux with a clock gate where it pays off.

    • An explicit gate uses the library ICG through a wrapper, a registered enable and a test enable (te).

    • A synchronous reset on gated flops needs the clock to run. Force the enable on during reset or use an asynchronous reset.

    Rule of thumb: if the synthesis report shows zero clock gates for a block you expected to gate, look at the enable.

    Enable Quality Rules

    • The enable must be early, registered or short logic from registers, defined at reset, and synchronous to the clock source.

    • With a latch ICG the enable has a full cycle: 2.00 - 0.35 - 0.15 = 1.50 ns. A negative-edge AND gate gets 0.50 ns.

    • Wake-up must come from always-on logic, not from state that needs the stopped clock.

    Rule of thumb: never derive the enable from the outputs of the gated registers.

    Latch-Based Gating: Timing and Signoff

    • Check clock-gating setup and hold on the enable and test-enable pins, minimum pulse width, and gated-clock skew against the ungated flops.

    • Every gated clock comes from a library ICG with a connected test enable. Gated flops use an asynchronous reset or a running clock.

    • Simulate wake-up after a long idle period and compare the first outputs.

    Rule of thumb: do not false-path gated and ungated data merely because a gate exists.

    Practise it

    • Mini project: close timing on an 8-tap FIR filter

    • Practice question: Low-power RTL design with clock gating

    • Practice question: ICG cell usage in RTL

    • Practice question: A safe clock gate with a latch-based enable

    • Code lab: Clock-gate control FSM

    • Interview: run a mock interview on this topic

    PreviousNext: Why Clock Gating Saves Power

    Up next

    Up nextWhy Clock Gating Saves Power

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation
    clkengclkq123
    Simulation of a latch-based clock gate: clk toggles on every edge, gclk only while en lets it through, and the 4-bit register q clocked by gclk counts only on those edges