public class GlobalRouterV3
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
GlobalRouterV3.RegionToRoute
Output data for further processing in a detailed router.
|
class |
GlobalRouterV3.RouteToStitch
Global routing output.
|
Modifier and Type | Field and Description |
---|---|
java.util.ArrayList<java.lang.Integer> |
not_routed
routes which could not be routed
|
java.util.HashMap<java.lang.Integer,GlobalRouterV3.RouteToStitch> |
output_coarse_routes |
GlobalRouterV3.RegionToRoute[] |
output_regions |
Constructor and Description |
---|
GlobalRouterV3(java.awt.geom.Rectangle2D rect,
int num_regions,
java.util.List<RoutingFrame.RoutingSegment> segmentsToRoute,
int num_threads,
double tileSize) |
Modifier and Type | Method and Description |
---|---|
void |
AddRouteToOutReg(com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i reg_pos,
com.sun.electric.tool.routing.experimentalLeeMoore2.SegPart segment)
Adds a route patch to a output region representation
|
int |
ConvertX(double x) |
int |
ConvertY(double y) |
com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection |
DirFromTo(com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i from,
com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i to) |
com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i |
GetNeighborPos(int x,
int y,
com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir) |
com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i |
GetNeighborPos(com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i curr_pos,
com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir) |
int |
GetNeighborX(int x,
com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir) |
int |
GetNeighborY(int y,
com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir) |
static com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection |
GetOppositeDir(com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir) |
boolean |
IsCoordinateValid(int x,
int y)
Checks and s to assure a correct coordinate access
|
void |
OfferBacktrace(java.util.Vector<com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection> bt,
int seg_id) |
void |
OfferCoarseRoute(java.util.List<com.sun.electric.tool.routing.experimentalLeeMoore2.SegPart> route,
int seg_id,
java.util.ArrayList<com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i> passed_regions)
Adds a whole route to output data
|
void |
OfferUnrouted(java.util.ArrayList<java.lang.Integer> list) |
GlobalRouterV3.RegionToRoute |
OutputRegionAt(int x,
int y)
Access to output
|
GlobalRouterV3.RegionToRoute |
OutputRegionAt(int x,
int y,
com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir) |
com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.SegBtPair |
PollBacktrace() |
com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.SegmentRepresentation |
PollDemandEstimationJob() |
int |
PollFailedId() |
com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.RegionRepresentation |
PollNextRegionToSort() |
com.sun.electric.tool.routing.experimentalLeeMoore2.JobMessage |
PollSegmentJob() |
com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.RegionRepresentation |
RegionAt(int x,
int y)
Access to regions
|
com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.RegionRepresentation |
RegionAt(int x,
int y,
com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir) |
void |
Reinitialize(java.util.List<java.lang.Integer> failed_to_route) |
void |
ResetOutputRoutes() |
void |
Retransform(java.util.List<RoutingFrameLeeMoore.Coordinate> list)
Transforms Coordinates back after the whole routing process is finished.
|
void |
StartGlobalRouting() |
public java.util.HashMap<java.lang.Integer,GlobalRouterV3.RouteToStitch> output_coarse_routes
public GlobalRouterV3.RegionToRoute[] output_regions
public java.util.ArrayList<java.lang.Integer> not_routed
public GlobalRouterV3(java.awt.geom.Rectangle2D rect, int num_regions, java.util.List<RoutingFrame.RoutingSegment> segmentsToRoute, int num_threads, double tileSize)
public void OfferCoarseRoute(java.util.List<com.sun.electric.tool.routing.experimentalLeeMoore2.SegPart> route, int seg_id, java.util.ArrayList<com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i> passed_regions)
public void AddRouteToOutReg(com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i reg_pos, com.sun.electric.tool.routing.experimentalLeeMoore2.SegPart segment)
public GlobalRouterV3.RegionToRoute OutputRegionAt(int x, int y)
public GlobalRouterV3.RegionToRoute OutputRegionAt(int x, int y, com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir)
public com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.RegionRepresentation RegionAt(int x, int y)
public com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.RegionRepresentation RegionAt(int x, int y, com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir)
public boolean IsCoordinateValid(int x, int y)
public int ConvertX(double x)
public int ConvertY(double y)
public com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection DirFromTo(com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i from, com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i to)
public int GetNeighborX(int x, com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir)
public int GetNeighborY(int y, com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir)
public com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i GetNeighborPos(int x, int y, com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir)
public com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i GetNeighborPos(com.sun.electric.tool.routing.experimentalLeeMoore2.Vector2i curr_pos, com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir)
public static com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection GetOppositeDir(com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection dir)
public com.sun.electric.tool.routing.experimentalLeeMoore2.JobMessage PollSegmentJob()
public com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.SegmentRepresentation PollDemandEstimationJob()
public int PollFailedId()
public void ResetOutputRoutes()
public void OfferBacktrace(java.util.Vector<com.sun.electric.tool.routing.experimentalLeeMoore2.RegionDirection> bt, int seg_id)
public com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.SegBtPair PollBacktrace()
public void OfferUnrouted(java.util.ArrayList<java.lang.Integer> list)
public com.sun.electric.tool.routing.experimentalLeeMoore2.GlobalRouterV3.RegionRepresentation PollNextRegionToSort()
public void Retransform(java.util.List<RoutingFrameLeeMoore.Coordinate> list)
public void Reinitialize(java.util.List<java.lang.Integer> failed_to_route)
public void StartGlobalRouting()