Only add pins to periphery

This commit is contained in:
mrg 2020-06-29 10:03:24 -07:00
parent 5f3a45b91b
commit 1bc0775810
2 changed files with 6 additions and 17 deletions

View File

@ -378,16 +378,10 @@ class replica_bitcell_array(design.design):
width=pin.width(),
height=self.height)
# For specific technologies, there is no vdd via within the bitcell. Instead vdd is connect via end caps.
try:
if cell_properties.bitcell.end_caps_enabled:
supply_insts = [self.dummy_col_left_inst, self.dummy_col_right_inst,
self.dummy_row_top_inst, self.dummy_row_bot_inst] + list(self.replica_col_inst.values())
else:
supply_insts = self.insts
except AttributeError:
supply_insts = self.insts
# vdd/gnd are only connected in the perimeter cells
# replica column should only have a vdd/gnd in the dummy cell on top/bottom
supply_insts = [self.dummy_col_left_inst, self.dummy_col_right_inst,
self.dummy_row_top_inst, self.dummy_row_bot_inst] + list(self.replica_col_inst.values())
for pin_name in ["vdd", "gnd"]:
for inst in supply_insts:
pin_list = inst.get_pins(pin_name)

View File

@ -183,13 +183,8 @@ class replica_column(design.design):
width=self.width,
height=wl_pin.height())
# For specific technologies, there is no vdd via within the bitcell. Instead vdd is connect via end caps.
if end_caps_enabled:
supply_insts = [self.cell_inst[0], self.cell_inst[self.total_size - 1]]
else:
supply_insts = self.cell_inst.values()
for inst in supply_insts:
# Supplies are only connected in the ends
for inst in [self.cell_inst[0], self.cell_inst[self.total_size - 1]]:
for pin_name in ["vdd", "gnd"]:
if pin_name in inst.mod.pins:
self.copy_layout_pin(inst, pin_name)