OpenROAD 0.9.0 e582f2522b
This program is licensed under the BSD-3 license. See the LICENSE file for details. 
Components of this program may be licensed under more restrictive licenses which must be honored.
Notice 0: Reading LEF file:  /project/openlane/storage/runs/storage/tmp/merged_unpadded.lef
Notice 0:     Created 13 technology layers
Notice 0:     Created 25 technology vias
Notice 0:     Created 438 library cells
Notice 0: Finished LEF file:  /project/openlane/storage/runs/storage/tmp/merged_unpadded.lef
Notice 0: 
Reading DEF file: /project/openlane/storage/runs/storage/results/placement/storage.placement.def
Notice 0: Design: storage
Notice 0:     Created 158 pins.
Notice 0:     Created 1708 components and 6386 component-terminals.
Notice 0:     Created 158 nets and 200 connections.
Notice 0: Finished DEF file: /project/openlane/storage/runs/storage/results/placement/storage.placement.def
[INFO] [PDNG-0016] Power Delivery Network Generator: Generating PDN
[INFO] [PDNG-0016]   config: /project/openlane/storage/pdn.tcl
[INFO] [PDNG-0008] Design Name is storage
[INFO] [PDNG-0009] Reading technology data
[ERROR] [PDNG-0037] Cannot find pin VPWR on instance SRAM_0 (sram_1rw1r_32_256_8_sky130)
[ERROR] [PDNG-0037] Cannot find pin VDD on instance SRAM_0 (sram_1rw1r_32_256_8_sky130)
[ERROR] [PDNG-0037] Cannot find pin VGND on instance SRAM_0 (sram_1rw1r_32_256_8_sky130)
[ERROR] [PDNG-0037] Cannot find pin VSS on instance SRAM_0 (sram_1rw1r_32_256_8_sky130)
[ERROR] [PDNG-0037] Cannot find pin VPWR on instance SRAM_1 (sram_1rw1r_32_256_8_sky130)
[ERROR] [PDNG-0037] Cannot find pin VDD on instance SRAM_1 (sram_1rw1r_32_256_8_sky130)
[ERROR] [PDNG-0037] Cannot find pin VGND on instance SRAM_1 (sram_1rw1r_32_256_8_sky130)
[ERROR] [PDNG-0037] Cannot find pin VSS on instance SRAM_1 (sram_1rw1r_32_256_8_sky130)
[INFO] [PDNG-0011] ****** INFO ******
Type: stdcell, grid
    Stdcell Rails
      Layer: met1 -  width: 0.480  pitch: 2.720  offset: 0.000 
    Straps
      Layer: met4 -  width: 1.600  pitch: 20.000  offset: 5.000 
      Layer: met5 -  width: 1.600  pitch: 50.000  offset: 16.650 
    Connect: {met1 met4} {met4 met5}
Type: macro, macro_1
    Straps
    Connect: {met4_PIN_ver met5}
[INFO] [PDNG-0012] **** END INFO ****
[INFO] [PDNG-0013] Inserting stdcell grid - grid
[WARN] [PDNG-0040] No via added at (29.72 476.49 31.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (49.72 476.49 51.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (69.72 476.49 71.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (89.72 476.49 91.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (109.72 476.49 111.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (129.72 476.49 131.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (149.72 476.49 151.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (169.72 476.49 171.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (189.72 476.49 191.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (209.72 476.49 211.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (229.72 476.49 231.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (249.72 476.49 251.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (269.72 476.49 271.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (289.72 476.49 291.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (309.72 476.49 311.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (329.72 476.49 331.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (349.72 476.49 351.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (369.72 476.49 371.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (389.72 476.49 391.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[WARN] [PDNG-0040] No via added at (409.72 476.49 411.32 477.28) because the full height of met5 (1.6) is not covered by the overlap
[INFO] [PDNG-0010] Inserting macro grid for 2 macros
[INFO] [PDNG-0034]   - grid for instance SRAM_0
[INFO] [PDNG-0034]   - grid for instance SRAM_1
[WARN] [PDNG-0040] No via added at (412.47 926.49 414.07 926.72) because the full height of met5 (1.6) is not covered by the overlap
[INFO] [PDNG-0015] Writing to database
