BeginnerQuestion 244 of 97Source PDF page undefined

How are clock tree DRC constraints different from clock tree timing constraints, and why does CTS need both?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

Timing constraints (setup/hold via skew and latency) ask whether the clock arrives at the right time at every register. DRC constraints (max transition, max capacitance, max fanout) ask whether every individual clock net is electrically sound, independent of when it arrives. A tree can be timing-clean and DRC-broken, or DRC-clean and timing-broken -- they're genuinely separate axes CTS has to satisfy simultaneously.

Technical Reference DiagramHow are clock tree DRC constraints different from clock tree timing constraints, and why does CTS need both?
How are clock tree DRC constraints different from clock tree timing constraints, and why does CTS need both?, illustrating the physical design concept.

Technical Explanation

  • Timing constraints (setup/hold via skew and latency) ask whether the clock arrives at the right time at every register.
  • DRC constraints (max transition, max capacitance, max fanout) ask whether every individual clock net is electrically sound, independent of when it arrives.
  • A tree can be timing-clean and DRC-broken, or DRC-clean and timing-broken -- passing one check says nothing about the other.
  • CTS has to satisfy both simultaneously, which is why report_timing and report_constraint are separate commands checking separate things, not two views of the same result.

Common Mistake

The Trap: Assuming a timing-clean clock tree is automatically electrically sound, or vice versa -- they're separate constraint classes that both need explicit checking.

Follow-up Question & Model Response

"Which of the two -- timing or DRC -- would you check first when debugging a clock tree problem, and why?"

Candidate Model Response: Timing first, generally -- because a DRC-clean but timing-broken tree at least tells you where the real skew/latency problem is, while a timing-clean-looking report can be hiding an electrical DRC issue that report_timing was never going to surface in the first place.

Practical Example

Tapeout Scenario: A clock tree closes setup and hold cleanly across every corner, but a max-capacitance violation on one clock net (a DRC constraint, not a timing one) is still a real defect that has to be fixed before signoff.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.