Why separate sequential, combinational, memory, and macro inventories?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
A single "total cell count" number hides a lot — 50,000 total cells could be almost all combinational logic, or it could include a handful of huge memory macros that dominate area and power while contributing almost nothing to that count. Splitting into sequential, combinational, memory, and macro inventories lets you catch specific problems: a suspiciously low sequential count might mean a missing scan chain or an unlinked clock domain; a memory count that doesn't match the architecture spec might mean a missing or duplicated memory instance.
Technical Explanation
- lib timing models AND LEF/GDS physical views, memories often need both a functional model and a BIST wrapper. A single combined count can't tell you which of these is missing.
- This is fundamentally a readiness check: before floorplanning or placement, you want named, countable objects per class (not just "looks about right") so a missing view, a missing connection, or a miscount is caught as a specific, traceable discrepancy rather than discovered later as a mysterious downstream failure.
- Practically, this means running separate
report_cell-style queries filtered by cell class and comparing each against what the architecture/netlist spec expects — a gap in any one class is a finding, even if the aggregate total looks plausible.
What To Check
- Warning sign: The total count matches while a memory hierarchy is black-boxed or a register bank disappeared.
- Inspect: Compare one named object across the related reports; the same object should tell a consistent story.
- Correct: Query and compare each class using supported attributes for the loaded libraries, then reconcile with synthesis evidence.
Command Checks & Actions
- get_cells -hierarchical *: selects design cells
- report_unbound: lists objects that did not resolve
Run the commands in order. Each line answers a separate part of the check.
Healthy, Suspicious & Hard-stop Results
- Expected: Class totals reveal missing domains or views that a single overall cell count can hide.
- 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. ”
PnR Flow Mentor Guide
Master the Physical Design Implementation Flow
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.

Continue practising