Skip to content

fixed a bug involving stale vertex ordering aftrer netlist change#9852

Open
openroad-ci wants to merge 2 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:rsz-invalid-levels
Open

fixed a bug involving stale vertex ordering aftrer netlist change#9852
openroad-ci wants to merge 2 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:rsz-invalid-levels

Conversation

@openroad-ci
Copy link
Collaborator

Summary

This fixes a bug that can leave vertex level ordering stale after netlist change.
Stale ordering can lead to ORD-2018 error and other issues.

Type of Change

  • [ X ] Bug Fix
  • New Feature
  • Refactor
  • Documentation
  • Other

Impact

This can lead to abnormal termination due to error.

Verification

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

Related Issues

(#9851)

Signed-off-by: Cho Moon <cmoon@precisioninno.com>
Copy link
Contributor

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

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 fixes a bug where vertex level ordering could become stale after netlist changes by invalidating the ordering at various modification points. A new method invalidateVertexOrdering() is introduced in Resizer for this purpose.

My review focuses on ensuring consistent use of this new method. While the fix is functionally correct, several places directly modify the level_drvr_vertices_valid_ flag instead of calling the new method. Using the method consistently improves encapsulation and maintainability. I've added comments with suggestions to use invalidateVertexOrdering() throughout the modified files.

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Signed-off-by: Cho Moon <cmoon@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@precisionmoon precisionmoon requested a review from maliberty March 20, 2026 22:31
@maliberty
Copy link
Member

It would be more general to listen to odb callbacks then start introduce these sorts of linkages (gpl-drt). I'm sure there are more of these bugs lurking.

@precisionmoon
Copy link
Contributor

It would be more general to listen to odb callbacks then start introduce these sorts of linkages (gpl-drt). I'm sure there are more of these bugs lurking.

I agree. Perhaps this can be a stop gap solution until we come up with a better ODB observer based solution.

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

Labels

None yet

3 participants