Skip to content

Commit 94bfaf9

Browse files
authored
Merge pull request #1219 from Xilinx/2025.1.0
2025.1.0
2 parents 9cdf5a5 + 2746dc3 commit 94bfaf9

File tree

17 files changed

+691
-373
lines changed

17 files changed

+691
-373
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)

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3151,11 +3151,18 @@ private static void copySiteRouting(Cell copy, Cell orig, Map<String,String> src
31513151
if (tmpCell.isRoutethru()) {
31523152
String cellName = tmpCell.getName();
31533153
String prefixMatch = StringTools.startsWithAny(cellName, prefixes.keySet());
3154+
boolean keepPhysName = false;
31543155
if (prefixMatch == null) {
3155-
throw new RuntimeException("ERROR: Unable to find appropriate "
3156-
+ "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+
}
31573163
}
3158-
String newCellName = getNewHierName(cellName, srcToDestNames, prefixes, prefixMatch);
3164+
String newCellName = keepPhysName ? cellName
3165+
: getNewHierName(cellName, srcToDestNames, prefixes, prefixMatch);
31593166
Cell rtCopy = tmpCell
31603167
.copyCell(newCellName, tmpCell.getEDIFHierCellInst(), dstSiteInst);
31613168
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/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) {

src/com/xilinx/rapidwright/device/Part.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.
@@ -30,7 +30,7 @@
3030
import java.util.HashSet;
3131

3232
/**
33-
* Generated on: Thu Nov 21 13:06:39 MST 2024
33+
* Generated on: Wed Jun 11 09:41:43 MDT 2025
3434
* by: com.xilinx.rapidwright.release.PartNamePopulator
3535
*
3636
* Class used to uniquely represent a Xilinx part.
@@ -250,6 +250,7 @@ public Series getSeries() {
250250
FamilyType.QVIRTEXUPLUSHBM,
251251
FamilyType.QZYNQUPLUS,
252252
FamilyType.QZYNQUPLUSRFSOC,
253+
FamilyType.SPARTANUPLUS,
253254
FamilyType.VIRTEXUPLUS,
254255
FamilyType.VIRTEXUPLUS58G,
255256
FamilyType.VIRTEXUPLUSHBM,
@@ -268,9 +269,11 @@ public Series getSeries() {
268269
FamilyType.VERSAL,
269270
FamilyType.VERSALAICORE,
270271
FamilyType.VERSALAIEDGE,
272+
FamilyType.VERSALAIEDGE2,
271273
FamilyType.VERSALHBM,
272274
FamilyType.VERSALPREMIUM,
273275
FamilyType.VERSALPRIME,
276+
FamilyType.VERSALPRIME2,
274277
};
275278
versal = new HashSet<FamilyType>(Arrays.asList(versalTypes));
276279
}

src/com/xilinx/rapidwright/device/PartNameTools.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.
@@ -36,7 +36,7 @@
3636
import com.xilinx.rapidwright.util.FileTools;
3737

3838
/**
39-
* Generated on: Thu Nov 21 13:06:39 MST 2024
39+
* Generated on: Wed Jun 11 09:41:43 MDT 2025
4040
* by: com.xilinx.rapidwright.release.PartNamePopulator
4141
*
4242
* Class to hold utility APIs dealing with Parts and device names.
@@ -158,11 +158,14 @@ public static FamilyType getArchitectureFromFamilyType(FamilyType type) {
158158
case QZYNQUPLUS: return FamilyType.ZYNQUPLUS;
159159
case QZYNQUPLUSRFSOC: return FamilyType.ZYNQUPLUSRFSOC;
160160
case SPARTAN7: return FamilyType.SPARTAN7;
161+
case SPARTANUPLUS: return FamilyType.SPARTANUPLUS;
161162
case VERSALAICORE: return FamilyType.VERSAL;
162163
case VERSALAIEDGE: return FamilyType.VERSAL;
164+
case VERSALAIEDGE2: return FamilyType.VERSAL;
163165
case VERSALHBM: return FamilyType.VERSAL;
164166
case VERSALPREMIUM: return FamilyType.VERSAL;
165167
case VERSALPRIME: return FamilyType.VERSAL;
168+
case VERSALPRIME2: return FamilyType.VERSAL;
166169
case VIRTEX7: return FamilyType.VIRTEX7;
167170
case VIRTEXU: return FamilyType.VIRTEXU;
168171
case VIRTEXUPLUS: return FamilyType.VIRTEXUPLUS;
@@ -214,12 +217,15 @@ public static String getFullArchitectureName(FamilyType type) {
214217
case QZYNQUPLUS: return "Zynq UltraScale+";
215218
case QZYNQUPLUSRFSOC: return "Zynq UltraScale+ RFSOC";
216219
case SPARTAN7: return "Spartan-7";
220+
case SPARTANUPLUS: return "Spartan UltraScale+";
217221
case VERSAL: return "Versal ACAP";
218222
case VERSALAICORE: return "Versal ACAP";
219223
case VERSALAIEDGE: return "Versal ACAP";
224+
case VERSALAIEDGE2: return "Versal ACAP";
220225
case VERSALHBM: return "Versal ACAP";
221226
case VERSALPREMIUM: return "Versal ACAP";
222227
case VERSALPRIME: return "Versal ACAP";
228+
case VERSALPRIME2: return "Versal ACAP";
223229
case VIRTEX7: return "Virtex-7";
224230
case VIRTEXU: return "Virtex UltraScale";
225231
case VIRTEXUPLUS: return "Virtex UltraScale+";
@@ -271,12 +277,15 @@ public static Series getSeriesFromFamilyType(FamilyType type) {
271277
case QZYNQUPLUS: return Series.UltraScalePlus;
272278
case QZYNQUPLUSRFSOC: return Series.UltraScalePlus;
273279
case SPARTAN7: return Series.Series7;
280+
case SPARTANUPLUS: return Series.UltraScalePlus;
274281
case VERSAL: return Series.Versal;
275282
case VERSALAICORE: return Series.Versal;
276283
case VERSALAIEDGE: return Series.Versal;
284+
case VERSALAIEDGE2: return Series.Versal;
277285
case VERSALHBM: return Series.Versal;
278286
case VERSALPREMIUM: return Series.Versal;
279287
case VERSALPRIME: return Series.Versal;
288+
case VERSALPRIME2: return Series.Versal;
280289
case VIRTEX7: return Series.Series7;
281290
case VIRTEXU: return Series.UltraScale;
282291
case VIRTEXUPLUS: return Series.UltraScalePlus;

0 commit comments

Comments
 (0)