From 939e0bc4e36b6aacd16d9d28c78279ec4119e50d Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Mon, 16 Oct 2023 13:35:51 -0700 Subject: [PATCH] Add some overloads with default deferredRemovals of null Signed-off-by: Eddie Hung --- src/com/xilinx/rapidwright/eco/ECOTools.java | 51 ++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/com/xilinx/rapidwright/eco/ECOTools.java b/src/com/xilinx/rapidwright/eco/ECOTools.java index f0e26e2bd..0bb388398 100644 --- a/src/com/xilinx/rapidwright/eco/ECOTools.java +++ b/src/com/xilinx/rapidwright/eco/ECOTools.java @@ -74,6 +74,18 @@ * modifying 'top/u1(foo1)/lut1' would no longer affect 'top/u2(foo2)/lut1'. */ public class ECOTools { + /** + * Given a list of EDIFHierPortInst objects, disconnect these pins from their current nets. + * This method modifies the EDIF (logical) netlist as well as the place-and-route (physical) + * state, and is modelled on Vivado's disconnect_net -pinlist command. + * @param design The design where the pin(s) are instantiated. + * @param pins A list of hierarchical pins for disconnection. + */ + public static void disconnectNet(Design design, + List pins) { + disconnectNet(design, pins, null); + } + /** * Given a list of EDIFHierPortInst objects, disconnect these pins from their current nets. * This method modifies the EDIF (logical) netlist as well as the place-and-route (physical) @@ -162,6 +174,19 @@ public static void disconnectNet(Design design, } } + /** + * Given a list of String-s with one more space-separated pins, disconnect these pins from + * their current nets. + * This method modifies the EDIF (logical) netlist as well as the place-and-route (physical) + * state, and is modelled on Vivado's disconnect_net -pinlist command. + * @param design The design where the pin(s) are instantiated. + * @param pins A list of hierarchical pins for disconnection. + */ + public static void disconnectNetPath(Design design, + List pins) { + disconnectNetPath(design, pins, null); + } + /** * Given a list of String-s with one more space-separated pins, disconnect these pins from * their current nets. @@ -217,6 +242,19 @@ public static void disconnectNetPath(Design design, disconnectNet(design, pinObjects, deferredRemovals); } + /** + * Given a map of EDIFHierNet to list of EDIFHierPortInst object(s), connect the latter pins to + * the former net. + * This method modifies the EDIF (logical) netlist as well as the place-and-route (physical) + * state, and is modelled on Vivado's connect_net -hier -net_object_list command. + * @param design The design where the net(s) and pin(s) are instantiated. + * @param netToPortInsts A map of hierarchical nets and pins for connection. + */ + public static void connectNet(Design design, + Map> netToPortInsts) { + connectNet(design, netToPortInsts, null); + } + /** * Given a map of EDIFHierNet to list of EDIFHierPortInst object(s), connect the latter pins to * the former net. @@ -609,6 +647,19 @@ private static void connectNetSource(Design design, } } + /** + * Given a list of String-s containing one net path followed by one or more pin paths + * (separated by spaces) connect the latter pins to the former net. + * This method modifies the EDIF (logical) netlist as well as the place-and-route (physical) + * state, and is modelled on Vivado's connect_net -hier -net_object_list command. + * @param design The design where the net(s) and pin(s) are instantiated. + * @param netPinList A list of String-s containing net and pin paths. + */ + public static void connectNet(Design design, + List netPinList) { + connectNet(design, netPinList, null); + } + /** * Given a list of String-s containing one net path followed by one or more pin paths * (separated by spaces) connect the latter pins to the former net.