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

[RWRoute] Further cleanup #1070

Merged
merged 45 commits into from
Sep 27, 2024
Merged

[RWRoute] Further cleanup #1070

merged 45 commits into from
Sep 27, 2024

Conversation

eddieh-xlnx
Copy link
Collaborator

@eddieh-xlnx eddieh-xlnx commented Sep 25, 2024

  • RWRoute to not check for sink routability anymore
  • PartialRouter to only check sink routability after all nodes have been preserved
  • RWRoute.handleUnroutableConnection() to abandon connections that are guaranteed to be unroutable since the bounding box is never enlarged (nor any nets be unpreserved, in the case of PartialRouter)
  • RWRoute to not pre-emptively set up the second source; do so only when needed in RWRoute.swapOutputPin() or when recovering partially routed nets in PartialRouter
  • Various cleanups/optimizations

Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: Eddie Hung <[email protected]>
@@ -498,4 +490,25 @@ public void setAllTargets(RWRoute.ConnectionState state) {
}
}
}

protected Pair<SitePinInst,RouteNode> getOrCreateAlternateSource(RouteNodeGraph routingGraph) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this method intend to do in the context of Versal? In UltraScale+ there is only one other option, but there might be a preference of one vs another given the choices in Versal and the context. Not saying this has to implement Versal, but we should be aware of the soon-to-be-added context.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's clean up UltraScale/UltraScale+ before we consider Versal. I think there's some other RapidWright infrastructure upgrades that needs to happen before Versal's alternate sources can really be captured.

@eddieh-xlnx eddieh-xlnx marked this pull request as ready for review September 27, 2024 01:37
@eddieh-xlnx eddieh-xlnx merged commit 2aaef75 into 2024.1.3 Sep 27, 2024
14 checks passed
@eddieh-xlnx eddieh-xlnx deleted the rwroute_cleanup branch September 27, 2024 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants