Skip to question
asic.fyi
DesignVerificationSystemVerilogFirmwareArchitectureInterviews
asic.fyi/Interview questions/Design glitch-free clock gating

Hardware interview practice

Design glitch-free clock gating

MediumLow-Power DesignSystemVerilog

Describe a glitch-free positive-edge clock-gating implementation and the checks that prove it cannot create runt pulses.

Try it in the question bankReason first. Then compare.

Keep this exact question selected while you check your answer and review the full solution.

Practice this question →
Starting point

Question code

input logic clk, rst_n, en;
output logic gclk;
Reviewed example

Work through one case

Input
en falls while clk is high and the current gclk pulse is active
Expected output
The active gclk pulse completes; gating stops at the next safe low phase

The stored gate enable cannot change during the propagated high pulse.

What to cover

Requirements

  1. Capture the functional enable only while clk is low, using an approved ICG or an equivalent low-phase model.
  2. Allow a propagated high pulse to complete even if en changes while clk is high.
  3. Treat reset/test disable through the library-approved safe control path; do not asynchronously truncate gclk high.
  4. Check source-edge alignment, pulse width, enable stability during high phase, and no gated edge while disabled.
Continue practicing

Related questions

Temporal ChecksAssert bounded eventual completion→Formal VerificationProve an arbiter avoids deadlock and livelock→Temporal ChecksAssert an integer square-root pipeline→
asic.fyi · Learn silicon end to end.info@asic.fyi