mirror of https://github.com/VLSIDA/OpenRAM.git
Fix sky130 1rw LVS mismatch by correcting col_cap pin order
This commit is contained in:
parent
ea15a81443
commit
ec28bc6dfd
|
|
@ -100,14 +100,15 @@ class sky130_bitcell_base_array(bitcell_base_array):
|
||||||
strap_pins = []
|
strap_pins = []
|
||||||
for port in self.all_ports:
|
for port in self.all_ports:
|
||||||
strap_pins.extend([x for x in self.get_bitline_names(port) if "bl" in x and x.endswith("_{0}".format(col))])
|
strap_pins.extend([x for x in self.get_bitline_names(port) if "bl" in x and x.endswith("_{0}".format(col))])
|
||||||
strap_pins.extend(["vdd", "gnd"])
|
|
||||||
for port in self.all_ports:
|
for port in self.all_ports:
|
||||||
strap_pins.extend([x for x in self.get_bitline_names(port) if "br" in x and x.endswith("_{0}".format(col))])
|
strap_pins.extend([x for x in self.get_bitline_names(port) if "br" in x and x.endswith("_{0}".format(col))])
|
||||||
|
# col_cap_1port_bitcell port order:
|
||||||
|
# [bl, br, vdd, gnd, vpb, vnb, gate]
|
||||||
|
strap_pins.extend(["vdd", "gnd", "vdd", "gnd"])
|
||||||
if row == 0:
|
if row == 0:
|
||||||
strap_pins.extend(["top_gate"])
|
strap_pins.append("top_gate")
|
||||||
else:
|
else:
|
||||||
strap_pins.extend(["bot_gate"])
|
strap_pins.append("bot_gate")
|
||||||
strap_pins.extend(["vdd", "gnd"])
|
|
||||||
return strap_pins
|
return strap_pins
|
||||||
|
|
||||||
def get_row_cap_pins(self, row, col):
|
def get_row_cap_pins(self, row, col):
|
||||||
|
|
|
||||||
|
|
@ -75,12 +75,12 @@ class sky130_col_cap_array(sky130_bitcell_base_array):
|
||||||
row_layout.append(self.colend1)
|
row_layout.append(self.colend1)
|
||||||
self.cell_inst[col]=self.add_inst(name=name, mod=self.colend1)
|
self.cell_inst[col]=self.add_inst(name=name, mod=self.colend1)
|
||||||
pins.append("fake_bl_{}".format(bitline))
|
pins.append("fake_bl_{}".format(bitline))
|
||||||
pins.append("vdd")
|
|
||||||
pins.append("gnd")
|
|
||||||
pins.append("fake_br_{}".format(bitline))
|
pins.append("fake_br_{}".format(bitline))
|
||||||
pins.append("gate")
|
|
||||||
pins.append("vdd")
|
pins.append("vdd")
|
||||||
pins.append("gnd")
|
pins.append("gnd")
|
||||||
|
pins.append("vdd")
|
||||||
|
pins.append("gnd")
|
||||||
|
pins.append("gate")
|
||||||
bitline += 1
|
bitline += 1
|
||||||
elif col % 4 == 1:
|
elif col % 4 == 1:
|
||||||
row_layout.append(self.colend2)
|
row_layout.append(self.colend2)
|
||||||
|
|
@ -92,12 +92,12 @@ class sky130_col_cap_array(sky130_bitcell_base_array):
|
||||||
row_layout.append(self.colend1)
|
row_layout.append(self.colend1)
|
||||||
self.cell_inst[col]=self.add_inst(name=name, mod=self.colend1)
|
self.cell_inst[col]=self.add_inst(name=name, mod=self.colend1)
|
||||||
pins.append("fake_bl_{}".format(bitline))
|
pins.append("fake_bl_{}".format(bitline))
|
||||||
pins.append("vdd")
|
|
||||||
pins.append("gnd")
|
|
||||||
pins.append("fake_br_{}".format(bitline))
|
pins.append("fake_br_{}".format(bitline))
|
||||||
pins.append("gate")
|
|
||||||
pins.append("vdd")
|
pins.append("vdd")
|
||||||
pins.append("gnd")
|
pins.append("gnd")
|
||||||
|
pins.append("vdd")
|
||||||
|
pins.append("gnd")
|
||||||
|
pins.append("gate")
|
||||||
bitline += 1
|
bitline += 1
|
||||||
elif col % 4 ==3:
|
elif col % 4 ==3:
|
||||||
row_layout.append(self.colend2)
|
row_layout.append(self.colend2)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue