AdvancedQuestion 7 of 63

Explain the interaction between CCS receiver modeling and max-transition/max-capacitance DRC characterization.

From PDVerse STA Mentor Guide, part of the pdVerse Mentor Guide

Short Answer

CCS (composite current source, a more detailed cell-timing model than the older NLDM tables) adds its own receiver-capacitance and driver tables. The safe max_capacitance limit is the lowest maximum load index across all of them, and the safe max_transition limit is the lowest maximum slew index across NLDM, CCS driver and CCS receiver_capacitance2 - set it from NLDM alone and DRC can pass while delay calculation quietly extrapolates.

Technical Reference DiagramExplain the interaction between CCS receiver modeling and max-transition/max-capacitance DRC characterization.

Technical Explanation

  • What the design-rule limits are for. From a delay-calculation point of view, max_capacitance and max_transition (SDC) exist to guarantee the tool never has to extrapolate delay beyond the range its characterized library tables actually cover.
  • CCS adds more tables to satisfy. The older NLDM (nonlinear delay model) format uses one set of load and slew tables. CCS (LIB) adds receiver_capacitance1 and receiver_capacitance2 tables for load, plus driver tables for slew, on top of the NLDM tables the library already has.
  • The safe limit is the lowest common index. The safe max_capacitance is the lowest maximum load index found across all of these tables - NLDM, CCS driver, and both CCS receiver-capacitance tables. The safe max_transition is the lowest maximum slew index across NLDM, the CCS driver tables, and receiver_capacitance2.
  • What happens if you set the limit from NLDM alone. A CCS table with a smaller maximum index than NLDM's will get extrapolated beyond its characterized range - raising an RC-011 warning - on a net whose NLDM-based DRC check reports a clean pass. The check and the actual delay calculation disagree.
  • The companion setting. report_capacitance_use_ccs_receiver_model (PT), when true, makes the max-capacitance checks reflect the CCS receiver loads the delay calculator actually uses, instead of the smaller lumped pin capacitance NLDM assumes. That keeps the check and the model looking at the same load.
  • Why the two features are coupled by design. Correct DRC limits are exactly what keeps CCS delay calculation from ever extrapolating outside its own characterized tables.

Common Mistake

  • Setting max_transition and max_capacitance from the NLDM table's maximum indexes alone, assuming a DRC-clean report means delay calculation stayed inside characterized data.
  • Turning report_capacitance_use_ccs_receiver_model off - its default is true - to shrink a report, which reverts max-capacitance checking to the smaller NLDM-derived lumped pin capacitance and lets the check and CCS-based delay calculation disagree again.
  • Cost: an RC-011 extrapolation warning buried in a log that a clean DRC summary gave no reason to go looking for.

Follow-up Question & Model Response

A net passes its max_capacitance check but PrimeTime still reports an RC-011 extrapolation warning during delay calculation on that net. What does that combination tell you, and what would you check first?

Candidate Model Response: It tells you the max_capacitance limit was derived from a table with a larger maximum load index than the one delay calculation actually used - almost certainly the NLDM table, while a CCS receiver-capacitance table has a smaller maximum index. The check passed against the generous NLDM ceiling, but the CCS-based delay calculation ran past its own table's range. The first thing to check is whether the max_capacitance limit was set by scanning the CCS receiver_capacitance1 and receiver_capacitance2 tables as well, not just NLDM, and whether report_capacitance_use_ccs_receiver_model is enabled so the check reflects the real CCS load.

Practical Example

A standard-cell library's NLDM capacitance table tops out at 0.35pF, but its CCS receiver_capacitance2 table only characterizes up to 0.28pF. A net loaded at 0.31pF passes the report_constraint -max_capacitance (PT) check against the NLDM-derived limit, yet delay calculation - running on the CCS tables - extrapolates 0.03pF past its characterized range and logs RC-011. Rebuilding the max_capacitance limit as the lower of the two table maximums, 0.28pF, correctly flags the net as a DRC violation and forces a buffer insertion before the extrapolated delay ever reaches a signoff report.

Complete STA Handbook

Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

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
Static Timing Analysis (STA) Handbook โ€” ten chaptersSTA HandbookTen chapters on setup, hold, OCV, and PrimeTime signoff.