Skip to content

Commit a9fe7f1

Browse files
committed
Add test derived from discussion #1245
Signed-off-by: Eddie Hung <[email protected]>
1 parent e8126ba commit a9fe7f1

File tree

1 file changed

+38
-14
lines changed

1 file changed

+38
-14
lines changed

test/src/com/xilinx/rapidwright/eco/TestECOTools.java

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,6 @@
2222

2323
package com.xilinx.rapidwright.eco;
2424

25-
import java.util.ArrayList;
26-
import java.util.Arrays;
27-
import java.util.Collections;
28-
import java.util.HashMap;
29-
import java.util.HashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
33-
import java.util.stream.Collectors;
34-
35-
import org.junit.jupiter.api.Assertions;
36-
import org.junit.jupiter.api.Disabled;
37-
import org.junit.jupiter.api.Test;
38-
3925
import com.xilinx.rapidwright.design.AltPinMapping;
4026
import com.xilinx.rapidwright.design.Cell;
4127
import com.xilinx.rapidwright.design.Design;
@@ -62,12 +48,28 @@
6248
import com.xilinx.rapidwright.edif.EDIFTools;
6349
import com.xilinx.rapidwright.edif.EDIFValueType;
6450
import com.xilinx.rapidwright.router.Router;
51+
import com.xilinx.rapidwright.rwroute.PartialRouter;
6552
import com.xilinx.rapidwright.support.RapidWrightDCP;
6653
import com.xilinx.rapidwright.util.CodeGenerator;
6754
import com.xilinx.rapidwright.util.FileTools;
6855
import com.xilinx.rapidwright.util.ReportRouteStatusResult;
6956
import com.xilinx.rapidwright.util.VivadoTools;
7057
import com.xilinx.rapidwright.util.VivadoToolsHelper;
58+
import org.junit.jupiter.api.Assertions;
59+
import org.junit.jupiter.api.Disabled;
60+
import org.junit.jupiter.api.Test;
61+
import org.junit.jupiter.params.ParameterizedTest;
62+
import org.junit.jupiter.params.provider.ValueSource;
63+
64+
import java.util.ArrayList;
65+
import java.util.Arrays;
66+
import java.util.Collections;
67+
import java.util.HashMap;
68+
import java.util.HashSet;
69+
import java.util.List;
70+
import java.util.Map;
71+
import java.util.Set;
72+
import java.util.stream.Collectors;
7173

7274
public class TestECOTools {
7375
@Test
@@ -1071,4 +1073,26 @@ public void testRefactorCell() {
10711073
VivadoToolsHelper.assertFullyRouted(d);
10721074
}
10731075

1076+
@ParameterizedTest
1077+
@ValueSource(strings = {"xcvu19p", "xcvp1502"})
1078+
public void testDiscussion1245(String device) {
1079+
// Create a test design
1080+
Design test = new Design("test_design", device);
1081+
1082+
// Place two luts at 2 arbitrarily chosen sites
1083+
Cell lut_1 = test.createAndPlaceCell("lut_1", Unisim.LUT6, "SLICE_X148Y0/A6LUT");
1084+
LUTTools.configureLUT(lut_1, "O!=I1");
1085+
1086+
Cell lut_2 = test.createAndPlaceCell("lut_2", Unisim.LUT6, "SLICE_X148Y0/B6LUT");
1087+
LUTTools.configureLUT(lut_1, "O=I1");
1088+
1089+
// Create a net
1090+
Net net = test.createNet("test_net");
1091+
1092+
// Using ECOTools
1093+
ECOTools.connectNet(test, lut_1, "O", net); // Source
1094+
ECOTools.connectNet(test, lut_2, "I1", net); // Sinks
1095+
1096+
Assertions.assertEquals("[IN SLICE_X148Y0.B2]", PartialRouter.getUnroutedPins(test).toString());
1097+
}
10741098
}

0 commit comments

Comments
 (0)