Skip to content

Commit

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

env:
RAPIDWRIGHT_VERSION: v2022.2.0-beta
RAPIDWRIGHT_VERSION: v2022.2.1-beta

jobs:
build:
Expand Down
15 changes: 15 additions & 0 deletions RELEASE_NOTES.TXT
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
============= RapidWright 2022.2.1-beta released on 2023-01-19 ================
Notes:
- Preserves hwdef information in DCP (#597)
- Adds APIs to access BELAttr information in design (#598)
- Many improvements to RWRoute to cleanup code and improves both quality and runtime performance
- Fixes a bug with 2022.2 DCPs where hierarchical names were getting mangled in RapidWright (#603)
- Adds support for reading gzipped EDIF files
- Fixes an issue with Design.updateDesignWithCheckpointPlaceAndRoute() on more recent version DCPs (#601)

- API Additions:
- com.xilinx.rapidwright.design.Design "public Map<Site, SiteConfig> getBELAttrs()"
- com.xilinx.rapidwright.design.Design "public BELAttr addBELAttr(Net net, Site site, SiteTypeEnum type, BEL bel, String name, String value)"
- com.xilinx.rapidwright.device.Device "public BEL getBEL(SiteTypeEnum type, String belName)"
- com.xilinx.rapidwright.device.Device "public BEL[] getBELs(SiteTypeEnum type)"

============= RapidWright 2022.2.0-beta released on 2022-11-16 ================
Notes:
- Support for Vivado 2022.2 devices and DCPs
Expand Down
38 changes: 32 additions & 6 deletions test/src/com/xilinx/rapidwright/design/TestDCPLoad.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,19 @@
import java.nio.file.Files;
import java.nio.file.Path;

import com.xilinx.rapidwright.edif.EDIFTools;
import com.xilinx.rapidwright.support.RapidWrightDCP;
import com.xilinx.rapidwright.tests.CodePerfTracker;
import com.xilinx.rapidwright.util.FileTools;
import com.xilinx.rapidwright.util.Installer;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;

import com.xilinx.rapidwright.edif.EDIFHierCellInst;
import com.xilinx.rapidwright.edif.EDIFTools;
import com.xilinx.rapidwright.support.RapidWrightDCP;
import com.xilinx.rapidwright.tests.CodePerfTracker;
import com.xilinx.rapidwright.util.FileTools;
import com.xilinx.rapidwright.util.Installer;

/**
* Tests the EDIF auto-generate mechanism when reading DCPs
*
Expand Down Expand Up @@ -125,6 +127,30 @@ public void testDCPFromVivado2022_1(String dcp) {
@ParameterizedTest
@ValueSource(strings = {"picoblaze_2022.2.dcp"})
public void testDCPFromVivado2022_2(String dcp) {
RapidWrightDCP.loadDCP(dcp);
Design design = RapidWrightDCP.loadDCP(dcp);
for (Cell c : design.getCells()) {
// Exclude PAD cells (port cells) as they don't have a corresponding
// EDIFHierCellInst, all cells with 'processor' are hierarchical
if (c.getName().contains("processor")) {
EDIFHierCellInst inst = c.getEDIFHierCellInst();
Assertions.assertNotNull(inst);
Assertions.assertEquals(inst.toString(), c.getName());
}
}
}

@ParameterizedTest
@ValueSource(strings = { "bnn.dcp", "picoblaze_2022.2.dcp" })
public void testUpdatePlaceAndRouteOfDesign(String dcp) {
boolean skipLoadingPlaceAndRoute = true;
Path dcpPath = RapidWrightDCP.getPath(dcp);
Design design = Design.readCheckpoint(dcpPath, skipLoadingPlaceAndRoute);
Assertions.assertEquals(0, design.getSiteInsts().size());
design.updateDesignWithCheckpointPlaceAndRoute(dcpPath);

Design origDesign = Design.readCheckpoint(dcpPath);

Assertions.assertEquals(origDesign.getSiteInsts().size(), design.getSiteInsts().size());
Assertions.assertEquals(origDesign.getNets().size(), design.getNets().size());
}
}
23 changes: 23 additions & 0 deletions test/src/com/xilinx/rapidwright/design/TestNet.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
package com.xilinx.rapidwright.design;

import com.xilinx.rapidwright.device.Device;
import com.xilinx.rapidwright.support.RapidWrightDCP;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
Expand Down Expand Up @@ -153,4 +154,26 @@ public void testRemovePinOnStaticNet() {
gndNet.removePin(b6, true);
Assertions.assertEquals(gndNet.getPIPs().size(), 0);
}

@Test
public void testGetLogicalHierNetDetachedNetlist() {
String dcpPath = RapidWrightDCP.getString("bnn.dcp");
Design design = Design.readCheckpoint(dcpPath);
design.detachNetlist();

String[] hierPortNets = new String[]{
"dmem_mode_V[0]",
"n_inputs_V[13]",
"n_inputs_V[1]",
"n_inputs_V[3]",
"n_inputs_V[5]",
"n_inputs_V[7]",
"n_inputs_V[9]",
};
for (String name : hierPortNets) {
Net net = design.getNet(name);
Assertions.assertNotNull(net);
Assertions.assertNull(net.getLogicalHierNet());
}
}
}

0 comments on commit 94caa5c

Please sign in to comment.