Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsz: Makes pin swap equivalence algorithm more robust #4673

Merged
merged 8 commits into from
Mar 14, 2024

Conversation

QuantamHD
Copy link
Collaborator

Replaces the existing symbolic manipulation code with truth table evaluation.

Also changes the code to keep track of pin equivalence instead of "cell pin group" equivalence. Not all pins are equal to other pins as sky130_fd_sc_hd__o311ai_1 shows. The code would allow a more broad set of swapping to occur.

No functional change should be observed since the pin swap is limited to two term cells which would have worked under the old scheme.

Copy link
Contributor

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

1 similar comment
Copy link
Contributor

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

@QuantamHD
Copy link
Collaborator Author

Do I need to rebase against master @maliberty?

image

Copy link
Contributor

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

@maliberty
Copy link
Member

rebasing is a good idea

@maliberty
Copy link
Member

secure CI started

Copy link
Contributor

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

src/rsz/src/RepairSetup.cc Outdated Show resolved Hide resolved
src/rsz/src/RepairSetup.cc Outdated Show resolved Hide resolved
@maliberty maliberty changed the title rsz: Makes pin swap equivalence algorithm more robst rsz: Makes pin swap equivalence algorithm more robust Feb 16, 2024
Copy link
Contributor

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

1 similar comment
Copy link
Contributor

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

@maliberty
Copy link
Member

Looks like two flow tests need a metric update.

Copy link
Contributor

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

@QuantamHD
Copy link
Collaborator Author

Metrics degraded slightly, but I created to PR to allow more than just 2 input nets. Once enabled there I see these metric regressions disappear.

Copy link
Contributor

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

QuantamHD added a commit to QuantamHD/OpenROAD that referenced this pull request Feb 19, 2024
Waiting on The-OpenROAD-Project#4673

Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
@maliberty
Copy link
Member

In asap7/aes-mbff I see

[INFO RSZ-0094] Found 162 endpoints with setup violations.
Error: cts.tcl, 107 _Map_base::at

Please take a look.

Copy link
Contributor

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

1 similar comment
Copy link
Contributor

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

@maliberty maliberty added the rsz Resizer label Mar 6, 2024
@maliberty maliberty self-assigned this Mar 6, 2024
Copy link
Contributor

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

Copy link
Contributor

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

Replaces the existing symbolic manipulation code with truth table
evaluation.

Also changes the code to keep track of pin equivalence
instead of "cell pin group" equivalence. Not all pins are equal to other pins
as sky130_fd_sc_hd__o311ai_1 shows. The code would allow a more broad
set of swapping to occur.

No functional change should be observed since the pin swap is limited to
two term cells which would have worked under the old scheme.

Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
@maliberty maliberty force-pushed the tt_rsz_swap branch 2 times, most recently from 298dc9a to 5612774 Compare March 13, 2024 23:31
Copy link
Contributor

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

1 similar comment
Copy link
Contributor

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

Accept:

aes_sky130hs
DRT::max_slew_slack -26% < -10%
DRT::max_capacitance_slack -29% < -12%

aes_sky130hd
GRT::ANT::errors   4 >   2 ;
DRT::worst_slack_max -1.95 <= -1.78 ;
DRT::max_slew_slack -57% < -19% ;
DRT::max_capacitance_slack -64% < -22%

ibex_sky130hd
DRT::max_slew_slack -13% <  -1%

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Copy link
Contributor

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

1 similar comment
Copy link
Contributor

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

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Copy link
Contributor

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

@maliberty maliberty merged commit 41d6ebc into The-OpenROAD-Project:master Mar 14, 2024
13 checks passed
eder-matheus added a commit to eder-matheus/OpenROAD that referenced this pull request Mar 15, 2024
…t_rsz_swap"

This reverts commit 41d6ebc, reversing
changes made to 72fe7db.

Signed-off-by: Eder Monteiro <emrmonteiro@inf.ufrgs.br>
eder-matheus added a commit that referenced this pull request Mar 15, 2024
Revert "Merge pull request #4673 from QuantamHD/tt_rsz_swap"
openroad-robot pushed a commit to The-OpenROAD-Project-staging/OpenROAD that referenced this pull request Mar 19, 2024
…tt_rsz_swap"

This reverts commit 824f47e.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rsz Resizer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants