|
3 | 3 | import com.xilinx.rapidwright.device.BELPin; |
4 | 4 | import com.xilinx.rapidwright.device.Device; |
5 | 5 | import org.junit.jupiter.api.Assertions; |
6 | | -import org.junit.jupiter.api.Test; |
| 6 | +import org.junit.jupiter.params.ParameterizedTest; |
| 7 | +import org.junit.jupiter.params.provider.ValueSource; |
7 | 8 |
|
8 | 9 | import java.util.Arrays; |
9 | 10 |
|
10 | 11 | public class TestCell { |
11 | | - @Test |
12 | | - void testGetSitePinFromLogicalPin() { |
| 12 | + @ParameterizedTest |
| 13 | + @ValueSource(booleans = {true, false}) |
| 14 | + void testGetSitePinFromLogicalPin(boolean createAX) { |
13 | 15 | Design design = new Design("top", Device.PYNQ_Z1); |
14 | 16 | SiteInst si = design.createSiteInst("SLICE_X1Y0"); |
15 | 17 | Net net = design.createNet("net"); |
16 | 18 | SitePinInst A3 = net.createPin("A3", si); |
17 | | - SitePinInst AX = net.createPin("AX", si); |
| 19 | + SitePinInst AX = (createAX) ? net.createPin("AX", si) : null; |
18 | 20 |
|
19 | 21 | Cell ff = design.createAndPlaceCell("ff", Unisim.FDRE, "SLICE_X1Y0/AFF"); |
20 | 22 |
|
21 | 23 | BELPin ffD = ff.getBEL().getPin("D"); |
22 | 24 | for (SitePinInst spi : Arrays.asList(AX, A3)) { |
| 25 | + if (spi == null) |
| 26 | + continue; |
| 27 | + |
23 | 28 | Assertions.assertNull(DesignTools.getRoutedSitePin(ff, net, "D")); |
| 29 | + Assertions.assertNull(ff.getSitePinFromLogicalPin("D", null)); |
24 | 30 |
|
25 | 31 | BELPin bp = spi.getBELPin(); |
26 | 32 | Assertions.assertTrue(si.routeIntraSiteNet(net, bp, ffD)); |
|
0 commit comments