**NOTE:** Due to GitHub size limitations, All Series7 devices are now located in `rapidwright_data2.zip`. All other files are in `rapidwright_data.zip`.
**Release Notes:**
- Support for Vivado 2022.2 devices and DCPs
- ~5% memory usage improvement over 2022.1.4 when loading (large) DCPs
- Removes several deprecated APIs (See list below)
- Fixes the method "public synchronized boolean isIOStandardSupported(String ioStandard)" on Package.
- Corrects null node scenario as seen in 581
- Moving device root tile name cache into open source (578)
- API Additions:
- com.xilinx.rapidwright.design.Cell "public Cell copyCell(String name, EDIFHierCellInst inst)"
- com.xilinx.rapidwright.design.Cell "public Cell copyCell(String name, EDIFHierCellInst inst, SiteInst i)"
- com.xilinx.rapidwright.design.Cell "public Map<String, EDIFPropertyValue> getProperties()"
- com.xilinx.rapidwright.device.Device "public Tile[][] getTilesByRootName(String rootName)"
- com.xilinx.rapidwright.device.Tile.java "public String getRootName()"
- API Deprecation Removals (--> Replacements) [Open Source]:
- com.xilinx.rapidwright.design.ModuleInst "public ArrayList<SiteInst> getInsts()"
--> "public List<SiteInst> getSiteInsts()"
- com.xilinx.rapidwright.design.ModuleInst "public Tile getCorrespondingTile(Tile templateTile, Tile newAnchorTile, Device dev)"
--> "public Tile getCorrespondingTile(Tile templateTile, Tile newAnchorTile)"
- com.xilinx.rapidwright.edif.EDIFCellInst "public Map<String, EDIFPortInst> getPortInstMap()"
--> "public Collection<EDIFPortInst> getPortInsts()"
- com.xilinx.rapidwright.edif.EDIFCellInst "public void updateCellType(EDIFCell cellType)"
--> "public void setCellType(EDIFCell cellType)"
- com.xilinx.rapidwright.edif.EDIFNet "public Map<String, EDIFPortInst> getPortInstMap()"
--> "public Collection<EDIFPortInst> getPortInsts()"
- com.xilinx.rapidwright.edif.EDIFNet "public EDIFPortInst getPortInst(String fullName)"
--> "public EDIFPortInst getPortInst(EDIFCellInst inst, String portInstName)"
- com.xilinx.rapidwright.edif.EDIFNet "public EDIFPortInst removePortInst(String portInstName)"
--> "public EDIFPortInst removePortInst(EDIFCellInst inst, String portInstName)"
--> "public EDIFPortInst removePortInst(EDIFPortInst portInst)"
- com.xilinx.rapidwright.edif.EDIFNetlist "public static String getHierParentName(String hierReferenceName)"
--> com.xilinx.rapidwright.edif.EDIFHierCellInst.getParent().toString()
--> com.xilinx.rapidwright.edif.EDIFHierNet.getParent().toString()
--> com.xilinx.rapidwright.edif.EDIFHierPortInst.getParent().toString()
- com.xilinx.rapidwright.edif.EDIFNetlist "public static String getNextHierChildName(String ancestor, String descendent)"
--> com.xilinx.rapidwright.edif.EDIFHierCellInst.getParent().toString()
- com.xilinx.rapidwright.edif.EDIFNetlist "public HashMap<String,EDIFPort> generateEDIFPortMap()"
--> com.xilinx.rapidwright.edif.EDIFCell.getPortMap()
- com.xilinx.rapidwright.edif.EDIFTools "public static EDIFNet connectLogicalNetAcrossHierarchy(String sinkParentInstName, String srcParentInstName, Map<String, EDIFNet> parentInstNameToLogNet, EDIFNetlist netlist)"
--> "public static void connectPortInstsThruHier(EDIFHierPortInst src, EDIFHierPortInst snk, String newName)"
- com.xilinx.rapidwright.edif.EDIFPort "public String getStemName()"
--> "public static String getRootBusName(String name, boolean includeOpenBracket)"
- com.xilinx.rapidwright.edif.EDIFPropertyObject "public EDIFPropertyValue addProperty(EDIFName key, EDIFPropertyValue value)"
--> "public EDIFPropertyValue addProperty(String key, EDIFPropertyValue value)"
- com.xilinx.rapidwright.edif.EDIFPropertyObject "public void addProperties(Map<EDIFName,EDIFPropertyValue> properties)"
--> "public EDIFPropertyValue addProperty(String key, EDIFPropertyValue value)"
- com.xilinx.rapidwright.edif.EDIFPropertyObject "public Map<EDIFName, EDIFPropertyValue> getProperties()"
--> "public Map<String, EDIFPropertyValue> getPropertiesMap()"
- com.xilinx.rapidwright.edif.EDIFPropertyObject "public void setProperties(Map<EDIFName, EDIFPropertyValue> properties)"
--> "public void setPropertiesMap(Map<String, EDIFPropertyValue> properties)"
- com.xilinx.rapidwright.edif.EDIFTools "public static EDIFCellInst getEDIFCellInst(EDIFNetlist netlist, String hierarchicalName)"
--> com.xilinx.rapidwright.edif.EDIFNetlist.getCellInstFromHierName()
- com.xilinx.rapidwright.edif.EDIFTools "public static String getHierarchicalRootFromPinName(String s)"
--> com.xilinx.rapidwright.edif.EDIFHierCellInst.getParent().toString()
- com.xilinx.rapidwright.edif.EDIFTools "public static void flattenNetlist(Design design)"
--> "public static Boolean uniqueifyNetlist(Design design)"
- com.xilinx.rapidwright.util.FileTools "public static boolean checkIfRapidWrightResourceExists(String name)"
--> N/A
- com.xilinx.rapidwright.util.FileTools "public static boolean folderCheck(String name)"
--> java.io.File().exists()
- com.xilinx.rapidwright.util.MessageGenerator "public static void briefErrorAndExit(String msg)"
--> System.err.println(), return or throw new RuntimeException() (avoid System.exit())
- com.xilinx.rapidwright.util.MessageGenerator "public static void briefMessageAndExit(String msg)"
--> System.out.println(), return or throw new RuntimeException() (avoid System.exit())
- API Deprecation Removals (--> Replacements) [Closed Source]:
- com.xilinx.rapidwright.design.Cell "public Map<EDIFName, EDIFPropertyValue> getProperties()"
--> "public Map<String, EDIFPropertyValue> getProperties()"
- com.xilinx.rapidwright.design.Cell "public Cell(String name, EDIFCellInst edifCellInst)"
--> "public Cell(String name)"
- com.xilinx.rapidwright.design.Cell "public Cell(String name, BEL bel, EDIFCellInst edifCellInst)"
--> "public Cell(String name, BEL bel)"
- com.xilinx.rapidwright.design.Cell "public Cell(String name, SiteInst siteInst, BEL bel, EDIFCellInst edifCellInst)"
--> "public Cell(String name, SiteInst siteInst, BEL bel)"
- com.xilinx.rapidwright.design.Cell "public Cell copyCell(String name, EDIFCellInst edifCellInst)"
--> "public Cell(String name)"
- com.xilinx.rapidwright.design.Cell "public Cell copyCell(String name, EDIFCellInst edifCellInst, SiteInst i)"
--> "public Cell(String name)"
- com.xilinx.rapidwright.design.Cell "public void setEDIFCellInst(EDIFCellInst edifCellInst)"
--> "public void setEDIFHierCellInst(EDIFHierCellInst inst)"
- com.xilinx.rapidwright.design.Cell "public void setProperties(Map<EDIFName, EDIFPropertyValue> properties)"
--> "public void setPropertiesMap(Map<String, EDIFPropertyValue> properties)"
- com.xilinx.rapidwright.design.Design "public Net createNet(EDIFNet net)"
--> "public Net createNet(EDIFHierNet net)"
- com.xilinx.rapidwright.design.Design "public Net createNet(String name, EDIFNet net)"
--> "public Net createNet(EDIFHierNet net)"
- com.xilinx.rapidwright.design.Design "public HashMap<String,EDIFCellInst> getNetlistInstMap()"
--> com.xilinx.rapidwright.netlist.EDIFNetlist.generateCellInstMap();
- com.xilinx.rapidwright.design.Design "public HashMap<String, EDIFNet> getNetlistNetMap()"
--> com.xilinx.rapidwright.netlist.EDIFNetlist.generateEDIFNetMap();
- com.xilinx.rapidwright.design.Module "public boolean isValidPlacement(Site proposedAnchorSite, Device dev, Design design)"
--> "public boolean isValidPlacement(Site proposedAnchorSite, Design design)"
- com.xilinx.rapidwright.design.Module "public Tile getCorrespondingTile(Tile templateTile, Tile newAnchorTile, Device dev)"
--> "public Tile getCorrespondingTile(Tile templateTile, Tile newAnchorTile)"
- com.xilinx.rapidwright.design.Net "public Net(String name, EDIFNet logicalNet)"
--> "public Net(String name)"
- com.xilinx.rapidwright.design.Net "public Net(EDIFNet logicalNet)"
--> "public Net(EDIFHierNet net)"
- com.xilinx.rapidwright.design.Net "public SitePinInst createPin(boolean isOutput, String pinName, SiteInst si)"
--> "public SitePinInst createPin(String pinName, SiteInst si)"
- com.xilinx.rapidwright.design.Net "public void setLogicalNet(EDIFNet logicalNet)"
--> "public void setLogicalHierNet(EDIFHierNet logicalHierNet)"
- com.xilinx.rapidwright.design.SiteInst "public Set<Net> getNetList()"
--> "public Set<Net> getConnectedNets()"
- com.xilinx.rapidwright.design.SiteInst "public Map<String,Net> getNetSiteWireMap()"
--> "public Map<String, Net> getSiteWireToNetMap()"
- com.xilinx.rapidwright.device.Device "public String getDeviceName()"
--> "public String getName()"
- com.xilinx.rapidwright.device.Node "public Node(Tile tile, int wire)"
--> "public static Node getNode(Tile tile, int wire)"
- com.xilinx.rapidwright.device.Node "public Node(Wire w)"
--> "public static Node getNode(Wire wire)"
- com.xilinx.rapidwright.device.Node "public Node(Tile tile, String wireName)"
--> "public static Node getNode(Tile tile, int wire)"
- com.xilinx.rapidwright.device.Node "public Node(String nodeName, Device dev)"
--> "public static Node getNode(String nodeName, Device dev)"
- com.xilinx.rapidwright.device.Node "public Node(RouteNode routeNode)"
--> "public static Node getNode(RouteNode routeNode)"
- com.xilinx.rapidwright.device.Package "public String getSiteType(String packagePinName)"
--> "public Site getSiteFromPackagePin(String packagePinName)"
- com.xilinx.rapidwright.device.PackagePin "public String getSiteType()"
--> "public Site getSite()"