rsz: Makes pin swap equivalence algorithm more robust
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.
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
Do I need to rebase against master @maliberty?
clang-tidy review says "All clean, LGTM! :+1:"
rebasing is a good idea
secure CI started
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
Looks like two flow tests need a metric update.
clang-tidy review says "All clean, LGTM! :+1:"
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.
clang-tidy review says "All clean, LGTM! :+1:"
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.
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"