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 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_latencydirectly 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_latencyconstraints 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
set_app_options -name opt.clock_latency_estimation.estimate_smscts_subtrees -value trueEnables structural MSCTS latency estimation.
set_clock_latency <value> [get_clocks CLK]Applies user-specified latency directly.
write_script -format icc2The 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
Master the Physical Design Implementation Flow
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.

Continue practising