Skip to content

odb: add support for polygon floorplans in write_abstract_lef - #11298

Open
gadfort wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
gadfort:odb-abstract-polygon
Open

odb: add support for polygon floorplans in write_abstract_lef#11298
gadfort wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
gadfort:odb-abstract-polygon

Conversation

@gadfort

@gadfort gadfort commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds support for handling non-rectangular floorplans in write_abstract_lef, without this we write out a rectangular floorplan incorrectly and add obs for the system generated obs which is wrong.

Type of Change

  • New feature

Impact

No impact, except for those with non-rectangular floorplans.

Verification

  • I have verified that the local build succeeds (./etc/Build.sh).
  • I have run the relevant tests and they pass.
  • My code follows the repository's formatting guidelines.
  • I have included tests to prevent regressions.
  • I have signed my commits (DCO).

Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
@gadfort
gadfort requested a review from a team as a code owner September 1, 2026 20:10
@gadfort
gadfort requested a review from maliberty September 1, 2026 20:10
@github-actions github-actions Bot added the size/S label Sep 1, 2026
@gadfort
gadfort requested review from osamahammad21 and removed request for maliberty September 1, 2026 20:10

@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 introduces support for non-rectangular (polygon) die areas when writing abstract LEF files. It updates the obstruction writing logic to handle polygon floorplans by writing the die area as a polygon on the OVERLAP layer and skipping system-reserved obstructions. The review feedback highlights a potential segmentation fault in lefout.cpp where db_block->getTech() is called without a null check before accessing its layers.

Comment thread src/odb/src/lefout/lefout.cpp
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.

2 participants