Get vdd/gnd from properties if it is defined.

This commit is contained in:
mrg 2020-11-16 10:14:37 -08:00
parent 7512aa6e70
commit 93e94e26ec
5 changed files with 10 additions and 6 deletions

View File

@ -40,8 +40,6 @@ class hierarchy_design(hierarchy_spice.spice, hierarchy_layout.layout):
self.drc_errors = "skipped" self.drc_errors = "skipped"
self.lvs_errors = "skipped" self.lvs_errors = "skipped"
self.name = name
self.cell_name = cell_name
hierarchy_spice.spice.__init__(self, name, cell_name) hierarchy_spice.spice.__init__(self, name, cell_name)
hierarchy_layout.layout.__init__(self, name, cell_name) hierarchy_layout.layout.__init__(self, name, cell_name)
self.init_graph_params() self.init_graph_params()

View File

@ -32,8 +32,10 @@ class layout():
""" """
def __init__(self, name, cell_name): def __init__(self, name, cell_name):
# This gets set in both spice and layout so either can be called first.
self.name = name self.name = name
self.cell_name = cell_name self.cell_name = cell_name
self.width = None self.width = None
self.height = None self.height = None
self.bounding_box = None self.bounding_box = None
@ -43,6 +45,7 @@ class layout():
self.pin_map = {} # Holds name->pin_layout map for all pins self.pin_map = {} # Holds name->pin_layout map for all pins
self.visited = [] # List of modules we have already visited self.visited = [] # List of modules we have already visited
self.is_library_cell = False # Flag for library cells self.is_library_cell = False # Flag for library cells
self.gds_read() self.gds_read()
try: try:

View File

@ -28,6 +28,7 @@ class spice():
""" """
def __init__(self, name, cell_name): def __init__(self, name, cell_name):
# This gets set in both spice and layout so either can be called first.
self.name = name self.name = name
self.cell_name = cell_name self.cell_name = cell_name
@ -78,7 +79,6 @@ class spice():
""" Adds a pin_list to the pins list """ """ Adds a pin_list to the pins list """
# The type list can be a single type for all pins # The type list can be a single type for all pins
# or a list that is the same length as the pin list. # or a list that is the same length as the pin list.
if type(pin_type)==str: if type(pin_type)==str:
for pin in pin_list: for pin in pin_list:
debug.check(pin_type in self.valid_signal_types, debug.check(pin_type in self.valid_signal_types,

View File

@ -26,6 +26,9 @@ class bitcell_base(design.design):
self.nets_match = self.do_nets_exist(prop.storage_nets) self.nets_match = self.do_nets_exist(prop.storage_nets)
self.mirror = prop.mirror self.mirror = prop.mirror
self.end_caps = prop.end_caps self.end_caps = prop.end_caps
self.supplies = [prop.pin.vdd, prop.pin.gnd]
else:
self.supplies = ["vdd", "gnd"]
def get_stage_effort(self, load): def get_stage_effort(self, load):
parasitic_delay = 1 parasitic_delay = 1

View File

@ -35,10 +35,10 @@ class bitcell_base_array(design.design):
self.rbl_wordline_names = [[] for port in self.all_ports] self.rbl_wordline_names = [[] for port in self.all_ports]
self.all_rbl_wordline_names = [] self.all_rbl_wordline_names = []
# The supply pin namesn # The supply pin names
self.bitcell_supplies = ["vdd", "gnd"] self.bitcell_supplies = self.cell.supplies
# If the technology needs renaming of the supplies # If the technology needs renaming of the supplies
self.supplies = self.bitcell_supplies self.supplies = ["vdd", "gnd"]
def create_all_bitline_names(self): def create_all_bitline_names(self):
for col in range(self.column_size): for col in range(self.column_size):