diff --git a/.classpath b/.classpath
index 1cb8d151e..71aecb3fd 100644
--- a/.classpath
+++ b/.classpath
@@ -33,9 +33,9 @@
-
+
-
+
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 65b5d7839..3cf72a435 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,7 +5,7 @@ on:
pull_request:
env:
- RAPIDWRIGHT_VERSION: v2024.1.3-beta
+ RAPIDWRIGHT_VERSION: v2024.2.0-beta
jobs:
build:
diff --git a/RELEASE_NOTES.TXT b/RELEASE_NOTES.TXT
index 0ec4d8221..4aa08dede 100644
--- a/RELEASE_NOTES.TXT
+++ b/RELEASE_NOTES.TXT
@@ -1,3 +1,62 @@
+============= RapidWright 2024.2.0-beta released on 2024-12-04 ================
+Notes:
+ - Remove reliance on gap routing test (#1117)
+ - [ModuleInst] Fix placement behavior when requesting no overlaps (#1108)
+ - [RWRoute] Clock router for Versal architecture (#1102)
+ - Various preprocessing fixes for Versal routing (#1115)
+ - [CUFR] CUFR and PartialCUFR to default to --hus (#1111)
+ - [TestNet] Improve testSetPinsMultiSrcStatic to track many sources (#1082)
+ - Changes to support new array-based cell pin mappings (#1101)
+ - Update tests to reflect bug fixes and minor behavior changes (#1110)
+ - [RWRoute] Yet more cleanup (#1107)
+ - [RWRoute] Preserve nodes of Laguna sinks (#1104)
+ - [GlobalSignalRouting] routeStaticNets() to take a list of static pins (#1105)
+ - [RWRoute] Fix typo -- not an exclusive sink (#1106)
+ - [RWRoute] Versal optimizations (#1093)
+ - [RWRoute] RouteNode.setType() to accept any locals (#1103)
+ - [RWRoute] Further divide LOCAL nodes into EAST/WEST for UltraScale(+) (#1098)
+ - [Utils] isClocking() to include TileTypeEnum.CMT_L (#1100)
+ - TileGroup and DeviceBrowser Improvements (#1094)
+ - [RWRoute] Divide nodes into LOCAL and NON_LOCAL (#1095)
+ - Update actions and do not limit to 5G RAM (#1092)
+ - [HandPlacer] Cleanup snapping code in hand placer (#1091)
+ - [LUTTools] Add zero padding to LUT INIT strings (#1090)
+ - [NetTools] Add getNodeTrees() method and NodeTree class (#1089)
+ - [YosysTools] Add synthXilinx() wrapper for Yosys (#1086)
+ - [EDIFWriteLegalNameCache] busCollisionRenames to be a ConcurrentHashMap (#1088)
+ - Add ReportRouteStatus utility (#1087)
+ - [RWRoute] Signal router for Versal architecture (#1077)
+ - [FileTools] Add runCommand(String[] ...) & getExecutablePath(String) (#1085)
+ - [RouterHelper] findPathBetweenNodes() allow clocking if src/sink is so (#1083)
+ - [RouterHelper] projectOutputPinToINTNode() to breadth-first-search (#1081)
+ - [RouterHelper] projectInputPinToINTNode() to return solitary node (#1080)
+ - [RouterHelper] findPathBetweenNodes() to ignore clocking tiles (#1079)
+ - [RouterHelper] invertPossibleGndPinsToVccPins() to support Versal LUTs (#1078)
+ - [DesignTools] Fix createCeSrRstPinsToVCC() for US BRAMs (#1075)
+ - [DesignTools] Add LDCE/LDPE to types that need VCC (#1076)
+ - [NetTools] Add NetTools.isGlobalClock() (#1057)
+ - Static router for Versal architecture (#1073)
+ - [EDIFNetlist] getPhysicalPins() to call getPhysical{Gnd,Vcc}Pins() (#1074)
+ - Fix Null SLR References in Tiles in xcvp1902
+ - Add Implements Serializable to All RapidWright Classes
+ - [SiteInst] Improve memory usage of site routing using array instead of maps
+ - [Cell] Changes pin mappings from a map to an array to improve memory usage
+ - [BEL] Deprecate isSRIMR() in favour of more general isIMR()
+ - [Tile] Add getMaxUniqueAddress()
+ - [Net] Add support for multiple output sources
+
+API Additions:
+ - com.xilinx.rapidwright.design.Cell "public Pair getFirstPhysicalPinMapping()"
+ - com.xilinx.rapidwright.design.Cell "public int getUsedPhysicalPinsCount()"
+ - com.xilinx.rapidwright.design.Cell "public Set getUsedPhysicalPins()"
+ - com.xilinx.rapidwright.design.Cell "public String[] getPhysicalPinMappings()"
+ - com.xilinx.rapidwright.design.Cell "public boolean usesPhysicalPin(String physicalPinName)"
+ - com.xilinx.rapidwright.design.Design "public boolean placeCell(Cell c, Site site, BEL bel, String[] physPinMappings)"
+ - com.xilinx.rapidwright.design.Net "public List getAlternateSources()"
+ - com.xilinx.rapidwright.device.BEL "public boolean isIMR()"
+ - com.xilinx.rapidwright.device.Tile "public int getMaxUniqueAddress()"
+
+
============= RapidWright 2024.1.3-beta released on 2024-10-02 ================
Notes:
- [RWRoute] Further cleanup (#1070)
diff --git a/src/com/xilinx/rapidwright/design/DesignTools.java b/src/com/xilinx/rapidwright/design/DesignTools.java
index 855c948ec..cb1954231 100644
--- a/src/com/xilinx/rapidwright/design/DesignTools.java
+++ b/src/com/xilinx/rapidwright/design/DesignTools.java
@@ -289,7 +289,7 @@ public static ArrayList getCorrespondingBELInputPins(BELPin outputPin, S
Net net = inst.getNetFromSiteWire(siteWireName);
if (net == null) continue;
if (net.isStaticNet()) continue;
- if (!cell.getPinMappingsP2L().containsKey(pin.getName())) continue;
+ if (!cell.usesPhysicalPin(pin.getName())) continue;
inputs.add(pin);
}
break;
@@ -325,7 +325,8 @@ public static ArrayList getCorrespondingBELOutputPins(BELPin inputPin, S
if (net == null) continue;
if (net.isStaticNet()) continue;
if (net.getName().equals(Net.USED_NET)) continue;
- if (!cell.getPinMappingsP2L().containsKey(pin.getName())) continue;
+ if (!cell.usesPhysicalPin(pin.getName()))
+ continue;
outputs.add(pin);
}
@@ -445,7 +446,7 @@ public static String invertLutInput (Cell lut, String physicalPinName) {
long oldVal = new BigInteger(hexValueStr, 16).longValue();
int numLutRows = Integer.parseInt(numLutRowsStr);
int numInput = (int)(Math.log(numLutRows)/Math.log(2));
- String logicalPinName = lut.getPinMappingsP2L().get(physicalPinName);
+ String logicalPinName = lut.getLogicalPinMapping(physicalPinName);
int invertCol = getInvertCol(logicalPinName.substring(logicalPinName.length()-1));
if (invertCol == -1) {
System.err.println("Inverted Column is -1 is Function DesignTools.invertLutInput");
@@ -1563,12 +1564,11 @@ public static List unrouteCellPinSiteRouting(Cell cell, String logi
if (otherCell.isRoutethru()) {
BELPin otherPin = null;
if (pin.isOutput()) {
- assert(otherCell.getPinMappingsP2L().size() == 1);
- String otherPinName = otherCell.getPinMappingsP2L().keySet().iterator().next();
- otherPin = pin.getBEL().getPin(otherPinName);
+ assert (otherCell.getUsedPhysicalPinsCount() == 1);
+ otherPin = otherCell.getFirstPhysicalPinMapping().getFirst();
} else {
// Make sure we are coming in on the routed-thru pin
- String otherPinName = otherCell.getPinMappingsP2L().keySet().iterator().next();
+ String otherPinName = otherCell.getFirstPhysicalPinMapping().getFirst().getName();
if (pin.getName().equals(otherPinName)) {
otherPin = LUTTools.getLUTOutputPin(pin.getBEL());
}
@@ -1777,7 +1777,8 @@ public static void makeBlackBox(Design d, EDIFHierCellInst hierarchicalCell) {
}
// Remove all physical nets first
- for (String logPin : c.getPinMappingsP2L().values()) {
+ for (String logPin : c.getPhysicalPinMappings()) {
+ if (logPin == null) continue;
List removePins = unrouteCellPinSiteRouting(c, logPin);
for (SitePinInst pin : removePins) {
pinsToRemove.computeIfAbsent(pin.getNet(), $ -> new HashSet<>()).add(pin);
@@ -1971,7 +1972,7 @@ public static boolean stampPlacement(Design design, Module stamp, Map getAllRoutedSitePinsFromPhysicalPin(Cell cell, Net ne
}
} else {
if (possibleRouteThru.isRoutethru()) {
- String routeThru = possibleRouteThru.getPinMappingsP2L().keySet().iterator().next();
- queue.add(bel.getPin(routeThru));
+ BELPin routeThru = possibleRouteThru.getFirstPhysicalPinMapping().getFirst();
+ queue.add(routeThru);
}
}
}
@@ -3005,14 +3006,19 @@ private static void copySiteRouting(Cell copy, Cell orig, Map src
}
EDIFHierCellInst cellInst = destNetlist.getHierCellInstFromName(copy.getName());
- for (Entry e : copy.getPinMappingsP2L().entrySet()) {
- EDIFPortInst portInst = cellInst.getInst().getPortInst(e.getValue());
+ String[] physPinNames = copy.getPhysicalPinMappings();
+ for (int i = 0; i < physPinNames.length; i++) {
+ String logPinName = physPinNames[i];
+ if (logPinName == null) continue;
+ String physPinName = copy.getBEL().getPin(i).getName();
+
+ EDIFPortInst portInst = cellInst.getInst().getPortInst(logPinName);
if (portInst == null) continue;
EDIFNet edifNet = portInst.getNet();
String netName = new EDIFHierNet(cellInst.getParent(), edifNet).getHierarchicalNetName();
- String siteWireName = orig.getSiteWireNameFromPhysicalPin(e.getKey());
+ String siteWireName = orig.getSiteWireNameFromPhysicalPin(physPinName);
Net origNet = origSiteInst.getNetFromSiteWire(siteWireName);
if (origNet == null) continue;
Net net = null;
@@ -3029,7 +3035,7 @@ private static void copySiteRouting(Cell copy, Cell orig, Map src
}
}
- BELPin curr = copy.getBEL().getPin(e.getKey());
+ BELPin curr = copy.getBEL().getPin(physPinName);
dstSiteInst.routeIntraSiteNet(net, curr, curr);
boolean routingForward = curr.isOutput();
Queue q = new LinkedList();
@@ -3068,7 +3074,7 @@ private static void copySiteRouting(Cell copy, Cell orig, Map src
Cell rtCopy = tmpCell
.copyCell(newCellName, tmpCell.getEDIFHierCellInst(), dstSiteInst);
dstSiteInst.getCellMap().put(belName, rtCopy);
- for (String belPinName : rtCopy.getPinMappingsP2L().keySet()) {
+ for (String belPinName : rtCopy.getUsedPhysicalPins()) {
BELPin tmp = rtCopy.getBEL().getPin(belPinName);
if (tmp.isInput()) {
curr = tmp;
diff --git a/src/com/xilinx/rapidwright/design/NetTools.java b/src/com/xilinx/rapidwright/design/NetTools.java
index 827a6d18e..8b8658780 100644
--- a/src/com/xilinx/rapidwright/design/NetTools.java
+++ b/src/com/xilinx/rapidwright/design/NetTools.java
@@ -144,4 +144,18 @@ public static List getNodeTrees(Net net) {
return subtrees;
}
+
+ /**
+ * Checks if the provided net drives a clock site pin input.
+ *
+ * @param net The net to examine.
+ * @return True if the net has a site pin clock input, false otherwise.
+ */
+ public static boolean hasClockSinks(Net net) {
+ for (SitePinInst sink : net.getPins()) {
+ if (sink.isOutPin()) continue;
+ if (sink.getName().contains("CLK")) return true;
+ }
+ return false;
+ }
}
diff --git a/src/com/xilinx/rapidwright/design/Unisim.java b/src/com/xilinx/rapidwright/design/Unisim.java
index ae3cf10ea..568becef2 100644
--- a/src/com/xilinx/rapidwright/design/Unisim.java
+++ b/src/com/xilinx/rapidwright/design/Unisim.java
@@ -33,12 +33,32 @@
import com.xilinx.rapidwright.edif.EDIFLibrary;
/**
- * Generated on: Wed May 01 19:57:08 MDT 2024
+ * Generated on: Thu Nov 21 13:34:09 MST 2024
* by: com.xilinx.rapidwright.release.UnisimParser
*
* Enumerates supported Unisim primitives that map to Xilinx devices.
*/
public enum Unisim {
+ AIE2PS_NOC_M_AXI,
+ AIE2PS_NOC_M_AXIS,
+ AIE2PS_NOC_S_AXI,
+ AIE2PS_NOC_S_AXIS,
+ AIE2PS_PL_M_AXIS128,
+ AIE2PS_PL_M_AXIS32,
+ AIE2PS_PL_M_AXIS64,
+ AIE2PS_PL_M_EVENTS,
+ AIE2PS_PL_S_AXIS128,
+ AIE2PS_PL_S_AXIS32,
+ AIE2PS_PL_S_AXIS64,
+ AIE2PS_PL_S_EVENTS,
+ AIE2P_PL_M_AXIS128,
+ AIE2P_PL_M_AXIS32,
+ AIE2P_PL_M_AXIS64,
+ AIE2P_PL_M_EVENTS,
+ AIE2P_PL_S_AXIS128,
+ AIE2P_PL_S_AXIS32,
+ AIE2P_PL_S_AXIS64,
+ AIE2P_PL_S_EVENTS,
AIE_ML_NOC_M_AXI,
AIE_ML_NOC_M_AXIS,
AIE_ML_NOC_S_AXI,
@@ -85,6 +105,8 @@ public enum Unisim {
AND5B4,
AND5B5,
AUTOBUF,
+ AXI32,
+ BFR_FT,
BFR_MATMULX,
BIBUF,
BITSLICE_CONTROL,
@@ -157,8 +179,10 @@ public enum Unisim {
DDRMC,
DDRMC5,
DDRMC5C,
+ DDRMC5E,
DDRMC_RIU,
DFE_CFR,
+ DFE_CHANNELIZER,
DFE_DUC_DDC,
DFE_FFT,
DFE_FIR,
@@ -258,6 +282,7 @@ public enum Unisim {
FRAME_ECCE3,
FRAME_ECCE4,
FRAME_ECC_VIRTEX6,
+ FUSE_CLK,
GND,
GTF_CHANNEL,
GTF_COMMON,
@@ -769,6 +794,7 @@ public enum Unisim {
NOC2_NMU256,
NOC2_NMU512,
NOC2_NPS5555,
+ NOC2_NPS6X,
NOC2_NPS7575,
NOC2_NSU128,
NOC2_NSU256,
@@ -1193,6 +1219,7 @@ public enum Unisim {
PLLE4_BASE,
PLL_ADV,
PLL_BASE,
+ PS11,
PS7,
PS8,
PS9,
@@ -1290,9 +1317,11 @@ public enum Unisim {
RAMS64E1,
RAMS64E5,
RFADC,
+ RFADCE5,
RFADC_13B4W_M0,
RFADC_13B4W_M1,
RFDAC,
+ RFDACE5,
RIU_OR,
ROM128X1,
ROM16X1,
@@ -1301,8 +1330,10 @@ public enum Unisim {
ROM64X1,
RXTX_BITSLICE,
RX_BITSLICE,
+ SDFEC_LD,
SIM_CONFIGE2,
SIM_CONFIGE3,
+ SIM_CONFIGE4,
SRL16,
SRL16E,
SRL16E_1,
diff --git a/src/com/xilinx/rapidwright/design/tools/LUTTools.java b/src/com/xilinx/rapidwright/design/tools/LUTTools.java
index 3916c1edf..0f8e1bb29 100644
--- a/src/com/xilinx/rapidwright/design/tools/LUTTools.java
+++ b/src/com/xilinx/rapidwright/design/tools/LUTTools.java
@@ -390,9 +390,9 @@ public static EDIFPropertyValue configureLUT(EDIFCellInst c, String equation) {
*/
public static String getLUTEquation(Cell c) {
if (c.isRoutethru()) {
- Set> entrySet = c.getPinMappingsP2L().entrySet();
- assert (entrySet.size() == 1);
- return "O" + c.getBELName().charAt(1) + "=" + entrySet.iterator().next().getKey();
+ BELPin rtEntry = c.getFirstPhysicalPinMapping().getFirst();
+ assert (c.getUsedPhysicalPinsCount() == 1);
+ return "O" + c.getBELName().charAt(1) + "=" + rtEntry.getName();
}
return getLUTEquation(c.getEDIFCellInst());
}
diff --git a/src/com/xilinx/rapidwright/design/tools/RelocationTools.java b/src/com/xilinx/rapidwright/design/tools/RelocationTools.java
index 93db9e7bc..9ac37c335 100644
--- a/src/com/xilinx/rapidwright/design/tools/RelocationTools.java
+++ b/src/com/xilinx/rapidwright/design/tools/RelocationTools.java
@@ -39,6 +39,7 @@
import com.xilinx.rapidwright.design.DesignTools;
import com.xilinx.rapidwright.design.Module;
import com.xilinx.rapidwright.design.Net;
+import com.xilinx.rapidwright.design.NetTools;
import com.xilinx.rapidwright.design.SiteInst;
import com.xilinx.rapidwright.design.SitePinInst;
import com.xilinx.rapidwright.design.blocks.PBlock;
@@ -284,7 +285,7 @@ public static boolean relocate(Design design,
}
}
- boolean isClockNet = n.isClockNet() || n.hasGapRouting();
+ boolean isClockNet = n.isClockNet() || NetTools.hasClockSinks(n);
n.getPIPs().removeIf((sp) -> {
Tile st = sp.getTile();
Tile dt = st.getTileXYNeighbor(tileColOffset, tileRowOffset);
diff --git a/src/com/xilinx/rapidwright/device/FamilyType.java b/src/com/xilinx/rapidwright/device/FamilyType.java
index 45f4b124f..10840389d 100644
--- a/src/com/xilinx/rapidwright/device/FamilyType.java
+++ b/src/com/xilinx/rapidwright/device/FamilyType.java
@@ -27,7 +27,7 @@
/**
- * Generated on: Wed May 01 19:03:12 MDT 2024
+ * Generated on: Thu Nov 21 13:06:39 MST 2024
* by: com.xilinx.rapidwright.release.PartNamePopulator
*
* Set of all Supported Xilinx families in RapidWright
@@ -54,7 +54,9 @@ public enum FamilyType {
QKINTEXUPLUS,
QRKINTEXU,
QRVERSALAICORE,
+ QRVERSALAIEDGE,
QVERSALAICORE,
+ QVERSALAIEDGE,
QVERSALPREMIUM,
QVERSALPRIME,
QVIRTEX7,
diff --git a/src/com/xilinx/rapidwright/device/IOBankType.java b/src/com/xilinx/rapidwright/device/IOBankType.java
index 07fc63e3d..6d789054b 100644
--- a/src/com/xilinx/rapidwright/device/IOBankType.java
+++ b/src/com/xilinx/rapidwright/device/IOBankType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2023, Advanced Micro Devices, Inc.
+ * Copyright (c) 2024, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Advanced Micro Devices, Inc.
@@ -27,7 +27,7 @@
/**
- * Generated on: Wed May 17 23:03:43 2023
+ * Generated on: Thu Nov 21 13:34:08 MST 2024
* by: com.xilinx.rapidwright.release.SiteAndTileTypeUpdater
*
* Enumeration of IOBankType type for all valid devices within Vivado.
@@ -41,5 +41,7 @@ public enum IOBankType {
BT_MGT,
BT_NO_USER_IO,
BT_PSS,
+ BT_X5,
+ BT_X5IO,
BT_XP,
}
diff --git a/src/com/xilinx/rapidwright/device/IOStandard.java b/src/com/xilinx/rapidwright/device/IOStandard.java
index e2c2b1f13..67d865c5b 100644
--- a/src/com/xilinx/rapidwright/device/IOStandard.java
+++ b/src/com/xilinx/rapidwright/device/IOStandard.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2023, Advanced Micro Devices, Inc.
+ * Copyright (c) 2024, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Advanced Micro Devices, Inc.
@@ -27,7 +27,7 @@
/**
- * Generated on: Wed May 17 23:03:43 2023
+ * Generated on: Thu Nov 21 13:34:08 MST 2024
* by: com.xilinx.rapidwright.release.SiteAndTileTypeUpdater
*
* Enumeration of IOStandard type for all valid devices within Vivado.
@@ -53,13 +53,18 @@ public enum IOStandard {
DIFF_HSTL_I_DCI_18,
DIFF_HSUL_12,
DIFF_HSUL_12_DCI,
+ DIFF_LVSTL05_10,
+ DIFF_LVSTL05_10_HS,
DIFF_LVSTL06_12,
DIFF_LVSTL_11,
DIFF_MOBILE_DDR,
DIFF_POD10,
DIFF_POD10_DCI,
+ DIFF_POD11,
DIFF_POD12,
DIFF_POD12_DCI,
+ DIFF_SSTL10,
+ DIFF_SSTL11,
DIFF_SSTL12,
DIFF_SSTL12_DCI,
DIFF_SSTL12_LVAUX,
@@ -96,6 +101,8 @@ public enum IOStandard {
HSTL_I_DCI_18,
HSUL_12,
HSUL_12_DCI,
+ LVCMOS10,
+ LVCMOS11,
LVCMOS12,
LVCMOS12_LVAUX,
LVCMOS15,
@@ -107,14 +114,18 @@ public enum IOStandard {
LVDCI_DV2_15,
LVDCI_DV2_18,
LVDS,
+ LVDS12,
LVDS12_LVAUX,
LVDS15,
LVDS_25,
LVPECL,
+ LVSTL05_10,
+ LVSTL05_10_HS,
LVSTL06_12,
LVSTL_11,
LVTTL,
MINI_LVDS_25,
+ MIPI_CPHY,
MIPI_DPHY,
MIPI_DPHY_DCI,
MIPI_DPHY_LVAUX,
@@ -122,12 +133,15 @@ public enum IOStandard {
PCI33_3,
POD10,
POD10_DCI,
+ POD11,
POD12,
POD12_DCI,
PPDS_25,
RSDS_25,
SLVS_400_18,
SLVS_400_25,
+ SSTL10,
+ SSTL11,
SSTL12,
SSTL12_DCI,
SSTL12_LVAUX,
diff --git a/src/com/xilinx/rapidwright/device/Part.java b/src/com/xilinx/rapidwright/device/Part.java
index a2e5f899b..5d58b6db8 100644
--- a/src/com/xilinx/rapidwright/device/Part.java
+++ b/src/com/xilinx/rapidwright/device/Part.java
@@ -30,7 +30,7 @@
import java.util.HashSet;
/**
- * Generated on: Wed May 01 19:03:12 MDT 2024
+ * Generated on: Thu Nov 21 13:06:39 MST 2024
* by: com.xilinx.rapidwright.release.PartNamePopulator
*
* Class used to uniquely represent a Xilinx part.
@@ -260,7 +260,9 @@ public Series getSeries() {
versalTypes = new FamilyType[] {
FamilyType.AVERSALAIEDGE,
FamilyType.QRVERSALAICORE,
+ FamilyType.QRVERSALAIEDGE,
FamilyType.QVERSALAICORE,
+ FamilyType.QVERSALAIEDGE,
FamilyType.QVERSALPREMIUM,
FamilyType.QVERSALPRIME,
FamilyType.VERSAL,
diff --git a/src/com/xilinx/rapidwright/device/PartNameTools.java b/src/com/xilinx/rapidwright/device/PartNameTools.java
index c40e6c3a1..714282645 100644
--- a/src/com/xilinx/rapidwright/device/PartNameTools.java
+++ b/src/com/xilinx/rapidwright/device/PartNameTools.java
@@ -36,7 +36,7 @@
import com.xilinx.rapidwright.util.FileTools;
/**
- * Generated on: Wed May 01 19:03:12 MDT 2024
+ * Generated on: Thu Nov 21 13:06:39 MST 2024
* by: com.xilinx.rapidwright.release.PartNamePopulator
*
* Class to hold utility APIs dealing with Parts and device names.
@@ -146,7 +146,9 @@ public static FamilyType getArchitectureFromFamilyType(FamilyType type) {
case QKINTEXUPLUS: return FamilyType.KINTEXUPLUS;
case QRKINTEXU: return FamilyType.KINTEXU;
case QRVERSALAICORE: return FamilyType.VERSAL;
+ case QRVERSALAIEDGE: return FamilyType.VERSAL;
case QVERSALAICORE: return FamilyType.VERSAL;
+ case QVERSALAIEDGE: return FamilyType.VERSAL;
case QVERSALPREMIUM: return FamilyType.VERSAL;
case QVERSALPRIME: return FamilyType.VERSAL;
case QVIRTEX7: return FamilyType.VIRTEX7;
@@ -200,7 +202,9 @@ public static String getFullArchitectureName(FamilyType type) {
case QKINTEXUPLUS: return "Kintex UltraScale+";
case QRKINTEXU: return "Kintex UltraScale";
case QRVERSALAICORE: return "Versal ACAP";
+ case QRVERSALAIEDGE: return "Versal ACAP";
case QVERSALAICORE: return "Versal ACAP";
+ case QVERSALAIEDGE: return "Versal ACAP";
case QVERSALPREMIUM: return "Versal ACAP";
case QVERSALPRIME: return "Versal ACAP";
case QVIRTEX7: return "Virtex-7";
@@ -255,7 +259,9 @@ public static Series getSeriesFromFamilyType(FamilyType type) {
case QKINTEXUPLUS: return Series.UltraScalePlus;
case QRKINTEXU: return Series.UltraScale;
case QRVERSALAICORE: return Series.Versal;
+ case QRVERSALAIEDGE: return Series.Versal;
case QVERSALAICORE: return Series.Versal;
+ case QVERSALAIEDGE: return Series.Versal;
case QVERSALPREMIUM: return Series.Versal;
case QVERSALPRIME: return Series.Versal;
case QVIRTEX7: return Series.Series7;
diff --git a/src/com/xilinx/rapidwright/device/SiteTypeEnum.java b/src/com/xilinx/rapidwright/device/SiteTypeEnum.java
index 1a0cf2547..5b54799bd 100644
--- a/src/com/xilinx/rapidwright/device/SiteTypeEnum.java
+++ b/src/com/xilinx/rapidwright/device/SiteTypeEnum.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2023, Advanced Micro Devices, Inc.
+ * Copyright (c) 2024, Advanced Micro Devices, Inc.
* All rights reserved.
*
* Author: Chris Lavin, Advanced Micro Devices, Inc.
@@ -27,7 +27,7 @@
/**
- * Generated on: Wed May 17 23:03:43 2023
+ * Generated on: Thu Nov 21 13:34:08 MST 2024
* by: com.xilinx.rapidwright.release.SiteAndTileTypeUpdater
*
* Enumeration of SiteTypeEnum type for all valid devices within Vivado.
@@ -124,6 +124,7 @@ public enum SiteTypeEnum {
DCMAC,
DDRMC,
DDRMC5,
+ DDRMC5C,
DDRMC_RIU,
DFE_A,
DFE_B,
diff --git a/src/com/xilinx/rapidwright/device/TileTypeEnum.java b/src/com/xilinx/rapidwright/device/TileTypeEnum.java
index 63d910dd5..bf89b2ab4 100644
--- a/src/com/xilinx/rapidwright/device/TileTypeEnum.java
+++ b/src/com/xilinx/rapidwright/device/TileTypeEnum.java
@@ -27,7 +27,7 @@
/**
- * Generated on: Wed May 01 19:57:08 MDT 2024
+ * Generated on: Thu Nov 21 13:34:08 MST 2024
* by: com.xilinx.rapidwright.release.SiteAndTileTypeUpdater
*
* Enumeration of TileTypeEnum type for all valid devices within Vivado.
@@ -533,6 +533,8 @@ public enum TileTypeEnum {
CPM_G5N2X_TILE,
CPM_G5_TILE,
DCMAC_TILE,
+ DDRMC5C_DMC_CORE,
+ DDRMC5C_DMC_CORE_MY,
DDRMC5_DMC_CORE,
DDRMC5_DMC_CORE_MY,
DDRMC_DMC_CORE,
@@ -1201,6 +1203,7 @@ public enum TileTypeEnum {
NOC_XPIO_NCRB_CORE,
NOC_XPIO_NCRB_CORE_MX,
NPI2_NIR_TILE,
+ NPI2_RPTR_CORE,
NPI_VNPI_BOT_NOLS_TILE,
NPI_VNPI_BOT_TILE,
NPI_VNPI_BOT_TILE_MY,
@@ -1339,6 +1342,7 @@ public enum TileTypeEnum {
RBRK_XPIPE_CORE,
RCLK_AMS_CFGIO,
RCLK_BRAM_CLKBUF_CORE,
+ RCLK_BRAM_CLKBUF_NOPD_CORE,
RCLK_BRAM_CORE,
RCLK_BRAM_CORE_MY,
RCLK_BRAM_INTF_L,
@@ -1567,6 +1571,7 @@ public enum TileTypeEnum {
TERM_B_CIDB_CORE,
TERM_B_CLE_LAG_CORE,
TERM_B_CPIPE_CORE,
+ TERM_B_CPIPE_TERMR_CORE,
TERM_B_CPIPE_TERMR_XPIO_CORE,
TERM_B_DSP_CORE,
TERM_B_GTCLK_CORE,
diff --git a/src/com/xilinx/rapidwright/edif/EDIFCell.java b/src/com/xilinx/rapidwright/edif/EDIFCell.java
index 00270d628..f742aded8 100644
--- a/src/com/xilinx/rapidwright/edif/EDIFCell.java
+++ b/src/com/xilinx/rapidwright/edif/EDIFCell.java
@@ -497,7 +497,7 @@ public void setLibrary(EDIFLibrary library) {
this.library = library;
}
- protected void clearLibrary() {
+ public void clearLibrary() {
this.library = null;
}
diff --git a/src/com/xilinx/rapidwright/tests/PinMapTester.java b/src/com/xilinx/rapidwright/tests/PinMapTester.java
index 24c22814a..bdc124609 100644
--- a/src/com/xilinx/rapidwright/tests/PinMapTester.java
+++ b/src/com/xilinx/rapidwright/tests/PinMapTester.java
@@ -26,30 +26,26 @@
package com.xilinx.rapidwright.tests;
import java.util.ArrayList;
-import java.util.List;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
-import java.util.Set;
+import com.xilinx.rapidwright.design.Cell;
+import com.xilinx.rapidwright.design.Design;
+import com.xilinx.rapidwright.design.SiteInst;
+import com.xilinx.rapidwright.design.Unisim;
+import com.xilinx.rapidwright.design.VivadoProp;
import com.xilinx.rapidwright.device.BEL;
import com.xilinx.rapidwright.device.Device;
import com.xilinx.rapidwright.device.Part;
import com.xilinx.rapidwright.device.PartNameTools;
import com.xilinx.rapidwright.device.Site;
import com.xilinx.rapidwright.device.SiteTypeEnum;
-
import com.xilinx.rapidwright.edif.EDIFCell;
import com.xilinx.rapidwright.edif.EDIFDesign;
-import com.xilinx.rapidwright.edif.EDIFCellInst;
import com.xilinx.rapidwright.edif.EDIFLibrary;
import com.xilinx.rapidwright.edif.EDIFNetlist;
-import com.xilinx.rapidwright.design.Design;
-import com.xilinx.rapidwright.design.Cell;
-import com.xilinx.rapidwright.design.Unisim;
-import com.xilinx.rapidwright.design.SiteInst;
-import com.xilinx.rapidwright.design.VivadoProp;
-
public class PinMapTester {
public static void main(String[] args) {
@@ -127,13 +123,14 @@ public static void main(String[] args) {
System.out.printf("Cell type %s at %s/%s in part %s, pin map:\n",
cellTypeName, site.getName(), belName, partName);
- for (Map.Entry pinMap : physCell.getPinMappingsP2L().entrySet()) {
- System.out.printf(" - %s <= %s\n", pinMap.getKey(), pinMap.getValue());
+ String[] physPinNames = physCell.getPhysicalPinMappings();
+ for (int i = 0; i < physPinNames.length; i++) {
+ String logPinName = physPinNames[i];
+ if (logPinName == null)
+ continue;
+ String physPinName = physCell.getBEL().getPin(i).getName();
+ System.out.printf(" - %s <= %s\n", physPinName, logPinName);
}
-
- //for (Map.Entry> pinMap : physCell.getPinMappingsL2P().entrySet()) {
- // System.out.printf("
- //}
}
}
diff --git a/src/com/xilinx/rapidwright/timing/TimingGraph.java b/src/com/xilinx/rapidwright/timing/TimingGraph.java
index d6f4ab6ad..7c5ef55ce 100644
--- a/src/com/xilinx/rapidwright/timing/TimingGraph.java
+++ b/src/com/xilinx/rapidwright/timing/TimingGraph.java
@@ -1573,7 +1573,7 @@ public int addNetDelayEdges(Net net) {
physPinName = cell.getPhysicalPinMapping(portName);
} else {
BEL lut = cell.getBEL();
- for (String pin : cell.getPinMappingsP2L().keySet()) {
+ for (String pin : cell.getUsedPhysicalPins()) {
BELPin belPin = lut.getPin(pin);
if (belPin.isInput()) {
physPinName = belPin.getConnectedSitePinName();
diff --git a/src/com/xilinx/rapidwright/util/DataVersions.java b/src/com/xilinx/rapidwright/util/DataVersions.java
index c7e0645c7..259a151e0 100644
--- a/src/com/xilinx/rapidwright/util/DataVersions.java
+++ b/src/com/xilinx/rapidwright/util/DataVersions.java
@@ -29,7 +29,7 @@
import java.util.Map;
/**
- * Generated on: Mon Jul 01 15:12:48 MDT 2024
+ * Generated on: Wed Dec 04 17:06:07 MST 2024
* by: com.xilinx.rapidwright.release.UploadFilesToAzure
*
* Versioned list of data files to use in current RapidWright environment
@@ -38,338 +38,352 @@ public class DataVersions {
public static Map> dataVersionMap;
static {
dataVersionMap = new HashMap<>();
- dataVersionMap.put("data/cell_pin_defaults.dat", new Pair<>("cell-pin-defaults-dat", "eaf0585297cd82e43ec7786eee34a13b"));
- dataVersionMap.put("data/devices/artix7/xa7a100t_db.dat", new Pair<>("xa7a100t-db-dat", "c462dd564961e834b232a0781d9a7f67"));
- dataVersionMap.put("data/devices/artix7/xa7a12t_db.dat", new Pair<>("xa7a12t-db-dat", "d722e08c269fe653c7e56d5d72c8751f"));
- dataVersionMap.put("data/devices/artix7/xa7a15t_db.dat", new Pair<>("xa7a15t-db-dat", "efed28db2139f369e35345f3d2687e99"));
- dataVersionMap.put("data/devices/artix7/xa7a25t_db.dat", new Pair<>("xa7a25t-db-dat", "7a4891a8a52d5aada8c0d887f6d91c1e"));
- dataVersionMap.put("data/devices/artix7/xa7a35t_db.dat", new Pair<>("xa7a35t-db-dat", "20f791600525512495ddf575223a3e2b"));
- dataVersionMap.put("data/devices/artix7/xa7a50t_db.dat", new Pair<>("xa7a50t-db-dat", "2ed92875aaeca32788f0348d870b1f01"));
- dataVersionMap.put("data/devices/artix7/xa7a75t_db.dat", new Pair<>("xa7a75t-db-dat", "108ffadd9e481cd2b3c3af54ff3541b6"));
- dataVersionMap.put("data/devices/artix7/xc7a100t_db.dat", new Pair<>("xc7a100t-db-dat", "89a6b3b0adf37c20e5ea6f5ed7ddaf0e"));
- dataVersionMap.put("data/devices/artix7/xc7a100ti_db.dat", new Pair<>("xc7a100ti-db-dat", "13399c29157eb3c71d80d92bdaedd426"));
- dataVersionMap.put("data/devices/artix7/xc7a100tl_db.dat", new Pair<>("xc7a100tl-db-dat", "20fd5ffed5267d4248631e474b3527ff"));
- dataVersionMap.put("data/devices/artix7/xc7a12t_db.dat", new Pair<>("xc7a12t-db-dat", "318e5ffb3fbf3f73aa973c2b2fbaf115"));
- dataVersionMap.put("data/devices/artix7/xc7a12ti_db.dat", new Pair<>("xc7a12ti-db-dat", "eb26c3f7cdd49fa1ce4d686dab3b15ed"));
- dataVersionMap.put("data/devices/artix7/xc7a12tl_db.dat", new Pair<>("xc7a12tl-db-dat", "f73af6bd6aa0cfd99a4753c9d4f7a399"));
- dataVersionMap.put("data/devices/artix7/xc7a15t_db.dat", new Pair<>("xc7a15t-db-dat", "a6ba7398ebddad033c3c9edebc0887ed"));
- dataVersionMap.put("data/devices/artix7/xc7a15ti_db.dat", new Pair<>("xc7a15ti-db-dat", "b82d776cd3319b15e37313c6fd7dc91d"));
- dataVersionMap.put("data/devices/artix7/xc7a15tl_db.dat", new Pair<>("xc7a15tl-db-dat", "50217e1c8515e2a76a060f4c35531755"));
- dataVersionMap.put("data/devices/artix7/xc7a200t_db.dat", new Pair<>("xc7a200t-db-dat", "ec5f934346106b0480140cfdfcc631c4"));
- dataVersionMap.put("data/devices/artix7/xc7a200ti_db.dat", new Pair<>("xc7a200ti-db-dat", "9a571754cc710135994c69ce73d0bc30"));
- dataVersionMap.put("data/devices/artix7/xc7a200tl_db.dat", new Pair<>("xc7a200tl-db-dat", "d9e3ffb848d406ffaa013dd42541df6f"));
- dataVersionMap.put("data/devices/artix7/xc7a25t_db.dat", new Pair<>("xc7a25t-db-dat", "56fd1cee45942cdefa44164bc2092e30"));
- dataVersionMap.put("data/devices/artix7/xc7a25ti_db.dat", new Pair<>("xc7a25ti-db-dat", "c0626c42a74d35d4387f54b93506384c"));
- dataVersionMap.put("data/devices/artix7/xc7a25tl_db.dat", new Pair<>("xc7a25tl-db-dat", "972fe0f507edec0acf7328b13a4d3ead"));
- dataVersionMap.put("data/devices/artix7/xc7a35t_db.dat", new Pair<>("xc7a35t-db-dat", "16183e2ffa5e66b530ca049d4595496a"));
- dataVersionMap.put("data/devices/artix7/xc7a35ti_db.dat", new Pair<>("xc7a35ti-db-dat", "4b83ea9792676d3fc1e65e1138de80ed"));
- dataVersionMap.put("data/devices/artix7/xc7a35tl_db.dat", new Pair<>("xc7a35tl-db-dat", "d64a8c15aafee7d4e835ff01f0e71c6e"));
- dataVersionMap.put("data/devices/artix7/xc7a50t_db.dat", new Pair<>("xc7a50t-db-dat", "d8b4894507c995fd8246a40165e2e82c"));
- dataVersionMap.put("data/devices/artix7/xc7a50ti_db.dat", new Pair<>("xc7a50ti-db-dat", "8d0e5e31e0d43d0803d6bd4d2fca12e9"));
- dataVersionMap.put("data/devices/artix7/xc7a50tl_db.dat", new Pair<>("xc7a50tl-db-dat", "8fb582a0aefbb1b2d38e2917b8bba2ad"));
- dataVersionMap.put("data/devices/artix7/xc7a75t_db.dat", new Pair<>("xc7a75t-db-dat", "f05568a070cb3567c648c24965f31316"));
- dataVersionMap.put("data/devices/artix7/xc7a75ti_db.dat", new Pair<>("xc7a75ti-db-dat", "0c75a673be05a7cd5c112693a29555d8"));
- dataVersionMap.put("data/devices/artix7/xc7a75tl_db.dat", new Pair<>("xc7a75tl-db-dat", "f99114deda83af2e00d0b2b1b89c665c"));
- dataVersionMap.put("data/devices/artix7/xq7a100t_db.dat", new Pair<>("xq7a100t-db-dat", "63490f3b3f0b67bf2cbdc0c1ac299f10"));
- dataVersionMap.put("data/devices/artix7/xq7a200t_db.dat", new Pair<>("xq7a200t-db-dat", "17c70c4e493bbf1f608ed0aebe5e88f3"));
- dataVersionMap.put("data/devices/artix7/xq7a50t_db.dat", new Pair<>("xq7a50t-db-dat", "45b7a9dcbb19493f2c4995927c3d231f"));
- dataVersionMap.put("data/devices/kintex7/xa7k160t_db.dat", new Pair<>("xa7k160t-db-dat", "a6e8b276c510f90c23f5ed9ed92803ea"));
- dataVersionMap.put("data/devices/kintex7/xc7k160t_db.dat", new Pair<>("xc7k160t-db-dat", "b43f565dacd96c58d3f6a89a4caf8f71"));
- dataVersionMap.put("data/devices/kintex7/xc7k160ti_db.dat", new Pair<>("xc7k160ti-db-dat", "b1aaa2268eb8eff42f5180e6735e3da9"));
- dataVersionMap.put("data/devices/kintex7/xc7k160tl_db.dat", new Pair<>("xc7k160tl-db-dat", "48173313170dc3db30abd6fbd8d81f5c"));
- dataVersionMap.put("data/devices/kintex7/xc7k325t_db.dat", new Pair<>("xc7k325t-db-dat", "6108bd9a169ee6f603df7e8ebf4a8739"));
- dataVersionMap.put("data/devices/kintex7/xc7k325ti_db.dat", new Pair<>("xc7k325ti-db-dat", "74fb7324efbee35aea9f134363e811a2"));
- dataVersionMap.put("data/devices/kintex7/xc7k325tl_db.dat", new Pair<>("xc7k325tl-db-dat", "06c3559b4359d6ad1131ccf138fbce40"));
- dataVersionMap.put("data/devices/kintex7/xc7k355t_db.dat", new Pair<>("xc7k355t-db-dat", "db6aab39fb967f57c4eafbd789fb3e00"));
- dataVersionMap.put("data/devices/kintex7/xc7k355ti_db.dat", new Pair<>("xc7k355ti-db-dat", "38d8f830628e43654d380e49885a75ec"));
- dataVersionMap.put("data/devices/kintex7/xc7k355tl_db.dat", new Pair<>("xc7k355tl-db-dat", "acc5c15ce611fc1a4742cabbb31dc033"));
- dataVersionMap.put("data/devices/kintex7/xc7k410t_db.dat", new Pair<>("xc7k410t-db-dat", "a7cbedf6ada3cb666a60c92fbc1f43ce"));
- dataVersionMap.put("data/devices/kintex7/xc7k410ti_db.dat", new Pair<>("xc7k410ti-db-dat", "2ab984f40a14bccc067287ceada40898"));
- dataVersionMap.put("data/devices/kintex7/xc7k410tl_db.dat", new Pair<>("xc7k410tl-db-dat", "cc3941b61a756b225d7cdfe30d2c0721"));
- dataVersionMap.put("data/devices/kintex7/xc7k420t_db.dat", new Pair<>("xc7k420t-db-dat", "f488697534f5731eee83e4261a86e0f2"));
- dataVersionMap.put("data/devices/kintex7/xc7k420ti_db.dat", new Pair<>("xc7k420ti-db-dat", "ce3927c58712adb7f19a3b834bbc0e2e"));
- dataVersionMap.put("data/devices/kintex7/xc7k420tl_db.dat", new Pair<>("xc7k420tl-db-dat", "3b880396e4d8c49eb7375686142510c2"));
- dataVersionMap.put("data/devices/kintex7/xc7k480t_db.dat", new Pair<>("xc7k480t-db-dat", "2ed6efd1590fdfc0329b21e7388282e1"));
- dataVersionMap.put("data/devices/kintex7/xc7k480ti_db.dat", new Pair<>("xc7k480ti-db-dat", "9485d66e1b67021f56c4da46d5d85057"));
- dataVersionMap.put("data/devices/kintex7/xc7k480tl_db.dat", new Pair<>("xc7k480tl-db-dat", "4a7927025133e534638eb881c948e685"));
- dataVersionMap.put("data/devices/kintex7/xc7k70t_db.dat", new Pair<>("xc7k70t-db-dat", "fe9291ad2c62c77645c99426d5ad5f65"));
- dataVersionMap.put("data/devices/kintex7/xc7k70tl_db.dat", new Pair<>("xc7k70tl-db-dat", "458549ee0d33abbc668c72daa482bb30"));
- dataVersionMap.put("data/devices/kintex7/xq7k325t_db.dat", new Pair<>("xq7k325t-db-dat", "ddbbb5570b11cad7fc7fd2f4ab09094f"));
- dataVersionMap.put("data/devices/kintex7/xq7k325tl_db.dat", new Pair<>("xq7k325tl-db-dat", "ebdcff8b94e993a32ea2c52b27df8f8f"));
- dataVersionMap.put("data/devices/kintex7/xq7k410t_db.dat", new Pair<>("xq7k410t-db-dat", "e0857e8c6dbbb6cca741ca52a4a3ab73"));
- dataVersionMap.put("data/devices/kintex7/xq7k410tl_db.dat", new Pair<>("xq7k410tl-db-dat", "8b9dbc52d0fb0dc3b7a57d3f28f7ab72"));
- dataVersionMap.put("data/devices/kintexu/xcku025_db.dat", new Pair<>("xcku025-db-dat", "bfc8f57bf09c9c5e1f45125ff05fd574"));
- dataVersionMap.put("data/devices/kintexu/xcku035_db.dat", new Pair<>("xcku035-db-dat", "738d51e6b8432626133dacb1e05fb2bf"));
- dataVersionMap.put("data/devices/kintexu/xcku040_db.dat", new Pair<>("xcku040-db-dat", "5447ad976f7de37ab343e5c0d739f37b"));
- dataVersionMap.put("data/devices/kintexu/xcku060_CIV_db.dat", new Pair<>("xcku060-civ-db-dat", "dedd66f23e4d6ab8486673d2362a55ff"));
- dataVersionMap.put("data/devices/kintexu/xcku060_db.dat", new Pair<>("xcku060-db-dat", "be13359ec1ed700af444fa54882a4448"));
- dataVersionMap.put("data/devices/kintexu/xcku085_CIV_db.dat", new Pair<>("xcku085-civ-db-dat", "cf25052d0b53a9290a2b6b3d930f026f"));
- dataVersionMap.put("data/devices/kintexu/xcku085_db.dat", new Pair<>("xcku085-db-dat", "45171045071a2c9e1aea9bb34aadfe61"));
- dataVersionMap.put("data/devices/kintexu/xcku095_CIV_db.dat", new Pair<>("xcku095-civ-db-dat", "55fe9076d6346b487c589912171815d0"));
- dataVersionMap.put("data/devices/kintexu/xcku095_db.dat", new Pair<>("xcku095-db-dat", "01d01d03b0f4def80db50218a0f5f97c"));
- dataVersionMap.put("data/devices/kintexu/xcku115_CIV_db.dat", new Pair<>("xcku115-civ-db-dat", "1833c7d564de9ab64710e7cc0457afa5"));
- dataVersionMap.put("data/devices/kintexu/xcku115_db.dat", new Pair<>("xcku115-db-dat", "32a27e811cdc6560944ffeea24f5fd3c"));
- dataVersionMap.put("data/devices/kintexu/xqku040_db.dat", new Pair<>("xqku040-db-dat", "37c4377376bcdec50e78e545a727d34d"));
- dataVersionMap.put("data/devices/kintexu/xqku060_db.dat", new Pair<>("xqku060-db-dat", "ef45b9b5603dfc71db39936893f89527"));
- dataVersionMap.put("data/devices/kintexu/xqku095_db.dat", new Pair<>("xqku095-db-dat", "dcb27462df771dcfbb1cc3946bc0e757"));
- dataVersionMap.put("data/devices/kintexu/xqku115_db.dat", new Pair<>("xqku115-db-dat", "b19ba11c93db0dfc7de5cf19a62bfe4f"));
- dataVersionMap.put("data/devices/kintexu/xqrku060_db.dat", new Pair<>("xqrku060-db-dat", "8ba0a00dcbf9dc32ec880d637ae90191"));
- dataVersionMap.put("data/devices/kintexuplus/xaau10p_db.dat", new Pair<>("xaau10p-db-dat", "59524b97601a9472a1677619130e2c77"));
- dataVersionMap.put("data/devices/kintexuplus/xaau15p_db.dat", new Pair<>("xaau15p-db-dat", "13f2f636162171ea31fd1608cfee6c36"));
- dataVersionMap.put("data/devices/kintexuplus/xaau7p_db.dat", new Pair<>("xaau7p-db-dat", "36e075516dac2ec7bb3f6597c1436614"));
- dataVersionMap.put("data/devices/kintexuplus/xcau10p_db.dat", new Pair<>("xcau10p-db-dat", "8fd293ba069eabd24a626146e7dde04c"));
- dataVersionMap.put("data/devices/kintexuplus/xcau15p_db.dat", new Pair<>("xcau15p-db-dat", "3abd941c71b0eeab0920e77282964b30"));
- dataVersionMap.put("data/devices/kintexuplus/xcau20p_db.dat", new Pair<>("xcau20p-db-dat", "e138a4ee79d5269e5399a7ebf9076829"));
- dataVersionMap.put("data/devices/kintexuplus/xcau25p_db.dat", new Pair<>("xcau25p-db-dat", "280cd3c6ecce172ef8af46f51994a922"));
- dataVersionMap.put("data/devices/kintexuplus/xcau7p_db.dat", new Pair<>("xcau7p-db-dat", "23ecb7b87c0ed9913233be132a1331ca"));
- dataVersionMap.put("data/devices/kintexuplus/xcku11p_CIV_db.dat", new Pair<>("xcku11p-civ-db-dat", "585450536bf1714546cd0d35dcde8a90"));
- dataVersionMap.put("data/devices/kintexuplus/xcku11p_db.dat", new Pair<>("xcku11p-db-dat", "dbcf86fb83e456bf48f02d36153b81ad"));
- dataVersionMap.put("data/devices/kintexuplus/xcku13p_db.dat", new Pair<>("xcku13p-db-dat", "bed8d33493e0984bb157ef200be16a96"));
- dataVersionMap.put("data/devices/kintexuplus/xcku15p_CIV_db.dat", new Pair<>("xcku15p-civ-db-dat", "3e6e1376a0b3cfccf21cde03d0ed0fbc"));
- dataVersionMap.put("data/devices/kintexuplus/xcku15p_db.dat", new Pair<>("xcku15p-db-dat", "a9dfe7349fad1de425bf6973085e29a9"));
- dataVersionMap.put("data/devices/kintexuplus/xcku19p_CIV_db.dat", new Pair<>("xcku19p-civ-db-dat", "6f4cbd7137c1af75c4051d4c7340c99c"));
- dataVersionMap.put("data/devices/kintexuplus/xcku19p_db.dat", new Pair<>("xcku19p-db-dat", "4dbe9d2a1f9c52bfd31238bc75ff0b1b"));
- dataVersionMap.put("data/devices/kintexuplus/xcku3p_db.dat", new Pair<>("xcku3p-db-dat", "ad2d43b0152546657dbb62114953e070"));
- dataVersionMap.put("data/devices/kintexuplus/xcku5p_db.dat", new Pair<>("xcku5p-db-dat", "9086c97154cac1804f3145b60c69a050"));
- dataVersionMap.put("data/devices/kintexuplus/xcku9p_db.dat", new Pair<>("xcku9p-db-dat", "bdacb15f9f97ec6c80209951f72f2d18"));
- dataVersionMap.put("data/devices/kintexuplus/xqku15p_db.dat", new Pair<>("xqku15p-db-dat", "ea16079501211f6a56776a7f647ea793"));
- dataVersionMap.put("data/devices/kintexuplus/xqku5p_db.dat", new Pair<>("xqku5p-db-dat", "32d5ba2f7858c8f6a2837555e6092b61"));
- dataVersionMap.put("data/devices/spartan7/xa7s100_db.dat", new Pair<>("xa7s100-db-dat", "67ab253f14bb7ce65358d90b3ed2be90"));
- dataVersionMap.put("data/devices/spartan7/xa7s15_db.dat", new Pair<>("xa7s15-db-dat", "b242ff8589e5d85cdf1777de430294e3"));
- dataVersionMap.put("data/devices/spartan7/xa7s25_db.dat", new Pair<>("xa7s25-db-dat", "e044ef45ea5d2a67ec75741d905288da"));
- dataVersionMap.put("data/devices/spartan7/xa7s50_db.dat", new Pair<>("xa7s50-db-dat", "85603a88c4ef3a41d0aaf5c2b7a610ac"));
- dataVersionMap.put("data/devices/spartan7/xa7s6_db.dat", new Pair<>("xa7s6-db-dat", "882b26a45bdaf0195bd83d3053b87c17"));
- dataVersionMap.put("data/devices/spartan7/xa7s75_db.dat", new Pair<>("xa7s75-db-dat", "dcc679fa39d68c2947277da070aaebb6"));
- dataVersionMap.put("data/devices/spartan7/xc7s100_db.dat", new Pair<>("xc7s100-db-dat", "b91c71f1a0c2df6a6e0fa2e9ea20dac2"));
- dataVersionMap.put("data/devices/spartan7/xc7s15_db.dat", new Pair<>("xc7s15-db-dat", "1dd2e45130df98f90835ddf59940f1bb"));
- dataVersionMap.put("data/devices/spartan7/xc7s25_db.dat", new Pair<>("xc7s25-db-dat", "bb970c50c0076f10bb399447c61a8a73"));
- dataVersionMap.put("data/devices/spartan7/xc7s50_db.dat", new Pair<>("xc7s50-db-dat", "718533451f74816516f848aed05a4ac9"));
- dataVersionMap.put("data/devices/spartan7/xc7s6_db.dat", new Pair<>("xc7s6-db-dat", "1ced054c4c07cd1fe0f30c4aec966220"));
- dataVersionMap.put("data/devices/spartan7/xc7s75_db.dat", new Pair<>("xc7s75-db-dat", "0222b0141daa170330b7ea13f8229561"));
- dataVersionMap.put("data/devices/versal/xave1752_db.dat", new Pair<>("xave1752-db-dat", "9647d8c3c02da18d248115186ab1f309"));
- dataVersionMap.put("data/devices/versal/xcv80_db.dat", new Pair<>("xcv80-db-dat", "beff67d91d75d48d8f6bf7df9a24faaf"));
- dataVersionMap.put("data/devices/versal/xcvc1502_db.dat", new Pair<>("xcvc1502-db-dat", "095de11fa44a560bf4b8369e2304ccf2"));
- dataVersionMap.put("data/devices/versal/xcvc1702_db.dat", new Pair<>("xcvc1702-db-dat", "1a23a849a9c0e0a2b1ef0885e9817d7e"));
- dataVersionMap.put("data/devices/versal/xcvc1802_db.dat", new Pair<>("xcvc1802-db-dat", "98e3a90ff0079f29600f497503503c38"));
- dataVersionMap.put("data/devices/versal/xcvc1902_db.dat", new Pair<>("xcvc1902-db-dat", "a61a878106984675b70ec9d5d2f73f28"));
- dataVersionMap.put("data/devices/versal/xcvc2602_db.dat", new Pair<>("xcvc2602-db-dat", "2d3d85a216146d926c91ef905314f40c"));
- dataVersionMap.put("data/devices/versal/xcvc2802_db.dat", new Pair<>("xcvc2802-db-dat", "10cb5900515037a0d7fd446b5cd5f1f3"));
- dataVersionMap.put("data/devices/versal/xcve1752_db.dat", new Pair<>("xcve1752-db-dat", "3dd190a91517bc2e749d64b31cd8c58a"));
- dataVersionMap.put("data/devices/versal/xcve2002_db.dat", new Pair<>("xcve2002-db-dat", "e8ffb30d328d961ca7be17518666f399"));
- dataVersionMap.put("data/devices/versal/xcve2102_db.dat", new Pair<>("xcve2102-db-dat", "7a141875eacff72fdc5adc0bdf27713c"));
- dataVersionMap.put("data/devices/versal/xcve2202_db.dat", new Pair<>("xcve2202-db-dat", "55b240329ed8c99f06f63bb60345ba42"));
- dataVersionMap.put("data/devices/versal/xcve2302_db.dat", new Pair<>("xcve2302-db-dat", "787dfa93d3621ffe603b02a553ee339a"));
- dataVersionMap.put("data/devices/versal/xcve2602_db.dat", new Pair<>("xcve2602-db-dat", "d2f263072de3eda5d8fce0c375f12d41"));
- dataVersionMap.put("data/devices/versal/xcve2802_db.dat", new Pair<>("xcve2802-db-dat", "9a64655af770531a9109c147202d7842"));
- dataVersionMap.put("data/devices/versal/xcvh1522_db.dat", new Pair<>("xcvh1522-db-dat", "48399b6242055b6045e4a5865b5ba923"));
- dataVersionMap.put("data/devices/versal/xcvh1542_db.dat", new Pair<>("xcvh1542-db-dat", "fd104d6b565130654f4b10f047901a11"));
- dataVersionMap.put("data/devices/versal/xcvh1582_db.dat", new Pair<>("xcvh1582-db-dat", "b3d5809413dbf9fe5faf329f53455712"));
- dataVersionMap.put("data/devices/versal/xcvh1742_db.dat", new Pair<>("xcvh1742-db-dat", "42ee694090074973df8bae88e41963ad"));
- dataVersionMap.put("data/devices/versal/xcvh1782_db.dat", new Pair<>("xcvh1782-db-dat", "21eb6ae143da4179a887fdd9bb60bd04"));
- dataVersionMap.put("data/devices/versal/xcvm1102_db.dat", new Pair<>("xcvm1102-db-dat", "830e2c7022da5ae7996317411491f825"));
- dataVersionMap.put("data/devices/versal/xcvm1302_db.dat", new Pair<>("xcvm1302-db-dat", "c262310de1ce097d09f5b3caebc9b74f"));
- dataVersionMap.put("data/devices/versal/xcvm1402_db.dat", new Pair<>("xcvm1402-db-dat", "53a071baa129237927d0686dc8d1b173"));
- dataVersionMap.put("data/devices/versal/xcvm1502_db.dat", new Pair<>("xcvm1502-db-dat", "340c2d570e6943baefab1069919e1837"));
- dataVersionMap.put("data/devices/versal/xcvm1802_db.dat", new Pair<>("xcvm1802-db-dat", "512acb1d095d4f6a018a47a264be614d"));
- dataVersionMap.put("data/devices/versal/xcvm2202_db.dat", new Pair<>("xcvm2202-db-dat", "ace765c3daad25c1c5c804d8ffa57f8b"));
- dataVersionMap.put("data/devices/versal/xcvm2302_db.dat", new Pair<>("xcvm2302-db-dat", "9301da8d54f7c3a39e25a9dc4c277a9c"));
- dataVersionMap.put("data/devices/versal/xcvm2502_db.dat", new Pair<>("xcvm2502-db-dat", "168343a213c0901c32bba7974b9150d7"));
- dataVersionMap.put("data/devices/versal/xcvm2902_db.dat", new Pair<>("xcvm2902-db-dat", "780eeebe663c17699676d3ac9eedbe36"));
- dataVersionMap.put("data/devices/versal/xcvp1002_db.dat", new Pair<>("xcvp1002-db-dat", "93614d27e616ad00c0f09063f60b00bf"));
- dataVersionMap.put("data/devices/versal/xcvp1052_db.dat", new Pair<>("xcvp1052-db-dat", "b6efaa8d9bbc266953c36c71108cddf5"));
- dataVersionMap.put("data/devices/versal/xcvp1102_db.dat", new Pair<>("xcvp1102-db-dat", "8632dfccbe341abef9f3504fbf0b5bce"));
- dataVersionMap.put("data/devices/versal/xcvp1202_db.dat", new Pair<>("xcvp1202-db-dat", "0d3d43ad85ecfd8a370144653c0dcae4"));
- dataVersionMap.put("data/devices/versal/xcvp1402_db.dat", new Pair<>("xcvp1402-db-dat", "4a96e13eccf7efb2eea45586ff4eecab"));
- dataVersionMap.put("data/devices/versal/xcvp1502_db.dat", new Pair<>("xcvp1502-db-dat", "664eaae2420cfcce9c38e3a65907fe6e"));
- dataVersionMap.put("data/devices/versal/xcvp1552_db.dat", new Pair<>("xcvp1552-db-dat", "b638dd9fa21c9bf1b32ff244b2fc8097"));
- dataVersionMap.put("data/devices/versal/xcvp1702_db.dat", new Pair<>("xcvp1702-db-dat", "e45eeae7f2c446b747d2c32b1e740966"));
- dataVersionMap.put("data/devices/versal/xcvp1802_db.dat", new Pair<>("xcvp1802-db-dat", "5193742d00799abca9e09cc4d420cf96"));
- dataVersionMap.put("data/devices/versal/xcvp1902_db.dat", new Pair<>("xcvp1902-db-dat", "75bc9e93b9f51779f8fde3090f049a1c"));
- dataVersionMap.put("data/devices/versal/xcvp2502_db.dat", new Pair<>("xcvp2502-db-dat", "6df88f501601c922a76a91dfa8fdbe40"));
- dataVersionMap.put("data/devices/versal/xcvp2802_db.dat", new Pair<>("xcvp2802-db-dat", "6190c436f390d434fd5d3b6c11663dec"));
- dataVersionMap.put("data/devices/versal/xqrvc1902_db.dat", new Pair<>("xqrvc1902-db-dat", "d8b094b89dc88d7d5ee95ecf072eb745"));
- dataVersionMap.put("data/devices/versal/xqvc1702_db.dat", new Pair<>("xqvc1702-db-dat", "f53ba0b4a08339e7cde0ec246235f3ee"));
- dataVersionMap.put("data/devices/versal/xqvc1902_db.dat", new Pair<>("xqvc1902-db-dat", "b83164afbc5f38024d28f551cc3a1901"));
- dataVersionMap.put("data/devices/versal/xqvm1402_db.dat", new Pair<>("xqvm1402-db-dat", "ea17c682326443b3bd365d94557b7861"));
- dataVersionMap.put("data/devices/versal/xqvm1502_db.dat", new Pair<>("xqvm1502-db-dat", "b1408f8ecabe3a96af1430697d2a293e"));
- dataVersionMap.put("data/devices/versal/xqvm1802_db.dat", new Pair<>("xqvm1802-db-dat", "8573f43ba22cb1770984a0375165fe76"));
- dataVersionMap.put("data/devices/versal/xqvp1202_db.dat", new Pair<>("xqvp1202-db-dat", "8ce42b96c01868c1c9a846f62bf690db"));
- dataVersionMap.put("data/devices/versal/xqvp1402_db.dat", new Pair<>("xqvp1402-db-dat", "94b19c5b58aa96f8f7ad8a824dc46d3b"));
- dataVersionMap.put("data/devices/versal/xqvp1502_db.dat", new Pair<>("xqvp1502-db-dat", "3fb790fe4fd1934bff38cb3166d651db"));
- dataVersionMap.put("data/devices/virtex7/xc7v2000t_db.dat", new Pair<>("xc7v2000t-db-dat", "92d0393f7face5876bb50a053ec4feca"));
- dataVersionMap.put("data/devices/virtex7/xc7v585t_db.dat", new Pair<>("xc7v585t-db-dat", "c1f34b8edfecbad5175ae15a001a5a0e"));
- dataVersionMap.put("data/devices/virtex7/xc7vh580t_db.dat", new Pair<>("xc7vh580t-db-dat", "78d8cb5036dac18446cfe7ee9385ff5c"));
- dataVersionMap.put("data/devices/virtex7/xc7vh870t_db.dat", new Pair<>("xc7vh870t-db-dat", "f926445f11f764566091d7bd17be504a"));
- dataVersionMap.put("data/devices/virtex7/xc7vx1140t_db.dat", new Pair<>("xc7vx1140t-db-dat", "8e043da034346ced8ac74d3466590dde"));
- dataVersionMap.put("data/devices/virtex7/xc7vx330t_db.dat", new Pair<>("xc7vx330t-db-dat", "f15cfb07c59972149a04052092089ece"));
- dataVersionMap.put("data/devices/virtex7/xc7vx415t_CIV_db.dat", new Pair<>("xc7vx415t-civ-db-dat", "29071f4d73bb2b27c0890a21c6782132"));
- dataVersionMap.put("data/devices/virtex7/xc7vx415t_db.dat", new Pair<>("xc7vx415t-db-dat", "56499db6ea7ef4836a5b286b5cce91ab"));
- dataVersionMap.put("data/devices/virtex7/xc7vx485t_db.dat", new Pair<>("xc7vx485t-db-dat", "3c1d751df7f0457d715739597b484a48"));
- dataVersionMap.put("data/devices/virtex7/xc7vx550t_CIV_db.dat", new Pair<>("xc7vx550t-civ-db-dat", "a518d9ae5cfbf43776260fd8f49f0fa1"));
- dataVersionMap.put("data/devices/virtex7/xc7vx550t_db.dat", new Pair<>("xc7vx550t-db-dat", "d5aad888cba247f788478cfdc615d897"));
- dataVersionMap.put("data/devices/virtex7/xc7vx690t_CIV_db.dat", new Pair<>("xc7vx690t-civ-db-dat", "4c59f34584c56f22181e6ae8219f539a"));
- dataVersionMap.put("data/devices/virtex7/xc7vx690t_db.dat", new Pair<>("xc7vx690t-db-dat", "b665906e7979c0633e612e8b557bdf20"));
- dataVersionMap.put("data/devices/virtex7/xc7vx980t_db.dat", new Pair<>("xc7vx980t-db-dat", "878b9d14fced5e55a6671312cd7907bb"));
- dataVersionMap.put("data/devices/virtex7/xq7v585t_db.dat", new Pair<>("xq7v585t-db-dat", "9b3767f09398312811f2d049a01f3388"));
- dataVersionMap.put("data/devices/virtex7/xq7vx330t_db.dat", new Pair<>("xq7vx330t-db-dat", "3d9d11729b0afa0928ea6ec226f998e5"));
- dataVersionMap.put("data/devices/virtex7/xq7vx485t_db.dat", new Pair<>("xq7vx485t-db-dat", "3ee6a7714d60ae81ef8ebfcee11cb3d2"));
- dataVersionMap.put("data/devices/virtex7/xq7vx690t_db.dat", new Pair<>("xq7vx690t-db-dat", "514f776fd60d1941316392832f83d438"));
- dataVersionMap.put("data/devices/virtex7/xq7vx980t_db.dat", new Pair<>("xq7vx980t-db-dat", "5d3523e34d29438bbc2867da4046a623"));
- dataVersionMap.put("data/devices/virtexu/xcvu065_CIV_db.dat", new Pair<>("xcvu065-civ-db-dat", "0452e6f1de6a12bedbb54aa2fe572726"));
- dataVersionMap.put("data/devices/virtexu/xcvu065_db.dat", new Pair<>("xcvu065-db-dat", "e9024fd561d499f131f3d8593bc0c3fb"));
- dataVersionMap.put("data/devices/virtexu/xcvu080_CIV_db.dat", new Pair<>("xcvu080-civ-db-dat", "30c60ef49287b5a455b6a7e874823b26"));
- dataVersionMap.put("data/devices/virtexu/xcvu080_db.dat", new Pair<>("xcvu080-db-dat", "fb381473f731a1c93904f9bff217fdc7"));
- dataVersionMap.put("data/devices/virtexu/xcvu095_CIV_db.dat", new Pair<>("xcvu095-civ-db-dat", "66224d8e0d7f02e81e18efb06c82ba76"));
- dataVersionMap.put("data/devices/virtexu/xcvu095_db.dat", new Pair<>("xcvu095-db-dat", "b194e6fbce0d5020d650c1d152be88a7"));
- dataVersionMap.put("data/devices/virtexu/xcvu125_CIV_db.dat", new Pair<>("xcvu125-civ-db-dat", "c1b86231ef81a96b44ed577c4d23959b"));
- dataVersionMap.put("data/devices/virtexu/xcvu125_db.dat", new Pair<>("xcvu125-db-dat", "befa7845542b36ca9f213a83ba2dc4bd"));
- dataVersionMap.put("data/devices/virtexu/xcvu160_CIV_db.dat", new Pair<>("xcvu160-civ-db-dat", "3c5d9e3b54d494751e5638eae6efe33f"));
- dataVersionMap.put("data/devices/virtexu/xcvu160_db.dat", new Pair<>("xcvu160-db-dat", "e75e1364d6ee2db9cef7461c1c3ae9c7"));
- dataVersionMap.put("data/devices/virtexu/xcvu190_CIV_db.dat", new Pair<>("xcvu190-civ-db-dat", "f88a35b7382948ed3e683a7ad0a3b49e"));
- dataVersionMap.put("data/devices/virtexu/xcvu190_db.dat", new Pair<>("xcvu190-db-dat", "9b62cb1fb4ff8f7f1dfb65917e9a81a5"));
- dataVersionMap.put("data/devices/virtexu/xcvu440_CIV_db.dat", new Pair<>("xcvu440-civ-db-dat", "d22ffd26ff6a73f27a632123dcef3e33"));
- dataVersionMap.put("data/devices/virtexu/xcvu440_db.dat", new Pair<>("xcvu440-db-dat", "067a1c41071a690b66c378d6c9e7762c"));
- dataVersionMap.put("data/devices/virtexuplus/xcu200_db.dat", new Pair<>("xcu200-db-dat", "5d99756969b0a41b050d6de78a321c5e"));
- dataVersionMap.put("data/devices/virtexuplus/xcu250_db.dat", new Pair<>("xcu250-db-dat", "274131605e6b130a4bcef99fbf08bd4a"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu11p_CIV_db.dat", new Pair<>("xcvu11p-civ-db-dat", "e467ccc8ab779303398b761f43cd53aa"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu11p_db.dat", new Pair<>("xcvu11p-db-dat", "1749af62857f4aafa1f213591cb1ea58"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu13p_CIV_db.dat", new Pair<>("xcvu13p-civ-db-dat", "5701d014fe5bad6f6743ae0d9ef87115"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu13p_db.dat", new Pair<>("xcvu13p-db-dat", "d4c48189ff4e9add69c6653bb7a260af"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu19p_CIV_db.dat", new Pair<>("xcvu19p-civ-db-dat", "8e42ccf2301a00e4a90023867e7ec193"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu19p_db.dat", new Pair<>("xcvu19p-db-dat", "1bc92e443d2cd769ae96794e4a1d0da1"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu3p_CIV_db.dat", new Pair<>("xcvu3p-civ-db-dat", "2ee7a3dee107ebe03edbaf490990f13c"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu3p_db.dat", new Pair<>("xcvu3p-db-dat", "f805e161cd76bac1ff913158f20d6d6d"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu5p_CIV_db.dat", new Pair<>("xcvu5p-civ-db-dat", "0a50b9f5dbad1071d37cd34bfc59dfaa"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu5p_db.dat", new Pair<>("xcvu5p-db-dat", "41162bc914052cd59d24f3d250f2ab04"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu7p_CIV_db.dat", new Pair<>("xcvu7p-civ-db-dat", "13d2660ebe5bb2509798467827ecd713"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu7p_db.dat", new Pair<>("xcvu7p-db-dat", "356e51a118f9311bfcda74e078f4f7b3"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu9p_CIV_db.dat", new Pair<>("xcvu9p-civ-db-dat", "148aedb68120e01253864a25d0f134f0"));
- dataVersionMap.put("data/devices/virtexuplus/xcvu9p_db.dat", new Pair<>("xcvu9p-db-dat", "a055fe54f71b077cdc14493f1a3de778"));
- dataVersionMap.put("data/devices/virtexuplus/xqvu11p_db.dat", new Pair<>("xqvu11p-db-dat", "badd6c2ec2af3864ac58bf362bfdc5b5"));
- dataVersionMap.put("data/devices/virtexuplus/xqvu13p_db.dat", new Pair<>("xqvu13p-db-dat", "a91dee76ae90b430bc54beb00ae149b3"));
- dataVersionMap.put("data/devices/virtexuplus/xqvu3p_db.dat", new Pair<>("xqvu3p-db-dat", "02dfd5b15500a3a598d4e13da4dd3d7a"));
- dataVersionMap.put("data/devices/virtexuplus/xqvu7p_db.dat", new Pair<>("xqvu7p-db-dat", "fae68aa52ab95b09584ccbc9989ba002"));
- dataVersionMap.put("data/devices/virtexuplus/xqvu9p_db.dat", new Pair<>("xqvu9p-db-dat", "0b8d6768fce3b43da9aa9c1d284c161c"));
- dataVersionMap.put("data/devices/virtexuplus58g/xcu26_db.dat", new Pair<>("xcu26-db-dat", "16c47a607386d282c88a0819ccb90b06"));
- dataVersionMap.put("data/devices/virtexuplus58g/xcux35_db.dat", new Pair<>("xcux35-db-dat", "76d92db8a64a68a4f62f9b1bd77d6b2c"));
- dataVersionMap.put("data/devices/virtexuplus58g/xcvu23p_CIV_db.dat", new Pair<>("xcvu23p-civ-db-dat", "532631fd16803d1a9d371867909a15e9"));
- dataVersionMap.put("data/devices/virtexuplus58g/xcvu23p_db.dat", new Pair<>("xcvu23p-db-dat", "7a402a8aa1fc19a2ddd345b59c0f92a6"));
- dataVersionMap.put("data/devices/virtexuplus58g/xcvu27p_db.dat", new Pair<>("xcvu27p-db-dat", "ae2fe858e3aa6c868dbb521180134ec7"));
- dataVersionMap.put("data/devices/virtexuplus58g/xcvu29p_CIV_db.dat", new Pair<>("xcvu29p-civ-db-dat", "21a39c93719cec9782e01118e69c1ddb"));
- dataVersionMap.put("data/devices/virtexuplus58g/xcvu29p_db.dat", new Pair<>("xcvu29p-db-dat", "c9adeb4229782a48d628d1e9b79d5f85"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcu280_db.dat", new Pair<>("xcu280-db-dat", "ee607e7acc31dd410bb52847db491779"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcu50_db.dat", new Pair<>("xcu50-db-dat", "94adbe337bda80262a92fcc91134e526"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcu55c_db.dat", new Pair<>("xcu55c-db-dat", "fc3f7906b84a56d87fdb535330631a7f"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcu55n_db.dat", new Pair<>("xcu55n-db-dat", "c35073c30c01fa7735d775487fdce538"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu31p_CIV_db.dat", new Pair<>("xcvu31p-civ-db-dat", "c260523b70d33784a4daec16cd8c6746"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu31p_db.dat", new Pair<>("xcvu31p-db-dat", "fff4e230b2a9884e55029d4f6586434d"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu33p_CIV_db.dat", new Pair<>("xcvu33p-civ-db-dat", "cd199c8cfd0ed8066d2ad7169a6c07b1"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu33p_db.dat", new Pair<>("xcvu33p-db-dat", "5952be515b1d44fab892aba4b0193c2b"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu35p_CIV_db.dat", new Pair<>("xcvu35p-civ-db-dat", "21eb26cd6f6ea454c1c9e23d2622d273"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu35p_db.dat", new Pair<>("xcvu35p-db-dat", "5428b2cbd6a3753a33a83bd2dee284cd"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu37p_CIV_db.dat", new Pair<>("xcvu37p-civ-db-dat", "43f7a97781c2eb90eafdd3640e767b65"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu37p_db.dat", new Pair<>("xcvu37p-db-dat", "b4a10ab72e1017811281dfc0c8eaec94"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu45p_CIV_db.dat", new Pair<>("xcvu45p-civ-db-dat", "f231fbc253ae6c415079fa16544b25ff"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu45p_db.dat", new Pair<>("xcvu45p-db-dat", "db8573aac1d3e88b7c4ef4811faa7acd"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu47p_CIV_db.dat", new Pair<>("xcvu47p-civ-db-dat", "4ab61a70b3477c7089d0346d3b0f6b3b"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu47p_db.dat", new Pair<>("xcvu47p-db-dat", "1cf99371b29b0c8aa641d629e06a65f3"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu57p_CIV_db.dat", new Pair<>("xcvu57p-civ-db-dat", "d8ffecd79281bc83a3d896395a616142"));
- dataVersionMap.put("data/devices/virtexuplushbm/xcvu57p_db.dat", new Pair<>("xcvu57p-db-dat", "7c72a0c5bdeff5bdd73bca0417f2cd9e"));
- dataVersionMap.put("data/devices/virtexuplushbm/xqvu37p_db.dat", new Pair<>("xqvu37p-db-dat", "92cab74440a204d17a784b09d2a1c326"));
- dataVersionMap.put("data/devices/zynq/xa7z010_db.dat", new Pair<>("xa7z010-db-dat", "092bdce0907123acd5cca412d07a3122"));
- dataVersionMap.put("data/devices/zynq/xa7z020_db.dat", new Pair<>("xa7z020-db-dat", "d76154945850c125ca02dc53ec004427"));
- dataVersionMap.put("data/devices/zynq/xa7z030_db.dat", new Pair<>("xa7z030-db-dat", "6a5eb14fdc1bd5f345d7dfb7f46c0572"));
- dataVersionMap.put("data/devices/zynq/xc7z007s_db.dat", new Pair<>("xc7z007s-db-dat", "b666abd637b6156a85e2d256841cfc37"));
- dataVersionMap.put("data/devices/zynq/xc7z010_db.dat", new Pair<>("xc7z010-db-dat", "a66bfb860439663cfa24c10f816f70af"));
- dataVersionMap.put("data/devices/zynq/xc7z010i_db.dat", new Pair<>("xc7z010i-db-dat", "56a093e1f293c5417bb8c0cb857cd27d"));
- dataVersionMap.put("data/devices/zynq/xc7z012s_db.dat", new Pair<>("xc7z012s-db-dat", "a2157b50e4bf143820f1f93362a8cbe8"));
- dataVersionMap.put("data/devices/zynq/xc7z014s_db.dat", new Pair<>("xc7z014s-db-dat", "bbbf6b0c8ae79f56cc60deaf17b64671"));
- dataVersionMap.put("data/devices/zynq/xc7z015_db.dat", new Pair<>("xc7z015-db-dat", "7c1a3164c7882c19171f752610d5c038"));
- dataVersionMap.put("data/devices/zynq/xc7z015i_db.dat", new Pair<>("xc7z015i-db-dat", "6673be982383404c2f3396aa969f3860"));
- dataVersionMap.put("data/devices/zynq/xc7z020_db.dat", new Pair<>("xc7z020-db-dat", "fc5bebe46572f592245e4aed441c029e"));
- dataVersionMap.put("data/devices/zynq/xc7z020i_db.dat", new Pair<>("xc7z020i-db-dat", "0249d0f1023f154cd1a968a64b1332f6"));
- dataVersionMap.put("data/devices/zynq/xc7z030_db.dat", new Pair<>("xc7z030-db-dat", "06c61846a7d995cb03a0658f6928d008"));
- dataVersionMap.put("data/devices/zynq/xc7z030i_db.dat", new Pair<>("xc7z030i-db-dat", "0b4b0dc8c010ddb33a9694ef92733eb0"));
- dataVersionMap.put("data/devices/zynq/xc7z035_db.dat", new Pair<>("xc7z035-db-dat", "b7cb1c466e37987091f3b595ab818f21"));
- dataVersionMap.put("data/devices/zynq/xc7z035i_db.dat", new Pair<>("xc7z035i-db-dat", "1f31559106e7c627e423dd479bef3262"));
- dataVersionMap.put("data/devices/zynq/xc7z045_db.dat", new Pair<>("xc7z045-db-dat", "6c836f4fa698ddab028a8609e063336c"));
- dataVersionMap.put("data/devices/zynq/xc7z045i_db.dat", new Pair<>("xc7z045i-db-dat", "d5741ded66bdc354e239c99cd9cfd34c"));
- dataVersionMap.put("data/devices/zynq/xc7z100_db.dat", new Pair<>("xc7z100-db-dat", "0e81da2a7413068bb53735a1d0c928b4"));
- dataVersionMap.put("data/devices/zynq/xc7z100i_db.dat", new Pair<>("xc7z100i-db-dat", "0609a0c20edd5d5f403c56c4671641f0"));
- dataVersionMap.put("data/devices/zynq/xq7z020_db.dat", new Pair<>("xq7z020-db-dat", "7853e053b22d1a08f5d993696584415b"));
- dataVersionMap.put("data/devices/zynq/xq7z030_db.dat", new Pair<>("xq7z030-db-dat", "de2799d72680d0182c6946b210d53528"));
- dataVersionMap.put("data/devices/zynq/xq7z045_db.dat", new Pair<>("xq7z045-db-dat", "7fe706467a4e6b2002b9418fb59bfcbd"));
- dataVersionMap.put("data/devices/zynq/xq7z100_db.dat", new Pair<>("xq7z100-db-dat", "0ef14d93d813d9d4aad8c532758c5014"));
- dataVersionMap.put("data/devices/zynquplus/xazu11eg_db.dat", new Pair<>("xazu11eg-db-dat", "8e09f078863d76c0f0d3905822774f0a"));
- dataVersionMap.put("data/devices/zynquplus/xazu1eg_db.dat", new Pair<>("xazu1eg-db-dat", "119cc5a7544511182a7814284c0c6a1d"));
- dataVersionMap.put("data/devices/zynquplus/xazu2eg_db.dat", new Pair<>("xazu2eg-db-dat", "cdfe3c4fb1002069b149268fb3cf312b"));
- dataVersionMap.put("data/devices/zynquplus/xazu3eg_db.dat", new Pair<>("xazu3eg-db-dat", "178047a3a9ea48b78a1822f2ce573dd2"));
- dataVersionMap.put("data/devices/zynquplus/xazu3teg_db.dat", new Pair<>("xazu3teg-db-dat", "edd9aafa5776632f351deb52fd82aad9"));
- dataVersionMap.put("data/devices/zynquplus/xazu4ev_db.dat", new Pair<>("xazu4ev-db-dat", "884a12969e2c02fee0e411c97dc3ddf8"));
- dataVersionMap.put("data/devices/zynquplus/xazu5ev_db.dat", new Pair<>("xazu5ev-db-dat", "ee0bf0ddb9d88ce68d7a280571ad91d6"));
- dataVersionMap.put("data/devices/zynquplus/xazu7ev_db.dat", new Pair<>("xazu7ev-db-dat", "21624f0ac0aa2efa331073107cbe2f9c"));
- dataVersionMap.put("data/devices/zynquplus/xck24_db.dat", new Pair<>("xck24-db-dat", "bf4bb6a50161fe8fd44a5773ae4d7256"));
- dataVersionMap.put("data/devices/zynquplus/xck26_db.dat", new Pair<>("xck26-db-dat", "82dee8e70adf8cbc6562c1b7fa33f977"));
- dataVersionMap.put("data/devices/zynquplus/xcu25_db.dat", new Pair<>("xcu25-db-dat", "59ab1a1ff5c6a2f49f64014eff10d6e6"));
- dataVersionMap.put("data/devices/zynquplus/xcu30_db.dat", new Pair<>("xcu30-db-dat", "4829ba3a398cab16f143c5ae8fc69980"));
- dataVersionMap.put("data/devices/zynquplus/xczu11eg_db.dat", new Pair<>("xczu11eg-db-dat", "d73f3caecf1c7d0f82436b1a6347a06d"));
- dataVersionMap.put("data/devices/zynquplus/xczu15eg_db.dat", new Pair<>("xczu15eg-db-dat", "091773b1d05b7cf519de04a4f86675bc"));
- dataVersionMap.put("data/devices/zynquplus/xczu17eg_db.dat", new Pair<>("xczu17eg-db-dat", "bcbe252a7c570e59cdc9b56aa4ca14ce"));
- dataVersionMap.put("data/devices/zynquplus/xczu19eg_db.dat", new Pair<>("xczu19eg-db-dat", "2c449091c0529de78ee7182f6c66b0f8"));
- dataVersionMap.put("data/devices/zynquplus/xczu1cg_db.dat", new Pair<>("xczu1cg-db-dat", "5c86df9a5949d2ff51f0e01042b53a9d"));
- dataVersionMap.put("data/devices/zynquplus/xczu1eg_db.dat", new Pair<>("xczu1eg-db-dat", "0c047213bf2f01633deb26bfbdcfdb31"));
- dataVersionMap.put("data/devices/zynquplus/xczu2cg_db.dat", new Pair<>("xczu2cg-db-dat", "cd1017fb8aa545611e2c0b51de130d3b"));
- dataVersionMap.put("data/devices/zynquplus/xczu2eg_db.dat", new Pair<>("xczu2eg-db-dat", "c404f5dd97b87379dada0d6630b47e11"));
- dataVersionMap.put("data/devices/zynquplus/xczu3cg_db.dat", new Pair<>("xczu3cg-db-dat", "6a8853ac468e0ecc3990f8e03405b78e"));
- dataVersionMap.put("data/devices/zynquplus/xczu3eg_db.dat", new Pair<>("xczu3eg-db-dat", "b5b2daf125c096867612d14c45d60688"));
- dataVersionMap.put("data/devices/zynquplus/xczu3tcg_db.dat", new Pair<>("xczu3tcg-db-dat", "224956d66a5234f12948844a735a6a14"));
- dataVersionMap.put("data/devices/zynquplus/xczu3teg_db.dat", new Pair<>("xczu3teg-db-dat", "9d0da7857b48d246108815323bc67443"));
- dataVersionMap.put("data/devices/zynquplus/xczu4cg_db.dat", new Pair<>("xczu4cg-db-dat", "5a4f5d95cb0a7be253ae0881977137a6"));
- dataVersionMap.put("data/devices/zynquplus/xczu4eg_db.dat", new Pair<>("xczu4eg-db-dat", "2676f986833030e6de5c065f0d09d87a"));
- dataVersionMap.put("data/devices/zynquplus/xczu4ev_db.dat", new Pair<>("xczu4ev-db-dat", "a11e6149d4f698a16e798cc04eedbc11"));
- dataVersionMap.put("data/devices/zynquplus/xczu5cg_db.dat", new Pair<>("xczu5cg-db-dat", "2bdd991f8e0e43c21101504ccbb5863c"));
- dataVersionMap.put("data/devices/zynquplus/xczu5eg_db.dat", new Pair<>("xczu5eg-db-dat", "2d2c8082c7c04872cfe5d5d139157adf"));
- dataVersionMap.put("data/devices/zynquplus/xczu5ev_db.dat", new Pair<>("xczu5ev-db-dat", "7cbd727a5f9e5cc1ee86fb4ecabdf138"));
- dataVersionMap.put("data/devices/zynquplus/xczu6cg_db.dat", new Pair<>("xczu6cg-db-dat", "efd5b1ea19983508da2bab0796959c98"));
- dataVersionMap.put("data/devices/zynquplus/xczu6eg_db.dat", new Pair<>("xczu6eg-db-dat", "b9eb6150ba77bff6942a32eb86d2244b"));
- dataVersionMap.put("data/devices/zynquplus/xczu7cg_db.dat", new Pair<>("xczu7cg-db-dat", "86f8738a321430e66c1d04503cee4960"));
- dataVersionMap.put("data/devices/zynquplus/xczu7eg_db.dat", new Pair<>("xczu7eg-db-dat", "3bf622b6ec0c623e5c44b922ba788548"));
- dataVersionMap.put("data/devices/zynquplus/xczu7ev_db.dat", new Pair<>("xczu7ev-db-dat", "f3ae53bdf1c1b9d2ce00bcf76499b72c"));
- dataVersionMap.put("data/devices/zynquplus/xczu9cg_db.dat", new Pair<>("xczu9cg-db-dat", "60f1c447b47949130d95e5f9eb561cb7"));
- dataVersionMap.put("data/devices/zynquplus/xczu9eg_db.dat", new Pair<>("xczu9eg-db-dat", "18250e4b9735ee21e51b4cd4895856b6"));
- dataVersionMap.put("data/devices/zynquplus/xqzu11eg_db.dat", new Pair<>("xqzu11eg-db-dat", "8334c9659089035896ff07c842bb865c"));
- dataVersionMap.put("data/devices/zynquplus/xqzu15eg_db.dat", new Pair<>("xqzu15eg-db-dat", "3f81282b9090239c108cd33f85465691"));
- dataVersionMap.put("data/devices/zynquplus/xqzu19eg_db.dat", new Pair<>("xqzu19eg-db-dat", "1e368717545941751963f8078d1eef76"));
- dataVersionMap.put("data/devices/zynquplus/xqzu3eg_db.dat", new Pair<>("xqzu3eg-db-dat", "bfdccc96cda47d6ef4aff5ec09fe486b"));
- dataVersionMap.put("data/devices/zynquplus/xqzu4eg_db.dat", new Pair<>("xqzu4eg-db-dat", "a623fde3083dab1ebe58f20003d5b98a"));
- dataVersionMap.put("data/devices/zynquplus/xqzu5ev_db.dat", new Pair<>("xqzu5ev-db-dat", "8ed19803bc456528e04bb6107a8b5da5"));
- dataVersionMap.put("data/devices/zynquplus/xqzu7ev_db.dat", new Pair<>("xqzu7ev-db-dat", "7f8a225012f4c9a32d1cac15ec9774a3"));
- dataVersionMap.put("data/devices/zynquplus/xqzu9eg_db.dat", new Pair<>("xqzu9eg-db-dat", "e1faf2d2828c86cae6762ec2835e62d2"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu21dr_db.dat", new Pair<>("xczu21dr-db-dat", "89a73b024f8e263c4d50907ea0f386fc"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu25dr_db.dat", new Pair<>("xczu25dr-db-dat", "2b8a32c7fb40856cde10ed0f57f2a2c2"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu27dr_db.dat", new Pair<>("xczu27dr-db-dat", "9257b5751e10d24a3e442b9f6526df5e"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu28dr_db.dat", new Pair<>("xczu28dr-db-dat", "f0a31ab48b54716343ceb4a8b79f323a"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu29dr_db.dat", new Pair<>("xczu29dr-db-dat", "6a4441793068d3ba2f36fae949d746df"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu39dr_db.dat", new Pair<>("xczu39dr-db-dat", "ca2b52361c39e4fdff8fd9944cc2802d"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu42dr_db.dat", new Pair<>("xczu42dr-db-dat", "de7df190ea053052dcc7c08726170f01"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu43dr_db.dat", new Pair<>("xczu43dr-db-dat", "4ff7bc887e1d2656b0a314cf882d1d80"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu46dr_db.dat", new Pair<>("xczu46dr-db-dat", "8b8e3456190e119267a25d98b689c1ef"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu47dr_db.dat", new Pair<>("xczu47dr-db-dat", "bedc4f98154ec578c5b692ea8daa0beb"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu48dr_db.dat", new Pair<>("xczu48dr-db-dat", "f003d622ff5c9be1c45a0831f1ce82a0"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu49dr_db.dat", new Pair<>("xczu49dr-db-dat", "5a599490a93571c56e9fbee972c4ac17"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu63dr_db.dat", new Pair<>("xczu63dr-db-dat", "7f30a1d869b91b91a1d3cc8f53c09d96"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu64dr_db.dat", new Pair<>("xczu64dr-db-dat", "8e3ef8c4420e865189dbc601dba37898"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu65dr_db.dat", new Pair<>("xczu65dr-db-dat", "b3ce53b99ff5ed2d09746c90fd43eca3"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xczu67dr_db.dat", new Pair<>("xczu67dr-db-dat", "240c0f0df5feceeb641a74bb4293a4fe"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu21dr_db.dat", new Pair<>("xqzu21dr-db-dat", "3e25885e218724b1c7819e15dd18ded4"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu28dr_db.dat", new Pair<>("xqzu28dr-db-dat", "2196728df335cde3e249cd48851883d8"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu29dr_db.dat", new Pair<>("xqzu29dr-db-dat", "e3c7e69380c23716bcc39eb93563904c"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu48dr_db.dat", new Pair<>("xqzu48dr-db-dat", "37366cd092792f9cd6f45dca239d09ad"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu49dr_db.dat", new Pair<>("xqzu49dr-db-dat", "7679cff74241eac6a9daee28c5a9966a"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu65dr_db.dat", new Pair<>("xqzu65dr-db-dat", "f15adefc7ab374462079410477aec96b"));
- dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu67dr_db.dat", new Pair<>("xqzu67dr-db-dat", "143425fe53e695b473ca16676db07680"));
- dataVersionMap.put("data/partdump.csv", new Pair<>("partdump-csv", "7c9bd6bf647f18f869c91944e8cd6b15"));
- dataVersionMap.put("data/parts.db", new Pair<>("parts-db", "5600d0879f1c7cd2d8dac6dada2f52aa"));
- dataVersionMap.put("data/unisim_data.dat", new Pair<>("unisim-data-dat", "4c693316fa695c9147b6f987f0686446"));
+ dataVersionMap.put("data/cell_pin_defaults.dat", new Pair<>("cell-pin-defaults-dat", "2d2c9c4a896f51376498054abc650e3c"));
+ dataVersionMap.put("data/devices/artix7/xa7a100t_db.dat", new Pair<>("xa7a100t-db-dat", "45a46f75b9247d5efa7e1619c2e4ff70"));
+ dataVersionMap.put("data/devices/artix7/xa7a12t_db.dat", new Pair<>("xa7a12t-db-dat", "b277526a30f077bb1abfa3ade1d0eab9"));
+ dataVersionMap.put("data/devices/artix7/xa7a15t_db.dat", new Pair<>("xa7a15t-db-dat", "18c3627fef689d88c04ea41e26b5d93f"));
+ dataVersionMap.put("data/devices/artix7/xa7a25t_db.dat", new Pair<>("xa7a25t-db-dat", "fce72c383b0362fd26015d79cf8c1a7c"));
+ dataVersionMap.put("data/devices/artix7/xa7a35t_db.dat", new Pair<>("xa7a35t-db-dat", "aaaf82471c2a3562a4911711e47e811e"));
+ dataVersionMap.put("data/devices/artix7/xa7a50t_db.dat", new Pair<>("xa7a50t-db-dat", "622fd90cd66de6c13b2e35255a1ece86"));
+ dataVersionMap.put("data/devices/artix7/xa7a75t_db.dat", new Pair<>("xa7a75t-db-dat", "1c7aeddb62c55007ed5a5cd57dc97edd"));
+ dataVersionMap.put("data/devices/artix7/xc7a100t_db.dat", new Pair<>("xc7a100t-db-dat", "4d99b64a543c695f176b21f32d2f8a9d"));
+ dataVersionMap.put("data/devices/artix7/xc7a100ti_db.dat", new Pair<>("xc7a100ti-db-dat", "22b084ed0fa1f09b9cc1ea9abb8ae1f7"));
+ dataVersionMap.put("data/devices/artix7/xc7a100tl_db.dat", new Pair<>("xc7a100tl-db-dat", "2db0391cd0dd802009edb50ef2418643"));
+ dataVersionMap.put("data/devices/artix7/xc7a12t_db.dat", new Pair<>("xc7a12t-db-dat", "b573cfd27770b825094caf6cbb8378fe"));
+ dataVersionMap.put("data/devices/artix7/xc7a12ti_db.dat", new Pair<>("xc7a12ti-db-dat", "17c1f0b1b3fb462600a04e5430be2f54"));
+ dataVersionMap.put("data/devices/artix7/xc7a12tl_db.dat", new Pair<>("xc7a12tl-db-dat", "c7c8278addd88edc695f31de318de3af"));
+ dataVersionMap.put("data/devices/artix7/xc7a15t_db.dat", new Pair<>("xc7a15t-db-dat", "e8b46327c91427623e4abafcb77a2818"));
+ dataVersionMap.put("data/devices/artix7/xc7a15ti_db.dat", new Pair<>("xc7a15ti-db-dat", "bdf0c10a5aa0f85c43466542442c4b3b"));
+ dataVersionMap.put("data/devices/artix7/xc7a15tl_db.dat", new Pair<>("xc7a15tl-db-dat", "36b8abccde0f26bf00bac6fad8d49265"));
+ dataVersionMap.put("data/devices/artix7/xc7a200t_db.dat", new Pair<>("xc7a200t-db-dat", "c8319bf7c8182f843abd04b0187017b7"));
+ dataVersionMap.put("data/devices/artix7/xc7a200ti_db.dat", new Pair<>("xc7a200ti-db-dat", "20080e9ab2a1c1e06c07fb64d54a94c5"));
+ dataVersionMap.put("data/devices/artix7/xc7a200tl_db.dat", new Pair<>("xc7a200tl-db-dat", "37cfec45d2018f41c9661d407086464c"));
+ dataVersionMap.put("data/devices/artix7/xc7a25t_db.dat", new Pair<>("xc7a25t-db-dat", "afbee8577f7b560789dae9fe776108e3"));
+ dataVersionMap.put("data/devices/artix7/xc7a25ti_db.dat", new Pair<>("xc7a25ti-db-dat", "2be7a2b7875ca206c55df00a4f1b0735"));
+ dataVersionMap.put("data/devices/artix7/xc7a25tl_db.dat", new Pair<>("xc7a25tl-db-dat", "14d6bd6bc88caf28630fc1c86837bf33"));
+ dataVersionMap.put("data/devices/artix7/xc7a35t_db.dat", new Pair<>("xc7a35t-db-dat", "69bf771bda9b8b0f232e4740942bfd8d"));
+ dataVersionMap.put("data/devices/artix7/xc7a35ti_db.dat", new Pair<>("xc7a35ti-db-dat", "0167d0721be1b0286a2f98b7ab2ee22f"));
+ dataVersionMap.put("data/devices/artix7/xc7a35tl_db.dat", new Pair<>("xc7a35tl-db-dat", "262eea6f53e036215b65cf2c2f92539e"));
+ dataVersionMap.put("data/devices/artix7/xc7a50t_db.dat", new Pair<>("xc7a50t-db-dat", "294d8bc00d908a3c5a27c5189f3c5521"));
+ dataVersionMap.put("data/devices/artix7/xc7a50ti_db.dat", new Pair<>("xc7a50ti-db-dat", "33946d734d119e1c96bcc90e4b213d82"));
+ dataVersionMap.put("data/devices/artix7/xc7a50tl_db.dat", new Pair<>("xc7a50tl-db-dat", "c28eb101b6f98a865255f96d93f750fc"));
+ dataVersionMap.put("data/devices/artix7/xc7a75t_db.dat", new Pair<>("xc7a75t-db-dat", "be1b18d113d79c6be5fdbee653247d9c"));
+ dataVersionMap.put("data/devices/artix7/xc7a75ti_db.dat", new Pair<>("xc7a75ti-db-dat", "e7e6c35ce467dae6c8ee887566f1ef2d"));
+ dataVersionMap.put("data/devices/artix7/xc7a75tl_db.dat", new Pair<>("xc7a75tl-db-dat", "268ee8a56c213c9ca4cc18ae5617b59f"));
+ dataVersionMap.put("data/devices/artix7/xq7a100t_db.dat", new Pair<>("xq7a100t-db-dat", "f58516a1c2488366f75164e16cc3926f"));
+ dataVersionMap.put("data/devices/artix7/xq7a200t_db.dat", new Pair<>("xq7a200t-db-dat", "f997883176ace0f0988239be7c95c390"));
+ dataVersionMap.put("data/devices/artix7/xq7a50t_db.dat", new Pair<>("xq7a50t-db-dat", "088d6a40a9b67cfddd3bb8be35b2a03e"));
+ dataVersionMap.put("data/devices/kintex7/xa7k160t_db.dat", new Pair<>("xa7k160t-db-dat", "92a3dda218892ff09ffe3dcecf2218b1"));
+ dataVersionMap.put("data/devices/kintex7/xc7k160t_db.dat", new Pair<>("xc7k160t-db-dat", "e0fd2836e8143bd8f7a80c1ee7e874cd"));
+ dataVersionMap.put("data/devices/kintex7/xc7k160ti_db.dat", new Pair<>("xc7k160ti-db-dat", "ce317ec6706e8202c56cb93d9dfed0a6"));
+ dataVersionMap.put("data/devices/kintex7/xc7k160tl_db.dat", new Pair<>("xc7k160tl-db-dat", "ed04c2ab765109f46e5467d0b85f7625"));
+ dataVersionMap.put("data/devices/kintex7/xc7k325t_db.dat", new Pair<>("xc7k325t-db-dat", "a500dba1ee744b8846c1240cd86548a3"));
+ dataVersionMap.put("data/devices/kintex7/xc7k325ti_db.dat", new Pair<>("xc7k325ti-db-dat", "ede191e23a85775d7fdc1bd62a430d0e"));
+ dataVersionMap.put("data/devices/kintex7/xc7k325tl_db.dat", new Pair<>("xc7k325tl-db-dat", "b1d5662f1a9a4306322eb2dc73088ae7"));
+ dataVersionMap.put("data/devices/kintex7/xc7k355t_db.dat", new Pair<>("xc7k355t-db-dat", "6b3773a25050c18958b7f63999fcc5fb"));
+ dataVersionMap.put("data/devices/kintex7/xc7k355ti_db.dat", new Pair<>("xc7k355ti-db-dat", "9ef1f68ac59ec6c6e0b0b30c295ef0e3"));
+ dataVersionMap.put("data/devices/kintex7/xc7k355tl_db.dat", new Pair<>("xc7k355tl-db-dat", "10c8cbc66b0e5ae44c57f1faa591e1ec"));
+ dataVersionMap.put("data/devices/kintex7/xc7k410t_db.dat", new Pair<>("xc7k410t-db-dat", "88250cde0a187521efc963cf1a8701f7"));
+ dataVersionMap.put("data/devices/kintex7/xc7k410ti_db.dat", new Pair<>("xc7k410ti-db-dat", "f0119d74c0581fa5f4bc5fe21ca79d1e"));
+ dataVersionMap.put("data/devices/kintex7/xc7k410tl_db.dat", new Pair<>("xc7k410tl-db-dat", "0b1f7f3fad2b52b2c436e3a6b21a3b05"));
+ dataVersionMap.put("data/devices/kintex7/xc7k420t_db.dat", new Pair<>("xc7k420t-db-dat", "98c1a79bd669f153d448f729d6990733"));
+ dataVersionMap.put("data/devices/kintex7/xc7k420ti_db.dat", new Pair<>("xc7k420ti-db-dat", "6897d79957308a2c67b97b18a3e4b30e"));
+ dataVersionMap.put("data/devices/kintex7/xc7k420tl_db.dat", new Pair<>("xc7k420tl-db-dat", "414898f015b2d8be9878608727e5cc43"));
+ dataVersionMap.put("data/devices/kintex7/xc7k480t_db.dat", new Pair<>("xc7k480t-db-dat", "4578b9bcd56b03a32a4cdc33b4106dd0"));
+ dataVersionMap.put("data/devices/kintex7/xc7k480ti_db.dat", new Pair<>("xc7k480ti-db-dat", "6900d8bc940c0e25f83955e5ba9bd772"));
+ dataVersionMap.put("data/devices/kintex7/xc7k480tl_db.dat", new Pair<>("xc7k480tl-db-dat", "10c4d464b2f395e04cddf9850cc712fe"));
+ dataVersionMap.put("data/devices/kintex7/xc7k70t_db.dat", new Pair<>("xc7k70t-db-dat", "98dfcdff69607d0b465421a1705460d8"));
+ dataVersionMap.put("data/devices/kintex7/xc7k70tl_db.dat", new Pair<>("xc7k70tl-db-dat", "fd9ce48cb712dbf5f4973ad95f4c5190"));
+ dataVersionMap.put("data/devices/kintex7/xq7k325t_db.dat", new Pair<>("xq7k325t-db-dat", "40f6f1bef73d45f0978d6bce9b3b8dda"));
+ dataVersionMap.put("data/devices/kintex7/xq7k325tl_db.dat", new Pair<>("xq7k325tl-db-dat", "c02164deb80467c5b92517bcfa4d1207"));
+ dataVersionMap.put("data/devices/kintex7/xq7k410t_db.dat", new Pair<>("xq7k410t-db-dat", "1235d36d81ebdb079b89564ac66650ad"));
+ dataVersionMap.put("data/devices/kintex7/xq7k410tl_db.dat", new Pair<>("xq7k410tl-db-dat", "549e6a58301cd9b0faac87ae33a756f6"));
+ dataVersionMap.put("data/devices/kintexu/xcku025_db.dat", new Pair<>("xcku025-db-dat", "6786ba059c6718c794745f314e9c32d9"));
+ dataVersionMap.put("data/devices/kintexu/xcku035_db.dat", new Pair<>("xcku035-db-dat", "c70e1b7fb1d9379df150adee3fcacc5a"));
+ dataVersionMap.put("data/devices/kintexu/xcku040_db.dat", new Pair<>("xcku040-db-dat", "7e1cd10b35fa23eaef5a4ae9187f825b"));
+ dataVersionMap.put("data/devices/kintexu/xcku060_CIV_db.dat", new Pair<>("xcku060-civ-db-dat", "a0b44ed755c88acc232d13ee5c2eaf5a"));
+ dataVersionMap.put("data/devices/kintexu/xcku060_db.dat", new Pair<>("xcku060-db-dat", "ed1f0b4f27b60f9e2ab4125a8d0233b3"));
+ dataVersionMap.put("data/devices/kintexu/xcku085_CIV_db.dat", new Pair<>("xcku085-civ-db-dat", "ab612569cec9246e83ea3dcf506f7b55"));
+ dataVersionMap.put("data/devices/kintexu/xcku085_db.dat", new Pair<>("xcku085-db-dat", "363c0d1829d167082a52b7378bfd9ec4"));
+ dataVersionMap.put("data/devices/kintexu/xcku095_CIV_db.dat", new Pair<>("xcku095-civ-db-dat", "83527062f52dd9f8fced9126d39a572f"));
+ dataVersionMap.put("data/devices/kintexu/xcku095_db.dat", new Pair<>("xcku095-db-dat", "9eded79546c0eca2fc740604a9198f6d"));
+ dataVersionMap.put("data/devices/kintexu/xcku115_CIV_db.dat", new Pair<>("xcku115-civ-db-dat", "6dee5244bf5a9dc55494b7ff5b6c6202"));
+ dataVersionMap.put("data/devices/kintexu/xcku115_db.dat", new Pair<>("xcku115-db-dat", "9945f5f69d740fb475d942d8d165b2b2"));
+ dataVersionMap.put("data/devices/kintexu/xqku040_db.dat", new Pair<>("xqku040-db-dat", "d221fb5bef20f2b275f9c6ba0d97a21f"));
+ dataVersionMap.put("data/devices/kintexu/xqku060_db.dat", new Pair<>("xqku060-db-dat", "a78b3120af4018d7fe340aa27b9cd915"));
+ dataVersionMap.put("data/devices/kintexu/xqku095_db.dat", new Pair<>("xqku095-db-dat", "64dcf461b29d1d44a630481dfa2cdf94"));
+ dataVersionMap.put("data/devices/kintexu/xqku115_db.dat", new Pair<>("xqku115-db-dat", "bc18dabac14c107c24ea44e3a5024594"));
+ dataVersionMap.put("data/devices/kintexu/xqrku060_db.dat", new Pair<>("xqrku060-db-dat", "2cb5d52dc74ff49a1ed51e20eb2a6458"));
+ dataVersionMap.put("data/devices/kintexuplus/xaau10p_db.dat", new Pair<>("xaau10p-db-dat", "5c5321c378fe7b8d2b4ce03d6b37c750"));
+ dataVersionMap.put("data/devices/kintexuplus/xaau15p_db.dat", new Pair<>("xaau15p-db-dat", "dbef66512c40a8a85387ae0e7ceef51f"));
+ dataVersionMap.put("data/devices/kintexuplus/xaau7p_db.dat", new Pair<>("xaau7p-db-dat", "725c7e60767e749ac2108abb210619cb"));
+ dataVersionMap.put("data/devices/kintexuplus/xcau10p_db.dat", new Pair<>("xcau10p-db-dat", "4c7ee26359217cb10aa5f75265be8585"));
+ dataVersionMap.put("data/devices/kintexuplus/xcau15p_db.dat", new Pair<>("xcau15p-db-dat", "04bf3b2a61c66e58ac14fe0c7fdb7df7"));
+ dataVersionMap.put("data/devices/kintexuplus/xcau20p_db.dat", new Pair<>("xcau20p-db-dat", "c168696d042575a94bc4730814f95855"));
+ dataVersionMap.put("data/devices/kintexuplus/xcau25p_db.dat", new Pair<>("xcau25p-db-dat", "02113677a50becad7e9aac8d48b22938"));
+ dataVersionMap.put("data/devices/kintexuplus/xcau7p_db.dat", new Pair<>("xcau7p-db-dat", "622f9504c13c75af0b9877bd3717b006"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku11p_CIV_db.dat", new Pair<>("xcku11p-civ-db-dat", "5f6b4fb6e81e9f01d998b7099c06e0b1"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku11p_db.dat", new Pair<>("xcku11p-db-dat", "8e0b79eade305b5781238fe82928e30f"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku13p_db.dat", new Pair<>("xcku13p-db-dat", "74dd5c9d7de9311101f3800c0e0e8ee1"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku15p_CIV_db.dat", new Pair<>("xcku15p-civ-db-dat", "2e6d47f192e4868c6b631a94c01c3e97"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku15p_db.dat", new Pair<>("xcku15p-db-dat", "f47acb026b2cb7ab736769b205d385de"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku19p_CIV_db.dat", new Pair<>("xcku19p-civ-db-dat", "ec3fd302d132792a967b029a08500676"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku19p_db.dat", new Pair<>("xcku19p-db-dat", "40dd544f67619a4bad3b89f80f95cfcb"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku3p_db.dat", new Pair<>("xcku3p-db-dat", "7391d206f088ffe54f89482619672830"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku5p_db.dat", new Pair<>("xcku5p-db-dat", "0d6af65ecc2248c090683b7600f07276"));
+ dataVersionMap.put("data/devices/kintexuplus/xcku9p_db.dat", new Pair<>("xcku9p-db-dat", "e721dba79df3981bbe1ec0f16685d1ed"));
+ dataVersionMap.put("data/devices/kintexuplus/xqku15p_db.dat", new Pair<>("xqku15p-db-dat", "27c1f9e39ef3935060f6facd707b2fb0"));
+ dataVersionMap.put("data/devices/kintexuplus/xqku5p_db.dat", new Pair<>("xqku5p-db-dat", "f0c65214d29811d744301ccdd326eb5a"));
+ dataVersionMap.put("data/devices/spartan7/xa7s100_db.dat", new Pair<>("xa7s100-db-dat", "a75b8b95422459558b3152079203a146"));
+ dataVersionMap.put("data/devices/spartan7/xa7s15_db.dat", new Pair<>("xa7s15-db-dat", "ebb08ed90379836df80e7d7388711650"));
+ dataVersionMap.put("data/devices/spartan7/xa7s25_db.dat", new Pair<>("xa7s25-db-dat", "de98e43784e13c648ded020c98f4108f"));
+ dataVersionMap.put("data/devices/spartan7/xa7s50_db.dat", new Pair<>("xa7s50-db-dat", "214d51df7346fad0f7d8b2fce6d24de7"));
+ dataVersionMap.put("data/devices/spartan7/xa7s6_db.dat", new Pair<>("xa7s6-db-dat", "a6493e840130dc52f5431b919525410f"));
+ dataVersionMap.put("data/devices/spartan7/xa7s75_db.dat", new Pair<>("xa7s75-db-dat", "072bfb16785271f7d426b5ce7e46dccd"));
+ dataVersionMap.put("data/devices/spartan7/xc7s100_db.dat", new Pair<>("xc7s100-db-dat", "680e46a3aa2ae6353a89813698f39148"));
+ dataVersionMap.put("data/devices/spartan7/xc7s15_db.dat", new Pair<>("xc7s15-db-dat", "6fd92b568e4a44106ab101c55c61f98a"));
+ dataVersionMap.put("data/devices/spartan7/xc7s25_db.dat", new Pair<>("xc7s25-db-dat", "e19af5e8ec2b1037500236f4f85d0a92"));
+ dataVersionMap.put("data/devices/spartan7/xc7s50_db.dat", new Pair<>("xc7s50-db-dat", "8091436ec2c00f3372dad11077f882e3"));
+ dataVersionMap.put("data/devices/spartan7/xc7s6_db.dat", new Pair<>("xc7s6-db-dat", "eea51ccde2294ac92adf34878a55c9fa"));
+ dataVersionMap.put("data/devices/spartan7/xc7s75_db.dat", new Pair<>("xc7s75-db-dat", "4168148faf47a1256a616e2d76508de4"));
+ dataVersionMap.put("data/devices/versal/xave1752_db.dat", new Pair<>("xave1752-db-dat", "e32ac3e52b19f5e12e771f7730e82c5f"));
+ dataVersionMap.put("data/devices/versal/xave2002_db.dat", new Pair<>("xave2002-db-dat", "e3b322d94c0197fb6a64120628f7f2ac"));
+ dataVersionMap.put("data/devices/versal/xave2102_db.dat", new Pair<>("xave2102-db-dat", "49c904e79a37771e4708b566da6788e1"));
+ dataVersionMap.put("data/devices/versal/xave2202_db.dat", new Pair<>("xave2202-db-dat", "dee6e1c982c28f9754aefd3b62c75a5e"));
+ dataVersionMap.put("data/devices/versal/xave2302_db.dat", new Pair<>("xave2302-db-dat", "ac9bdb3f8da763eda2a62630561f5079"));
+ dataVersionMap.put("data/devices/versal/xave2602_db.dat", new Pair<>("xave2602-db-dat", "26a56204a79858d8fe5b59ab9490564c"));
+ dataVersionMap.put("data/devices/versal/xave2802_db.dat", new Pair<>("xave2802-db-dat", "d76e6960ad0a30261eb262a26217bba9"));
+ dataVersionMap.put("data/devices/versal/xcv80_db.dat", new Pair<>("xcv80-db-dat", "bdea2557b3626a445c2b7878c6f1486f"));
+ dataVersionMap.put("data/devices/versal/xcvc1502_db.dat", new Pair<>("xcvc1502-db-dat", "43f40ac8bad4e4f3dd2ab4b53c6d48e6"));
+ dataVersionMap.put("data/devices/versal/xcvc1702_db.dat", new Pair<>("xcvc1702-db-dat", "bf4618929854d60d729fb2316dde1ed3"));
+ dataVersionMap.put("data/devices/versal/xcvc1802_db.dat", new Pair<>("xcvc1802-db-dat", "cf7b18a73a50f1be008fd39a42dc3da4"));
+ dataVersionMap.put("data/devices/versal/xcvc1902_db.dat", new Pair<>("xcvc1902-db-dat", "6e50e5236b82272113b859aa6958cb24"));
+ dataVersionMap.put("data/devices/versal/xcvc2602_db.dat", new Pair<>("xcvc2602-db-dat", "f8a9219829750f27f097dc4a02e85c87"));
+ dataVersionMap.put("data/devices/versal/xcvc2802_db.dat", new Pair<>("xcvc2802-db-dat", "bb134d52eb588735b203f89619bd76d1"));
+ dataVersionMap.put("data/devices/versal/xcve1752_db.dat", new Pair<>("xcve1752-db-dat", "2d5e4e7f461e9bdf5ec24a9bb58704a8"));
+ dataVersionMap.put("data/devices/versal/xcve2002_db.dat", new Pair<>("xcve2002-db-dat", "e9f676e46286d99e830503fb17b88fa1"));
+ dataVersionMap.put("data/devices/versal/xcve2102_db.dat", new Pair<>("xcve2102-db-dat", "b002e5744d2365a235da5365c4c9206e"));
+ dataVersionMap.put("data/devices/versal/xcve2202_db.dat", new Pair<>("xcve2202-db-dat", "264bcfc285aaf237326fcb3bdd9dfff7"));
+ dataVersionMap.put("data/devices/versal/xcve2302_db.dat", new Pair<>("xcve2302-db-dat", "a1a0f6378e6162278f25c9009873e3bd"));
+ dataVersionMap.put("data/devices/versal/xcve2602_db.dat", new Pair<>("xcve2602-db-dat", "964322295afde8782d95ca2a44b35d28"));
+ dataVersionMap.put("data/devices/versal/xcve2802_db.dat", new Pair<>("xcve2802-db-dat", "618fd8979147fb1fb2f141b6023056c0"));
+ dataVersionMap.put("data/devices/versal/xcvh1522_db.dat", new Pair<>("xcvh1522-db-dat", "054ac352522667a6001c295f70f6be7c"));
+ dataVersionMap.put("data/devices/versal/xcvh1542_db.dat", new Pair<>("xcvh1542-db-dat", "cc76ec8bbecbf4b0a1f188c8424ba215"));
+ dataVersionMap.put("data/devices/versal/xcvh1582_db.dat", new Pair<>("xcvh1582-db-dat", "835f75b23b08a3741dcf9fe45018163e"));
+ dataVersionMap.put("data/devices/versal/xcvh1742_db.dat", new Pair<>("xcvh1742-db-dat", "fbc30dcbe842d0e2fc8661ca0a33283a"));
+ dataVersionMap.put("data/devices/versal/xcvh1782_db.dat", new Pair<>("xcvh1782-db-dat", "57d8cd62447b3e889d556a9263eb69fc"));
+ dataVersionMap.put("data/devices/versal/xcvm1102_db.dat", new Pair<>("xcvm1102-db-dat", "35047ac140e1cc0bf4f085694c6cad95"));
+ dataVersionMap.put("data/devices/versal/xcvm1302_db.dat", new Pair<>("xcvm1302-db-dat", "0312e784c8d5b228899ad50afeca655b"));
+ dataVersionMap.put("data/devices/versal/xcvm1402_db.dat", new Pair<>("xcvm1402-db-dat", "61c6972d8198367d647ba91315c12158"));
+ dataVersionMap.put("data/devices/versal/xcvm1502_db.dat", new Pair<>("xcvm1502-db-dat", "0eb4c7edb683887f2b909bb398cfaf85"));
+ dataVersionMap.put("data/devices/versal/xcvm1802_db.dat", new Pair<>("xcvm1802-db-dat", "26cb89f55f1b8476a868999b29e99ef5"));
+ dataVersionMap.put("data/devices/versal/xcvm2152_db.dat", new Pair<>("xcvm2152-db-dat", "066f0ff8dc819dd2da8abcafbb45d634"));
+ dataVersionMap.put("data/devices/versal/xcvm2202_db.dat", new Pair<>("xcvm2202-db-dat", "fd37ab4ce7b0cf16974151b323773cc7"));
+ dataVersionMap.put("data/devices/versal/xcvm2302_db.dat", new Pair<>("xcvm2302-db-dat", "213a812052a69f945e4ff80946844ddd"));
+ dataVersionMap.put("data/devices/versal/xcvm2502_db.dat", new Pair<>("xcvm2502-db-dat", "9e41002527c52603ddf73d9d9dd556db"));
+ dataVersionMap.put("data/devices/versal/xcvm2902_db.dat", new Pair<>("xcvm2902-db-dat", "5d6f041b1af4142d001509f929849369"));
+ dataVersionMap.put("data/devices/versal/xcvp1002_db.dat", new Pair<>("xcvp1002-db-dat", "373e5d0b917994725adc8247f74fdf23"));
+ dataVersionMap.put("data/devices/versal/xcvp1052_db.dat", new Pair<>("xcvp1052-db-dat", "152642ff12aab7b30ed844b75e6c5d04"));
+ dataVersionMap.put("data/devices/versal/xcvp1102_db.dat", new Pair<>("xcvp1102-db-dat", "dad1d46c5fd7e9aff431a72356b3313c"));
+ dataVersionMap.put("data/devices/versal/xcvp1202_db.dat", new Pair<>("xcvp1202-db-dat", "b0a98414d6c8efefb5ac73c665adb6a5"));
+ dataVersionMap.put("data/devices/versal/xcvp1402_db.dat", new Pair<>("xcvp1402-db-dat", "9060df7da297bb13b4b71b35e944a852"));
+ dataVersionMap.put("data/devices/versal/xcvp1502_db.dat", new Pair<>("xcvp1502-db-dat", "5da2a97660f22f2bc975fe2af53d2c40"));
+ dataVersionMap.put("data/devices/versal/xcvp1552_db.dat", new Pair<>("xcvp1552-db-dat", "b3d9e9b4b603c3f50f6d3293b89ffaff"));
+ dataVersionMap.put("data/devices/versal/xcvp1702_db.dat", new Pair<>("xcvp1702-db-dat", "29f35bb7909cc39b777c33e15d6e4f95"));
+ dataVersionMap.put("data/devices/versal/xcvp1802_db.dat", new Pair<>("xcvp1802-db-dat", "0ce2ca0dc7fa41fd91ae6945fc360be0"));
+ dataVersionMap.put("data/devices/versal/xcvp1902_db.dat", new Pair<>("xcvp1902-db-dat", "1a066d39bff12a95f94f95a5731bdf54"));
+ dataVersionMap.put("data/devices/versal/xcvp2502_db.dat", new Pair<>("xcvp2502-db-dat", "32308ab881ca23988080e28e143adff3"));
+ dataVersionMap.put("data/devices/versal/xcvp2802_db.dat", new Pair<>("xcvp2802-db-dat", "e1b0b2c250ef56a03dcab6e501da7e91"));
+ dataVersionMap.put("data/devices/versal/xqrvc1902_db.dat", new Pair<>("xqrvc1902-db-dat", "80c34a552d3514dc1ad1e4576a513831"));
+ dataVersionMap.put("data/devices/versal/xqrve2302_db.dat", new Pair<>("xqrve2302-db-dat", "ae4b2a332bafb5e8b2710d20bf8ab1d1"));
+ dataVersionMap.put("data/devices/versal/xqvc1702_db.dat", new Pair<>("xqvc1702-db-dat", "6e210d13b7f3b778f89e65a756e7849f"));
+ dataVersionMap.put("data/devices/versal/xqvc1902_db.dat", new Pair<>("xqvc1902-db-dat", "0420e545e1995ca8b51505033c7c2382"));
+ dataVersionMap.put("data/devices/versal/xqve2102_db.dat", new Pair<>("xqve2102-db-dat", "3793676b65ec019a0385f6fcceb51ad8"));
+ dataVersionMap.put("data/devices/versal/xqve2302_db.dat", new Pair<>("xqve2302-db-dat", "0beba46125b078b18191ffb188808572"));
+ dataVersionMap.put("data/devices/versal/xqvm1102_db.dat", new Pair<>("xqvm1102-db-dat", "d3b0ffda9f457e68687c33766084e945"));
+ dataVersionMap.put("data/devices/versal/xqvm1402_db.dat", new Pair<>("xqvm1402-db-dat", "7507b1733001df21f3c0edd0c3af9bc9"));
+ dataVersionMap.put("data/devices/versal/xqvm1502_db.dat", new Pair<>("xqvm1502-db-dat", "7be040972308814dec34ffbb587a51b5"));
+ dataVersionMap.put("data/devices/versal/xqvm1802_db.dat", new Pair<>("xqvm1802-db-dat", "444893da335b3b9868788c0cee8a988a"));
+ dataVersionMap.put("data/devices/versal/xqvp1052_db.dat", new Pair<>("xqvp1052-db-dat", "0d9e42b14cc4808297f6ab855115b49b"));
+ dataVersionMap.put("data/devices/versal/xqvp1202_db.dat", new Pair<>("xqvp1202-db-dat", "8e35ecd1d960de4e6e6303d294a7b4c1"));
+ dataVersionMap.put("data/devices/versal/xqvp1402_db.dat", new Pair<>("xqvp1402-db-dat", "289bf9515a8ae27b6484e7f68ac07e4a"));
+ dataVersionMap.put("data/devices/versal/xqvp1502_db.dat", new Pair<>("xqvp1502-db-dat", "ce8b9ae5cbf0b87f10bd01c136ccb3d3"));
+ dataVersionMap.put("data/devices/versal/xqvp1702_db.dat", new Pair<>("xqvp1702-db-dat", "4958c9de7d0611f9ad87563c1cc3de1a"));
+ dataVersionMap.put("data/devices/versal/xqvp2502_db.dat", new Pair<>("xqvp2502-db-dat", "b264f920c4f3bcfe7e789715616f55ac"));
+ dataVersionMap.put("data/devices/virtex7/xc7v2000t_db.dat", new Pair<>("xc7v2000t-db-dat", "556c3ec2670c574ace4cbebab0c42b07"));
+ dataVersionMap.put("data/devices/virtex7/xc7v585t_db.dat", new Pair<>("xc7v585t-db-dat", "03e7b13c6886c2b7276994d322ef6a03"));
+ dataVersionMap.put("data/devices/virtex7/xc7vh580t_db.dat", new Pair<>("xc7vh580t-db-dat", "1a452484397ae698a7d19f1c381fc739"));
+ dataVersionMap.put("data/devices/virtex7/xc7vh870t_db.dat", new Pair<>("xc7vh870t-db-dat", "51f711ad36ddb923d5c0098ec813ac5a"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx1140t_db.dat", new Pair<>("xc7vx1140t-db-dat", "99067d4c65763b19937a98f46f45c527"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx330t_db.dat", new Pair<>("xc7vx330t-db-dat", "fea297c81e9feac8ce020323d4868b41"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx415t_CIV_db.dat", new Pair<>("xc7vx415t-civ-db-dat", "1ca1710b8ccefca422a482f5f6b1ef3e"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx415t_db.dat", new Pair<>("xc7vx415t-db-dat", "7e4f884e8e6a8a04d8e2ca0a14e01cdd"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx485t_db.dat", new Pair<>("xc7vx485t-db-dat", "11985f4ce6a8726ab2a41d242a55aec9"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx550t_CIV_db.dat", new Pair<>("xc7vx550t-civ-db-dat", "22c9cde1ef4f2028ea475ca10d24ddae"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx550t_db.dat", new Pair<>("xc7vx550t-db-dat", "be56195486ed78810affda8d1a40d2d6"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx690t_CIV_db.dat", new Pair<>("xc7vx690t-civ-db-dat", "a782c570bcf5696d5c55eab9eced0692"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx690t_db.dat", new Pair<>("xc7vx690t-db-dat", "3356a9a56c4ba5117303216fd031f2e9"));
+ dataVersionMap.put("data/devices/virtex7/xc7vx980t_db.dat", new Pair<>("xc7vx980t-db-dat", "45c26dbbc2ca5de09f88fa0a002894cf"));
+ dataVersionMap.put("data/devices/virtex7/xq7v585t_db.dat", new Pair<>("xq7v585t-db-dat", "610c5ef36d92186377d4a6ff0c2da383"));
+ dataVersionMap.put("data/devices/virtex7/xq7vx330t_db.dat", new Pair<>("xq7vx330t-db-dat", "4f933fab9a3e04139e40d5e597cb1688"));
+ dataVersionMap.put("data/devices/virtex7/xq7vx485t_db.dat", new Pair<>("xq7vx485t-db-dat", "2bdc76a26b912c78b37115f9cecb08af"));
+ dataVersionMap.put("data/devices/virtex7/xq7vx690t_db.dat", new Pair<>("xq7vx690t-db-dat", "eb479e4bc70bc27d9fb4be0957b105b9"));
+ dataVersionMap.put("data/devices/virtex7/xq7vx980t_db.dat", new Pair<>("xq7vx980t-db-dat", "f161ed3423864b58fc8883abe69058c2"));
+ dataVersionMap.put("data/devices/virtexu/xcvu065_CIV_db.dat", new Pair<>("xcvu065-civ-db-dat", "c281e021c280a7f16fb68a51d5d4b409"));
+ dataVersionMap.put("data/devices/virtexu/xcvu065_db.dat", new Pair<>("xcvu065-db-dat", "58642796640467c4eb0a37d820b3558d"));
+ dataVersionMap.put("data/devices/virtexu/xcvu080_CIV_db.dat", new Pair<>("xcvu080-civ-db-dat", "08d75a8191077a24debb91bc7957cf56"));
+ dataVersionMap.put("data/devices/virtexu/xcvu080_db.dat", new Pair<>("xcvu080-db-dat", "eba8cf47097ce35f50ea5b4e7d294053"));
+ dataVersionMap.put("data/devices/virtexu/xcvu095_CIV_db.dat", new Pair<>("xcvu095-civ-db-dat", "c83522ccec009af945fc9b39a8d972da"));
+ dataVersionMap.put("data/devices/virtexu/xcvu095_db.dat", new Pair<>("xcvu095-db-dat", "043cd0fdd3cad0a7fcc97c7e3e593de6"));
+ dataVersionMap.put("data/devices/virtexu/xcvu125_CIV_db.dat", new Pair<>("xcvu125-civ-db-dat", "da5c33c1165761f0e6f0211a685a787b"));
+ dataVersionMap.put("data/devices/virtexu/xcvu125_db.dat", new Pair<>("xcvu125-db-dat", "e70fb497bb10e6b9347a2c72a55452ea"));
+ dataVersionMap.put("data/devices/virtexu/xcvu160_CIV_db.dat", new Pair<>("xcvu160-civ-db-dat", "67c44683eddf66a766513b12663a9cfc"));
+ dataVersionMap.put("data/devices/virtexu/xcvu160_db.dat", new Pair<>("xcvu160-db-dat", "8546145cd209841883639f15625d0d0e"));
+ dataVersionMap.put("data/devices/virtexu/xcvu190_CIV_db.dat", new Pair<>("xcvu190-civ-db-dat", "be53aa7965e44c287437e06fdfb4be9a"));
+ dataVersionMap.put("data/devices/virtexu/xcvu190_db.dat", new Pair<>("xcvu190-db-dat", "d93535c5a731b69455ff6dd5fa72806b"));
+ dataVersionMap.put("data/devices/virtexu/xcvu440_CIV_db.dat", new Pair<>("xcvu440-civ-db-dat", "197f78c1758c353e1ad634840905f531"));
+ dataVersionMap.put("data/devices/virtexu/xcvu440_db.dat", new Pair<>("xcvu440-db-dat", "1660bd487d1079420c2afe180eaacceb"));
+ dataVersionMap.put("data/devices/virtexuplus/xcu200_db.dat", new Pair<>("xcu200-db-dat", "573ddb40ff86e15ff6d88186b8ab8587"));
+ dataVersionMap.put("data/devices/virtexuplus/xcu250_db.dat", new Pair<>("xcu250-db-dat", "2c7ceade7df60c559d80a690418f5f8d"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu11p_CIV_db.dat", new Pair<>("xcvu11p-civ-db-dat", "383db8d639a17b20e0622ac9936b72ed"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu11p_db.dat", new Pair<>("xcvu11p-db-dat", "52a8a2700903973fb7eb01f25559523e"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu13p_CIV_db.dat", new Pair<>("xcvu13p-civ-db-dat", "2612786474bbe989c445a07b364df4e9"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu13p_db.dat", new Pair<>("xcvu13p-db-dat", "d95eab560153727d3e19e76165974a4d"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu19p_CIV_db.dat", new Pair<>("xcvu19p-civ-db-dat", "46440b9cdb3dfd22c895929b1a4fffcb"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu19p_db.dat", new Pair<>("xcvu19p-db-dat", "d5d0a42ef1021760afb9eea0442b6e89"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu3p_CIV_db.dat", new Pair<>("xcvu3p-civ-db-dat", "18ef6de80398bf95b17aa8a46f73df70"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu3p_db.dat", new Pair<>("xcvu3p-db-dat", "fdeae797898c54180c82813daac44303"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu5p_CIV_db.dat", new Pair<>("xcvu5p-civ-db-dat", "537567a10ca15f128591c243d5892dd1"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu5p_db.dat", new Pair<>("xcvu5p-db-dat", "01ff62ea775822a27585345bb7d0efee"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu7p_CIV_db.dat", new Pair<>("xcvu7p-civ-db-dat", "ba5b17ffc73cc3b093e20d43c5bee8bb"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu7p_db.dat", new Pair<>("xcvu7p-db-dat", "549495d6129141154639dbee2ce1142a"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu9p_CIV_db.dat", new Pair<>("xcvu9p-civ-db-dat", "5368f6d841fd69c3cb5ce75b50232357"));
+ dataVersionMap.put("data/devices/virtexuplus/xcvu9p_db.dat", new Pair<>("xcvu9p-db-dat", "eaffe35c0933142b9cd18a43229e7cd3"));
+ dataVersionMap.put("data/devices/virtexuplus/xqvu11p_db.dat", new Pair<>("xqvu11p-db-dat", "e9cb2c310d82decb33ed073cae60eae1"));
+ dataVersionMap.put("data/devices/virtexuplus/xqvu13p_db.dat", new Pair<>("xqvu13p-db-dat", "dce1ccacfc2755a69c278f4d2bab8939"));
+ dataVersionMap.put("data/devices/virtexuplus/xqvu3p_db.dat", new Pair<>("xqvu3p-db-dat", "19816a751791e17c4251505a4e49ead1"));
+ dataVersionMap.put("data/devices/virtexuplus/xqvu7p_db.dat", new Pair<>("xqvu7p-db-dat", "b82591b7e93667645e456a3fef423a21"));
+ dataVersionMap.put("data/devices/virtexuplus/xqvu9p_db.dat", new Pair<>("xqvu9p-db-dat", "370097789eb418fdf01b43bf72f725fb"));
+ dataVersionMap.put("data/devices/virtexuplus58g/xcu26_db.dat", new Pair<>("xcu26-db-dat", "7f781caabbbfa0f4d670fad828d7d4c6"));
+ dataVersionMap.put("data/devices/virtexuplus58g/xcux35_db.dat", new Pair<>("xcux35-db-dat", "3364121af3ce9fcf44142c530e499b49"));
+ dataVersionMap.put("data/devices/virtexuplus58g/xcvu23p_CIV_db.dat", new Pair<>("xcvu23p-civ-db-dat", "d5a6facb62ff5ec58e73448671ac1a9d"));
+ dataVersionMap.put("data/devices/virtexuplus58g/xcvu23p_db.dat", new Pair<>("xcvu23p-db-dat", "c33f88ff852c02d372cfa3b707e15c62"));
+ dataVersionMap.put("data/devices/virtexuplus58g/xcvu27p_db.dat", new Pair<>("xcvu27p-db-dat", "2aaca971db9f3a2d30b9aab08adfb53b"));
+ dataVersionMap.put("data/devices/virtexuplus58g/xcvu29p_CIV_db.dat", new Pair<>("xcvu29p-civ-db-dat", "d704df04735b4e7d319d5dca23a7e600"));
+ dataVersionMap.put("data/devices/virtexuplus58g/xcvu29p_db.dat", new Pair<>("xcvu29p-db-dat", "d2002671bc66b73ac5a227d228b415d6"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcu280_db.dat", new Pair<>("xcu280-db-dat", "855d7ddd2da77a90bc71f90684ab0553"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcu50_db.dat", new Pair<>("xcu50-db-dat", "9f492044506ac76537b31578b624e8d7"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcu55c_db.dat", new Pair<>("xcu55c-db-dat", "71afb75ee5e960b6dd55dd62e9847c00"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcu55n_db.dat", new Pair<>("xcu55n-db-dat", "d17a34026add98ab0756ef7510ff0ea9"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu31p_CIV_db.dat", new Pair<>("xcvu31p-civ-db-dat", "8c4bac7d3c247218f5c9b00db4061574"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu31p_db.dat", new Pair<>("xcvu31p-db-dat", "097a574d983286c3a17dd252232fb75d"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu33p_CIV_db.dat", new Pair<>("xcvu33p-civ-db-dat", "7b077edb0964763c6d0f0192cea131a8"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu33p_db.dat", new Pair<>("xcvu33p-db-dat", "5f4c881c16c2b2b20f9352346ba33cc9"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu35p_CIV_db.dat", new Pair<>("xcvu35p-civ-db-dat", "a53e66c03a5387024c2220b35580c5ee"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu35p_db.dat", new Pair<>("xcvu35p-db-dat", "f938e524e0805e77292d610f947c7b4e"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu37p_CIV_db.dat", new Pair<>("xcvu37p-civ-db-dat", "c6b315411a052af153b7666ed3c27815"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu37p_db.dat", new Pair<>("xcvu37p-db-dat", "0c9fc1982909e73fcbb30bf2470fc35a"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu45p_CIV_db.dat", new Pair<>("xcvu45p-civ-db-dat", "47254a85313aef95f0c91186ed654415"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu45p_db.dat", new Pair<>("xcvu45p-db-dat", "2e8ce776975d5e5f4a1a597e869fdbec"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu47p_CIV_db.dat", new Pair<>("xcvu47p-civ-db-dat", "f46affa6516d1ebc68374697b48860a1"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu47p_db.dat", new Pair<>("xcvu47p-db-dat", "0693634916963a2dc52c8a6afe9052b3"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu57p_CIV_db.dat", new Pair<>("xcvu57p-civ-db-dat", "73b6a83c3c8effa8a660cd17c66e53d1"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xcvu57p_db.dat", new Pair<>("xcvu57p-db-dat", "743d0e105dfb943b09c7eca89fe7d34b"));
+ dataVersionMap.put("data/devices/virtexuplushbm/xqvu37p_db.dat", new Pair<>("xqvu37p-db-dat", "0cd5f8abc7bd9023cf511003b50b8a79"));
+ dataVersionMap.put("data/devices/zynq/xa7z010_db.dat", new Pair<>("xa7z010-db-dat", "ddb4b618e2c87d65fbad4effa5d7fdaa"));
+ dataVersionMap.put("data/devices/zynq/xa7z020_db.dat", new Pair<>("xa7z020-db-dat", "7a1ea31c8206a2a9ffc918c49a7aa304"));
+ dataVersionMap.put("data/devices/zynq/xa7z030_db.dat", new Pair<>("xa7z030-db-dat", "4fe120a1f20c685d2f75cbae3cef454a"));
+ dataVersionMap.put("data/devices/zynq/xc7z007s_db.dat", new Pair<>("xc7z007s-db-dat", "7deaa82447694c0876c07927b0ac03ed"));
+ dataVersionMap.put("data/devices/zynq/xc7z010_db.dat", new Pair<>("xc7z010-db-dat", "949a510cee9be1bc67b4ce56a3fdf5a5"));
+ dataVersionMap.put("data/devices/zynq/xc7z010i_db.dat", new Pair<>("xc7z010i-db-dat", "f788bbddbbd14fba45f8f46ac6a43a6f"));
+ dataVersionMap.put("data/devices/zynq/xc7z012s_db.dat", new Pair<>("xc7z012s-db-dat", "f7be1364f5b8f75f077dcc036e9a83e6"));
+ dataVersionMap.put("data/devices/zynq/xc7z014s_db.dat", new Pair<>("xc7z014s-db-dat", "d3316a039c929278689faee23037c607"));
+ dataVersionMap.put("data/devices/zynq/xc7z015_db.dat", new Pair<>("xc7z015-db-dat", "84e2ba28ab3ccbaecfda67f8b09983fa"));
+ dataVersionMap.put("data/devices/zynq/xc7z015i_db.dat", new Pair<>("xc7z015i-db-dat", "73b96fa7b8191465adb36bfc31bbb9ad"));
+ dataVersionMap.put("data/devices/zynq/xc7z020_db.dat", new Pair<>("xc7z020-db-dat", "25f5b3f6261205b95368cfa5692921ef"));
+ dataVersionMap.put("data/devices/zynq/xc7z020i_db.dat", new Pair<>("xc7z020i-db-dat", "59e9f3c577c4d97320223293cd630d4a"));
+ dataVersionMap.put("data/devices/zynq/xc7z030_db.dat", new Pair<>("xc7z030-db-dat", "b6c1c968495908998decf57b719589d9"));
+ dataVersionMap.put("data/devices/zynq/xc7z030i_db.dat", new Pair<>("xc7z030i-db-dat", "a470a1f1610f09443895b98063110917"));
+ dataVersionMap.put("data/devices/zynq/xc7z035_db.dat", new Pair<>("xc7z035-db-dat", "8dd1a94c76abcdb3a2d78ebfbcb25c09"));
+ dataVersionMap.put("data/devices/zynq/xc7z035i_db.dat", new Pair<>("xc7z035i-db-dat", "6560b60b4c324eab1e57ccff81cb90ea"));
+ dataVersionMap.put("data/devices/zynq/xc7z045_db.dat", new Pair<>("xc7z045-db-dat", "9dfcd9c1f2690c5a049a29b541a99eec"));
+ dataVersionMap.put("data/devices/zynq/xc7z045i_db.dat", new Pair<>("xc7z045i-db-dat", "f2076177d1795982615380d8b9f6f206"));
+ dataVersionMap.put("data/devices/zynq/xc7z100_db.dat", new Pair<>("xc7z100-db-dat", "6a6e6498cfc8ccdf4dfdc63c8987498d"));
+ dataVersionMap.put("data/devices/zynq/xc7z100i_db.dat", new Pair<>("xc7z100i-db-dat", "9828586f7981f662abf6b672c45c08a7"));
+ dataVersionMap.put("data/devices/zynq/xq7z020_db.dat", new Pair<>("xq7z020-db-dat", "43c773a0615ebdeb5ccdddeff2767577"));
+ dataVersionMap.put("data/devices/zynq/xq7z030_db.dat", new Pair<>("xq7z030-db-dat", "dee5a516c21a3daf2890efbf3ff6b8f0"));
+ dataVersionMap.put("data/devices/zynq/xq7z045_db.dat", new Pair<>("xq7z045-db-dat", "f88c49368b8595e359c2b0f1edb6f9d9"));
+ dataVersionMap.put("data/devices/zynq/xq7z100_db.dat", new Pair<>("xq7z100-db-dat", "6fa812a1915afe7d6a834c99229b5721"));
+ dataVersionMap.put("data/devices/zynquplus/xazu11eg_db.dat", new Pair<>("xazu11eg-db-dat", "b0a052978e5f528cec5d236337192eec"));
+ dataVersionMap.put("data/devices/zynquplus/xazu1eg_db.dat", new Pair<>("xazu1eg-db-dat", "7c6849ad1e878b94a17b3cd0c3fa51c3"));
+ dataVersionMap.put("data/devices/zynquplus/xazu2eg_db.dat", new Pair<>("xazu2eg-db-dat", "8cafa45f268ea4f61f0d0d551e0878b2"));
+ dataVersionMap.put("data/devices/zynquplus/xazu3eg_db.dat", new Pair<>("xazu3eg-db-dat", "953fcd6d5d0ce88364d7fe31e194ac4b"));
+ dataVersionMap.put("data/devices/zynquplus/xazu3teg_db.dat", new Pair<>("xazu3teg-db-dat", "c3aa0af01c0648f132ccdf356a693963"));
+ dataVersionMap.put("data/devices/zynquplus/xazu4ev_db.dat", new Pair<>("xazu4ev-db-dat", "8dadbae82c9c6a26018dc4374e9ae7d7"));
+ dataVersionMap.put("data/devices/zynquplus/xazu5ev_db.dat", new Pair<>("xazu5ev-db-dat", "ec22bca4f942395a00d6ee5ba9279c4b"));
+ dataVersionMap.put("data/devices/zynquplus/xazu7ev_db.dat", new Pair<>("xazu7ev-db-dat", "9e5d18631df348a7cac44785f92e0a0f"));
+ dataVersionMap.put("data/devices/zynquplus/xck24_db.dat", new Pair<>("xck24-db-dat", "4b72d1ee766020a9af22495ce08ede20"));
+ dataVersionMap.put("data/devices/zynquplus/xck26_db.dat", new Pair<>("xck26-db-dat", "626b5192d948158389825237d5905494"));
+ dataVersionMap.put("data/devices/zynquplus/xcu25_db.dat", new Pair<>("xcu25-db-dat", "5f93d518759f0d74b1410a489947d995"));
+ dataVersionMap.put("data/devices/zynquplus/xcu30_db.dat", new Pair<>("xcu30-db-dat", "8484fa483c0c1b4f39d75717b3e321e2"));
+ dataVersionMap.put("data/devices/zynquplus/xczu11eg_db.dat", new Pair<>("xczu11eg-db-dat", "ca5deb1a52515025f0b4af34a2f752b5"));
+ dataVersionMap.put("data/devices/zynquplus/xczu15eg_db.dat", new Pair<>("xczu15eg-db-dat", "4d7736ba5a619eee4b60671ad69c240b"));
+ dataVersionMap.put("data/devices/zynquplus/xczu17eg_db.dat", new Pair<>("xczu17eg-db-dat", "9e9424db7445ba5adb7d20b5ed0d23fe"));
+ dataVersionMap.put("data/devices/zynquplus/xczu19eg_db.dat", new Pair<>("xczu19eg-db-dat", "49a4bda3236ea885a648fc2423aa3d9b"));
+ dataVersionMap.put("data/devices/zynquplus/xczu1cg_db.dat", new Pair<>("xczu1cg-db-dat", "86db609e177954a2b4a781a61fb0cc8c"));
+ dataVersionMap.put("data/devices/zynquplus/xczu1eg_db.dat", new Pair<>("xczu1eg-db-dat", "20df7abbee1d58ed88ab763e77d08315"));
+ dataVersionMap.put("data/devices/zynquplus/xczu2cg_db.dat", new Pair<>("xczu2cg-db-dat", "94e84f1c8b9d4b2c5bdd26e891623ada"));
+ dataVersionMap.put("data/devices/zynquplus/xczu2eg_db.dat", new Pair<>("xczu2eg-db-dat", "15fe41f38cb720a2e78206e490979910"));
+ dataVersionMap.put("data/devices/zynquplus/xczu3cg_db.dat", new Pair<>("xczu3cg-db-dat", "60a56b4179421dcdfc54031cd375586d"));
+ dataVersionMap.put("data/devices/zynquplus/xczu3eg_db.dat", new Pair<>("xczu3eg-db-dat", "d6463654898a14ca0eeb09ce078e0bdd"));
+ dataVersionMap.put("data/devices/zynquplus/xczu3tcg_db.dat", new Pair<>("xczu3tcg-db-dat", "b60c077e8e9dbd96edfeae2edf04dca3"));
+ dataVersionMap.put("data/devices/zynquplus/xczu3teg_db.dat", new Pair<>("xczu3teg-db-dat", "47e883307bad686d817ecf42c9300c2e"));
+ dataVersionMap.put("data/devices/zynquplus/xczu4cg_db.dat", new Pair<>("xczu4cg-db-dat", "a0bd4b6980da8d186b72623f523d7b0d"));
+ dataVersionMap.put("data/devices/zynquplus/xczu4eg_db.dat", new Pair<>("xczu4eg-db-dat", "4a9bdbf1f93beb91f94c77682def919c"));
+ dataVersionMap.put("data/devices/zynquplus/xczu4ev_db.dat", new Pair<>("xczu4ev-db-dat", "5f92f309356fed135b267e6be106b9df"));
+ dataVersionMap.put("data/devices/zynquplus/xczu5cg_db.dat", new Pair<>("xczu5cg-db-dat", "6887c516792793fd4accafbb8e4f231c"));
+ dataVersionMap.put("data/devices/zynquplus/xczu5eg_db.dat", new Pair<>("xczu5eg-db-dat", "b1c74d8a34101da78bb1243a284add4f"));
+ dataVersionMap.put("data/devices/zynquplus/xczu5ev_db.dat", new Pair<>("xczu5ev-db-dat", "1bd036761452265e02499a789c0ac1eb"));
+ dataVersionMap.put("data/devices/zynquplus/xczu6cg_db.dat", new Pair<>("xczu6cg-db-dat", "3ad843b77f842d2d78514454d8e5a0aa"));
+ dataVersionMap.put("data/devices/zynquplus/xczu6eg_db.dat", new Pair<>("xczu6eg-db-dat", "882222759e42795edaa0b372a766def8"));
+ dataVersionMap.put("data/devices/zynquplus/xczu7cg_db.dat", new Pair<>("xczu7cg-db-dat", "8cd48405e69249c6b379b2de4cd52cfa"));
+ dataVersionMap.put("data/devices/zynquplus/xczu7eg_db.dat", new Pair<>("xczu7eg-db-dat", "aefa1d855fe548be4a7381bd0d1c5740"));
+ dataVersionMap.put("data/devices/zynquplus/xczu7ev_db.dat", new Pair<>("xczu7ev-db-dat", "4e6c89ae6af18bee168788ea704c9059"));
+ dataVersionMap.put("data/devices/zynquplus/xczu9cg_db.dat", new Pair<>("xczu9cg-db-dat", "3fe458abf822c0607808169e9bf6c4be"));
+ dataVersionMap.put("data/devices/zynquplus/xczu9eg_db.dat", new Pair<>("xczu9eg-db-dat", "de2124026f6ca4e2ddd62464fb9b5527"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu11eg_db.dat", new Pair<>("xqzu11eg-db-dat", "d8a261239799da55ec154d9c1ae0bd01"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu15eg_db.dat", new Pair<>("xqzu15eg-db-dat", "af797c5406d43072a93e52b6ac40d6b7"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu19eg_db.dat", new Pair<>("xqzu19eg-db-dat", "8c9ba1dcc7c07c2dbfc34d0f2137982a"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu3eg_db.dat", new Pair<>("xqzu3eg-db-dat", "181b30cc55dd585ab7b9b0fac991ea7a"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu4eg_db.dat", new Pair<>("xqzu4eg-db-dat", "eaee3d2e46ebf136c8bb48a7f674c9fb"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu5ev_db.dat", new Pair<>("xqzu5ev-db-dat", "4939aa97f67798b171112a51462a6acc"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu7ev_db.dat", new Pair<>("xqzu7ev-db-dat", "38ba1f539508bd8c231bc78cf3ae4592"));
+ dataVersionMap.put("data/devices/zynquplus/xqzu9eg_db.dat", new Pair<>("xqzu9eg-db-dat", "0296f59996eb666b72f18dbf0ccabf79"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu21dr_db.dat", new Pair<>("xczu21dr-db-dat", "f7b6b6e269461a2ecaf3a2f8f1458dfb"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu25dr_db.dat", new Pair<>("xczu25dr-db-dat", "40217b16c5286aa11515b8b16ec27828"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu27dr_db.dat", new Pair<>("xczu27dr-db-dat", "77e295a1d8a4f7ffd6785126640fb88d"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu28dr_db.dat", new Pair<>("xczu28dr-db-dat", "f8e93a39c89d60d3bef1886043956aae"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu29dr_db.dat", new Pair<>("xczu29dr-db-dat", "0d09c5db649d11e86a93f5b1e4c72a23"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu39dr_db.dat", new Pair<>("xczu39dr-db-dat", "961882d0c60e580ebf948f2064d9ad79"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu42dr_db.dat", new Pair<>("xczu42dr-db-dat", "02fafc81be319e7d2ff2edb650cf025e"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu43dr_db.dat", new Pair<>("xczu43dr-db-dat", "71b9f83717ec336bd5ddb0c22225b23f"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu46dr_db.dat", new Pair<>("xczu46dr-db-dat", "3c89e1f6e097446d50aa02fa87d23081"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu47dr_db.dat", new Pair<>("xczu47dr-db-dat", "d0314738518fc534f27bed8801a281fa"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu48dr_db.dat", new Pair<>("xczu48dr-db-dat", "3500c9fa725382aecdcc5ce211d526fa"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu49dr_db.dat", new Pair<>("xczu49dr-db-dat", "395614c353cca759ec1e6ba60fbec313"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu63dr_db.dat", new Pair<>("xczu63dr-db-dat", "c518343e62dc44526043a685daf59188"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu64dr_db.dat", new Pair<>("xczu64dr-db-dat", "f91150fff20ea415c163b93021ffa27e"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu65dr_db.dat", new Pair<>("xczu65dr-db-dat", "d2c553f96839b7ad160b041d17adec8b"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xczu67dr_db.dat", new Pair<>("xczu67dr-db-dat", "9ab70626b875a91514c6ad663a923b89"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu21dr_db.dat", new Pair<>("xqzu21dr-db-dat", "e77e3c72577663f3acdb8ea44fbd5549"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu28dr_db.dat", new Pair<>("xqzu28dr-db-dat", "598eda04e22d37374aa820433a6dcf66"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu29dr_db.dat", new Pair<>("xqzu29dr-db-dat", "653a9f3b9be0f18a54aae6c0c93b42a3"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu48dr_db.dat", new Pair<>("xqzu48dr-db-dat", "a448c5d077cfdf005db5bb19c77e8279"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu49dr_db.dat", new Pair<>("xqzu49dr-db-dat", "121002535288bc59b298aea6823a7189"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu65dr_db.dat", new Pair<>("xqzu65dr-db-dat", "cd430b324d1801f503f11d8ade614f70"));
+ dataVersionMap.put("data/devices/zynquplusrfsoc/xqzu67dr_db.dat", new Pair<>("xqzu67dr-db-dat", "107b58bf104f30ed8a69147cad05040e"));
+ dataVersionMap.put("data/partdump.csv", new Pair<>("partdump-csv", "3c1ce062e3be22a954d29e362c1ac748"));
+ dataVersionMap.put("data/parts.db", new Pair<>("parts-db", "6f923c9c866204a74eb6ab801ab7809a"));
+ dataVersionMap.put("data/unisim_data.dat", new Pair<>("unisim-data-dat", "c0c3f68aaef35bf7a7942f90f51b037f"));
}
}
diff --git a/test/src/com/xilinx/rapidwright/design/TestDCPSave.java b/test/src/com/xilinx/rapidwright/design/TestDCPSave.java
index 3700bf9c1..98c847057 100644
--- a/test/src/com/xilinx/rapidwright/design/TestDCPSave.java
+++ b/test/src/com/xilinx/rapidwright/design/TestDCPSave.java
@@ -24,22 +24,20 @@
import java.nio.file.Path;
-import com.xilinx.rapidwright.edif.EDIFNetlist;
-import com.xilinx.rapidwright.edif.EDIFTools;
-import com.xilinx.rapidwright.support.RapidWrightDCP;
-import com.xilinx.rapidwright.util.VivadoTools;
-import com.xilinx.rapidwright.util.VivadoToolsHelper;
-import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
import com.xilinx.rapidwright.device.BEL;
import com.xilinx.rapidwright.device.SiteTypeEnum;
import com.xilinx.rapidwright.edif.EDIFCell;
import com.xilinx.rapidwright.edif.EDIFCellInst;
import com.xilinx.rapidwright.edif.EDIFLibrary;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.ValueSource;
+import com.xilinx.rapidwright.edif.EDIFNetlist;
+import com.xilinx.rapidwright.edif.EDIFTools;
+import com.xilinx.rapidwright.support.RapidWrightDCP;
+import com.xilinx.rapidwright.util.VivadoToolsHelper;
public class TestDCPSave {
@@ -72,15 +70,15 @@ public void testDCPSave(boolean detachNetlist, @TempDir Path tempDir) {
c1.addPinMapping("A3", "I2");
c1.addPinMapping("A4", "I3");
c1.addPinMapping("A5", "I4");
- c1.addPinMapping("O6", "O");
- c1.addPinMapping("GE", "GE");
+ c1.addPinMapping("O5", "O");
+ c2.addPinMapping("GE", "GE");
c2.addPinMapping("A1", "I0");
c2.addPinMapping("A2", "I1");
c2.addPinMapping("A3", "I2");
c2.addPinMapping("A4", "I3");
c2.addPinMapping("A5", "I4");
- c2.addPinMapping("O5", "O");
+ c2.addPinMapping("O6", "O");
if (detachNetlist) {
EDIFTools.writeEDIFFile(tempDir.resolve("tmp.edf"), n, d.getPartName());
diff --git a/test/src/com/xilinx/rapidwright/design/TestDesign.java b/test/src/com/xilinx/rapidwright/design/TestDesign.java
index 61ee595ba..94256afab 100644
--- a/test/src/com/xilinx/rapidwright/design/TestDesign.java
+++ b/test/src/com/xilinx/rapidwright/design/TestDesign.java
@@ -348,7 +348,7 @@ public void testMovePinsToNewNetDeleteOldNet() {
Assertions.assertTrue(si.routeIntraSiteNet(oldNet, si.getBELPin("A1", "A1"),
si.getBELPin(unisim.toString(), "DI0")));
Assertions.assertEquals("[IN SLICE_X32Y73.A1, OUT SLICE_X32Y73.HQ]", oldNet.getPins().toString());
- Assertions.assertEquals("[A1, HQ, A5LUT_O5]", si.getSiteWiresFromNet(oldNet).toString());
+ Assertions.assertEquals("[A1, A5LUT_O5, HQ]", si.getSiteWiresFromNet(oldNet).toString());
Net newNet = d.createNet("newNet");
SitePinInst h6 = newNet.createPin("H6", si);
@@ -362,7 +362,7 @@ public void testMovePinsToNewNetDeleteOldNet() {
Assertions.assertNull(d.getNet(oldNet.getName()));
Assertions.assertSame(newNet, d.getNet(newNet.getName()));
Assertions.assertEquals("[IN SLICE_X32Y73.H6, IN SLICE_X32Y73.A1, OUT SLICE_X32Y73.HQ]", newNet.getPins().toString());
- Assertions.assertEquals("[H6, A1, HQ, A5LUT_O5]", si.getSiteWiresFromNet(newNet).toString());
+ Assertions.assertEquals("[A1, A5LUT_O5, H6, HQ]", si.getSiteWiresFromNet(newNet).toString());
Assertions.assertEquals("[INT_X21Y73/INT.VCC_WIRE->>IMUX_E47]", newNet.getPIPs().toString());
}
@@ -389,7 +389,7 @@ public void testMovePinsToNewNetDeleteOldNetIntraSiteOnly() {
Assertions.assertNull(d.getNet(oldNet.getName()));
Assertions.assertSame(newNet, d.getNet(newNet.getName()));
Assertions.assertEquals("[IN SLICE_X32Y73.H6]", newNet.getPins().toString());
- Assertions.assertEquals("[H6, B_O, FFMUXB1_OUT1]", si.getSiteWiresFromNet(newNet).toString());
+ Assertions.assertEquals("[B_O, FFMUXB1_OUT1, H6]", si.getSiteWiresFromNet(newNet).toString());
Assertions.assertTrue(newNet.getPIPs().isEmpty());
}
diff --git a/test/src/com/xilinx/rapidwright/design/TestDesignTools.java b/test/src/com/xilinx/rapidwright/design/TestDesignTools.java
index 9c741ad79..62c5ca87a 100644
--- a/test/src/com/xilinx/rapidwright/design/TestDesignTools.java
+++ b/test/src/com/xilinx/rapidwright/design/TestDesignTools.java
@@ -35,8 +35,6 @@
import java.util.Set;
import java.util.stream.Collectors;
-import com.xilinx.rapidwright.device.BEL;
-import com.xilinx.rapidwright.edif.EDIFHierPortInst;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -45,6 +43,7 @@
import com.xilinx.rapidwright.design.blocks.PBlock;
import com.xilinx.rapidwright.design.blocks.UtilizationType;
+import com.xilinx.rapidwright.device.BEL;
import com.xilinx.rapidwright.device.BELPin;
import com.xilinx.rapidwright.device.Device;
import com.xilinx.rapidwright.device.PIP;
@@ -53,6 +52,7 @@
import com.xilinx.rapidwright.edif.EDIFCell;
import com.xilinx.rapidwright.edif.EDIFDirection;
import com.xilinx.rapidwright.edif.EDIFHierCellInst;
+import com.xilinx.rapidwright.edif.EDIFHierPortInst;
import com.xilinx.rapidwright.edif.EDIFNet;
import com.xilinx.rapidwright.edif.EDIFNetlist;
import com.xilinx.rapidwright.edif.EDIFPort;
@@ -1201,7 +1201,7 @@ public void testPlaceCell() {
for(Cell c : cells) {
DesignTools.placeCell(c, d);
- Assertions.assertFalse(c.getPinMappingsP2L().isEmpty());
+ Assertions.assertFalse(c.getUsedPhysicalPins().isEmpty());
Assertions.assertNotNull(c.getBEL());
Assertions.assertNotNull(c.getSiteInst());
}
diff --git a/test/src/com/xilinx/rapidwright/design/TestNet.java b/test/src/com/xilinx/rapidwright/design/TestNet.java
index b2f73cd14..bd38d70e3 100644
--- a/test/src/com/xilinx/rapidwright/design/TestNet.java
+++ b/test/src/com/xilinx/rapidwright/design/TestNet.java
@@ -37,8 +37,8 @@
public class TestNet {
@Test
- void testSetPinsMultiSrc() {
- Design d = new Design("testSetPinsMultiSrc", Device.KCU105);
+ void testSetPinsDualSrc() {
+ Design d = new Design("testSetPinsDualSrc", Device.KCU105);
SiteInst si = d.createSiteInst("SLICE_X32Y73");
Net net = new Net("foo");
@@ -52,6 +52,25 @@ void testSetPinsMultiSrc() {
Assertions.assertEquals(pins.get(1), net.getAlternateSource());
}
+ @Test
+ void testSetPinsMultiSrc() {
+ Design d = new Design("testSetPinsMultiSrc", "xcvc1902");
+ SiteInst si = d.createSiteInst("SLICE_X249Y83");
+
+ Net net = new Net("foo");
+ List pins = Arrays.asList(
+ new SitePinInst("H_O", si),
+ new SitePinInst("HQ", si),
+ new SitePinInst("HQ2", si)
+ );
+
+ Assertions.assertTrue(net.setPins(pins));
+ Assertions.assertEquals(pins.get(0), net.getSource());
+ Assertions.assertEquals(pins.get(1), net.getAlternateSource());
+ Assertions.assertSame(pins.get(2), net.getAlternateSources().get(1));
+ Assertions.assertEquals(pins.subList(1, 3).toString(), net.getAlternateSources().toString());
+ }
+
@Test
void testSetPinsMultiSrcStatic() {
Design d = new Design("testSetPinsMultiSrcStatic", Device.KCU105);
@@ -60,13 +79,37 @@ void testSetPinsMultiSrcStatic() {
Net net = d.getVccNet();
List pins = Arrays.asList(
new SitePinInst("A_O", si),
- new SitePinInst("B_O", si),
+ new SitePinInst("BMUX", si),
new SitePinInst("C_O", si)
);
Assertions.assertTrue(net.setPins(pins));
- Assertions.assertNull(net.getSource());
- Assertions.assertNull(net.getAlternateSource());
+ Assertions.assertSame(pins.get(0), net.getSource());
+ Assertions.assertSame(pins.get(1), net.getAlternateSource());
+ Assertions.assertSame(pins.get(2), net.getAlternateSources().get(1));
+ Assertions.assertEquals(pins.subList(1, 3).toString(), net.getAlternateSources().toString());
+ }
+
+ @Test
+ void testAddPinsMultiSrcStatic() {
+ Design d = new Design("testSetPinsMultiSrcStatic", "xcvc1902");
+ SiteInst si = d.createSiteInst("SLICE_X249Y83");
+
+ Net net = d.getVccNet();
+ List pins = Arrays.asList(
+ new SitePinInst("F_O", si),
+ new SitePinInst("GQ", si),
+ new SitePinInst("H_O", si)
+ );
+ for (SitePinInst spi : pins) {
+ Assertions.assertTrue(net.addPin(spi));
+ }
+
+ Assertions.assertTrue(net.setPins(pins));
+ Assertions.assertSame(pins.get(0), net.getSource());
+ Assertions.assertSame(pins.get(1), net.getAlternateSource());
+ Assertions.assertSame(pins.get(2), net.getAlternateSources().get(1));
+ Assertions.assertEquals(pins.subList(1, 3).toString(), net.getAlternateSources().toString());
}
@Test
diff --git a/test/src/com/xilinx/rapidwright/design/compare/TestDesignComparator.java b/test/src/com/xilinx/rapidwright/design/compare/TestDesignComparator.java
index 7f417c2d5..61c50208b 100644
--- a/test/src/com/xilinx/rapidwright/design/compare/TestDesignComparator.java
+++ b/test/src/com/xilinx/rapidwright/design/compare/TestDesignComparator.java
@@ -149,7 +149,7 @@ public void testDesignComparator() {
Assertions.assertTrue(net.hasPIPs());
test2.removeNet(net);
- compareDesign(22, 1, DesignDiffType.NET_MISSING, dc, gold, test2);
+ compareDesign(28, 1, DesignDiffType.NET_MISSING, dc, gold, test2);
Net extra = new Net("extraNet");
for (PIP p : net.getPIPs()) {
@@ -157,17 +157,17 @@ public void testDesignComparator() {
}
test2.addNet(extra);
- compareDesign(23, 1, DesignDiffType.NET_EXTRA, dc, gold, test2);
+ compareDesign(29, 1, DesignDiffType.NET_EXTRA, dc, gold, test2);
Assertions.assertTrue(extra.hasPIPs());
clk.addPIP(extra.getPIPs().get(0));
- compareDesign(24, 1, DesignDiffType.PIP_EXTRA, dc, gold, test2);
+ compareDesign(30, 1, DesignDiffType.PIP_EXTRA, dc, gold, test2);
clk.getPIPs().remove(clk.getPIPs().size() - 1);
clk.getPIPs().remove(clk.getPIPs().size() - 1);
- compareDesign(24, 1, DesignDiffType.PIP_MISSING, dc, gold, test2);
+ compareDesign(30, 1, DesignDiffType.PIP_MISSING, dc, gold, test2);
if (dc.comparePIPFlags()) {
clk.getPIPs().get(clk.getPIPs().size() - 1).setIsStub(true);
diff --git a/test/src/com/xilinx/rapidwright/design/tools/TestLUTTools.java b/test/src/com/xilinx/rapidwright/design/tools/TestLUTTools.java
index 7cabb2d9c..d74d59d4f 100644
--- a/test/src/com/xilinx/rapidwright/design/tools/TestLUTTools.java
+++ b/test/src/com/xilinx/rapidwright/design/tools/TestLUTTools.java
@@ -28,31 +28,31 @@
import java.util.List;
import java.util.Set;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.CsvSource;
+
import com.xilinx.rapidwright.design.Cell;
import com.xilinx.rapidwright.design.Design;
import com.xilinx.rapidwright.design.Net;
import com.xilinx.rapidwright.design.SiteInst;
import com.xilinx.rapidwright.design.SitePinInst;
import com.xilinx.rapidwright.design.Unisim;
-import com.xilinx.rapidwright.device.Node;
-import com.xilinx.rapidwright.device.PIP;
-import com.xilinx.rapidwright.rwroute.RWRoute;
-import com.xilinx.rapidwright.rwroute.TestRWRoute;
-import com.xilinx.rapidwright.support.LargeTest;
-import com.xilinx.rapidwright.support.RapidWrightDCP;
-import com.xilinx.rapidwright.util.VivadoToolsHelper;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
import com.xilinx.rapidwright.device.BEL;
import com.xilinx.rapidwright.device.Device;
+import com.xilinx.rapidwright.device.Node;
+import com.xilinx.rapidwright.device.PIP;
import com.xilinx.rapidwright.device.Part;
import com.xilinx.rapidwright.device.PartNameTools;
import com.xilinx.rapidwright.device.Series;
import com.xilinx.rapidwright.device.Site;
import com.xilinx.rapidwright.device.SiteTypeEnum;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.CsvSource;
+import com.xilinx.rapidwright.rwroute.RWRoute;
+import com.xilinx.rapidwright.rwroute.TestRWRoute;
+import com.xilinx.rapidwright.support.LargeTest;
+import com.xilinx.rapidwright.support.RapidWrightDCP;
+import com.xilinx.rapidwright.util.VivadoToolsHelper;
public class TestLUTTools {
@@ -90,9 +90,14 @@ public void testSwapLutPinsFromPIPs() {
SiteInst si = design.createSiteInst("SLICE_X0Y0");
// Create and place on both A6LUT and A5LUT
Cell cell6 = design.createAndPlaceCell("lut6", Unisim.LUT2, "SLICE_X0Y0/A6LUT");
- cell6.getPinMappingsP2L().clear(); // Clear default pin mappings
+ // Clear default pin mappings
+ for (String physPin : cell6.getUsedPhysicalPins()) {
+ cell6.removePinMapping(physPin);
+ }
Cell cell5 = design.createAndPlaceCell("lut5", Unisim.LUT2, "SLICE_X0Y0/A5LUT");
- cell5.getPinMappingsP2L().clear();
+ for (String physPin : cell5.getUsedPhysicalPins()) {
+ cell5.removePinMapping(physPin);
+ }
// Net with a single sink pin used by both LUTs that needs swapping
Net netNeedsPinSwap = design.createNet("netNeedsPinSwap");
diff --git a/test/src/com/xilinx/rapidwright/device/TestSite.java b/test/src/com/xilinx/rapidwright/device/TestSite.java
index aac61d908..d4fdc7f27 100644
--- a/test/src/com/xilinx/rapidwright/device/TestSite.java
+++ b/test/src/com/xilinx/rapidwright/device/TestSite.java
@@ -36,4 +36,17 @@ public void testGetIntTile(String deviceName, String siteName, String intTileNam
Site site = device.getSite(siteName);
Assertions.assertEquals(intTileName, site.getIntTile().getName());
}
+
+ @ParameterizedTest
+ @CsvSource({
+ "xcvp1902,SLICE_S0X36Y0,SLR0",
+ "xcvp1902,SLICE_S1X36Y0,SLR1",
+ "xcvp1902,SLICE_S2X36Y0,SLR2",
+ "xcvp1902,SLICE_S3X36Y0,SLR3",
+ })
+ public void testGetSLR(String deviceName, String siteName, String slrName) {
+ Device device = Device.getDevice(deviceName);
+ Site site = device.getSite(siteName);
+ Assertions.assertEquals(slrName, site.getTile().getSLR().getName());
+ }
}