Skip to content

gpl: do not ignore endcaps - #11181

Open
gudeh wants to merge 6 commits into
The-OpenROAD-Project:masterfrom
gudeh:gpl-use-isCoreAutoPlaceable
Open

gpl: do not ignore endcaps#11181
gudeh wants to merge 6 commits into
The-OpenROAD-Project:masterfrom
gudeh:gpl-use-isCoreAutoPlaceable

Conversation

@gudeh

@gudeh gudeh commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Current code is wrongfully ignoring some endcaps. To fix it we use the same ignore criteria as DPL for instantiating dbInsts as GCells inside GPL.

Type of Change

  • Bug fix

Impact

Experiments show less DPL iterations required. I observed negotiation taking most of its iterations at edges, exactly where GPL was ignoring endcaps (resulting in higher density placement).

PDKs gf180 and two private PDKs.

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).

gudeh added 5 commits August 14, 2026 00:52
…re ENCAPS in gpl

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@gudeh
gudeh requested a review from a team as a code owner August 19, 2026 14:54
@gudeh
gudeh requested a review from LucasYuki August 19, 2026 14:54

@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 the instance filtering criteria in PlacerBaseCommon::init to use isCoreAutoPlaceable(), aligning it with the criteria used by DPL. This ensures that instances like endcaps and welltaps, which occupy placement sites but are not strictly core or block types, are correctly recognized as obstacles. Additionally, a comprehensive unit test suite (placer_base_test.cpp) has been added to verify the classification and visibility of all dbMasterType values. There are no review comments, and I have no additional feedback to provide.

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