OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

Avoid track with no legal via due to spacing to a macro

Open oharboe opened this issue 2 years ago • 7 comments

Describe the bug

I'm not sure what OpenROAD is trying to tell me here. I've highlighted net50908 below.

image

Expected Behavior

No DRC error

Environment

OpenROAD v2.0-10770-g6719c92e6

To Reproduce

@maliberty I have shared this file with you, please download and share as needed. Not confidential, but 2gbyte, so not a public link... https://drive.google.com/file/d/10ECM456C94DEikW51WINpRCTr4MvYN14/view?usp=sharing

This detailed route takes ca. 12 hours, so I don't know how to whittle it down. The example is gigabytes, but it is quick to bring it up in the GUI to study the DRC error, once downloaded.

To run detailed routing(12 hours?), unzip and run:

NUM_CORES=12 ./run-me-BoomCore-asap7-base.sh

To view DRC report, unzip, run openroad -gui -no_init, load bazel-out/k8-fastbuild/bin/build/results/asap7/BoomCore/base/5_3_route.odb and DRC errors bazel-out/k8-fastbuild/bin/build/reports/asap7/BoomCore/base/5_route_drc.rpt

Relevant log output

No response

Screenshots

No response

Additional Context

No response

oharboe avatar Nov 03 '23 15:11 oharboe

Is that the whole maker? Are all shapes/nets visible?

maliberty avatar Nov 03 '23 15:11 maliberty

Is that the whole maker? Are all shapes/nets visible?

On second try, the snapshot looks like it has everything. I replaced the image and uploaded the make detail_route_issue file.

oharboe avatar Nov 03 '23 16:11 oharboe

@maliberty Please confirm that this issue has what is needed to reproduce. Thanks!

oharboe avatar Nov 03 '23 18:11 oharboe

You can plainly see the issue if you turn on only m4 image

maliberty avatar Nov 04 '23 05:11 maliberty

There appears to be a usable m5 track between the macro and the power strap on m5. However getting off that track is impossible due to via leading to an error

image

maliberty avatar Nov 04 '23 05:11 maliberty

@osamahammad21 You should have access to https://drive.google.com/file/d/10ECM456C94DEikW51WINpRCTr4MvYN14/view?usp=sharing now

oharboe avatar Nov 04 '23 07:11 oharboe

I did some investigation and I can say that it's a GRT problem. It's impossible for the router to avoid this violation: Here is the route guides for the specified net: Screenshot from 2023-11-06 21-47-03 At first glance I though it's a track assignment issue by assigning a bad track. But I find that the assigned track is the only valid track. Here is a screenshot for the available 3 tracks for that guide on Metal5 Screenshot from 2023-11-06 21-44-23 The net is stuck between the macro obstruction and the power grid on Metal5 and it turns out the middle track is the only one that doesn't cause a violation on Metal5. The track next to the power strap is violating the SpacingTable rule which specifies the spacing to be 0.072 (because the strap is wide). The current spacing of the middle track is already 0.078 so using the track to the left is not an option. The router keeps moving the via up and down but it cannot escape the violation.

@maliberty I think @eder-matheus is working on a via aware global routing which should cover this case https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/issues/1564

osamahammad21 avatar Nov 06 '23 20:11 osamahammad21