ExpertQuestion 269 of 111Source PDF page undefined

What's the real difference between integrated and user-specified clock-gate latency estimation, and which one is the default?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

Integrated latency estimation is the default and more accurate method -- the tool estimates and updates clock-gate latency throughout the place_opt flow automatically. User-specified latency uses set_clock_latency directly, where lat_reg is the estimated network latency to ungated registers' clock pins, and lat_cgtoreg is the estimated delay from a CGC's clock pin to the gated register's clock pin -- for CGC clock pins specifically, you use lat_reg minus lat_cgtoreg, not lat_reg alone.

Technical Reference DiagramWhat's the real difference between integrated and user-specified clock-gate latency estimation, and which one is the default?
What's the real difference between integrated and user-specified clock-gate latency estimation, and which one is the default?, illustrating the physical design concept.

Technical Explanation

  • Integrated latency estimation is the default and more accurate method -- the tool estimates and updates clock-gate latency automatically throughout the place_opt flow.
  • User-specified latency uses set_clock_latency directly with two distinct values: lat_reg (estimated network latency to ungated registers' clock pins) and lat_cgtoreg (estimated delay from a CGC's clock pin to the gated register's clock pin).
  • For ordinary register clock pins, use lat_reg directly. For clock-gating cell clock pins specifically, use lat_reg minus lat_cgtoreg -- not lat_reg alone, which would overstate the CGC's own latency.
  • The tool does NOT modify set_clock_latency constraints itself -- tool-estimated values are stored as offsets from user-specified values, visible via write_script -format icc2 but NOT captured in SDC written by write_sdc.

Formula Or Decision Rule

For register clock pins: use lat_reg. For clock-gating cell clock pins: use (lat_reg - lat_cgtoreg), not lat_reg alone.

What To Check

  • Warning sign: a CGC clock pin's latency was set using the same lat_reg value as an ordinary register, and downstream timing at that CGC looks systematically off.
  • Inspect: confirm whether lat_cgtoreg was actually subtracted for the CGC's clock pin, or whether it was set identically to an ungated register.
  • Correct: apply lat_reg minus lat_cgtoreg specifically at CGC clock pins, matching the documented formula, not lat_reg alone.

Command Checks & Actions

ICC2set_app_options -name opt.clock_latency_estimation.estimate_smscts_subtrees -value true

Enables structural MSCTS latency estimation.

ICC2set_clock_latency <value> [get_clocks CLK]

Applies user-specified latency directly.

ICC2write_script -format icc2

The only way to see tool-estimated offsets -- write_sdc does not capture them.

Healthy, Suspicious & Hard-stop Results

  • Expected: CGC clock pins use lat_reg minus lat_cgtoreg, and ordinary register clock pins use lat_reg directly, matching the documented distinction.
  • Investigate: every clock pin in the design uses the same latency value regardless of whether it's a CGC or an ordinary register -- that's very likely wrong for the CGC pins specifically.
  • Stop: a design's SDC handoff is assumed to carry integrated-estimation latency values -- it does not, since those are offsets not captured by write_sdc.

Common Mistake

The Trap: Applying lat_reg identically to both ordinary register clock pins and clock-gating cell clock pins, when CGC pins specifically require lat_reg minus lat_cgtoreg.

What The Interviewer Is Testing

Whether you know the precise lat_reg vs lat_cgtoreg distinction, and that write_sdc doesn't capture tool-estimated latency offsets.

Practical Example

Debug Scenario: A hand-authored SDC sets the same clock latency value on both a CGC's clock pin and an ordinary register's clock pin. Timing at the CGC looks systematically pessimistic -- tracing it back, lat_cgtoreg was never subtracted for the CGC pin as the documented formula requires.

Physical Design & Planning Handbook

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