-
Notifications
You must be signed in to change notification settings - Fork 489
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
Crash in GlobalRouter repairAntennas #4878
Comments
@luis201420 is working on rewriting this chunk of code. I believe that will solve you problem but it will be a bit until the new code is ready. |
The general goal is to no longer call orderWires during antenna repair |
Also update the sky130 PDK to the corresponding version. This solve Project/OpenROAD#4647: pins swapped incorrectly on and2b cell. It also introduces a new issue, causing the flow to crash for about 1/50 of the TT05 project dataset: The-OpenROAD-Project/OpenROAD#4878. However, we prefer that the flow crashes rather than silently produce incorrect results. GitHub action run where we tested the new version: https://github.com/TinyTapeout/tinytapeout-05-reharden/actions/runs/8525372820
When investigating this, the following assertion is triggered. Is the frame posted before (containing @maliberty no sign of FWIW this problem/frame that looks like this can be demonstrated in many versions of OR going back the past 6 to 9 months. High congestion maybe a contributing factor.
|
The problem is order wires and is understood. |
This is causing problems with a number of Tiny Tapeout 6 designs, now that Tiny Tapeout has moved to an OpenLane version with the bug present. This patch seems to work (or at least resolve the crash) on at least a couple of designs, suggesting the problem might be happening in makeNetWires, as dlmiles suggested above. But none of us in the Tiny Tapeout community fully understand the implications. Any comment on whether this is a good idea would be welcome! |
We are in the midst of fixing another bug in the same spot of code so results will probably change again. In general such things are prone to fix one design and break another due to the brittle nature of order_wires. The real solution is still in progress but you should use whatever local methods you can until then. |
This recent fix just landed in OR looks the same to me as the patch from this comment I quote here. b98aca8#diff-02f10642344ceceb7764f552b99c58c78482dbd86eff6a8c6c17aae6407b7d70R304 |
This should solve The-OpenROAD-Project/OpenROAD#4878 Comparing the number of failures with previous version vs current version on tt05/tt06 project test set, this version performs slightly better: | Shuttle | Fails 2024.04.04 | Fails 2024.04.22 | |---------|------------------|------------------| | tt05 | 4 | 2 | | tt06 | 11 | 9 |
This should solve The-OpenROAD-Project/OpenROAD#4878 Comparing the number of failures with previous version vs current version on tt05/tt06 project test set, this version performs slightly better: | Shuttle | Fails 2024.04.04 | Fails 2024.04.22 | |---------|------------------|------------------| | tt05 | 4 | 2 | | tt06 | 11 | 9 |
@MichaelBell Could you try the latest version of OpenROAD? We've merged the new antenna checker code that don't use orderWires, so this crash should not be happening anymore. I've tried to run your attached testcase, but it fails with a missing SDC file. |
Thanks, I'll take a look. At a guess of what's going wrong with the SDC file - it should be using |
Yeah, that's the case. I tried to find the file under openlane/scripts but couldn't see it. |
Weird, it should be here: https://github.com/The-OpenROAD-Project/OpenLane/blob/master/scripts/base.sdc |
@MichaelBell It wasn't in the test case you attached. Either way, I'll close this issue for now, but if you have any other crashes, feel free to reopen it or create a new issue. |
Describe the bug
While running the Global Routing step, on certain designs a crash occurs in repair antennas. This only seems to happen if more than one iteration is required. This seems very similar to #4471, but I have confirmed it still happens with a very recent version of OpenROAD.
Expected Behavior
The global router should not crash
OpenROAD Environment
OpenLane Environment
To Reproduce
Clone the openroad-antenna-bug branch of https://github.com/MichaelBell/tt06-tinyQV recursively
Follow https://docs.google.com/document/d/1aUUZ1jthRpg4QURIIyzlOaPWlmQzr-jBn3wZipVUPt4/edit#heading=h.wwc5ldl01nl5 to set up the OpenLane flow for TinyTapeout, with the following changes:
Run:
I've also attached a zip of the issue reproducible folder.
issue_reproducible.zip
Relevant log output
Screenshots
No response
Additional Context
This issue also caused failures for certain Tiny Tapeout 05 projects (that previously succeeded) when testing the 2024.03.12 tag of OpenLane:
https://github.com/TinyTapeout/tinytapeout-05-reharden/actions/runs/8264211005/job/22609263738
https://github.com/TinyTapeout/tinytapeout-05-reharden/actions/runs/8264211005/job/22609256508
The text was updated successfully, but these errors were encountered: