ExpertQuestion 67 of 161

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, part of the 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?

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.

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web โ€” library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
PnR Flow Physical Design Mentor Guide โ€” eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out.