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 a
Design instance; specifically, all nets with no routing PIPs already present. |
static Design |
routeDesignWithUserDefinedArguments(Design design,
String[] args,
Collection<SitePinInst> pinsToRoute,
boolean softPreserve)
Partially routes a
Design instance; specifically, all nets with no routing PIPs already present. |
addClkNet, createClkTimingData, getDesign, printNodeTypeUsageAndWirelength, route, routeDesignFullNonTimingDriven, routeDesignFullTimingDriven, routeIndirectConnectionsIteratively
public 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; specifically, all nets with no routing PIPs already present.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; specifically, all nets with no routing PIPs already present.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, all nets with no routing PIPs already present will be partially routed.args
- An array of strings that are used to create a RWRouteConfig
object for the router.