public class RWRoute
extends Object
Design
Object and a RWRouteConfig
Object.Modifier and Type | Field and Description |
---|---|
static EnumSet<Series> |
SUPPORTED_SERIES |
Constructor and Description |
---|
RWRoute(Design design,
RWRouteConfig config) |
Modifier and Type | Method and Description |
---|---|
void |
addClkNet(Net clk)
Adds a clock net to the clock net routing targets.
|
static ClkRouteTiming |
createClkTimingData(RWRouteConfig config)
Creates clock routing related inputs based on the
RWRouteConfig instance. |
Design |
getDesign() |
static void |
main(String[] args)
The main interface of
RWRoute that reads in a Design design
(DCP or FPGA Interchange), and parses the arguments for the
RWRouteConfig object of the router. |
static void |
preprocess(Design design)
Pre-process the design to ensure that only the physical
Net -s corresponding to
the parent logical EDIFHierNet exists, and that such Net -s contain
all necessary SitePinInst objects. |
static void |
printNodeTypeUsageAndWirelength(boolean verbose,
Map<IntentCode,Long> nodeTypeUsage,
Map<IntentCode,Long> nodeTypeLength,
Series series) |
void |
route()
Routes the design in a few routing phases and times those phases.
|
static Design |
routeDesignFullNonTimingDriven(Design design)
Routes a design in the full non-timing-driven routing mode.
|
static Design |
routeDesignFullTimingDriven(Design design)
Routes a design in the full timing-driven routing mode.
|
static Design |
routeDesignWithUserDefinedArguments(Design design,
String[] args)
Routes a
Design instance. |
void |
routeIndirectConnectionsIteratively()
Routes indirect connections iteratively.
|
public static final EnumSet<Series> SUPPORTED_SERIES
public RWRoute(Design design, RWRouteConfig config)
public static void preprocess(Design design)
Net
-s corresponding to
the parent logical EDIFHierNet
exists, and that such Net
-s contain
all necessary SitePinInst
objects.design
- Design to preprocesspublic static ClkRouteTiming createClkTimingData(RWRouteConfig config)
RWRouteConfig
instance.config
- The RWRouteConfig
instance to use.public void route()
public void routeIndirectConnectionsIteratively()
public void addClkNet(Net clk)
clk
- The clock net to be added.public Design getDesign()
public static void printNodeTypeUsageAndWirelength(boolean verbose, Map<IntentCode,Long> nodeTypeUsage, Map<IntentCode,Long> nodeTypeLength, Series series)
public static Design routeDesignFullTimingDriven(Design design)
design
- The Design
instance to be routed.public static Design routeDesignFullNonTimingDriven(Design design)
design
- The Design
instance to be routed.public static Design routeDesignWithUserDefinedArguments(Design design, String[] args)
Design
instance.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 void main(String[] args)
RWRoute
that reads in a Design
design
(DCP or FPGA Interchange), and parses the arguments for the
RWRouteConfig
object of the router.args
- An array of strings that are used to create a
RWRouteConfig
object for the router.