fix bias correspondence points

This commit is contained in:
Jesse Cirimelli-Low 2021-06-30 05:21:39 -07:00
parent bcc956ecdc
commit c9b3f4772e
3 changed files with 26 additions and 10 deletions

View File

@ -45,9 +45,19 @@ class pin_layout:
if self.same_lpp(layer_name_pp, lpp):
self._layer = layer_name
break
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._recompute_hash()

View File

@ -158,6 +158,12 @@ def get_gds_pins(pin_names, name, gds_filename, units):
# this is a list because other cells/designs
# may have must-connect pins
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)
cell[str(pin_name)].append(pin_layout(pin_name, rect, lpp))

View File

@ -761,22 +761,22 @@ class VlsiLayout:
label_coordinate = label.coordinates[0]
user_coordinate = [x*self.units[0] for x in label_coordinate]
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:
from tech import layer_override
if layer_override[label.textString]:
shapes = self.getAllShapes((layer_override[label.textString], None))
if layer_override[label_text]:
shapes = self.getAllShapes((layer_override[label_text][0], None))
lpp = layer_override[label_text]
except:
pass
for boundary in shapes:
if self.labelInRectangle(user_coordinate, 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:
self.pins[label_text]
except KeyError: