What does report_ccd_timing actually show you by default, and how do you dig deeper into one specific decision?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
By default, report_ccd_timing reports setup/hold slack of the worst capture (D-slack) and launch (Q-slack) paths for the 5 most critical endpoint registers. -type stage shows previous/current/next stage info for a specific pin; -type chain shows the full previous/current/next chain (multiple stages back and forward); -prepone/-postpone with -pins lets you analyze the effect of shifting clock arrival at a specific endpoint before committing to it.
Technical Explanation
- By default, report_ccd_timing reports D-slack (worst capture path) and Q-slack (worst launch path) for the 5 most critical endpoint registers -- not the whole design.
- -type stage shows previous/current/next stage info for a specific pin; -type chain extends that to the full multi-stage chain, both back and forward from the point of interest.
- -prepone/-postpone with -pins lets you analyze the effect of shifting clock arrival at a specific endpoint before actually committing to that change -- a what-if, not a commit.
- -annotate_cell_delay/-annotate_net_delay go further: they analyze hypothetical delay changes for debug purposes only, without saving them.
What To Check
- Warning sign: CCD claims a useful-skew fix helped a path, but the endpoint isn't in the default top-5 report and you can't see what actually changed.
- Inspect: use -pins to target that specific endpoint directly rather than relying on the default top-5 view.
- Correct: use -type chain on that pin to see the full sequence of stages CCD's offset decision actually touched.
Command Checks & Actions
report_ccd_timingReports D-slack/Q-slack for the 5 most critical endpoints by default.
report_ccd_timing -pins <pin> -type chainTraces the full stage chain for one specific endpoint.
report_ccd_timing -prepone <value> -pins <pin>Previews the effect of shifting clock arrival before committing.
Healthy, Suspicious & Hard-stop Results
- Expected: the top-5 report and a targeted -pins report on a specific endpoint agree on direction and magnitude of the CCD offset.
- Investigate: a targeted -pins report shows a much larger or smaller offset than the top-5 summary implied -- check whether that endpoint's real criticality was underrepresented in the default view.
- Stop: a -prepone/-postpone preview is being treated as already-applied without actually re-running the real optimization -- it's analysis-only and doesn't change the design.
Common Mistake
The Trap: Only ever reading the default top-5 report_ccd_timing output and assuming it covers every endpoint CCD actually touched.
What The Interviewer Is Testing
Whether you know report_ccd_timing's default scope (5 worst endpoints only) and how to target a specific pin or trace a full stage chain when the default view isn't enough.
Practical Example
Debug Scenario: A specific endpoint's slack changed after a CCD run, but it isn't in the default top-5 report_ccd_timing output. Running report_ccd_timing -pins <that_pin> -type chain shows exactly which upstream stage's offset decision affected it.
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