Skip to content

Commit

Permalink
[RouterHelper] invertPossibleGndPinsToVccPins() fallback through IMRs
Browse files Browse the repository at this point in the history
Signed-off-by: Eddie Hung <[email protected]>
  • Loading branch information
eddieh-xlnx committed Jan 2, 2025
1 parent 2a96896 commit 79d2b88
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/com/xilinx/rapidwright/design/DesignTools.java
Original file line number Diff line number Diff line change
Expand Up @@ -2044,7 +2044,7 @@ private static void foreachConnectedBELPin(BELPin pin, SiteInst si, Consumer<BEL
}

/**
* Looks in the site instance for cells connected to this BEL pin and SiteInst.
* Looks in the site instance for cells connected (i.e. with a logical pin mapping) to this BEL pin and SiteInst.
* Will walk through used SitePIPs and routethru cells (e.g. LUTs, IMR registers, etc.)
* @param pin The BELPin to examine for connected cells.
* @param si The SiteInst to examine for connected cells.
Expand All @@ -2062,7 +2062,7 @@ public static Set<Cell> getConnectedCells(BELPin pin, SiteInst si) {
}

/**
* Looks in the site instance for cells connected to this site pin.
* Looks in the site instance for cells connected (i.e. with a logical pin mapping) to this site pin.
* Will walk through used SitePIPs and routethru cells (e.g. LUTs, IMR registers, etc.)
* @param pin The SitePinInst to examine for connected cells.
* @return Set of connected cells to this pin.
Expand Down
6 changes: 6 additions & 0 deletions src/com/xilinx/rapidwright/rwroute/RouterHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,12 @@ public static Set<SitePinInst> invertPossibleGndPinsToVccPins(Design design,
continue;
}
BEL bel = belPin.getBEL();
if (isVersal && bel.isIMR()) {
// Since DesignTools.getConnectedCells() will only return cells
// for which a logical pin mapping exists, for the purpose of
// identifying SRL16s walk through this IMR
bel = si.getBEL(bel.getName().substring(0,1) + "6LUT");
}
Cell cell = si.getCell(bel);
if (cell == null) {
continue;
Expand Down

0 comments on commit 79d2b88

Please sign in to comment.