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
Last updated:
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