Skip to content

dpl: check edge spacing DRC on opt_mirror - #11054

Open
gadfort wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
gadfort:dpl-opt-mirror-edge
Open

dpl: check edge spacing DRC on opt_mirror#11054
gadfort wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
gadfort:dpl-opt-mirror-edge

Conversation

@gadfort

@gadfort gadfort commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

optimize_mirror was missing the check on edge spacing rules, this wires in the check.
Note this was generated by Claude, but verified on my failing PDK

Type of Change

  • Bug fix

Impact

Fix detail placement invalid cell placements

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

Related Issues

[Link issues here]

Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
@gadfort
gadfort requested a review from a team as a code owner August 3, 2026 18:13
@gadfort
gadfort requested a review from gudeh August 3, 2026 18:13
@github-actions github-actions Bot added the size/M label Aug 3, 2026

@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 integrates LEF58 cell edge spacing rule checks into the mirroring optimization process. It updates the OptimizeMirroring class to accept and utilize Network, Grid, and PlacementDRC engines to verify if mirroring a cell would violate edge spacing rules, rejecting candidates that do. A new test case mirror_edge_spacing is also added to verify this behavior. The feedback suggests adding safety checks for network_ and grid_ pointers in isEdgeSpacingLegal to prevent potential null pointer dereferences, as these pointers can be null when edge spacing checks are skipped.

Comment thread src/dpl/src/OptMirror.cpp Outdated
Signed-off-by: Peter Gadfort <gadfort@zeroasic.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.

1 participant