Skip to content
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

GRT: refactor maze and maze3D #5713

Open
4 tasks
eder-matheus opened this issue Sep 9, 2024 · 1 comment
Open
4 tasks

GRT: refactor maze and maze3D #5713

eder-matheus opened this issue Sep 9, 2024 · 1 comment
Assignees
Labels
grt Global Routing

Comments

@eder-matheus
Copy link
Collaborator

eder-matheus commented Sep 9, 2024

Description

In FastRouteCore, the two main files (maze.cpp and maze3D.cpp) that deal with the routing congestion are very long and could have a better readability. There are a few functions that needs special attention: mazeRouteMSMDOrder3D, updateCongestionHistory, mazeRouteMSMD, updateRouteType13D, updateRouteType23D.

The goals of the refactoring are:

  • Avoid repeated code.
  • Remove dead code
  • Break long functions into smaller ones
  • Document the functions

Suggested Solution

No response

Additional Context

No response

@eder-matheus eder-matheus added the grt Global Routing label Sep 9, 2024
@maliberty
Copy link
Member

Because of the C heritage of FR the grid is quite dumb and all the logic is in the router code. It would be nice to have the grid support more high level operations which should also simplify the router somewhat. For example adding/removing an edge that spans multiple gcells could be a single grid API call rather than a for-loop in the router code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
grt Global Routing
Projects
None yet
Development

No branches or pull requests

3 participants