From 451ef4d8965e54131add58b62ede96a75f5061f4 Mon Sep 17 00:00:00 2001 From: Bastian Koppelmann Date: Wed, 18 Dec 2019 11:58:04 +0100 Subject: [PATCH] sram_factory: Allow a prefered module name Signed-off-by: Bastian Koppelmann --- compiler/sram_factory.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/compiler/sram_factory.py b/compiler/sram_factory.py index 6bb3578c..f323fbdc 100644 --- a/compiler/sram_factory.py +++ b/compiler/sram_factory.py @@ -31,7 +31,7 @@ class sram_factory: """ self.__init__() - def create(self, module_type, **kwargs): + def create(self, module_type, module_name=None, **kwargs): """ A generic function to create a module with a given module_type. The args are passed directly to the module constructor. @@ -72,16 +72,18 @@ class sram_factory: if obj_kwargs == kwargs: return obj_item - # Use the default name if there are default arguments - # This is especially for library cells so that the - # spice and gds files can be found. - if len(kwargs) > 0: - # Create a unique name and increment the index - module_name = "{0}_{1}".format(real_module_type, - self.module_indices[real_module_type]) - self.module_indices[real_module_type] += 1 - else: - module_name = real_module_type + # If no prefered module name is provided, we generate one. + if module_name is None: + # Use the default name if there are default arguments + # This is especially for library cells so that the + # spice and gds files can be found. + if len(kwargs) > 0: + # Create a unique name and increment the index + module_name = "{0}_{1}".format(real_module_type, + self.module_indices[real_module_type]) + self.module_indices[real_module_type] += 1 + else: + module_name = real_module_type # type_str = "type={}".format(real_module_type) # name_str = "name={}".format(module_name)