IntermediateQuestion 51 of 222

When should a driving cell be used instead of set_input_transition?

From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide

Short Answer

" — but they answer it in fundamentally different ways, and picking the wrong one for your methodology creates inconsistent, hard-to-debug timing. A driving cell [SDC: set_driving_cell] tells the tool "model the source as if a real library cell of this type is driving this port," which lets the timing engine compute a realistic, load-dependent output slew from that cell's own characterized behavior.

Technical Reference DiagramWhen should a driving cell be used instead of set_input_transition?

Technical Explanation

  • "
  • Use a driving cell when you actually know (or can reasonably assume) what kind of gate is driving that port from outside the block — it gives a more physically realistic, load-sensitive answer.
  • Use explicit set_input_transition when you don't have driver information, or when your methodology deliberately wants a fixed, conservative assumption regardless of what's actually driving the port.
  • The real danger is mixing the two inconsistently across a design — some ports modeled with a driving cell, others with a hardcoded transition, with no documented rule for which gets used when. Pick one methodology per interface type and stick to it, or you'll get self-contradicting timing reports.

What To Check

  • Warning sign: Both are applied inconsistently, or neither represents the real upstream interface.
  • Inspect: Compare one named object across the related reports; the same object should tell a consistent story.
  • Correct: Use the approved model, remove conflicting assumptions, and review reported port drive/transition data.

Command Checks & Actions

  • report_ports -drive [get_ports *]: shows boundary constraints and electrical assumptions

Run the commands in order. Each line answers a separate part of the check.

Healthy, Suspicious & Hard-stop Results

  • Expected: A driving cell models a library-based source response, while explicit transition provides a direct slew assumption; methodology should choose and avoid conflicting intent.
  • Stop before floorplanning when required logic or timing coverage is missing or unexplained.

Common Mistake

The Trap: Do not assume the check passed just because ICC2 continued. Fix or narrowly justify the named objects, then rerun the same command.

What The Interviewer Is Testing

Be ready to explain why this matters before floorplanning.

Follow-up Question & Model Response

Model response: “I would save the report, inspect one affected object in the correct block and scenario, and make or request this correction. ”

Physical Design & Planning Handbook

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

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
Timing Constraints (SDC) Handbook — nine chaptersSDC ConstraintsNine chapters on clocks, exceptions, and constraint linting.