-
Notifications
You must be signed in to change notification settings - Fork 579
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
Disproportionate runtime in repair_antennas GRT update after DRT #5668
Comments
From what I saw in your last issue, you're running the repair_antennas command with 5 iterations. This works for GRT repair, but for post-DRT repair, you might try something like this:
The problem is that with the detailed routing of the design, GRT have less resources to work on, making it difficult for the maze routing to find a solution without congestion. I will try it with the test case from issue #5565 and see how it goes. |
@gatecat In your private design with this issue, are you running it with OpenROAD-flow-scripts? Or do you run in a similar way to the ibex_sky130hd design, using the |
@gatecat FYI, this is the procedure that I used to repair_antennas post-DRT. Together with PR #5671, I was able to finish DRT with zero antenna violations in less than 12 minutes (total design flow). Could you give it a try? Let me know if you're using ORFS in your design. I can adapt this for the detail_route.tcl script from this repository.
|
Thanks, I was using ORFS but I managed to adapt the detail_route.tcl script with an equivalent patch. Combined with #5671 this is now working perfectly, with it After 5 iterations over 600 antenna violations are reduced to just 3 very marginal ones, which is well within what is acceptable. Maybe a fully clean solution could be obtained with more iterations or tweaking the layer derating so that post-GRT fixup is more effective, but this is more than good enough for now. Thanks for all your development work and advice on this issue, it's been much appreciated! |
Describe the bug
After #5657 the crash in DRT after antenna fixing in gf130 is fixed. But unfortunately on subsequent iterations repair_antennas gets stuck in updating the global routes (I gave up after an hour and a half or so, for comparison the whole build runtime for the design is usually about 20 minutes). The typical backtrace where it's stuck looks like:
Expected Behavior
GRT updates in a reasonable amount of time (say, 5 minutes max for antenna repair on this design).
Environment
To Reproduce
This issue can be somewhat reproduced on aes_sky130 with the same flow.tcl patch as in #5565, although it's not as dramatic as getting stuck for hours it still takes over 10 minutes on a design that usually takes less than 5 minutes for the entire build (and does get stuck in the same place). Hopefully this is enough to find where the performance problem lies, if not I can look at creating another testcase for it.
Relevant log output
No response
Screenshots
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: