mirror of https://github.com/VLSIDA/OpenRAM.git
Convert power to rails rather than pins in sense amp and precharge
This commit is contained in:
parent
d4c14d7d19
commit
baf369fc96
|
|
@ -93,13 +93,14 @@ class precharge_array(design.design):
|
||||||
self.add_via_stack_center(from_layer=en_pin.layer,
|
self.add_via_stack_center(from_layer=en_pin.layer,
|
||||||
to_layer=self.en_bar_layer,
|
to_layer=self.en_bar_layer,
|
||||||
offset=inst.get_pin("en_bar").center())
|
offset=inst.get_pin("en_bar").center())
|
||||||
self.copy_layout_pin(inst, "vdd")
|
self.route_horizontal_pin("vdd")
|
||||||
|
|
||||||
for i in range(len(self.local_insts)):
|
for i in range(len(self.local_insts)):
|
||||||
inst = self.local_insts[i]
|
inst = self.local_insts[i]
|
||||||
self.copy_layout_pin(inst, "bl", "bl_{0}".format(i))
|
self.copy_layout_pin(inst, "bl", "bl_{0}".format(i))
|
||||||
self.copy_layout_pin(inst, "br", "br_{0}".format(i))
|
self.copy_layout_pin(inst, "br", "br_{0}".format(i))
|
||||||
|
|
||||||
|
|
||||||
def create_insts(self):
|
def create_insts(self):
|
||||||
"""Creates a precharge array by horizontally tiling the precharge cell"""
|
"""Creates a precharge array by horizontally tiling the precharge cell"""
|
||||||
self.local_insts = []
|
self.local_insts = []
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,8 @@ class sense_amp_array(design.design):
|
||||||
self.width = self.local_insts[-1].rx()
|
self.width = self.local_insts[-1].rx()
|
||||||
|
|
||||||
self.add_layout_pins()
|
self.add_layout_pins()
|
||||||
|
self.route_horizontal_pin("vdd")
|
||||||
|
self.route_horizontal_pin("gnd")
|
||||||
self.route_rails()
|
self.route_rails()
|
||||||
|
|
||||||
self.add_boundary()
|
self.add_boundary()
|
||||||
|
|
@ -150,12 +152,6 @@ class sense_amp_array(design.design):
|
||||||
for i in range(len(self.local_insts)):
|
for i in range(len(self.local_insts)):
|
||||||
inst = self.local_insts[i]
|
inst = self.local_insts[i]
|
||||||
|
|
||||||
for gnd_pin in inst.get_pins("gnd"):
|
|
||||||
self.copy_power_pin(gnd_pin)
|
|
||||||
|
|
||||||
for vdd_pin in inst.get_pins("vdd"):
|
|
||||||
self.copy_power_pin(vdd_pin)
|
|
||||||
|
|
||||||
bl_pin = inst.get_pin(inst.mod.get_bl_names())
|
bl_pin = inst.get_pin(inst.mod.get_bl_names())
|
||||||
br_pin = inst.get_pin(inst.mod.get_br_names())
|
br_pin = inst.get_pin(inst.mod.get_br_names())
|
||||||
dout_pin = inst.get_pin(inst.mod.dout_name)
|
dout_pin = inst.get_pin(inst.mod.dout_name)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue