Skip to content

Commit

Permalink
Fix testSymmetricClkRouting
Browse files Browse the repository at this point in the history
Signed-off-by: Wenhao Lin <[email protected]>
  • Loading branch information
WenhaoLin-AMD authored and eddieh-xlnx committed Nov 19, 2024
1 parent a674269 commit 741fac3
Showing 1 changed file with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import com.xilinx.rapidwright.design.Unisim;
import com.xilinx.rapidwright.device.Device;
import com.xilinx.rapidwright.device.Node;
import com.xilinx.rapidwright.device.PIP;
import com.xilinx.rapidwright.device.SitePin;
import com.xilinx.rapidwright.router.RouteThruHelper;
import com.xilinx.rapidwright.support.RapidWrightDCP;
Expand All @@ -52,7 +53,9 @@
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class TestGlobalSignalRouting {
@ParameterizedTest
Expand Down Expand Up @@ -324,11 +327,18 @@ public void testMuxOutPinAsStaticSourceEvenWithLutRam(boolean setFmuxCtag, boole
public void testSymmetricClkRouting() {
Design design = RapidWrightDCP.loadDCP("two_clk_check_NetTools.dcp");
design.unrouteDesign();
// Simulate the preserve method
Set<Node> used = new HashSet<>();

for (String netName : Arrays.asList("clk1_IBUF_BUFG", "clk2_IBUF_BUFG", "rst1", "rst2")) {
Net net = design.getNet(netName);
Assertions.assertTrue(NetTools.isGlobalClock(net));
GlobalSignalRouting.symmetricClkRouting(net, design.getDevice(), (n) -> NodeStatus.AVAILABLE);
GlobalSignalRouting.symmetricClkRouting(net, design.getDevice(), (n) -> used.contains(n) ? NodeStatus.UNAVAILABLE : NodeStatus.AVAILABLE);
for (PIP pip: net.getPIPs()) {
for (Node node: Arrays.asList(pip.getStartNode(), pip.getEndNode())) {
if (node != null) used.add(node);
}
}
}

if (FileTools.isVivadoOnPath()) {
Expand Down

0 comments on commit 741fac3

Please sign in to comment.