Skip to content

Commit daee391

Browse files
committed
Merge remote-tracking branch 'upstream/master' into rwroute_cleanup
2 parents 3105194 + e8126ba commit daee391

File tree

24 files changed

+720
-376
lines changed

24 files changed

+720
-376
lines changed

.classpath

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
<classpathentry kind="lib" path="jars/kryo-5.2.1.jar"/>
3434
<classpathentry kind="lib" path="jars/minlog-1.3.1.jar"/>
3535
<classpathentry kind="lib" path="jars/jython-standalone-2.7.2.jar"/>
36-
<classpathentry kind="lib" path="jars/rapidwright-api-lib-2024.2.3.jar">
36+
<classpathentry kind="lib" path="jars/rapidwright-api-lib-2025.1.0.jar">
3737
<attributes>
38-
<attribute name="javadoc_location" value="jar:platform:/resource/RapidWright/jars/rapidwright-api-lib-2024.2.3-javadoc.jar!/"/>
38+
<attribute name="javadoc_location" value="jar:platform:/resource/RapidWright/jars/rapidwright-api-lib-2025.1.0-javadoc.jar!/"/>
3939
</attributes>
4040
</classpathentry>
4141
<classpathentry kind="lib" path="jars/jgrapht-core-1.3.0.jar"/>

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
pull_request:
66

77
env:
8-
RAPIDWRIGHT_VERSION: v2024.2.3-beta
8+
RAPIDWRIGHT_VERSION: v2025.1.0-beta
99

1010
jobs:
1111
build:

RELEASE_NOTES.TXT

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,34 @@
1-
============= RapidWright 2024.2.3-beta released on 2025-5-29 ================
1+
============= RapidWright 2025.1.0-beta released on 2025-06-25 ================
2+
Notes:
3+
- Add methods to access internal DiffMap (#1234)
4+
- [EDIFNetlist] Update library when renaming cells; add API to remove blackbox prop (#1226)
5+
- Fixes to count LOOKAHEAD8 cells in Versal designs (#1230)
6+
- [NetlistBrowser] Fix extra click issue with instances (#1229)
7+
- [Netlist Browser] GUI Widget to browse a loaded netlist (#1225)
8+
- [CopyImplementation] Command-line version of DesignTools.copyImplementation() (#1215)
9+
- [DesignTools.copyImplementation()] Support Versal IMR routethrus (#1224)
10+
- [ECOTools] connectNet() remove static net assertion (#1223)
11+
- [ECOTools] Fix connectNet() for pins that don't need routing (#1222)
12+
- [LUTTools] Properly size LUTCY* primitives (#1221)
13+
- [LUTInputConeOpt] Enable unplaced netlists (#1213)
14+
- [PhysNetlistWriter] Treat bidir BEL pins on PS8 as output (#1214)
15+
- [ECOTools] Augments connectNet() to handle dual-LUT pin usage scenarios (#1209)
16+
- Basic VS Code Settings (#1210)
17+
- LUT Input Cone Optimization (#1205)
18+
- Design Obfuscator - Flattens design and uses hashing to obfuscate names (#1196)
19+
- Regroup Instances -- command line tool (#1201)
20+
- [PartialDFXRouter] Add PartialRouter specialization for DFX designs (#1204)
21+
- [RWRoute] Connection.setAllTargets() to always set primary sink (#1206)
22+
- [ECOPlacementHelper] Fix NPE for getUnusedFlop() (#1207)
23+
- [Actions] Remove gradle/wrapper-validation-action (#1208)
24+
- [RWRoute] Minor cleanup (#1203)
25+
- [Design.createModuleInst()] Handles black boxes by renaming prior to Design.addModule()
26+
- Fixes gap routing issue
27+
- Improves NOC traffic parsing file
28+
29+
API Additions:
30+
- (None)
31+
============= RapidWright 2024.2.3-beta released on 2025-05-29 ================
232
Notes:
333
- Add testcase for #780 (Design.routeSites()) (#1191)
434
- Post-route fanout optimization (#1178)
@@ -31,7 +61,7 @@ API Additions:
3161
- com.xilinx.rapidwright.design.Design "public List<PartitionPin> getPartitionPins(Net net)"
3262
- com.xilinx.rapidwright.design.Design "public Net getNetFromPartitionPin(PartitionPin p)"
3363

34-
============= RapidWright 2024.2.2-beta released on 2025-3-25 ================
64+
============= RapidWright 2024.2.2-beta released on 2025-03-25 ================
3565
Notes:
3666
- [DesignTools] Fix routethru corner case in fullyUnplaceCellHelper() (#1157)
3767
- Add option to uniquify copied cells (#1156)
@@ -49,7 +79,7 @@ API Additions:
4979
- com.xilinx.rapidwright.design.Design "public static Map<SiteTypeEnum, Set<String>> getCompatiblePlacements(FamilyType family, Unisim u)"
5080

5181

52-
============= RapidWright 2024.2.1-beta released on 2025-1-15 ================
82+
============= RapidWright 2024.2.1-beta released on 2025-01-15 ================
5383
Notes:
5484
- Adds an Override Flag for Advanced Flow Settings in Designs (#1135)
5585
- Test for SiteInst.isEmpty() (#1128)

python/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
setup(
2626
name='rapidwright',
27-
version='2024.2.3',
27+
version='2025.1.0',
2828
license='Apache 2.0 and Others',
2929
description='Xilinx RapidWright Framework Wrapped for Python.',
3030
long_description='',

python/src/rapidwright/rapidwright.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from typing import List, Optional
2525
import os, urllib.request, platform
2626

27-
version='2024.2.3'
27+
version='2025.1.0'
2828

2929
def start_jvm():
3030
os_str = 'lin64'

src/com/xilinx/rapidwright/design/DesignTools.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,8 @@ public static Map<UtilizationType, Integer> calculateUtilization(Collection<Site
693693
incrementUtilType(map, UtilizationType.REGS_AS_FFS);
694694
} else if (belName != null && belName.contains("CARRY")) {
695695
incrementUtilType(map, UtilizationType.CARRY8S);
696+
} else if (belName != null && belName.equals("LOOKAHEAD8")) {
697+
incrementUtilType(map, UtilizationType.LOOKAHEAD8);
696698
}
697699
}
698700
for (char letter : LUTTools.lutLetters) {
@@ -3149,11 +3151,18 @@ private static void copySiteRouting(Cell copy, Cell orig, Map<String,String> src
31493151
if (tmpCell.isRoutethru()) {
31503152
String cellName = tmpCell.getName();
31513153
String prefixMatch = StringTools.startsWithAny(cellName, prefixes.keySet());
3154+
boolean keepPhysName = false;
31523155
if (prefixMatch == null) {
3153-
throw new RuntimeException("ERROR: Unable to find appropriate "
3154-
+ "translation name for cell: " + tmpCell);
3156+
BEL bel = tmpCell.getBEL();
3157+
if (bel.isIMR() || bel.isCEIMR() || bel.isSRIMR()) {
3158+
keepPhysName = true;
3159+
} else {
3160+
throw new RuntimeException("ERROR: Unable to find appropriate "
3161+
+ "translation name for cell: " + tmpCell);
3162+
}
31553163
}
3156-
String newCellName = getNewHierName(cellName, srcToDestNames, prefixes, prefixMatch);
3164+
String newCellName = keepPhysName ? cellName
3165+
: getNewHierName(cellName, srcToDestNames, prefixes, prefixMatch);
31573166
Cell rtCopy = tmpCell
31583167
.copyCell(newCellName, tmpCell.getEDIFHierCellInst(), dstSiteInst);
31593168
dstSiteInst.getCellMap().put(belName, rtCopy);

src/com/xilinx/rapidwright/design/Unisim.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2024, Advanced Micro Devices, Inc.
2+
* Copyright (c) 2025, Advanced Micro Devices, Inc.
33
* All rights reserved.
44
*
55
* Author: Chris Lavin, Advanced Micro Devices, Inc.
@@ -33,7 +33,7 @@
3333
import com.xilinx.rapidwright.edif.EDIFLibrary;
3434

3535
/**
36-
* Generated on: Thu Nov 21 13:34:09 MST 2024
36+
* Generated on: Sat Jun 07 20:43:57 MDT 2025
3737
* by: com.xilinx.rapidwright.release.UnisimParser
3838
*
3939
* Enumerates supported Unisim primitives that map to Xilinx devices.
@@ -180,6 +180,7 @@ public enum Unisim {
180180
DDRMC5,
181181
DDRMC5C,
182182
DDRMC5E,
183+
DDRMC5X,
183184
DDRMC_RIU,
184185
DFE_CFR,
185186
DFE_CHANNELIZER,
@@ -700,6 +701,7 @@ public enum Unisim {
700701
LDP_1,
701702
LD_1,
702703
LOOKAHEAD8,
704+
LPDDRMC,
703705
LUT1,
704706
LUT1_D,
705707
LUT1_L,
@@ -1201,6 +1203,7 @@ public enum Unisim {
12011203
PCIE40E4,
12021204
PCIE40E5,
12031205
PCIE4CE4,
1206+
PCIE4CEE4,
12041207
PCIE50E5,
12051208
PCIE_2_1,
12061209
PCIE_3_0,
@@ -1215,11 +1218,14 @@ public enum Unisim {
12151218
PLLE2_BASE,
12161219
PLLE3_ADV,
12171220
PLLE3_BASE,
1221+
PLLE4XP_ADV,
1222+
PLLE4XP_BASE,
12181223
PLLE4_ADV,
12191224
PLLE4_BASE,
12201225
PLL_ADV,
12211226
PLL_BASE,
12221227
PS11,
1228+
PS11_A,
12231229
PS7,
12241230
PS8,
12251231
PS9,
@@ -1389,6 +1395,9 @@ public enum Unisim {
13891395
XORCY,
13901396
XORCY_D,
13911397
XORCY_L,
1398+
XP5IO_VREF,
1399+
XP5PHY_HS,
1400+
XP5PHY_LS,
13921401
XPHY,
13931402
XPIO_VREF,
13941403
XPIPE_QUAD,

src/com/xilinx/rapidwright/design/blocks/UtilizationType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ public enum UtilizationType {
4949
RAMB36S_FIFOS("RAMB36s/FIFOs"),
5050
RAMB18S("RAMB18s"),
5151
URAMS("URAMs"),
52-
DSPS("DSPs");
52+
DSPS("DSPs"),
53+
LOOKAHEAD8("LOOKAHEAD8");
5354

5455
private String name;
5556

src/com/xilinx/rapidwright/device/FamilyType.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2024, Advanced Micro Devices, Inc.
2+
* Copyright (c) 2025, Advanced Micro Devices, Inc.
33
* All rights reserved.
44
*
55
* Author: Chris Lavin, Advanced Micro Devices, Inc.
@@ -27,7 +27,7 @@
2727

2828

2929
/**
30-
* Generated on: Thu Nov 21 13:06:39 MST 2024
30+
* Generated on: Wed Jun 11 09:41:43 MDT 2025
3131
* by: com.xilinx.rapidwright.release.PartNamePopulator
3232
*
3333
* Set of all Supported Xilinx families in RapidWright
@@ -66,12 +66,15 @@ public enum FamilyType {
6666
QZYNQUPLUS,
6767
QZYNQUPLUSRFSOC,
6868
SPARTAN7,
69+
SPARTANUPLUS,
6970
VERSAL,
7071
VERSALAICORE,
7172
VERSALAIEDGE,
73+
VERSALAIEDGE2,
7274
VERSALHBM,
7375
VERSALPREMIUM,
7476
VERSALPRIME,
77+
VERSALPRIME2,
7578
VIRTEX7,
7679
VIRTEXU,
7780
VIRTEXUPLUS,

src/com/xilinx/rapidwright/device/IntentCode.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,16 @@ public enum IntentCode {
130130
NODE_SLL_DATA,
131131
NODE_GLOBAL_VDISTR_LVL3,
132132
NODE_GLOBAL_VDISTR_LVL21,
133-
NODE_GLOBAL_VDISTR_SHARED;
133+
NODE_GLOBAL_VDISTR_SHARED,
134+
135+
// Versal Gen 2
136+
NODE_GLOBAL_HDISTR_SLOW,
137+
NODE_GLOBAL_HDISTR_MED,
138+
NODE_GLOBAL_HDISTR_FAST,
139+
NODE_GLOBAL_HROUTE_SLOW,
140+
NODE_GLOBAL_HROUTE_MED;
141+
142+
134143

135144

136145
public static boolean isLongWire(Tile tile, int wire) {

0 commit comments

Comments
 (0)