public class RWRouteConfig
extends Object
RWRoute
Object or a TimingAndWirelengthReport
Object.
Modifications of default parameter values can be done by adding corresponding options with values to the arguments.
Each option (i.e. one of the parameters) name must start with two dashes. Values of parameters do not need dashes.Constructor and Description |
---|
RWRouteConfig(String[] arguments)
Constructs a Configuration Object
|
Modifier and Type | Method and Description |
---|---|
short |
getBoundingBoxExtensionX()
Gets the initial bounding box extension range in the horizontal direction.
|
short |
getBoundingBoxExtensionY()
Gets the initial bounding box extension range in the vertical direction.
|
String |
getClkRouteTiming()
Sets the clock enable net timing data file.
|
float |
getCriticalityExponent()
Gets the criticality exponent that is used in calculating connections' criticalities to
spread the criticalities of less critical connections and more critical connections apart.
|
String |
getDspTimingDataFolder()
Gets the DSP timing data folder that contains DSP timing data files for the current design to be routed.
|
boolean |
getExportOutOfContext()
Gets the flag indicating if the design returned after routing should be
marked out of context.
|
short |
getExtensionXIncrement()
Gets the extension increment that connections' bounding boxes should be enlarged by horizontally.
|
short |
getExtensionYIncrement()
Gets the extension increment that connections' bounding boxes should be enlarged by vertically.
|
float |
getHistoricalCongestionFactor()
Gets the historical congestion cost penalty factor.
|
float |
getHusActivateThreshold()
Gets the threshold (number of congested connections at the end of the routing iteration divided by
total number of connections to be routed) below which HUS will be activated
Default: 0.4
|
float |
getHusAlpha()
Gets the value of alpha in the hybrid updating strategy (HUS)
Default: 1.1
|
float |
getHusBeta()
Gets the value of beta in the hybrid updating strategy (HUS)
Default: 2.0
|
float |
getHusInitialCongestedThreshold()
Gets the threshold (number of overused nodes at the end of routing iteration 1 divided by
total number of connections to be routed) above which a design is congested enough to consider HUS
Default: 0.5
|
float |
getInitialPresentCongestionFactor()
Gets the initial present congestion cost penalty factor.
|
short |
getMaxIterations()
Gets the allowed maximum number of routing iterations.
|
float |
getMaxPresentCongestionFactor()
Gets the max present congestion factor that should prevent accuracy loss.
|
float |
getMinRerouteCriticality()
Gets the criticality threshold for re-routing critical connections.
|
float |
getPessimismA()
Gets the critical path delay pessimism factor a.
|
short |
getPessimismB()
Gets critical path delay factor b.
|
float |
getPresentCongestionMultiplier()
Gets the present congestion factor multiplier.
|
short |
getReroutePercentage()
Gets the maximum percentage of critical connections that should be re-routed.
|
float |
getShareExponent()
Gets the sharing exponent that discourages resource sharing for timing-driven routing of critical connections.
|
float |
getTimingMultiplier()
Gets the timing-driven weighting factor multiplier.
|
float |
getTimingWeight()
Gets the timing-driven weighting factor used in the cost function.
|
float |
getWirelengthWeight()
Gets the wirelength-driven weighting factor used in the cost function.
|
boolean |
isEnlargeBoundingBox()
Checks if the bounding boxes of connections would be expanded during routing.
|
boolean |
isHus()
Checks if the hybrid updating strategy (HUS) is enabled.
|
boolean |
isInvertGndToVccForLutInputs()
Gets the flag indicating if GND to VCC inversion for LUT inputs is enabled.
|
boolean |
isLutPinSwapping()
Gets the flag indicating if LUT pin swapping is enabled.
|
boolean |
isLutRoutethru()
Gets the flag indicating if LUT routethrus are enabled.
|
boolean |
isMaskNodesCrossRCLK()
Checks if nodes cross RCLK are masked.
|
boolean |
isPrintConnectionSpan()
Gets printConnectionSpan value.
|
boolean |
isTimingDriven()
Checks if the router should run in the timing-driven mode.
|
boolean |
isUseBoundingBox()
Checks if the routing bounding box constraint is used.
|
boolean |
isUseUTurnNodes()
Checks if U-turn nodes at the device boundaries are considered to be used.
|
boolean |
isVerbose()
Checks if verbose is enabled.
|
void |
setBoundingBoxExtensionX(short boundingBoxExtensionX)
Sets the initial bounding box extension range in the horizontal direction.
|
void |
setBoundingBoxExtensionY(short boundingBoxExtensionY)
Sets the initial bounding box extension range in the vertical direction.
|
void |
setClkRouteTiming(String clkRouteTiming)
Sets the clock enable net timing data file.
|
void |
setCriticalityExponent(float criticalityExponent)
Sets the criticality exponent that is used in calculating connections' criticalities to
spread the criticalities of less critical connections and more critical connections apart.
|
void |
setDspTimingDataFolder(String dspTimingDataFolder)
Sets the DSP timing data folder that contains DSP timing data files for the current design to be routed.
|
void |
setEnlargeBoundingBox(boolean enlargeBoundingBox)
Sets enlargeBoundingBox.
|
void |
setExportDesignOutOfContext(boolean exportOutOfContext)
Sets a flag indicating the design should be exported as out of context.
|
void |
setExtensionXIncrement(short extensionXIncrement)
Sets the extension increment that connections' bounding boxes should be enlarged by horizontally.
|
void |
setExtensionYIncrement(short extensionYIncrement)
Sets the extension increment that connections' bounding boxes should be enlarged by vertically.
|
void |
setHistoricalCongestionFactor(float historicalCongestionFactor)
Sets the historical congestion cost penalty factor.
|
void |
setHus(boolean hus)
Sets whether hybrid updating strategy (HUS) is enabled.
|
void |
setHusActivateThreshold(float husActivateThreshold)
Sets the threshold (number of congested connections at the end of the routing iteration divided by
total number of connections to be routed) below which HUS will be activated
Default: 0.4
|
void |
setHusAlpha(float husAlpha)
Sets the value of alpha in the hybrid updating strategy (HUS)
Default: 1.1
|
void |
setHusBeta(float husBeta)
Sets the value of beta in the hybrid updating strategy (HUS)
Default: 2.0
|
void |
setHusInitialCongestedThreshold(float husInitialCongestedThreshold)
Sets the threshold (number of overused nodes at the end of routing iteration 1 divided by
total number of connections to be routed) above which a design is congested enough to consider HUS
Default: 0.5
|
void |
setInitialPresentCongestionFactor(float initialPresentCongestionFactor)
Sets the initial present congestion cost penalty factor.
|
void |
setInvertGndToVccForLutInputs(boolean invertGndToVccForLutInputs)
Sets the flag for enabling GND to VCC inversion for LUT inputs.
|
void |
setLutPinSwapping(boolean lutPinSwapping)
Sets a flag indicating LUT pins can be swapped.
|
void |
setLutRoutethru(boolean lutRoutethru)
Sets a flag indicating LUT routethrus will be considered.
|
void |
setMaskNodesCrossRCLK(boolean maskNodesCrossRCLK)
Sets maskNodesCrossRCLK.
|
void |
setMaxIterations(short maxIterations)
Sets the maximum number of routing iterations.
|
void |
setMinRerouteCriticality(float minRerouteCriticality)
Sets the criticality threshold for re-routing critical connections.
|
void |
setPessimismA(float pessimismA)
Sets the critical path delay pessimism factor a.
|
void |
setPessimismB(short pessimismB)
Sets critical path delay pessimism factor b.
|
void |
setPresentCongestionMultiplier(float presentCongestionMultiplier)
Sets the present congestion factor multiplier.
|
void |
setPrintConnectionSpan(boolean printConnectionSpan)
Sets printConnectionSpan.
|
void |
setReroutePercentage(short reroutePercentage)
Sets the maximum percentage of critical connections that should be re-routed.
|
void |
setShareExponent(float shareExponent)
Sets the sharing exponent that discourages resource sharing for timing-driven routing of critical connections.
|
void |
setTimingDriven(boolean timingDriven)
Sets timingDriven.
|
void |
setTimingMultiplier(float timingMultiplier)
Sets the multiplier for timingWeight.
|
void |
setTimingWeight(float timingWeight)
Sets the timing-driven weighting factor used in the cost function.
|
void |
setUseBoundingBox(boolean useBoundingBox)
Sets if the router should route connections with the routing bounding box constraint.
|
void |
setUseUTurnNodes(boolean useUTurnNodes)
Sets useUTurnNodes.
|
void |
setVerbose(boolean verbose)
Sets verbose.
|
void |
setWirelengthWeight(float wirelengthWeight)
Sets the wirelength-driven weighting factor used in the cost function.
|
String |
toString() |
public RWRouteConfig(String[] arguments)
public short getMaxIterations()
public void setMaxIterations(short maxIterations)
maxIterations
- The maximum number of routing iterations.public boolean isUseBoundingBox()
public void setUseBoundingBox(boolean useBoundingBox)
useBoundingBox
- true to let the router use the bounding box constraint to route connections.public short getBoundingBoxExtensionX()
public void setBoundingBoxExtensionX(short boundingBoxExtensionX)
boundingBoxExtensionX
- public short getBoundingBoxExtensionY()
public void setBoundingBoxExtensionY(short boundingBoxExtensionY)
boundingBoxExtensionY
- public boolean isEnlargeBoundingBox()
public void setEnlargeBoundingBox(boolean enlargeBoundingBox)
enlargeBoundingBox
- A flag to indicate if connections' bounding boxes are allowed to be enlarged for routing.public short getExtensionYIncrement()
public void setExtensionYIncrement(short extensionYIncrement)
extensionYIncrement
- The number of INT Tiles that connections' bounding boxes should be enlarged by vertically.public short getExtensionXIncrement()
public void setExtensionXIncrement(short extensionXIncrement)
extensionXIncrement
- The number of INT Tiles that connections' bounding boxes should be enlarged by horizontally.public float getWirelengthWeight()
public void setWirelengthWeight(float wirelengthWeight)
wirelengthWeight
- The wirelength-driven weighting factor used in the cost functionpublic float getTimingWeight()
public void setTimingWeight(float timingWeight)
timingWeight
- The timing-driven weighting factor used in the cost function.public float getTimingMultiplier()
public void setTimingMultiplier(float timingMultiplier)
timingMultiplier
- A multiplier greater than 1 to increase timingWeight along routing iterations.public float getShareExponent()
public void setShareExponent(float shareExponent)
shareExponent
- The sharing exponent that discourages resource sharing for timing-driven routing of critical connections.public float getCriticalityExponent()
public void setCriticalityExponent(float criticalityExponent)
criticalityExponent
- public float getMinRerouteCriticality()
public void setMinRerouteCriticality(float minRerouteCriticality)
minRerouteCriticality
- public short getReroutePercentage()
public void setReroutePercentage(short reroutePercentage)
reroutePercentage
- public float getInitialPresentCongestionFactor()
public void setInitialPresentCongestionFactor(float initialPresentCongestionFactor)
initialPresentCongestionFactor
- The value to set.public float getPresentCongestionMultiplier()
public void setPresentCongestionMultiplier(float presentCongestionMultiplier)
presentCongestionMultiplier
- public float getMaxPresentCongestionFactor()
RWRouteConfig.setWirelengthWeight(float)
.public float getHistoricalCongestionFactor()
public void setHistoricalCongestionFactor(float historicalCongestionFactor)
historicalCongestionFactor
- public boolean isTimingDriven()
public void setTimingDriven(boolean timingDriven)
timingDriven
- public String getDspTimingDataFolder()
public void setDspTimingDataFolder(String dspTimingDataFolder)
dspTimingDataFolder
- The directory that contains DSP timing data files for the current design to be routed.public String getClkRouteTiming()
public void setClkRouteTiming(String clkRouteTiming)
clkRouteTiming
- public float getPessimismA()
public void setPessimismA(float pessimismA)
pessimismA
- public short getPessimismB()
public boolean getExportOutOfContext()
public boolean isLutPinSwapping()
public boolean isLutRoutethru()
public boolean isInvertGndToVccForLutInputs()
public void setPessimismB(short pessimismB)
pessimismB
- public boolean isMaskNodesCrossRCLK()
public void setMaskNodesCrossRCLK(boolean maskNodesCrossRCLK)
maskNodesCrossRCLK
- A flag to indicate if masking nodes cross RCLK.public boolean isUseUTurnNodes()
public void setUseUTurnNodes(boolean useUTurnNodes)
useUTurnNodes
- A flag to indicate if U-turn nodes are considered to be used for routing.public boolean isVerbose()
public boolean isPrintConnectionSpan()
public void setPrintConnectionSpan(boolean printConnectionSpan)
printConnectionSpan
- true, to print out connection span statistics.public void setExportDesignOutOfContext(boolean exportOutOfContext)
exportOutOfContext
- true to export design as out of context.public void setLutPinSwapping(boolean lutPinSwapping)
lutPinSwapping
- true to enable LUT pin swapping.public void setLutRoutethru(boolean lutRoutethru)
lutRoutethru
- true to enable LUT pin swapping.public void setInvertGndToVccForLutInputs(boolean invertGndToVccForLutInputs)
invertGndToVccForLutInputs
- true to enableGND to VCC inversion for LUT inputs.public void setVerbose(boolean verbose)
verbose
- true to print more info in the routing log file.public boolean isHus()
public void setHus(boolean hus)
hus
- true to enable the hybrid updating strategy (HUS)public float getHusAlpha()
public void setHusAlpha(float husAlpha)
husAlpha
- the value of alpha in the hybrid updating strategy (HUS)public float getHusBeta()
public void setHusBeta(float husBeta)
husBeta
- the value of beta in the hybrid updating strategy (HUS)public float getHusInitialCongestedThreshold()
public void setHusInitialCongestedThreshold(float husInitialCongestedThreshold)
husInitialCongestedThreshold
- the threshold for determining whether a design is congested enough to consider HUSpublic float getHusActivateThreshold()
public void setHusActivateThreshold(float husActivateThreshold)
husActivateThreshold
- the threshold for determining whether to activate HUSpublic String toString()
toString
in class Object