Skip to content

Commit

Permalink
Add TODO
Browse files Browse the repository at this point in the history
Signed-off-by: Eddie Hung <eddie.hung@amd.com>
  • Loading branch information
eddieh-xlnx committed Sep 26, 2024
1 parent e6a5503 commit b7d9735
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/com/xilinx/rapidwright/rwroute/PartialRouter.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
import com.xilinx.rapidwright.timing.TimingManager;
import com.xilinx.rapidwright.timing.delayestimator.DelayEstimatorBase;
import com.xilinx.rapidwright.timing.delayestimator.InterconnectInfo;
import com.xilinx.rapidwright.util.Pair;

/**
* A class extending {@link RWRoute} for partial routing.
Expand Down Expand Up @@ -389,7 +390,19 @@ protected void finishRouteConnection(Connection connection, RouteNode rnode) {
super.finishRouteConnection(connection, rnode);

if (!connection.getSink().isRouted()) {
// TODO: Consider backtrack-ed result into alternate source
List<RouteNode> rnodes = connection.getRnodes();
SitePinInst altSource = connection.getNetWrapper().getNet().getAlternateSource();
if (rnodes.size() > 1 && altSource != null) {
RouteNode sourceRnode = rnodes.get(rnodes.size() - 1);
assert(connection.getSourceRnode() != sourceRnode);
Pair<SitePinInst,RouteNode> altSourceAndRnode = connection.getOrCreateAlternateSource(routingGraph);
assert(altSourceAndRnode != null);
RouteNode altSourceRnode = altSourceAndRnode.getSecond();
if (sourceRnode == altSourceRnode) {
// We must have backtracked to the alternate source
throw new RuntimeException("TODO");
}
}

connection.resetRoute();
if (connection.getAltSinkRnodes().isEmpty()) {
Expand Down

0 comments on commit b7d9735

Please sign in to comment.