Skip to content

Commit

Permalink
Merge pull request #679 from Xilinx/2023.1.0
Browse files Browse the repository at this point in the history
2023.1.0 Staging Branch
  • Loading branch information
clavin-xlnx authored Jun 1, 2023
2 parents a6b51d8 + ad27bea commit cefe09a
Show file tree
Hide file tree
Showing 28 changed files with 697 additions and 376 deletions.
4 changes: 2 additions & 2 deletions .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
<classpathentry kind="lib" path="jars/kryo-5.2.1.jar"/>
<classpathentry kind="lib" path="jars/minlog-1.3.1.jar"/>
<classpathentry kind="lib" path="jars/jython-standalone-2.7.2.jar"/>
<classpathentry kind="lib" path="jars/rapidwright-api-lib-2022.2.3.jar">
<classpathentry kind="lib" path="jars/rapidwright-api-lib-2023.1.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/RapidWright/jars/rapidwright-api-lib-2022.2.3-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:platform:/resource/RapidWright/jars/rapidwright-api-lib-2023.1.0-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="jars/jgrapht-core-1.3.0.jar"/>
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
pull_request:

env:
RAPIDWRIGHT_VERSION: v2022.2.3-beta
RAPIDWRIGHT_VERSION: v2023.1.0-beta

jobs:
build:
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
/.gradle/
.pydevproject
/.settings/
/bin/
/bin/com
/bin/rapidwright_classpath.sh
.idea
*.iml
/designs/
Expand Down
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ TMP_HEADER = TMP_HEADER_TXT
.PHONY: compile update_jars ensure_headers check_headers pre_commit enable_pre_commit_hook
compile: $(CLASSES)
$(CLASSES): $(SOURCES) $(JARFILES)
rm -rf $(BIN)
mkdir -p $(BIN)
rm -rf $(BIN)/com
javac -source 8 -target 8 $(SOURCES) -d $(BIN) -cp $(CLASSPATH)
echo "export CLASSPATH=`pwd`/bin:$(shell echo `pwd`/jars/*.jar | tr ' ' ':')" > $(BIN)/rapidwright_classpath.sh

Expand Down
21 changes: 21 additions & 0 deletions RELEASE_NOTES.TXT
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
============= RapidWright 2023.1.0-beta released on 2023-05-31 ================
Notes:
- Support for Vivado 2023.1 devices and reading 2023.1 DCPs
- Full adoption of Zstandard compression for all device and data
files - 11% faster device loads and 108% faster device cache loads with file size reductions of 32% and 52% respectively.
- Has a new 'rapidwright' run wrapper that avoids the need to set CLASSPATH, provides convenience to run any class file with a main() method, run the Jython interpreter and enables one-liner Jython commands. Run `rapidwright` at the prompt for more details.
- Fix duplicate net source pins (won't set the alternate source if it is the same as the source)
- Change Net.connect() behavior to connect to existing SitePinInst if net is null
- DesignTools.createCeSrRstPinsToVCC() to detect gnd to invert (#664)
- EDIFNetlist.cellInstIOStandardFallback to collect set of IOSTANDARDs instead of throwing an error if there is a conflict (#671)
- [EDIF] More expanded macros to be deep copied from prim library (#672)
- Ignore TestCheckOpenFilesInstalled.test if outside of gradle (#674)
- [EDIF] EDIFNetlist.collapseMacroUnisims() to not clobber cell (#675)
- [EDIF] Explicit DEFAULT IOStandard on Cell to be overriden by Net (#686)
- API Additions:
- (None)

- API Deprecation Removals (--> Replacements) [Closed Source]:
- com.xilinx.rapidwright.device.Tile "public String getNameRoot() --> "public string getRootName()"
- com.xilinx.rapidwright.device.Device "public Tile[][] getTilesByNameRoot(String nameRoot)" --> "getTilesByRootName(String rootName)"

============= RapidWright 2022.2.3-beta released on 2023-05-03 ================
Notes:
- Adds preliminary support for Zstandard compression. Uses it in device cache file generation. Next release will use it for all data files.
Expand Down
1 change: 1 addition & 0 deletions bin/rapidwright
2 changes: 1 addition & 1 deletion src/com/xilinx/rapidwright/design/ModuleInst.java
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,7 @@ public Site getLowerLeftPlacement(SiteTypeEnum type) {
// Get original lower left placement
Tile origLowerLeft = getLowerLeftTile(type);

String origTilePrefix = origLowerLeft.getNameRoot();
String origTilePrefix = origLowerLeft.getRootName();
String newSuffix = "_X" + (origLowerLeft.getTileXCoordinate() + dx) + "Y" + (origLowerLeft.getTileYCoordinate() + dy);

Tile newTile = origLowerLeft.getDevice().getTile(origTilePrefix + newSuffix);
Expand Down
10 changes: 5 additions & 5 deletions src/com/xilinx/rapidwright/design/RelocatableTileRectangle.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,18 @@ private String failedReloc(Tile template, Tile newAnchor, Tile originalAnchor, T
int newTileX = newAnchor.getTileXCoordinate() + tileXOffset;
int newTileY = newAnchor.getTileYCoordinate() + tileYOffset;

String newName = template.getNameRoot()+"_X"+newTileX+"Y"+newTileY;
String newName = template.getRootName() + "_X" + newTileX + "Y" + newTileY;


return "Failed to find corresponding tile \""+newName+"\" for "+template+" when relocating from "+originalAnchor+" to "+newAnchor+". Rect: "+ this;
}

public RelocatableTileRectangle getCorresponding(Tile newAnchor, Tile originalAnchor) {
if (minColumnArr == null) {
minColumnArr = newAnchor.getDevice().getTilesByNameRoot(minColumn.getNameRoot());
maxColumnArr = newAnchor.getDevice().getTilesByNameRoot(maxColumn.getNameRoot());
minRowArr = newAnchor.getDevice().getTilesByNameRoot(minRow.getNameRoot());
maxRowArr = newAnchor.getDevice().getTilesByNameRoot(maxRow.getNameRoot());
minColumnArr = newAnchor.getDevice().getTilesByRootName(minColumn.getRootName());
maxColumnArr = newAnchor.getDevice().getTilesByRootName(maxColumn.getRootName());
minRowArr = newAnchor.getDevice().getTilesByRootName(minRow.getRootName());
maxRowArr = newAnchor.getDevice().getTilesByRootName(maxRow.getRootName());
}

return new RelocatableTileRectangle(
Expand Down
13 changes: 11 additions & 2 deletions src/com/xilinx/rapidwright/design/Unisim.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, Advanced Micro Devices, Inc.
* Copyright (c) 2023, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Advanced Micro Devices, Inc.
Expand Down Expand Up @@ -33,7 +33,7 @@
import com.xilinx.rapidwright.edif.EDIFLibrary;

/**
* Generated on: Wed Oct 26 12:59:37 2022
* Generated on: Wed May 17 23:03:43 2023
* by: com.xilinx.rapidwright.release.UnisimParser
*
* Enumerates supported Unisim primitives that map to Xilinx devices.
Expand Down Expand Up @@ -73,6 +73,7 @@ public enum Unisim {
AND5B4,
AND5B5,
AUTOBUF,
BFR_MATMULX,
BIBUF,
BITSLICE_CONTROL,
BSCANE2,
Expand Down Expand Up @@ -479,6 +480,7 @@ public enum Unisim {
IOBUFDSE3,
IOBUFDS_BLVDS_25,
IOBUFDS_COMP,
IOBUFDS_COMP_ODDR,
IOBUFDS_DCIEN,
IOBUFDS_DIFF_OUT,
IOBUFDS_DIFF_OUT_DCIEN,
Expand Down Expand Up @@ -795,6 +797,7 @@ public enum Unisim {
OBUFDS,
OBUFDS_BLVDS_25,
OBUFDS_COMP,
OBUFDS_COMP_ODDR,
OBUFDS_DPHY,
OBUFDS_DPHY_COMP,
OBUFDS_GTE3,
Expand All @@ -820,6 +823,7 @@ public enum Unisim {
OBUFTDS,
OBUFTDS_BLVDS_25,
OBUFTDS_COMP,
OBUFTDS_COMP_ODDR,
OBUFTDS_DCIEN,
OBUFTDS_LDT_25,
OBUFTDS_LVDSEXT_25,
Expand Down Expand Up @@ -1270,6 +1274,10 @@ public enum Unisim {
RAMS64E1,
RAMS64E5,
RFADC,
RFADC_13B4W_M0,
RFADC_13B4W_M1,
RFADC_14B2W_M0,
RFADC_14B2W_M1,
RFDAC,
RIU_OR,
ROM128X1,
Expand Down Expand Up @@ -1338,6 +1346,7 @@ public enum Unisim {
XPIO_VREF,
XPIPE_QUAD,
XPLL,
XRAM,
ZHOLD_DELAY,
;

Expand Down
4 changes: 2 additions & 2 deletions src/com/xilinx/rapidwright/design/tools/RelocationTools.java
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ public static boolean relocate(Design design,
SiteInst srcSiteInst = e.getKey();
assert(destSite != srcSite);
if (destTile == null || destSite == null) {
String destTileName = srcTile.getNameRoot() + "_X" + (srcTile.getTileXCoordinate() + tileColOffset)
String destTileName = srcTile.getRootName() + "_X" + (srcTile.getTileXCoordinate() + tileColOffset)
+ "Y" + (srcTile.getTileYCoordinate() + tileRowOffset);
System.out.println("ERROR: Failed to move SiteInst '" + srcSiteInst.getName() + "' from Tile '" + srcTile.getName()
+ "' to Tile '" + destTileName + "'");
Expand Down Expand Up @@ -285,7 +285,7 @@ public static boolean relocate(Design design,
if (isClockNet) {
System.out.println("INFO: Skipping clock net PIP '" + sp + "' (Net '" + n.getName() + "')");
} else {
String destTileName = st.getNameRoot() + "_X" + (st.getTileXCoordinate() + tileColOffset)
String destTileName = st.getRootName() + "_X" + (st.getTileXCoordinate() + tileColOffset)
+ "Y" + (st.getTileYCoordinate() + tileRowOffset);
System.out.println("ERROR: Failed to move PIP '" + sp + "' to Tile '" + destTileName +
"' (Net '" + n.getName() + "')");
Expand Down
9 changes: 5 additions & 4 deletions src/com/xilinx/rapidwright/device/FamilyType.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/*
* Copyright (c) 2022, Xilinx, Inc.
* Copyright (c) 2022, Advanced Micro Devices, Inc.
* Copyright (c) 2023, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Xilinx Research Labs.
* Author: Chris Lavin, Advanced Micro Devices, Inc.
*
* This file is part of RapidWright.
*
Expand All @@ -28,13 +27,14 @@


/**
* Generated on: Wed Apr 27 13:18:34 2022
* Generated on: Wed May 17 22:32:37 2023
* by: com.xilinx.rapidwright.release.PartNamePopulator
*
* Set of all Supported Xilinx families in RapidWright
*/
public enum FamilyType {
AARTIX7,
AARTIXUPLUS,
AKINTEX7,
ARTIX7,
ARTIX7L,
Expand Down Expand Up @@ -65,6 +65,7 @@ public enum FamilyType {
VERSAL,
VERSALAICORE,
VERSALAIEDGE,
VERSALHBM,
VERSALPREMIUM,
VERSALPRIME,
VIRTEX7,
Expand Down
8 changes: 4 additions & 4 deletions src/com/xilinx/rapidwright/device/IOBankType.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/*
* Copyright (c) 2021-2022, Xilinx, Inc.
* Copyright (c) 2022, Advanced Micro Devices, Inc.
* Copyright (c) 2023, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Xilinx Research Labs.
* Author: Chris Lavin, Advanced Micro Devices, Inc.
*
* This file is part of RapidWright.
*
Expand All @@ -20,14 +19,15 @@
* limitations under the License.
*
*/

/**
*
*/
package com.xilinx.rapidwright.device;


/**
* Generated on: Tue Apr 27 08:16:41 2021
* Generated on: Wed May 17 23:03:43 2023
* by: com.xilinx.rapidwright.release.SiteAndTileTypeUpdater
*
* Enumeration of IOBankType type for all valid devices within Vivado.
Expand Down
7 changes: 3 additions & 4 deletions src/com/xilinx/rapidwright/device/IOStandard.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/*
* Copyright (c) 2022, Xilinx, Inc.
* Copyright (c) 2022, Advanced Micro Devices, Inc.
* Copyright (c) 2023, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Xilinx Research Labs.
* Author: Chris Lavin, Advanced Micro Devices, Inc.
*
* This file is part of RapidWright.
*
Expand All @@ -28,7 +27,7 @@


/**
* Generated on: Mon Apr 25 23:31:34 2022
* Generated on: Wed May 17 23:03:43 2023
* by: com.xilinx.rapidwright.release.SiteAndTileTypeUpdater
*
* Enumeration of IOStandard type for all valid devices within Vivado.
Expand Down
11 changes: 6 additions & 5 deletions src/com/xilinx/rapidwright/device/Part.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/*
* Copyright (c) 2022, Xilinx, Inc.
* Copyright (c) 2022, Advanced Micro Devices, Inc.
* Copyright (c) 2023, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Xilinx Research Labs.
* Author: Chris Lavin, Advanced Micro Devices, Inc.
*
* This file is part of RapidWright.
*
Expand Down Expand Up @@ -31,7 +30,7 @@
import java.util.HashSet;

/**
* Generated on: Wed Apr 27 13:18:34 2022
* Generated on: Wed May 17 22:32:37 2023
* by: com.xilinx.rapidwright.release.PartNamePopulator
*
* Class used to uniquely represent a Xilinx part.
Expand Down Expand Up @@ -242,6 +241,7 @@ public Series getSeries() {
};
ultraScale = new HashSet<FamilyType>(Arrays.asList(ultraScaleTypes));
ultraScalePlusTypes = new FamilyType[] {
FamilyType.AARTIXUPLUS,
FamilyType.ARTIXUPLUS,
FamilyType.AZYNQUPLUS,
FamilyType.KINTEXUPLUS,
Expand All @@ -265,6 +265,7 @@ public Series getSeries() {
FamilyType.VERSAL,
FamilyType.VERSALAICORE,
FamilyType.VERSALAIEDGE,
FamilyType.VERSALHBM,
FamilyType.VERSALPREMIUM,
FamilyType.VERSALPRIME,
};
Expand All @@ -291,4 +292,4 @@ public String toString() {
return name;
}

}
}
Loading

0 comments on commit cefe09a

Please sign in to comment.