Skip to content

Commit

Permalink
Merge branch 'utils_clocking_cmt' into rwroute_east_west
Browse files Browse the repository at this point in the history
  • Loading branch information
eddieh-xlnx committed Nov 8, 2024
2 parents 725798d + abd15c7 commit 0db2b4c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
8 changes: 6 additions & 2 deletions src/com/xilinx/rapidwright/rwroute/RouterHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,13 @@ public static Node projectOutputPinToINTNode(SitePinInst output) {
*/
public static Node projectInputPinToINTNode(SitePinInst input) {
Node sink = input.getConnectedNode();
if (sink.getTile().getTileTypeEnum() == TileTypeEnum.INT) {
TileTypeEnum sinkTileType = sink.getTile().getTileTypeEnum();
if (sinkTileType == TileTypeEnum.INT) {
return sink;
}
// Only block clocking tiles if source is not in a clock tile
final boolean blockClocking = !Utils.isClocking(sinkTileType);

int watchdog = 40;

// Starting from the SPI's connected node, perform an uphill breadth-first search
Expand All @@ -198,7 +202,7 @@ public static Node projectInputPinToINTNode(SitePinInst input) {
EnumSet.of(IntentCode.NODE_CLE_CTRL, IntentCode.NODE_INTF_CTRL).contains(uphill.getIntentCode())) {
return uphill;
}
if (Utils.isClocking(uphillTileType)) {
if (uphillTileType != sinkTileType && Utils.isClocking(uphillTileType)) {
continue;
}
queue.add(uphill);
Expand Down
2 changes: 1 addition & 1 deletion src/com/xilinx/rapidwright/util/Utils.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Original work: Copyright (c) 2010-2011 Brigham Young University
* Modified work: Copyright (c) 2017-2022, Xilinx, Inc.
* Copyright (c) 2022-2023, Advanced Micro Devices, Inc.
* Copyright (c) 2022-2024, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Xilinx Research Labs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ public void testProjectOutputPinToINTNode(String partName, String siteName, Stri
@ParameterizedTest
@CsvSource({
"xcvu3p,MMCM_X0Y0,PSEN,INT_X36Y56/IMUX_W0",
"xcvu3p,BUFGCE_X0Y58,CLK_IN,INT_X36Y151/IMUX_W34",
"xcvp1002,MMCM_X2Y0,PSEN,INT_X27Y0/IMUX_B_W24"
})
public void testProjectInputPinToINTNode(String partName, String siteName, String pinName, String nodeAsString) {
Expand Down

0 comments on commit 0db2b4c

Please sign in to comment.