Models
Net
Net Module
Node
Node Module
Path
Path Module
Global Router
Global Router Module
- class models.global_router.GlobalRouter[source]
Global Router class, handles the logic of the global router
- dump_result(output_file_path: str) None[source]
Dumps the route result into an output file
- Args:
output_file_path (str): path of the output file
- get_next_coordinate(current_node_coordinate: Tuple[int, int], direction: int) Tuple[int, int][source]
Get next coordinate for the path, given the current node
- Args:
current_node_coordinate (Tuple[int, int]): coordinate of current node direction (int): direction to next node’s coordinate
- Returns:
Tuple[int, int]: next node’s coordinate
- coordinate_is_legal(next_coordinate: Tuple[int, int]) bool[source]
Determine if given coordinate is within layout bounds
- Args:
next_coordinate (Tuple[int, int]): coordinate of next node
- Returns:
bool: coordinate of next node is legal or not
- get_node_id(coordinate: Tuple[int, int]) int[source]
Get ID of the node
- Args:
coordinate (Tuple[int, int]): the coordinate of the node
- Returns:
int: the ID of the node
- get_edge_id(coordinate: Tuple[int, int], direction: int) int[source]
Get ID of the edge
- Args:
coordinate (Tuple[int, int]): coordinate of the node direction (int): direction
- Returns:
int: Edge ID
- get_edge_cost(edge_id: int) float[source]
Get the cost of the edge
- Args:
edge_id (int): Edge ID
- Returns:
float: cost of the edge
- update_demand(path: Path, increment: bool)[source]
Update demand level for the path
- Args:
path (Path): path increment (bool): demand is incremented
- update_overflow() Tuple[int, int][source]
Update overflow info for the layout
- Returns:
Tuple[int, int]: (total_overflow, wirelength)
- generate_congestion_output(output_file_name: str) None[source]
Generate the congestion data for the output
- Args:
output_file_name (str): name of the output file