What does an empty collection during SDC loading indicate?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
An empty collection means your selector (something like get_ports, get_cells, get_pins) matched zero objects in the current design โ the command didn't error, it just quietly found nothing. This is one of the most dangerous "silent failures" in SDC loading, because a constraint applied to an empty collection isn't an error โ it just does nothing, and your design proceeds as if that constraint never existed.
Technical Explanation
- Common causes: a hierarchy path that changed between when the SDC was written and when it's being applied, a name that got renamed or uniquified during synthesis/optimization, a bus notation mismatch (
[0]vs_0_), or the object simply not existing yet at the point the SDC is read. - The fix isn't to ignore the warning โ it's to actually check what changed. Run the same selector interactively and see what it should have matched, then trace why it didn't.
- "
Visual Verification
When wildcards or bus naming conventions (e.g., data[0] vs data_reg_0_) fail to match netlist pins, SDC collections return empty sets, leaving critical paths completely unconstrained.
What To Check
- Warning sign: The command executes with a warning yet constrains zero ports or pins.
- Inspect: Start with one named object in the report and trace it to the netlist, library, or SDC statement that created it.
- Correct: Inspect the exact selector against the linked design and obtain a revision-correct constraint; never replace it immediately with *.
Command Checks & Actions
- get_ports <pattern>: selects boundary ports
- get_pins -hierarchical <pattern>: selects instance pins
Run the commands in order. Each line answers a separate part of the check.
Healthy, Suspicious & Hard-stop Results
- Expected: A selector found no current design objects, commonly because hierarchy, names, buses, or optimisation changed.
- 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.
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