|
| 1 | +#################################### |
| 2 | +# global connections |
| 3 | +#################################### |
| 4 | +add_global_connection -net {VDD} -inst_pattern {.*} -pin_pattern {^VDD$} -power |
| 5 | +add_global_connection -net {VSS} -inst_pattern {.*} -pin_pattern {^VSS$} -ground |
| 6 | + |
| 7 | +#################################### |
| 8 | +# voltage domains |
| 9 | +#################################### |
| 10 | +set_voltage_domain -name {CORE} -power {VDD} -ground {VSS} |
| 11 | + |
| 12 | +#################################### |
| 13 | +# standard cell grid |
| 14 | +#################################### |
| 15 | +define_pdn_grid -name {top} -voltage_domains {CORE} |
| 16 | +add_pdn_stripe -grid {top} -layer {M1} -width {0.018} -pitch {0.54} -offset {0} -followpins |
| 17 | +add_pdn_stripe -grid {top} -layer {M2} -width {0.018} -pitch {0.54} -offset {0} -followpins |
| 18 | + |
| 19 | +add_pdn_ring -grid {top} -layers {M6 M7} -widths {0.544 0.544} -spacings {0.5 0.5} -core_offset {0.144 0.144} |
| 20 | +add_pdn_ring -grid {top} -layers {M8 M9} -widths {0.544 0.544} -spacings {0.5 0.5} -core_offset {0.144 0.144} |
| 21 | + |
| 22 | +add_pdn_stripe -grid {top} -layer {M5} -width {0.12} -spacing {0.072} -pitch {2.16} -offset {1.080} -extend_to_core_ring |
| 23 | +add_pdn_stripe -grid {top} -layer {M6} -width {0.16} -spacing {0.072} -pitch {2.16} -offset {1.080} -extend_to_core_ring |
| 24 | + |
| 25 | +add_pdn_stripe -grid {top} -layer {M7} -width {0.288} -spacing {0.072} -pitch {4.32} -offset {3.156} -extend_to_core_ring |
| 26 | +add_pdn_stripe -grid {top} -layer {M8} -width {0.400} -spacing {0.072} -pitch {4.32} -offset {3.12} -extend_to_core_ring |
| 27 | +add_pdn_stripe -grid {top} -layer {M9} -width {0.400} -spacing {0.072} -pitch {4.32} -offset {3.100} -extend_to_core_ring |
| 28 | + |
| 29 | +add_pdn_connect -grid {top} -layers {M1 M2} |
| 30 | +add_pdn_connect -grid {top} -layers {M2 M5} |
| 31 | +add_pdn_connect -grid {top} -layers {M5 M6} |
| 32 | +add_pdn_connect -grid {top} -layers {M6 M7} |
| 33 | +add_pdn_connect -grid {top} -layers {M7 M8} |
| 34 | +add_pdn_connect -grid {top} -layers {M8 M9} |
| 35 | + |
| 36 | +#################################### |
| 37 | +# macro grid |
| 38 | +# fakeram_256x128 |
| 39 | +# fakeram_256x64 |
| 40 | +# fakeram_64x20 |
| 41 | +# fakeram_64x22 |
| 42 | +# fakeregfile_128x64 |
| 43 | +# fakeregfile_32x46 |
| 44 | +# fakeregfile_64x64 |
| 45 | +#################################### |
| 46 | +#define_pdn_grid -name {CORE_macro_grid_1} -voltage_domains {CORE} -macro -orient {R0 R180 MX MY} -cells {.*} |
| 47 | +#add_pdn_connect -grid {CORE_macro_grid_1} -layers {M4 M5} |
| 48 | +# |
| 49 | +# |
| 50 | +# The halo around the macro prevents pdn from blocking pin access |
| 51 | +define_pdn_grid -name {fakeram} -macro -cells {fake.*} -halo "3.0 3.0 3.0 3.0" -voltage_domains {CORE} |
| 52 | +add_pdn_connect -grid {fakeram} -layers {M4 M5} |
| 53 | + |
| 54 | + |
0 commit comments