Debug prefixGDS.py utility script

This commit is contained in:
mrg 2021-06-22 15:53:45 -07:00
parent 8d71a98ce9
commit 8095c72fc8
2 changed files with 25 additions and 6 deletions

View File

@ -82,10 +82,29 @@ class VlsiLayout:
return coordinatesRotate
def prefixAll(self, prefix):
new_structures = {}
for name in self.structures:
if name == self.rootStructureName:
continue
self.structures[prefix + name] = self.structures[name]
if name != self.rootStructureName:
if name[-1] == "\x00":
base_name = name[0:-1]
else:
base_name = name
new_name = self.padText(prefix + base_name)
else:
new_name = name
new_structures[new_name] = self.structures[name]
new_structures[new_name].name = new_name
for sref in new_structures[new_name].srefs:
if sref.sName[-1] == "\x00":
base_sref_name = sref.sName[0:-1]
else:
base_sref_name = sref.sName
new_sref_name = self.padText(prefix + base_sref_name)
sref.sName = new_sref_name
self.structures = new_structures
def rename(self,newName):
# take the root structure and copy it to a new structure with the new name

View File

@ -11,9 +11,9 @@ if len(sys.argv) < 4:
prefix = sys.argv[1]
gds_file = sys.argv[2]
arrayCellLayout = gdsMill.VlsiLayout()
gds = gdsMill.Gds2reader(arrayCellLayout,debugToTerminal = 1)
gds.loadFromFile(gds_file)
gds = gdsMill.VlsiLayout()
reader = gdsMill.Gds2reader(gds)
reader.loadFromFile(gds_file)
gds.prefixAll(prefix)