Open eder-matheus opened 1 month ago
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.
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:
Suggested Solution
No response
Additional Context
No response