IntermediateQuestion 104 of 222

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

Last updated:

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 Reference DiagramWhat does report_ccd_timing actually show you by default, and how do you dig deeper into one specific decision?

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

ICC2report_ccd_timing

Reports D-slack/Q-slack for the 5 most critical endpoints by default.

ICC2report_ccd_timing -pins <pin> -type chain

Traces the full stage chain for one specific endpoint.

ICC2report_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

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.