How should pre-floorplan clock uncertainty be reviewed?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
Clock uncertainty is a margin, and margins are easy to double-count if you're not disciplined about what each piece is actually covering โ so the review is really about making sure every dollar of margin is spent exactly once. Break it into its real components: jitter (cycle-to-cycle timing noise from the clock source/PLL), modeling/methodology margin (a deliberate pad added because pre-CTS estimates are inherently imprecise), and the setup vs. hold split โ many methodologies apply different uncertainty values for setup checks versus hold checks, since hold margin needs are structurally different.
Technical Explanation
- " If you can't point to why a specific value was chosen, that's the first thing to fix.
- Watch for duplication: if source latency, network latency estimates, AND clock uncertainty are all independently padded with the "same" safety margin, you're not being conservative โ you're stacking unnecessary pessimism that can hide real violations behind excess slack, or push you to over-design.
- After CTS, part of this uncertainty (specifically the skew component) typically gets removed since real propagated skew is now measurable โ so a pre-floorplan review should also confirm there's a documented plan for updating
set_clock_uncertaintyonce real clock tree data exists, not that the pre-CTS number stays frozen forever. - A good review artifact: a table per clock showing jitter value, methodology margin value, setup uncertainty, hold uncertainty, and a one-line justification for each โ reviewable by someone who wasn't in the room when the numbers were picked.
What To Check
- Warning sign: A large generic value hides weak setup or creates meaningless hold pessimism.
- Inspect: Compare one named object across the related reports; the same object should tell a consistent story.
- Correct: Apply approved per-mode/per-check values and document their source.
Command Checks & Actions
- report_clocks: shows clock definitions and relationships
- report_clock_settings: shows latency, transition, uncertainty, and clock-analysis settings
Run the commands in order. Each line answers a separate part of the check.
Healthy, Suspicious & Hard-stop Results
- Expected: Separate jitter, modelling margin, and setup/hold uncertainty according to methodology; ensure it is not duplicated by other margins.
- Stop before floorplanning when required logic or timing coverage is missing or unexplained.
Common Mistake
The Trap: Do not assume the check passed just because ICC2 continued. Fix or narrowly justify the named objects, then rerun the same command.
What The Interviewer Is Testing
Be ready to explain why this matters before floorplanning.
Follow-up Question & Model Response
Model response: โI would save the report, inspect one affected object in the correct block and scenario, and make or request this correction. โ
Physical Design & Planning Handbook
Master ASIC Physical Design Planning & Floorplanning
Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.
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