From 98250cf1158f160eb0af095830936cddd6252c0e Mon Sep 17 00:00:00 2001 From: mrg Date: Mon, 21 Dec 2020 13:47:05 -0800 Subject: [PATCH] Copy pins as rects before removing them. --- compiler/sram/sram_base.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/compiler/sram/sram_base.py b/compiler/sram/sram_base.py index 76acbf0b..490d01df 100644 --- a/compiler/sram/sram_base.py +++ b/compiler/sram/sram_base.py @@ -245,10 +245,19 @@ class sram_base(design, verilog, lef): rtr=router(grid_stack, self) rtr.route() - vdd_pin = rtr.get_pin("vdd") - gnd_pin = rtr.get_pin("gnd") - for pin_name, pin in [("vdd", vdd_pin), ("gnd", gnd_pin)]: + # Find the lowest leftest pin for vdd and gnd + for pin_name in ["vdd", "gnd"]: + # Copy the pin shape to rectangles + for pin in self.get_pins(pin_name): + self.add_rect(pin.layer, + pin.ll(), + pin.width(), + pin.height()) + # Remove the pins self.remove_layout_pin(pin_name) + + pin = rtr.get_pin(pin_name) + self.add_layout_pin(pin_name, pin.layer, pin.ll(),