mirror of https://github.com/VLSIDA/OpenRAM.git
fix bias correspondence points
This commit is contained in:
parent
bcc956ecdc
commit
c9b3f4772e
|
|
@ -45,9 +45,19 @@ class pin_layout:
|
||||||
if self.same_lpp(layer_name_pp, lpp):
|
if self.same_lpp(layer_name_pp, lpp):
|
||||||
self._layer = layer_name
|
self._layer = layer_name
|
||||||
break
|
break
|
||||||
|
|
||||||
else:
|
else:
|
||||||
debug.error("Layer {} is not a valid routing layer in the tech file.".format(layer_name_pp), -1)
|
try:
|
||||||
|
from tech import layer_override
|
||||||
|
from tech import layer_override_name
|
||||||
|
if layer_override[name]:
|
||||||
|
self.lpp = layer_override[name]
|
||||||
|
self.layer = "m1"
|
||||||
|
self._recompute_hash()
|
||||||
|
return
|
||||||
|
except:
|
||||||
|
debug.error("Layer {} is not a valid routing layer in the tech file.".format(layer_name_pp), -1)
|
||||||
|
|
||||||
self.lpp = layer[self.layer]
|
self.lpp = layer[self.layer]
|
||||||
self._recompute_hash()
|
self._recompute_hash()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,12 @@ def get_gds_pins(pin_names, name, gds_filename, units):
|
||||||
# this is a list because other cells/designs
|
# this is a list because other cells/designs
|
||||||
# may have must-connect pins
|
# may have must-connect pins
|
||||||
if isinstance(lpp[1], list):
|
if isinstance(lpp[1], list):
|
||||||
|
try:
|
||||||
|
from tech import layer_override
|
||||||
|
if layer_override[pin_name]:
|
||||||
|
lpp = layer_override[pin_name.textString]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
lpp = (lpp[0], None)
|
lpp = (lpp[0], None)
|
||||||
cell[str(pin_name)].append(pin_layout(pin_name, rect, lpp))
|
cell[str(pin_name)].append(pin_layout(pin_name, rect, lpp))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -761,22 +761,22 @@ class VlsiLayout:
|
||||||
label_coordinate = label.coordinates[0]
|
label_coordinate = label.coordinates[0]
|
||||||
user_coordinate = [x*self.units[0] for x in label_coordinate]
|
user_coordinate = [x*self.units[0] for x in label_coordinate]
|
||||||
pin_shapes = []
|
pin_shapes = []
|
||||||
|
# Remove the padding if it exists
|
||||||
|
if label.textString[-1] == "\x00":
|
||||||
|
label_text = label.textString[0:-1]
|
||||||
|
else:
|
||||||
|
label_text = label.textString
|
||||||
try:
|
try:
|
||||||
from tech import layer_override
|
from tech import layer_override
|
||||||
if layer_override[label.textString]:
|
if layer_override[label_text]:
|
||||||
shapes = self.getAllShapes((layer_override[label.textString], None))
|
shapes = self.getAllShapes((layer_override[label_text][0], None))
|
||||||
|
lpp = layer_override[label_text]
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
for boundary in shapes:
|
for boundary in shapes:
|
||||||
if self.labelInRectangle(user_coordinate, boundary):
|
if self.labelInRectangle(user_coordinate, boundary):
|
||||||
pin_shapes.append((lpp, boundary))
|
pin_shapes.append((lpp, boundary))
|
||||||
|
|
||||||
label_text = label.textString
|
|
||||||
|
|
||||||
# Remove the padding if it exists
|
|
||||||
if label_text[-1] == "\x00":
|
|
||||||
label_text = label_text[0:-1]
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.pins[label_text]
|
self.pins[label_text]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue