mirror of https://github.com/VLSIDA/OpenRAM.git
Print more info for the routing processes
This commit is contained in:
parent
8a60684e51
commit
d9004f6de6
|
|
@ -186,7 +186,7 @@ class graph:
|
|||
|
||||
def create_graph(self, source, target):
|
||||
""" Create the graph to run routing on later. """
|
||||
debug.info(2, "Creating the graph for source '{}' and target'{}'.".format(source, target))
|
||||
debug.info(3, "Creating the graph for source '{}' and target'{}'.".format(source, target))
|
||||
|
||||
# Save source and target information
|
||||
self.source = source
|
||||
|
|
@ -196,7 +196,7 @@ class graph:
|
|||
region = deepcopy(source)
|
||||
region.bbox([target])
|
||||
region = region.inflated_pin(spacing=self.router.track_width + self.router.track_space)
|
||||
debug.info(3, "Routing region is {}".format(region.rect))
|
||||
debug.info(4, "Routing region is {}".format(region.rect))
|
||||
|
||||
# Find the blockages that are in the routing area
|
||||
self.graph_blockages = []
|
||||
|
|
@ -216,9 +216,9 @@ class graph:
|
|||
self.generate_graph_nodes(x_values, y_values)
|
||||
# Save the graph nodes that lie in source and target shapes
|
||||
self.save_end_nodes()
|
||||
debug.info(3, "Number of blockages detected in the routing region: {}".format(len(self.graph_blockages)))
|
||||
debug.info(3, "Number of vias detected in the routing region: {}".format(len(self.graph_vias)))
|
||||
debug.info(3, "Number of nodes in the routing graph: {}".format(len(self.nodes)))
|
||||
debug.info(4, "Number of blockages detected in the routing region: {}".format(len(self.graph_blockages)))
|
||||
debug.info(4, "Number of vias detected in the routing region: {}".format(len(self.graph_vias)))
|
||||
debug.info(4, "Number of nodes in the routing graph: {}".format(len(self.nodes)))
|
||||
|
||||
|
||||
def find_graph_blockages(self, region):
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ class router(router_tech):
|
|||
|
||||
def find_pins(self, pin_name):
|
||||
""" Find the pins with the given name. """
|
||||
debug.info(2, "Finding all pins for {}".format(pin_name))
|
||||
debug.info(4, "Finding all pins for {}".format(pin_name))
|
||||
|
||||
shape_list = self.layout.getAllPinShapes(str(pin_name))
|
||||
pin_set = set()
|
||||
|
|
@ -113,7 +113,7 @@ class router(router_tech):
|
|||
|
||||
def find_blockages(self, name="blockage", shape_list=None):
|
||||
""" Find all blockages in the routing layers. """
|
||||
debug.info(2, "Finding blockages...")
|
||||
debug.info(4, "Finding blockages...")
|
||||
|
||||
for lpp in [self.vert_lpp, self.horiz_lpp]:
|
||||
# If the list of shapes is given, don't get them from gdsMill
|
||||
|
|
@ -146,7 +146,7 @@ class router(router_tech):
|
|||
|
||||
def find_vias(self, shape_list=None):
|
||||
""" Find all vias in the routing layers. """
|
||||
debug.info(2, "Finding vias...")
|
||||
debug.info(4, "Finding vias...")
|
||||
|
||||
# Prepare lpp values here
|
||||
from openram.tech import layer
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ class signal_escape_router(router):
|
|||
self.blockages.append(self.inflate_shape(pin))
|
||||
|
||||
# Route vdd and gnd
|
||||
routed_count = 0
|
||||
routed_max = len(pin_names)
|
||||
for source, target, _ in self.get_route_pairs(pin_names):
|
||||
# Change fake pin's name so the graph will treat it as routable
|
||||
target.name = source.name
|
||||
|
|
@ -72,6 +74,8 @@ class signal_escape_router(router):
|
|||
# Find the recently added shapes
|
||||
self.find_blockages(name, new_wires)
|
||||
self.find_vias(new_vias)
|
||||
routed_count += 1
|
||||
debug.info(2, "Routed {} of {} signal pins".format(routed_count, routed_max))
|
||||
self.replace_layout_pins()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,8 @@ class supply_router(router):
|
|||
self.blockages.append(self.inflate_shape(pin))
|
||||
|
||||
# Route vdd and gnd
|
||||
routed_count = 0
|
||||
routed_max = len(self.pins[vdd_name]) + len(self.pins[gnd_name])
|
||||
for pin_name in [vdd_name, gnd_name]:
|
||||
pins = self.pins[pin_name]
|
||||
# Route closest pins according to the minimum spanning tree
|
||||
|
|
@ -85,6 +87,9 @@ class supply_router(router):
|
|||
# Find the recently added shapes
|
||||
self.find_blockages(pin_name, new_wires)
|
||||
self.find_vias(new_vias)
|
||||
# Report routed count
|
||||
routed_count += 1
|
||||
debug.info(2, "Routed {} of {} supply pins".format(routed_count, routed_max))
|
||||
|
||||
|
||||
def add_side_pin(self, pin_name, side, num_vias=3, num_fake_pins=4):
|
||||
|
|
|
|||
Loading…
Reference in New Issue