Skip to content

TODO: physical-only cells without a liberty function should not stop loading - #270

Draft
oharboe wants to merge 1 commit into
keplertech:mainfrom
oharboe:physical-only-cells
Draft

oharboe wants to merge 1 commit into
keplertech:mainfrom
oharboe:physical-only-cells

Conversation

@oharboe

@oharboe oharboe commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

A request with a failing test, not a fix.

A placed netlist from an OpenROAD flow carries physical-only cells, such as well taps, fillers and decaps. They have no pins, no logic, and often no liberty entry at all. kepler-formal stops loading on the first one:

Netlist loading failed: In tapped.v at line 3, column 16: TAPCELL cannot be found in SNL while constructing instance u_tap

In bazel-orfs we strip these cells before a check. That's fine for one generator, but every flow user meets it.

KeplerCliSubprocessTests.LecIgnoresPhysicalOnlyCellsWithoutAFunction in MiterTests compares a netlist with TAPCELL u_tap (); against the same netlist without it, using a tiny inline liberty that has no TAPCELL, and expects them equivalent. It fails today with the error above and runs in milliseconds.

A possible shape: an instance of an unknown cell with no connections is skipped with a warning, or kept as an empty black box. The error comes from naja's Verilog constructor, so the fix may belong in naja rather than here.

🤖 Generated with Claude Code

A placed netlist carries physical-only cells -- well taps, fillers,
decaps -- with no pins, no logic, and often no liberty entry. Loading
stops on one: "TAPCELL cannot be found in SNL while constructing
instance u_tap". LecIgnoresPhysicalOnlyCellsWithoutAFunction compares a
netlist with one against the same netlist without it and expects them
equivalent. It fails today; this is the request, not the fix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant