OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

grt: Add -scenic_routes_report_file option

Open antonblanchard opened this issue 2 years ago • 2 comments

Add an option to create a report of the most scenic routes in global routing.

This is a first pass and needs work, but it allows me to quickly see where grt had congestion issues and had to route specific tracks all over the die. Some issues:

  • Is "scenic route" a common enough name for this?
  • Should we reuse the TritonRoute format, or use JSON?
  • How should we format these reports? Right now each has their own top level entry, and unfortunately they get reverse sorted (shortest to longest). We also end up with a mess of DRC boxes making it impossible to see the design.
  • What metrics do we want for flagging these routes? Below I flag any routes that are 1000 dbu larger than the Steiner tree, which is pretty arbitrary.

antonblanchard avatar Apr 12 '23 00:04 antonblanchard

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Apr 12 '23 06:04 github-actions[bot]

Scenic route is a common usage.

I would use JSON for new reports. Eventually I think we should move entirely.

The bounding box for the net isn't especially useful as a visualization. I don't have a better one in mind though. Perhaps there is no marker for this violation and you have to look at the net to see anything. It would be nice if there was a way to show the Steiner tree as well as the net.

You could have a reporting threshold flag. The default shouldn't be in DBU as that varies by PDK.

maliberty avatar Apr 12 '23 16:04 maliberty