dpl: respect oriented fixed macro footprints by jinchuntan · Pull Request #11856 · The-OpenROAD-Project/OpenROAD · GitHub
Skip to content

dpl: respect oriented fixed macro footprints - #11856

Open
jinchuntan wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
jinchuntan:fix/rotated-macro-footprint
Open

jinchuntan wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
jinchuntan:fix/rotated-macro-footprint

Conversation

@jinchuntan

@jinchuntan jinchuntan commented Oct 20, 2026 •

Copy link
Copy Markdown

Summary

Use the oriented bounding box and covering grid cells for fixed instances in the negotiation legalizer.

Update the affected regression logs and check placement legality in the Tcl and Python obstruction tests.

Type of Change

  • Bug fix

Impact

Legal cells beside rotated macros stay in place. Footprints crossing the core boundary keep their actual position.

Verification

  • The OpenROAD executable and Python bindings build successfully.
  • All 128 targets in //src/dpl/test/... pass including all 43 C++ tests.
  • The four affected designs pass placement checks with fixed locations and orientations unchanged.
  • 12 regression cases fail on unchanged code.
  • clang-format 23.1.2 and clang-tidy checks on changed lines pass.
  • DCO signoff included.

Local validation used the pinned LLVM dependency with archive ownership restoration disabled for this container. The full OpenROAD regression suite and ORFS flows were not run locally.

Related Issues

Fixes #11735

Prepared with Codex.

Build fixed blockages from the oriented bounding box and covering grid cells. Keep their actual position when the footprint crosses the core boundary.

Add orientation, boundary and Nangate45 GCD placement coverage.

Fixes The-OpenROAD-Project#11735

Signed-off-by: Nigel Tan <nigeltanjc@gmail.com>
@jinchuntan
jinchuntan requested a review from a team as a code owner October 20, 2026 10:37

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates NegotiationLegalizer::initFromDb to correctly handle fixed cells by covering their oriented footprint at their actual location, rather than snapping and clamping them like non-fixed cells. It also adds comprehensive unit tests (FixedMacroFootprintTest and GcdPlacementTest) to verify legalization behavior with various macro orientations, and updates the build configuration to include the necessary test data. There are no review comments to address, and I have no additional feedback to provide.

Update the expected logs for the corrected fixed macro footprints.
Check placement legality in both obstruction2 tests and let placement
errors fail the tests.

Signed-off-by: Nigel Tan <nigeltanjc@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dpl: negotiation legalizer blocks the unrotated master footprint for R90/R270/MXR90/MYR90 fixed macros

1 participant