check_feedthroughs reports unused, reused, and constraint violations together. How do you triage them?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
The report bundling everything into one total count is the trap here — "unused," "reused," and "constraint violation" are three completely different situations lumped into a single number, and treating them as one problem leads to the wrong fix. Separate the classifications before you do anything else — an unused feedthrough is wasted resource, a reused one is often intentional efficiency, and a constraint violation is an actual correctness bug. Mixing them means you might "fix" something that was never broken.
Technical Explanation
- For each entry, go net-by-net: name the specific net, name the specific block it passes through, and compare it directly against what the design actually intended — the topology, the expected pin pairing, whether buffering was planned, and the reuse policy for that interface.
- Run targeted checks and reports per category rather than one blanket pass — a triage that treats "unused" and "violation" identically will waste effort on low-priority items while a real correctness bug sits unaddressed.
- Build a simple record per net as you go: original/created status, pure or mixed path, who owns the block, whether timing actually needs this path, and whether physical access supports it — that record is what turns a vague report into an actionable triage list.
- The categories genuinely require different decisions from different people: unused feedthroughs usually get cleaned up by whoever generated them, reused ones usually just get documented, and constraint violations need real engineering investigation and likely a fix.
Formula Or Decision Rule
Decision rule: every remaining item is intentional, legal, useful, and owned.
What To Check
- Warning sign: All feedthrough warnings are waived because some are intentional.
- Inspect: choose one affected region, macro, row, pin, path, or net and trace the physical cause.
- Correct: Remove unused/redundant paths, repair constraint violations, document justified reuse, and rerun targeted categories.
Command Checks & Actions
- check_feedthroughs -unused_feedthroughs -reused_feedthroughs -redundant -net_constraints -topo_constraints: checks targeted feedthrough classes and constraints
- report_feedthroughs -reporting_style net_based: reports feedthrough nets and traversed blocks
Run only the commands needed for this question. Save the report with the floorplan version and analysis context.
Healthy, Suspicious & Hard-stop Results
- Healthy: Separate classifications, inspect named nets and blocks, and compare each with intended topology, pin pairs, buffering, and reuse policy. The categories require different decisions.
- Hard stop: required legality or physical feasibility is missing or unexplained.
Common Mistake
The Trap: Do not hide the symptom with an arbitrary utilisation, halo, channel, blockage, pin move, or die-size change.
What The Interviewer Is Testing
The interviewer is testing whether you can connect “check_feedthroughs reports unused, reused, and constraint violations together. ” to measurable physical evidence and an owned correction.
Follow-up Question & Model Response
"* Candidate Model Response: Model response: “I would change it if the same controlled rerun shows that all feedthrough warnings are waived because some are intentional. ”
Physical Design & Planning Handbook
Master ASIC Physical Design Planning & Floorplanning
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.

Continue practising