fix bl routing in rba

This commit is contained in:
Jesse Cirimelli-Low 2022-05-19 21:45:48 -07:00
parent b75856fac9
commit 172d070880
2 changed files with 8 additions and 8 deletions

View File

@ -167,8 +167,8 @@ class sky130_bitcell_base_array(bitcell_base_array):
for port in self.all_ports: for port in self.all_ports:
bl_pin = self.cell_inst[0, col].get_pin(bitline_names[2 * port]) bl_pin = self.cell_inst[0, col].get_pin(bitline_names[2 * port])
text = "bl_{0}_{1}".format(port, col) text = "bl_{0}_{1}".format(port, col)
if "Y" in self.cell_inst[0, col].mirror: #if "Y" in self.cell_inst[0, col].mirror:
text = text.replace("bl", "br") # text = text.replace("bl", "br")
self.add_layout_pin(text=text, self.add_layout_pin(text=text,
layer=bl_pin.layer, layer=bl_pin.layer,
offset=bl_pin.ll().scale(1, 0), offset=bl_pin.ll().scale(1, 0),
@ -176,8 +176,8 @@ class sky130_bitcell_base_array(bitcell_base_array):
height=self.height) height=self.height)
br_pin = self.cell_inst[0, col].get_pin(bitline_names[2 * port + 1]) br_pin = self.cell_inst[0, col].get_pin(bitline_names[2 * port + 1])
text = "br_{0}_{1}".format(port, col) text = "br_{0}_{1}".format(port, col)
if "Y" in self.cell_inst[0, col].mirror: #if "Y" in self.cell_inst[0, col].mirror:
text = text.replace("br", "bl") # text = text.replace("br", "bl")
self.add_layout_pin(text=text, self.add_layout_pin(text=text,
layer=br_pin.layer, layer=br_pin.layer,
offset=br_pin.ll().scale(1, 0), offset=br_pin.ll().scale(1, 0),

View File

@ -325,16 +325,16 @@ class sky130_replica_bitcell_array(replica_bitcell_array, sky130_bitcell_base_ar
for (bl_name, pin_name) in zip(names, pin_names): for (bl_name, pin_name) in zip(names, pin_names):
pin = inst.get_pin(pin_name) pin = inst.get_pin(pin_name)
if 'rbl_bl' in bl_name: if 'rbl_bl' in bl_name:
if mirror != "MY": # if mirror != "MY":
bl_name = bl_name.replace("rbl_bl","rbl_br") # bl_name = bl_name.replace("rbl_bl","rbl_br")
self.add_layout_pin(text=bl_name, self.add_layout_pin(text=bl_name,
layer=pin.layer, layer=pin.layer,
offset=pin.ll().scale(1, 0), offset=pin.ll().scale(1, 0),
width=pin.width(), width=pin.width(),
height=self.height) height=self.height)
elif 'rbl_br' in bl_name: elif 'rbl_br' in bl_name:
if mirror != "MY": # if mirror != "MY":
bl_name = bl_name.replace("rbl_br","rbl_bl") # bl_name = bl_name.replace("rbl_br","rbl_bl")
self.add_layout_pin(text=bl_name, self.add_layout_pin(text=bl_name,
layer=pin.layer, layer=pin.layer,
offset=pin.ll().scale(1, 0) + vector(0,(pin_height + drc_width*2)), offset=pin.ll().scale(1, 0) + vector(0,(pin_height + drc_width*2)),