public class SATRouter
extends Object
Constructor and Description |
---|
SATRouter(Design design,
PBlock pblock)
Initialize the SAT router with a design and area constraint (pblock) to describe
the routing problem.
|
SATRouter(Design design,
PBlock pblock,
boolean unroute)
Initialize the SAT router with a design and area constraint (pblock) to describe
the routing problem.
|
SATRouter(Design design,
PBlock pblock,
Collection<Net> netsToRoute)
Initializes the SAT router with a design, area constraint (pblock) and
list of nets to route.
|
Modifier and Type | Method and Description |
---|---|
void |
applyRoutingResult()
Reads the output of evRouter and applies the routing solution to the
existing design.
|
void |
createNetsFiles() |
void |
createPipFile()
Creates the necessary routing resource graph file
to supply evRouter for routing.
|
Integer |
getChipID() |
String |
getCstFile() |
int |
getDelaysPerSink() |
Design |
getDesign() |
String |
getDottyFile() |
String |
getEdgeGroupsFile() |
HashSet<Node> |
getExcludedNodes() |
Integer |
getLocalID() |
Integer |
getMaxConflicts() |
Integer |
getMaxPasses() |
String |
getNetGroupsFile() |
Collection<Net> |
getNetsToRoute() |
String |
getOutputFile() |
String |
getPbFile() |
PBlock |
getPblock() |
String |
getPipFile() |
String |
getRegFile() |
Integer |
getRegionID() |
String |
getVcNetAssignmentFile() |
int |
getVerbosity() |
boolean |
isOptRouteUtilization() |
boolean |
isPartitionGraph() |
static void |
randomizeLines(String inputFileName,
String outputFileName,
long seed) |
void |
route()
Runs the SAT solver to route the current design and problem configuration.
|
int |
runEvRouter()
Executes evRouter outside of the RapidWright runtime.
|
void |
setChipID(Integer chipID) |
void |
setCstFile(String cstFile) |
void |
setDelaysPerSink(int delaysPerSink) |
void |
setDesign(Design design) |
void |
setDottyFile(String dottyFile) |
void |
setEdgeGroupsFile(String edgeGroupsFile) |
void |
setExcludedNodes(HashSet<Node> excludedNodes) |
void |
setLocalID(Integer localID) |
void |
setMaxConflicts(Integer maxConflicts) |
void |
setMaxPasses(Integer maxPasses) |
void |
setNetGroupsFile(String netGroupsFile) |
void |
setNetsToRoute(Collection<Net> netsToRoute) |
void |
setOptRouteUtilization(boolean optRouteUtilization) |
void |
setOutputFile(String outputFile) |
void |
setPartitionGraph(boolean partitionGraph) |
void |
setPbFile(String pbFile) |
void |
setPblock(PBlock pblock) |
void |
setPipFile(String pipFile) |
void |
setRegFile(String regFile) |
void |
setRegionID(Integer regionID) |
void |
setUseWeightsOnNodes(boolean useWeightsOnNodes) |
void |
setVcNetAssignmentFile(String vcNetAssignmentFile) |
void |
setVerbosity(int verbosity) |
void |
updateSitePinInsts() |
boolean |
usingWeightsOnNodes() |
public static final String EV_ROUTER
public long SEED
public SATRouter(Design design, PBlock pblock)
design
- A placed design to routepblock
- The area to use to identify nets to route and to supply
routing nodes for completing the routes. All nets that have all
endpoints physically located inside the pblock will be included in
the route attempt.public SATRouter(Design design, PBlock pblock, boolean unroute)
design
- A placed design to routepblock
- The area to use to identify nets to route and to supply
routing nodes for completing the routes. All nets that have all
endpoints physically located inside the pblock will be included in
the route attempt.unroute
- Unroutes the design before using the SAT solver (by default, always unroutes)public SATRouter(Design design, PBlock pblock, Collection<Net> netsToRoute)
design
- A placed design to routepblock
- The area to be used for routing the netsnetsToRoute
- List of nets to be routed, their physical endpoints
must be located within the pblock.public void updateSitePinInsts()
public void createPipFile()
public static void randomizeLines(String inputFileName, String outputFileName, long seed)
public void createNetsFiles()
public int runEvRouter()
public void applyRoutingResult()
public void route()
public int getVerbosity()
public void setVerbosity(int verbosity)
verbosity
- the verbosity to setpublic Integer getMaxConflicts()
public void setMaxConflicts(Integer maxConflicts)
maxConflicts
- the maxConflicts to setpublic Integer getMaxPasses()
public void setMaxPasses(Integer maxPasses)
maxPasses
- the maxPasses to setpublic String getOutputFile()
public void setOutputFile(String outputFile)
outputFile
- the outputFile to setpublic int getDelaysPerSink()
public void setDelaysPerSink(int delaysPerSink)
delaysPerSink
- the delaysPerSink to setpublic String getDottyFile()
public void setDottyFile(String dottyFile)
dottyFile
- the dottyFile to setpublic String getCstFile()
public void setCstFile(String cstFile)
cstFile
- the cstFile to setpublic String getRegFile()
public void setRegFile(String regFile)
regFile
- the regFile to setpublic Integer getChipID()
public void setChipID(Integer chipID)
chipID
- the chipID to setpublic Integer getRegionID()
public void setRegionID(Integer regionID)
regionID
- the regionID to setpublic Integer getLocalID()
public void setLocalID(Integer localID)
localID
- the localID to setpublic String getEdgeGroupsFile()
public void setEdgeGroupsFile(String edgeGroupsFile)
edgeGroupsFile
- the edgeGroupsFile to setpublic String getNetGroupsFile()
public void setNetGroupsFile(String netGroupsFile)
netGroupsFile
- the netGroupsFile to setpublic String getVcNetAssignmentFile()
public void setVcNetAssignmentFile(String vcNetAssignmentFile)
vcNetAssignmentFile
- the vcNetAssignmentFile to setpublic boolean isOptRouteUtilization()
public void setOptRouteUtilization(boolean optRouteUtilization)
optRouteUtilization
- the optRouteUtilization to setpublic boolean isPartitionGraph()
public void setPartitionGraph(boolean partitionGraph)
partitionGraph
- the partitionGraph to setpublic String getPipFile()
public void setPipFile(String pipFile)
pipFile
- the pipFile to setpublic String getPbFile()
public void setPbFile(String pbFile)
pbFile
- the pbFile to setpublic Design getDesign()
public void setDesign(Design design)
design
- the design to setpublic PBlock getPblock()
public void setPblock(PBlock pblock)
pblock
- the pblock to setpublic Collection<Net> getNetsToRoute()
public void setNetsToRoute(Collection<Net> netsToRoute)
netsToRoute
- the netsToRoute to setpublic HashSet<Node> getExcludedNodes()
public void setExcludedNodes(HashSet<Node> excludedNodes)
excludedNodes
- the excludedNodes to setpublic boolean usingWeightsOnNodes()
public void setUseWeightsOnNodes(boolean useWeightsOnNodes)
useWeightsOnNodes
- the useWeightsOnNodes to set