BeginnerQuestion 246 of 97Source PDF page undefined

Are "clock-gating cell" and "ICG" the same thing, or is there a real distinction?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

In practice they refer to the same physical cell -- a clock-gating cell (CGC) is what gets called an integrated clock gate (ICG) once it's placed in the tree and merging/optimization options (merge_clock_gates, cts.icg.merge_cross_level, optimize_icgs) act on it. The terms aren't describing two different components; CGC is the general term and ICG is the specific instance type the flow's options operate on.

Technical Reference DiagramAre "clock-gating cell" and "ICG" the same thing, or is there a real distinction?
Are "clock-gating cell" and "ICG" the same thing, or is there a real distinction?, illustrating the physical design concept.

Technical Explanation

  • CGC (clock-gating cell) and ICG (integrated clock gate) refer to the same physical cell in this flow -- not two different components.
  • CGC is the general term for the concept; ICG is the specific library cell instance type that the flow's merging and optimization options (merge_clock_gates, cts.icg.merge_cross_level, optimize_icgs) actually act on.
  • Knowing this matters for reading ICC2 documentation and app-option names correctly -- an option named around "icg" is talking about the same clock-gating cells the general term "CGC" refers to elsewhere.

Common Mistake

The Trap: Treating CGC and ICG as two different cell types that need separate handling, when they're the same cell referred to by two names in different contexts.

Follow-up Question & Model Response

"Given they're the same cell, why does the flow use two different terms (CGC and ICG) at all instead of picking one?"

Candidate Model Response: CGC is likely the general/conceptual term used in architecture and methodology discussions, while ICG is the specific instantiated library-cell term the tool's own options and reports use -- two audiences, two vocabularies, same underlying cell.

Practical Example

Practical Note: When a colleague says "check the CGC placement" and a tool option says cts.icg.merge_cross_level, they're both talking about the same clock-gating cells in the design -- not two separate things to check.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.