From 8095c72fc8c6c0cb118a61d254c3c8f0affb5a44 Mon Sep 17 00:00:00 2001 From: mrg Date: Tue, 22 Jun 2021 15:53:45 -0700 Subject: [PATCH] Debug prefixGDS.py utility script --- compiler/gdsMill/gdsMill/vlsiLayout.py | 25 ++++++++++++++++++++++--- compiler/prefixGDS.py | 6 +++--- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/compiler/gdsMill/gdsMill/vlsiLayout.py b/compiler/gdsMill/gdsMill/vlsiLayout.py index 5fa8f556..8e53f74c 100644 --- a/compiler/gdsMill/gdsMill/vlsiLayout.py +++ b/compiler/gdsMill/gdsMill/vlsiLayout.py @@ -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 diff --git a/compiler/prefixGDS.py b/compiler/prefixGDS.py index 5940886e..dac063c8 100755 --- a/compiler/prefixGDS.py +++ b/compiler/prefixGDS.py @@ -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)