Skip to content

RapidWright 2022.2.0-beta Release

Compare
Choose a tag to compare
@clavin-xlnx clavin-xlnx released this 17 Nov 04:54
· 604 commits to master since this release
6730ee7

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 getInsts()"
      --> "public List 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 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 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 getNetList()"
      --> "public Set 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()"