From baf369fc966b27184046d8d475d9217971ef9a3c Mon Sep 17 00:00:00 2001 From: mrg Date: Wed, 23 Feb 2022 14:06:49 -0800 Subject: [PATCH] Convert power to rails rather than pins in sense amp and precharge --- compiler/modules/precharge_array.py | 3 ++- compiler/modules/sense_amp_array.py | 8 ++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/compiler/modules/precharge_array.py b/compiler/modules/precharge_array.py index 4ff6930e..4de5259e 100644 --- a/compiler/modules/precharge_array.py +++ b/compiler/modules/precharge_array.py @@ -93,13 +93,14 @@ class precharge_array(design.design): self.add_via_stack_center(from_layer=en_pin.layer, to_layer=self.en_bar_layer, 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)): inst = self.local_insts[i] self.copy_layout_pin(inst, "bl", "bl_{0}".format(i)) self.copy_layout_pin(inst, "br", "br_{0}".format(i)) + def create_insts(self): """Creates a precharge array by horizontally tiling the precharge cell""" self.local_insts = [] diff --git a/compiler/modules/sense_amp_array.py b/compiler/modules/sense_amp_array.py index fbfd0c5a..edda67f4 100644 --- a/compiler/modules/sense_amp_array.py +++ b/compiler/modules/sense_amp_array.py @@ -75,6 +75,8 @@ class sense_amp_array(design.design): self.width = self.local_insts[-1].rx() self.add_layout_pins() + self.route_horizontal_pin("vdd") + self.route_horizontal_pin("gnd") self.route_rails() self.add_boundary() @@ -150,12 +152,6 @@ class sense_amp_array(design.design): for i in range(len(self.local_insts)): 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()) br_pin = inst.get_pin(inst.mod.get_br_names()) dout_pin = inst.get_pin(inst.mod.dout_name)