mirror of https://github.com/VLSIDA/OpenRAM.git
Fix conflicting boundary name
This commit is contained in:
parent
71cbe74017
commit
877ea53b7f
|
|
@ -69,7 +69,9 @@ class geometry:
|
||||||
""" Transform with offset, mirror and rotation to get the absolute pin location.
|
""" Transform with offset, mirror and rotation to get the absolute pin location.
|
||||||
We must then re-find the ll and ur. The master is the cell instance. """
|
We must then re-find the ll and ur. The master is the cell instance. """
|
||||||
if OPTS.netlist_only:
|
if OPTS.netlist_only:
|
||||||
|
self.boundary = [vector(0,0), vector(0,0)]
|
||||||
return
|
return
|
||||||
|
|
||||||
(ll, ur) = [vector(0, 0), vector(self.width, self.height)]
|
(ll, ur) = [vector(0, 0), vector(self.width, self.height)]
|
||||||
|
|
||||||
if mirror == "MX":
|
if mirror == "MX":
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ class layout():
|
||||||
self.name = name
|
self.name = name
|
||||||
self.width = None
|
self.width = None
|
||||||
self.height = None
|
self.height = None
|
||||||
self.boundary = None
|
self.bounding_box = None
|
||||||
self.insts = [] # Holds module/cell layout instances
|
self.insts = [] # Holds module/cell layout instances
|
||||||
self.objs = [] # Holds all other objects (labels, geometries, etc)
|
self.objs = [] # Holds all other objects (labels, geometries, etc)
|
||||||
self.pin_map = {} # Holds name->pin_layout map for all pins
|
self.pin_map = {} # Holds name->pin_layout map for all pins
|
||||||
|
|
@ -574,7 +574,7 @@ class layout():
|
||||||
# If it's not a premade cell
|
# If it's not a premade cell
|
||||||
# and we didn't add our own boundary,
|
# and we didn't add our own boundary,
|
||||||
# we should add a boundary just for DRC in some technologies
|
# we should add a boundary just for DRC in some technologies
|
||||||
if not self.is_library_cell and not self.boundary:
|
if not self.is_library_cell and not self.bounding_box:
|
||||||
# If there is a boundary layer, and we didn't create one, add one.
|
# If there is a boundary layer, and we didn't create one, add one.
|
||||||
if "stdc" in techlayer.keys():
|
if "stdc" in techlayer.keys():
|
||||||
boundary_layer = "stdc"
|
boundary_layer = "stdc"
|
||||||
|
|
@ -1063,20 +1063,23 @@ class layout():
|
||||||
|
|
||||||
def add_boundary(self, ll=vector(0, 0), ur=None):
|
def add_boundary(self, ll=vector(0, 0), ur=None):
|
||||||
""" Add boundary for debugging dimensions """
|
""" Add boundary for debugging dimensions """
|
||||||
|
if OPTS.netlist_only:
|
||||||
|
return
|
||||||
|
|
||||||
if "stdc" in techlayer.keys():
|
if "stdc" in techlayer.keys():
|
||||||
boundary_layer = "stdc"
|
boundary_layer = "stdc"
|
||||||
else:
|
else:
|
||||||
boundary_layer = "boundary"
|
boundary_layer = "boundary"
|
||||||
if not ur:
|
if not ur:
|
||||||
self.boundary = self.add_rect(layer=boundary_layer,
|
self.bounding_box = self.add_rect(layer=boundary_layer,
|
||||||
offset=ll,
|
offset=ll,
|
||||||
height=self.height,
|
height=self.height,
|
||||||
width=self.width)
|
width=self.width)
|
||||||
else:
|
else:
|
||||||
self.boundary = self.add_rect(layer=boundary_layer,
|
self.bounding_box = self.add_rect(layer=boundary_layer,
|
||||||
offset=ll,
|
offset=ll,
|
||||||
height=ur.y-ll.y,
|
height=ur.y-ll.y,
|
||||||
width=ur.x-ll.x)
|
width=ur.x-ll.x)
|
||||||
|
|
||||||
def add_enclosure(self, insts, layer="nwell"):
|
def add_enclosure(self, insts, layer="nwell"):
|
||||||
""" Add a layer that surrounds the given instances. Useful
|
""" Add a layer that surrounds the given instances. Useful
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue