From 43d45fba9807f7ca7ceb193daeff5f65f3e5c816 Mon Sep 17 00:00:00 2001 From: jsowash Date: Wed, 21 Aug 2019 10:44:04 -0700 Subject: [PATCH] Moved pwr/gnd pins to the right of the rail. --- compiler/modules/write_mask_and_array.py | 28 +++++++++++------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/compiler/modules/write_mask_and_array.py b/compiler/modules/write_mask_and_array.py index 75d39a94..9f896955 100644 --- a/compiler/modules/write_mask_and_array.py +++ b/compiler/modules/write_mask_and_array.py @@ -140,22 +140,20 @@ class write_mask_and_array(design.design): width=wmask_out_pin.width(), height=wmask_out_pin.height()) + for n in ["vdd", "gnd"]: + pin_list = self.and2_insts[i].get_pins(n) + for pin in pin_list: + pin_pos = pin.lc() + # Add the M1->M2 stack + self.add_via_center(layers=("metal1", "via1", "metal2"), + offset=pin_pos) + # Add the M2->M3 stack + self.add_via_center(layers=("metal2", "via2", "metal3"), + offset=pin_pos) + self.add_layout_pin_rect_center(text=n, + layer="metal3", + offset=pin_pos) - self.add_via_center(layers=("metal1", "via1", "metal2"), - offset=vector(supply_pin.width()+i*self.wmask_en_len,0)) - self.add_via_center(layers=("metal2", "via2", "metal3"), - offset=vector(supply_pin.width()+i*self.wmask_en_len,0)) - self.add_layout_pin_rect_center(text="gnd", - layer="metal3", - offset=vector(supply_pin.width()+i*self.wmask_en_len,0)) - - self.add_via_center(layers=("metal1", "via1", "metal2"), - offset=vector(supply_pin.width()+i*self.wmask_en_len, self.height)) - self.add_via_center(layers=("metal2", "via2", "metal3"), - offset=vector(supply_pin.width()+i*self.wmask_en_len, self.height)) - self.add_layout_pin_rect_center(text="vdd", - layer="metal3", - offset=vector(supply_pin.width()+i*self.wmask_en_len, self.height)) def en_width(self, pin): en_pin = self.and2_insts[pin].get_pin("B")