-
Notifications
You must be signed in to change notification settings - Fork 574
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
manual macro place leads to drt failure #6267
Comments
If manual macro placement gets built-in snapping added, there should be an option to turn off snapping in case the designer absolutely needs to place the macro at a specific location. |
@AcKoucher I thought we added snapping? |
There already is snapping code in MacroPlacer2::placeMacro
Please provide a test case at the point at which you do manual placement. |
As @maliberty pointed out, the only case in which we don't snap automatically when doing manual placement is when the macro is being placed with a right angle rotation e.g, R90. Apart from this situation, we always snap. |
@oharboe Is it imperative to use this layer? When snapping for pins with the same direction in multiple layers was implemented, M2 was not used, so this problem didn't show up. |
@joaomai If I have clear actionable errors, I can modify my design accordingly. I dont understand what OpenROAD wants me to do here. |
I imagine there exists so some snapping that would be m2 and the other layers all on-grid. Is it an issue with no searching far enough to find such a snapping? |
Minor note - if the net is connect by abutment then this check is unnecessary. It should only warn about the pins on the edges of the array. |
Thanks for the update. My understanding of these matters isnt sophisticated enough to offer any comments. |
Note the test case doesn't include ${FLOW_HOME}/designs/asap7/mock-array/macro-placement.tcl. Is it the same as in master? |
Ah, it is missing from ADDITIONAL_FILES in designs/ asap7/mock-array/config.mk, so make issue did t include it.
Yes, you can also reproduce without archive running the following on master:
|
If you have multiple track patterns (eg m2 in asap7) the current code is wrong. This is a partial solution in that it just uses the first track pattern. Ideally it should consider snapping to any of the track patterns. The cost will be snapping further than needed. This "fixes" The-OpenROAD-Project#6267. Signed-off-by: Matt Liberty <[email protected]>
@oharboe please give it a try with head and my quick solution. |
Describe the bug
To reproduce with a full run:
To reproduce macro placement problem & the detailed routing problems, but not the intervening steps:
untar and run detail-route-after-manual-place.tar.gz
Expected Behavior
manual placement should adjust macro positions such that pins are on routing grid and detailed route works.
If there are any warnings about the positioning, they should come from macro_place, not having to wait all the way to detail_route
Environment
To Reproduce
See above
Relevant log output
No response
Screenshots
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: