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

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.