public class PartialRouter extends RWRoute
RWRoute for partial routing.
In partial routing mode, nets that are already fully- or partially- routed
will be preserved and only the unrouted connections (as specified by the
pinsToRoute parameter in the constructor) are tackled.
Enabling soft preserve allows preserved routing that may be the cause of any
unroutable connections to be ripped up and re-routed.SUPPORTED_SERIES| Constructor and Description |
|---|
PartialRouter(Design design,
RWRouteConfig config,
Collection<SitePinInst> pinsToRoute) |
PartialRouter(Design design,
RWRouteConfig config,
Collection<SitePinInst> pinsToRoute,
boolean softPreserve) |
| Modifier and Type | Method and Description |
|---|---|
static List<SitePinInst> |
getUnroutedPins(Design design)
Return all SitePinInst objects belonging to fully unrouted nets (containing no routing PIPs).
|
static void |
main(String[] args)
The main interface of
PartialRouter that reads in a Design checkpoint,
and parses the arguments for the RWRouteConfig object of the router. |
static void |
preprocess(Design design)
Calls
RWRoute.preprocess(Design) to preprocess the design, and furthermore
update the SitePinInst.isRouted() result for all pins in the design. |
static Design |
routeDesignPartialNonTimingDriven(Design design,
Collection<SitePinInst> pinsToRoute)
Routes a design in the partial non-timing-driven routing mode.
|
static Design |
routeDesignPartialNonTimingDriven(Design design,
Collection<SitePinInst> pinsToRoute,
boolean softPreserve)
Routes a design in the partial non-timing-driven routing mode.
|
static Design |
routeDesignPartialTimingDriven(Design design,
Collection<SitePinInst> pinsToRoute,
boolean softPreserve)
Routes a design in the partial timing-driven routing mode.
|
static Design |
routeDesignWithUserDefinedArguments(Design design,
String[] args)
Partially routes all unrouted sinks in a
Design instance; fully-routed sinks will have their routing preserved. |
static Design |
routeDesignWithUserDefinedArguments(Design design,
String[] args,
Collection<SitePinInst> pinsToRoute,
boolean softPreserve)
Partially routes all given sinks in a
Design instance; fully-routed sinks will have their routing preserved
if "softPreserve" is false, otherwise such sinks may be lazily-rerouted when attempting to route other congested sinks. |
addClkNet, createClkTimingData, getDesign, printNodeTypeUsageAndWirelength, route, routeDesignFullNonTimingDriven, routeDesignFullTimingDriven, routeIndirectConnectionsIterativelypublic PartialRouter(Design design, RWRouteConfig config, Collection<SitePinInst> pinsToRoute, boolean softPreserve)
public PartialRouter(Design design, RWRouteConfig config, Collection<SitePinInst> pinsToRoute)
public static Design routeDesignWithUserDefinedArguments(Design design, String[] args)
Design instance; fully-routed sinks will have their routing preserved.design - The Design instance to be routed.args - An array of string arguments, can be null.
If null, the design will be routed in the full timing-driven routing mode with default a RWRouteConfig instance.
For more options of the configuration, please refer to the RWRouteConfig class.public static Design routeDesignWithUserDefinedArguments(Design design, String[] args, Collection<SitePinInst> pinsToRoute, boolean softPreserve)
Design instance; fully-routed sinks will have their routing preserved
if "softPreserve" is false, otherwise such sinks may be lazily-rerouted when attempting to route other congested sinks.design - The Design instance to be routed.args - An array of string arguments, can be null.
If null, the design will be routed in the full timing-driven routing mode with default a RWRouteConfig instance.
For more options of the configuration, please refer to the RWRouteConfig class.pinsToRoute - Collection of SitePinInst-s to be routed. If null, route all unrouted pins in the design.softPreserve - Allow routed nets to be unrouted and subsequently rerouted in order to improve routability.public static List<SitePinInst> getUnroutedPins(Design design)
design - The Design instance to be examined.public static void preprocess(Design design)
RWRoute.preprocess(Design) to preprocess the design, and furthermore
update the SitePinInst.isRouted() result for all pins in the design.design - Design to preprocesspublic static Design routeDesignPartialNonTimingDriven(Design design, Collection<SitePinInst> pinsToRoute)
design - The Design instance to be routed.pinsToRoute - Collection of SitePinInst-s to be routed. If null, route all unrouted pins in the design.public static Design routeDesignPartialNonTimingDriven(Design design, Collection<SitePinInst> pinsToRoute, boolean softPreserve)
design - The Design instance to be routed.pinsToRoute - Collection of SitePinInst-s to be routed. If null, route all unrouted pins in the design.softPreserve - Allow routed nets to be unrouted and subsequently rerouted in order to improve routability.public static Design routeDesignPartialTimingDriven(Design design, Collection<SitePinInst> pinsToRoute, boolean softPreserve)
design - The Design instance to be routed.pinsToRoute - Collection of SitePinInst-s to be routed. If null, route all unrouted pins in the design.softPreserve - Allow routed nets to be unrouted and subsequently rerouted in order to improve routability.public static void main(String[] args)
PartialRouter that reads in a Design checkpoint,
and parses the arguments for the RWRouteConfig object of the router.
Specifically, only unrouted sinks will be tackled; all routed sinks will have their routing preserved
and not be re-routed.args - An array of strings that are used to create a RWRouteConfig object for the router.