1source "helpers.tcl" 2 3read_lef NangateOpenCellLibrary.mod.lef 4read_lef dummy_pads.lef 5 6read_liberty dummy_pads.lib 7 8 9# Load library defintions 10define_pad_cell \ 11 -name PAD \ 12 -orient {bottom R0 right R90 top R180 left R270} \ 13 -bondpad \ 14 -pad_pin_name PAD 15 16catch {define_pad_cell \ 17 -name PADCELL_SIG \ 18 type sig \ 19 -cell_name {top PADCELL_SIG_V bottom PADCELL_SIG_V left PADCELL_SIG_H right PADCELL_SIG_H} \ 20 -orient {bottom R0 right R90 top R180 left R270} \ 21 -pad_pin_name PAD 22} 23 24define_pad_cell \ 25 -name PADCELL_SIG \ 26 -type sig \ 27 -cell_name {top PADCELL_SIG_V bottom PADCELL_SIG_V left PADCELL_SIG_H right PADCELL_SIG_H} \ 28 -orient {bottom R0 right R90 top R180 left R270} \ 29 -pad_pin_name PAD 30 31define_pad_cell \ 32 -name PADCELL_VDD \ 33 -type vdd \ 34 -cell_name {top PADCELL_VDD_V bottom PADCELL_VDD_V left PADCELL_VDD_H right PADCELL_VDD_H} \ 35 -orient {bottom R0 right R90 top R180 left R270} \ 36 -pad_pin_name VDD 37 38define_pad_cell \ 39 -name PADCELL_VSS \ 40 -type vss \ 41 -cell_name {top PADCELL_VSS_V bottom PADCELL_VSS_V left PADCELL_VSS_H right PADCELL_VSS_H} \ 42 -orient {bottom R0 right R90 top R180 left R270} \ 43 -pad_pin_name VSS 44 45define_pad_cell \ 46 -name PADCELL_VDDIO \ 47 -type vddio \ 48 -cell_name {top PADCELL_VDDIO_V bottom PADCELL_VDDIO_V left PADCELL_VDDIO_H right PADCELL_VDDIO_H} \ 49 -orient {bottom R0 right R90 top R180 left R270} \ 50 -pad_pin_name DVDD 51 52define_pad_cell \ 53 -name PADCELL_VSSIO \ 54 -type vssio \ 55 -cell_name {top PADCELL_VSSIO_V bottom PADCELL_VSSIO_V left PADCELL_VSSIO_H right PADCELL_VSSIO_H} \ 56 -orient {bottom R0 right R90 top R180 left R270} \ 57 -pad_pin_name DVSS 58 59define_pad_cell \ 60 -name PADCELL_CBRK \ 61 -type cbk \ 62 -cell_name {bottom PADCELL_CBRK_V right PADCELL_CBRK_H top PADCELL_CBRK_V left PADCELL_CBRK_H} \ 63 -orient {bottom R0 right R90 top R180 left R270} \ 64 -break_signals {RETN {RETNA RETNB} SNS {SNSA SNSB}} \ 65 -physical_only 66 67define_pad_cell \ 68 -name PADCELL_PWRDET \ 69 -type pdt \ 70 -cell_name {bottom PADCELL_PWRDET_V right PADCELL_PWRDET_H top PADCELL_PWRDET_V left PADCELL_PWRDET_H} \ 71 -orient {bottom R0 right R90 top R180 left R270} \ 72 -physical_only 73 74define_pad_cell \ 75 -name PADCELL_FBRK \ 76 -type fbk \ 77 -cell_name {bottom PADCELL_FBRK_V right PADCELL_FBRK_H top PADCELL_FBRK_V left PADCELL_FBRK_H} \ 78 -orient {bottom R0 right R90 top R180 left R270} \ 79 -break_signals {RETN {RETNA RETNB} SNS {SNSA SNSB} DVDD {DVDDA DVDDB} DVSS {DVSSA DVSSB}} \ 80 -physical_only 81 82define_pad_cell \ 83 -name PAD_FILL5 \ 84 -fill \ 85 -cell_name {bottom PAD_FILL5_V right PAD_FILL5_H top PAD_FILL5_V left PAD_FILL5_H} \ 86 -orient {bottom R0 right MY top R180 left MX} \ 87 -physical_only 88 89define_pad_cell \ 90 -name PAD_FILL1 \ 91 -fill \ 92 -cell_name {bottom PAD_FILL1_V right PAD_FILL1_H top PAD_FILL1_V left PAD_FILL1_H} \ 93 -orient {bottom R0 right MY top R180 left MX} \ 94 -physical_only 95 96define_pad_cell \ 97 -name PAD_CORNER \ 98 -corner \ 99 -orient {ll R0 lr R90 ur R180 ul R270} \ 100 -physical_only 101 102define_pad_cell \ 103 -name DUMMY_BUMP \ 104 -bump \ 105 -physical_only 106 107# Test help messages 108help define_pad_cell 109help set_bump_options 110help set_padring_options 111help place_cell 112help add_pad 113help initialize_padring 114 115read_verilog soc_bsg_black_parrot_nangate45/soc_bsg_black_parrot.v 116 117link_design soc_bsg_black_parrot 118 119catch {set_padring_options -type Wirebond -power_nets {VDD DVDD_0 DVDD_1} -ground_nets {VSS DVSS_0 DVSS_1} -offsets 35 -pin_layer metal10 -pad_inst_pattern "%s"} 120catch {set_padring_options -type Wirebond -offsets {35 36 37} -pin_layer metal10 -pad_inst_pattern "%s"} 121 122catch {set_padring_options \ 123 -type wirebond \ 124 -power {VDD DVDD_0 DVDD_1} \ 125 -ground {VSS DVSS_0 DVSS_1} \ 126 offsets 35 \ 127 -pin_layer metal10 \ 128 -pad_inst_pattern "%s" \ 129 -pad_pin_pattern "p_%s" \ 130 -connect_by_abutment {SNS RETN DVDD DVSS} 131} 132 133set_padring_options \ 134 -type wirebond \ 135 -power {VDD DVDD_0 DVDD_1} \ 136 -ground {VSS DVSS_0 DVSS_1} \ 137 -offsets 35 \ 138 -pin_layer metal10 \ 139 -pad_inst_pattern "%s" \ 140 -connect_by_abutment {SNS RETN DVDD DVSS} 141 142place_cell -cell MARKER -inst_name u_marker_0 -origin {1197.5 1199.3} -orient R0 -status FIRM 143 144puts "Trigger errors" 145# Trigger errors 146catch {add_pad -edge other -signal p_ddr_dm_1_o -type sig -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 147catch {add_pad -edge bottom -signal dr_dm_1_o -type sig -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 148catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sign -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 149catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location somewhere -bondpad {centre {x 292.000 y 63.293}}} 150catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre} -bondpad {centre {x 292.000 y 63.293}}} 151catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {origin} -bondpad {centre {x 292.000 y 63.293}}} 152catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {292.000 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 153catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {X 292.000 Y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 154catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {x 292.000 Y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 155catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {X 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 156catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}} -bump not_allowed_for_wirebond} 157catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {origin} -bondpad {centre {x 292.000 y 63.293}}} 158catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {origin {292.000 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 159catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {origin {X 292.000 Y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 160catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {x 292.000 Y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 161catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {X 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 162catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {x 292.000 y 105.000} orient no} -bondpad {centre {x 292.000 y 63.293}}} 163catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -cell SIG -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 164catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -cell PADCELL_VDD -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 165catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -cell PADCELL_SIG -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 166 167puts "This one is correct" 168add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -cell PADCELL_SIG_V -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}} 169 170puts "Detect duplicates" 171catch {add_pad -edge bottom -signal p_ddr_dm_1_o -type sig -location {centre {x 292.000 y 105.000}} -bondpad {centre {x 292.000 y 63.293}}} 172catch {add_pad -edge bottom -signal p_ddr_dqs_n_1_io -type sig -location {centre {x 362.000 y 105.000}} bondpad {centre {x 362.000 y 63.293}}} 173 174puts "No more errors expected" 175 176# Define the same padring for soc_bsg_black_parrot_nangate45 using TCL commands, rather than strategy file. 177# 178add_pad -edge bottom -signal p_ddr_dqs_n_1_io -type sig -location {centre {x 362.000 y 105.000}} -bondpad {centre {x 362.000 y 63.293}} 179add_pad -edge bottom -signal p_ddr_dqs_p_1_io -type sig -location {centre {x 432.000 y 105.000}} -bondpad {centre {x 432.000 y 63.293}} 180add_pad -edge bottom -signal p_ddr_ba_2_o -type sig -location {centre {x 502.000 y 105.000}} -bondpad {centre {x 502.000 y 63.293}} 181add_pad -edge bottom -signal p_ddr_ba_1_o -type sig -location {centre {x 607.000 y 105.000}} -bondpad {centre {x 607.000 y 63.293}} 182add_pad -edge bottom -signal p_ddr_ba_0_o -type sig -location {centre {x 677.000 y 105.000}} -bondpad {centre {x 677.000 y 63.293}} 183add_pad -edge bottom -signal p_ddr_addr_15_o -type sig -location {centre {x 747.000 y 105.000}} -bondpad {centre {x 747.000 y 63.293}} 184add_pad -edge bottom -signal p_ddr_addr_14_o -type sig -location {centre {x 817.000 y 105.000}} -bondpad {centre {x 817.000 y 63.293}} 185add_pad -edge bottom -signal p_ddr_addr_13_o -type sig -location {centre {x 887.000 y 105.000}} -bondpad {centre {x 887.000 y 63.293}} 186add_pad -edge bottom -signal p_ddr_addr_12_o -type sig -location {centre {x 957.000 y 105.000}} -bondpad {centre {x 957.000 y 63.293}} 187add_pad -edge bottom -signal p_ddr_addr_11_o -type sig -location {centre {x 1027.000 y 105.000}} -bondpad {centre {x 1027.000 y 63.293}} 188add_pad -edge bottom -signal p_ddr_addr_10_o -type sig -location {centre {x 1097.000 y 105.000}} -bondpad {centre {x 1097.000 y 63.293}} 189add_pad -edge bottom -signal p_ddr_addr_9_o -type sig -location {centre {x 1167.000 y 105.000}} -bondpad {centre {x 1167.000 y 63.293}} 190add_pad -edge bottom -signal p_ddr_addr_8_o -type sig -location {centre {x 1272.000 y 105.000}} -bondpad {centre {x 1272.000 y 63.293}} 191add_pad -edge bottom -signal p_ddr_addr_7_o -type sig -location {centre {x 1342.000 y 105.000}} -bondpad {centre {x 1342.000 y 63.293}} 192add_pad -edge bottom -signal p_ddr_addr_6_o -type sig -location {centre {x 1412.000 y 105.000}} -bondpad {centre {x 1412.000 y 63.293}} 193add_pad -edge bottom -signal p_ddr_addr_5_o -type sig -location {centre {x 1482.000 y 105.000}} -bondpad {centre {x 1482.000 y 63.293}} 194add_pad -edge bottom -signal p_ddr_addr_4_o -type sig -location {centre {x 1552.000 y 105.000}} -bondpad {centre {x 1552.000 y 63.293}} 195add_pad -edge bottom -signal p_ddr_addr_3_o -type sig -location {centre {x 1622.000 y 105.000}} -bondpad {centre {x 1622.000 y 63.293}} 196add_pad -edge bottom -signal p_ddr_addr_2_o -type sig -location {centre {x 1692.000 y 105.000}} -bondpad {centre {x 1692.000 y 63.293}} 197add_pad -edge bottom -signal p_ddr_addr_1_o -type sig -location {centre {x 1762.000 y 105.000}} -bondpad {centre {x 1762.000 y 63.293}} 198add_pad -edge bottom -signal p_ddr_addr_0_o -type sig -location {centre {x 1867.000 y 105.000}} -bondpad {centre {x 1867.000 y 63.293}} 199add_pad -edge bottom -signal p_ddr_odt_o -type sig -location {centre {x 1937.000 y 105.000}} -bondpad {centre {x 1937.000 y 63.293}} 200add_pad -edge bottom -signal p_ddr_reset_n_o -type sig -location {centre {x 2007.000 y 105.000}} -bondpad {centre {x 2007.000 y 63.293}} 201add_pad -edge bottom -signal p_ddr_we_n_o -type sig -location {centre {x 2077.000 y 105.000}} -bondpad {centre {x 2077.000 y 63.293}} 202add_pad -edge bottom -signal p_ddr_cas_n_o -type sig -location {centre {x 2147.000 y 105.000}} -bondpad {centre {x 2147.000 y 63.293}} 203add_pad -edge bottom -signal p_ddr_ras_n_o -type sig -location {centre {x 2217.000 y 105.000}} -bondpad {centre {x 2217.000 y 63.293}} 204add_pad -edge bottom -signal p_ddr_cs_n_o -type sig -location {centre {x 2287.000 y 105.000}} -bondpad {centre {x 2287.000 y 63.293}} 205add_pad -edge bottom -signal p_ddr_cke_o -type sig -location {centre {x 2357.000 y 105.000}} -bondpad {centre {x 2357.000 y 63.293}} 206add_pad -edge bottom -signal p_ddr_ck_n_o -type sig -location {centre {x 2427.000 y 105.000}} -bondpad {centre {x 2427.000 y 63.293}} 207add_pad -edge bottom -signal p_ddr_ck_p_o -type sig -location {centre {x 2532.000 y 105.000}} -bondpad {centre {x 2532.000 y 63.293}} 208add_pad -edge bottom -signal p_ddr_dqs_n_2_io -type sig -location {centre {x 2602.000 y 105.000}} -bondpad {centre {x 2602.000 y 63.293}} 209add_pad -edge bottom -signal p_ddr_dqs_p_2_io -type sig -location {centre {x 2672.000 y 105.000}} -bondpad {centre {x 2672.000 y 63.293}} 210add_pad -edge bottom -signal p_ddr_dm_2_o -type sig -location {centre {x 2742.000 y 105.000}} -bondpad {centre {x 2742.000 y 63.293}} 211add_pad -edge bottom -inst_name u_vzz_0 -signal DVSS_0 -type vssio -location {centre {x 257.000 y 105.000}} -bondpad {centre {x 257.000 y 149.893}} 212add_pad -edge bottom -inst_name u_v18_0 -signal DVDD_0 -type vddio -location {centre {x 327.000 y 105.000}} -bondpad {centre {x 327.000 y 149.893}} 213add_pad -edge bottom -inst_name u_vss_0 -signal VSS -type vss -location {centre {x 397.000 y 105.000}} -bondpad {centre {x 397.000 y 149.893}} 214add_pad -edge bottom -inst_name u_vdd_0 -signal VDD -type vdd -location {centre {x 467.000 y 105.000}} -bondpad {centre {x 467.000 y 149.893}} 215add_pad -edge bottom -inst_name u_vzz_1 -signal DVSS_0 -type vssio -location {centre {x 537.000 y 105.000}} -bondpad {centre {x 537.000 y 149.893}} 216add_pad -edge bottom -inst_name u_v18_1 -signal DVDD_0 -type vddio -location {centre {x 642.000 y 105.000}} -bondpad {centre {x 642.000 y 149.893}} 217add_pad -edge bottom -inst_name u_vss_1 -signal VSS -type vss -location {centre {x 712.000 y 105.000}} -bondpad {centre {x 712.000 y 149.893}} 218add_pad -edge bottom -inst_name u_vdd_1 -signal VDD -type vdd -location {centre {x 782.000 y 105.000}} -bondpad {centre {x 782.000 y 149.893}} 219add_pad -edge bottom -inst_name u_vzz_2 -signal DVSS_0 -type vssio -location {centre {x 852.000 y 105.000}} -bondpad {centre {x 852.000 y 149.893}} 220add_pad -edge bottom -inst_name u_v18_2 -signal DVDD_0 -type vddio -location {centre {x 922.000 y 105.000}} -bondpad {centre {x 922.000 y 149.893}} 221add_pad -edge bottom -inst_name u_vss_2 -signal VSS -type vss -location {centre {x 992.000 y 105.000}} -bondpad {centre {x 992.000 y 149.893}} 222add_pad -edge bottom -inst_name u_vdd_2 -signal VDD -type vdd -location {centre {x 1062.000 y 105.000}} -bondpad {centre {x 1062.000 y 149.893}} 223add_pad -edge bottom -inst_name u_vzz_3 -signal DVSS_0 -type vssio -location {centre {x 1132.000 y 105.000}} -bondpad {centre {x 1132.000 y 149.893}} 224add_pad -edge bottom -inst_name u_v18_3 -signal DVDD_0 -type vddio -location {centre {x 1237.000 y 105.000}} -bondpad {centre {x 1237.000 y 149.893}} 225add_pad -edge bottom -inst_name u_vss_3 -signal VSS -type vss -location {centre {x 1307.000 y 105.000}} -bondpad {centre {x 1307.000 y 149.893}} 226add_pad -edge bottom -inst_name u_vdd_3 -signal VDD -type vdd -location {centre {x 1377.000 y 105.000}} -bondpad {centre {x 1377.000 y 149.893}} 227add_pad -edge bottom -inst_name u_vzz_4 -signal DVSS_0 -type vssio -location {centre {x 1447.000 y 105.000}} -bondpad {centre {x 1447.000 y 149.893}} 228add_pad -edge bottom -inst_name u_v18_4 -signal DVDD_0 -type vddio -location {centre {x 1517.000 y 105.000}} -bondpad {centre {x 1517.000 y 149.893}} 229add_pad -edge bottom -inst_name u_vss_4 -signal VSS -type vss -location {centre {x 1587.000 y 105.000}} -bondpad {centre {x 1587.000 y 149.893}} 230add_pad -edge bottom -inst_name u_vdd_4 -signal VDD -type vdd -location {centre {x 1657.000 y 105.000}} -bondpad {centre {x 1657.000 y 149.893}} 231add_pad -edge bottom -inst_name u_vzz_5 -signal DVSS_0 -type vssio -location {centre {x 1727.000 y 105.000}} -bondpad {centre {x 1727.000 y 149.893}} 232add_pad -edge bottom -inst_name u_v18_5 -signal DVDD_0 -type vddio -location {centre {x 1797.000 y 105.000}} -bondpad {centre {x 1797.000 y 149.893}} 233add_pad -edge bottom -inst_name u_vss_5 -signal VSS -type vss -location {centre {x 1902.000 y 105.000}} -bondpad {centre {x 1902.000 y 149.893}} 234add_pad -edge bottom -inst_name u_vdd_5 -signal VDD -type vdd -location {centre {x 1972.000 y 105.000}} -bondpad {centre {x 1972.000 y 149.893}} 235add_pad -edge bottom -inst_name u_vzz_6 -signal DVSS_0 -type vssio -location {centre {x 2042.000 y 105.000}} -bondpad {centre {x 2042.000 y 149.893}} 236add_pad -edge bottom -inst_name u_v18_6 -signal DVDD_0 -type vddio -location {centre {x 2112.000 y 105.000}} -bondpad {centre {x 2112.000 y 149.893}} 237add_pad -edge bottom -inst_name u_vss_6 -signal VSS -type vss -location {centre {x 2182.000 y 105.000}} -bondpad {centre {x 2182.000 y 149.893}} 238add_pad -edge bottom -inst_name u_vdd_6 -signal VDD -type vdd -location {centre {x 2252.000 y 105.000}} -bondpad {centre {x 2252.000 y 149.893}} 239add_pad -edge bottom -inst_name u_vzz_7 -signal DVSS_0 -type vssio -location {centre {x 2322.000 y 105.000}} -bondpad {centre {x 2322.000 y 149.893}} 240add_pad -edge bottom -inst_name u_v18_7 -signal DVDD_0 -type vddio -location {centre {x 2392.000 y 105.000}} -bondpad {centre {x 2392.000 y 149.893}} 241add_pad -edge bottom -inst_name u_vss_7 -signal VSS -type vss -location {centre {x 2497.000 y 105.000}} -bondpad {centre {x 2497.000 y 149.893}} 242add_pad -edge bottom -inst_name u_vdd_7 -signal VDD -type vdd -location {centre {x 2567.000 y 105.000}} -bondpad {centre {x 2567.000 y 149.893}} 243add_pad -edge bottom -inst_name u_vzz_8 -signal DVSS_0 -type vssio -location {centre {x 2637.000 y 105.000}} -bondpad {centre {x 2637.000 y 149.893}} 244add_pad -edge bottom -inst_name u_v18_8 -signal DVDD_0 -type vddio -location {centre {x 2707.000 y 105.000}} -bondpad {centre {x 2707.000 y 149.893}} 245add_pad -edge bottom -inst_name u_cbrk0 -type cbk -location {centre {x 239.500 y 105.000}} 246add_pad -edge bottom -inst_name u_cbrk1 -type cbk -location {centre {x 869.500 y 105.000}} 247add_pad -edge bottom -inst_name u_cbrk2 -type cbk -location {centre {x 1499.500 y 105.000}} 248add_pad -edge bottom -inst_name u_cbrk3 -type cbk -location {centre {x 2129.500 y 105.000}} 249add_pad -edge bottom -inst_name u_cbrk4 -type cbk -location {centre {x 2759.500 y 105.000}} 250add_pad -edge bottom -inst_name u_pwrdet0 -type pdt -location {centre {x 572.000 y 105.000}} 251add_pad -edge bottom -inst_name u_pwrdet1 -type pdt -location {centre {x 1202.000 y 105.000}} 252add_pad -edge bottom -inst_name u_pwrdet2 -type pdt -location {centre {x 1832.000 y 105.000}} 253add_pad -edge bottom -inst_name u_pwrdet3 -type pdt -location {centre {x 2462.000 y 105.000}} 254add_pad -edge right -signal p_ddr_dq_23_io -type sig -location {centre {x 2895.000 y 292.000}} -bondpad {centre {x 2936.707 y 292.000}} 255add_pad -edge right -signal p_ddr_dq_22_io -type sig -location {centre {x 2895.000 y 362.000}} -bondpad {centre {x 2936.707 y 362.000}} 256add_pad -edge right -signal p_ddr_dq_21_io -type sig -location {centre {x 2895.000 y 432.000}} -bondpad {centre {x 2936.707 y 432.000}} 257add_pad -edge right -signal p_ddr_dq_20_io -type sig -location {centre {x 2895.000 y 502.000}} -bondpad {centre {x 2936.707 y 502.000}} 258add_pad -edge right -signal p_ddr_dq_19_io -type sig -location {centre {x 2895.000 y 607.000}} -bondpad {centre {x 2936.707 y 607.000}} 259add_pad -edge right -signal p_ddr_dq_18_io -type sig -location {centre {x 2895.000 y 677.000}} -bondpad {centre {x 2936.707 y 677.000}} 260add_pad -edge right -signal p_ddr_dq_17_io -type sig -location {centre {x 2895.000 y 747.000}} -bondpad {centre {x 2936.707 y 747.000}} 261add_pad -edge right -signal p_ddr_dq_16_io -type sig -location {centre {x 2895.000 y 817.000}} -bondpad {centre {x 2936.707 y 817.000}} 262add_pad -edge right -signal p_ddr_dq_31_io -type sig -location {centre {x 2895.000 y 887.000}} -bondpad {centre {x 2936.707 y 887.000}} 263add_pad -edge right -signal p_ddr_dq_30_io -type sig -location {centre {x 2895.000 y 957.000}} -bondpad {centre {x 2936.707 y 957.000}} 264add_pad -edge right -signal p_ddr_dq_29_io -type sig -location {centre {x 2895.000 y 1027.000}} -bondpad {centre {x 2936.707 y 1027.000}} 265add_pad -edge right -signal p_ddr_dq_28_io -type sig -location {centre {x 2895.000 y 1097.000}} -bondpad {centre {x 2936.707 y 1097.000}} 266add_pad -edge right -signal p_ddr_dq_27_io -type sig -location {centre {x 2895.000 y 1167.000}} -bondpad {centre {x 2936.707 y 1167.000}} 267add_pad -edge right -signal p_ddr_dq_26_io -type sig -location {centre {x 2895.000 y 1272.000}} -bondpad {centre {x 2936.707 y 1272.000}} 268add_pad -edge right -signal p_ddr_dq_25_io -type sig -location {centre {x 2895.000 y 1342.000}} -bondpad {centre {x 2936.707 y 1342.000}} 269add_pad -edge right -signal p_ddr_dq_24_io -type sig -location {centre {x 2895.000 y 1412.000}} -bondpad {centre {x 2936.707 y 1412.000}} 270add_pad -edge right -signal p_ddr_dqs_n_3_io -type sig -location {centre {x 2895.000 y 1482.000}} -bondpad {centre {x 2936.707 y 1482.000}} 271add_pad -edge right -signal p_ddr_dqs_p_3_io -type sig -location {centre {x 2895.000 y 1552.000}} -bondpad {centre {x 2936.707 y 1552.000}} 272add_pad -edge right -signal p_ddr_dm_3_o -type sig -location {centre {x 2895.000 y 1622.000}} -bondpad {centre {x 2936.707 y 1622.000}} 273add_pad -edge right -signal p_bsg_tag_clk_i -type sig -location {centre {x 2895.000 y 1692.000}} -bondpad {centre {x 2936.707 y 1692.000}} 274add_pad -edge right -signal p_bsg_tag_data_i -type sig -location {centre {x 2895.000 y 1762.000}} -bondpad {centre {x 2936.707 y 1762.000}} 275add_pad -edge right -signal p_bsg_tag_en_i -type sig -location {centre {x 2895.000 y 1867.000}} -bondpad {centre {x 2936.707 y 1867.000}} 276add_pad -edge right -signal p_ci_8_i -type sig -location {centre {x 2895.000 y 1937.000}} -bondpad {centre {x 2936.707 y 1937.000}} 277add_pad -edge right -signal p_ci_7_i -type sig -location {centre {x 2895.000 y 2007.000}} -bondpad {centre {x 2936.707 y 2007.000}} 278add_pad -edge right -signal p_ci_6_i -type sig -location {centre {x 2895.000 y 2077.000}} -bondpad {centre {x 2936.707 y 2077.000}} 279add_pad -edge right -signal p_ci_5_i -type sig -location {centre {x 2895.000 y 2147.000}} -bondpad {centre {x 2936.707 y 2147.000}} 280add_pad -edge right -signal p_ci_v_i -type sig -location {centre {x 2895.000 y 2217.000}} -bondpad {centre {x 2936.707 y 2217.000}} 281add_pad -edge right -signal p_ci_tkn_o -type sig -location {centre {x 2895.000 y 2287.000}} -bondpad {centre {x 2936.707 y 2287.000}} 282add_pad -edge right -signal p_ci_clk_i -type sig -location {centre {x 2895.000 y 2357.000}} -bondpad {centre {x 2936.707 y 2357.000}} 283add_pad -edge right -signal p_ci_4_i -type sig -location {centre {x 2895.000 y 2427.000}} -bondpad {centre {x 2936.707 y 2427.000}} 284add_pad -edge right -signal p_ci_3_i -type sig -location {centre {x 2895.000 y 2532.000}} -bondpad {centre {x 2936.707 y 2532.000}} 285add_pad -edge right -signal p_ci_2_i -type sig -location {centre {x 2895.000 y 2602.000}} -bondpad {centre {x 2936.707 y 2602.000}} 286add_pad -edge right -signal p_ci_1_i -type sig -location {centre {x 2895.000 y 2672.000}} -bondpad {centre {x 2936.707 y 2672.000}} 287add_pad -edge right -signal p_ci_0_i -type sig -location {centre {x 2895.000 y 2742.000}} -bondpad {centre {x 2936.707 y 2742.000}} 288add_pad -edge right -inst_name u_vss_8 -signal VSS -type vss -location {centre {x 2895.000 y 257.000}} -bondpad {centre {x 2850.161 y 257.000}} 289add_pad -edge right -inst_name u_vdd_8 -signal VDD -type vdd -location {centre {x 2895.000 y 327.000}} -bondpad {centre {x 2850.161 y 327.000}} 290add_pad -edge right -inst_name u_vzz_9 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 397.000}} -bondpad {centre {x 2850.161 y 397.000}} 291add_pad -edge right -inst_name u_v18_9 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 467.000}} -bondpad {centre {x 2850.161 y 467.000}} 292add_pad -edge right -inst_name u_vss_9 -signal VSS -type vss -location {centre {x 2895.000 y 537.000}} -bondpad {centre {x 2850.161 y 537.000}} 293add_pad -edge right -inst_name u_vdd_9 -signal VDD -type vdd -location {centre {x 2895.000 y 642.000}} -bondpad {centre {x 2850.161 y 642.000}} 294add_pad -edge right -inst_name u_vzz_10 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 712.000}} -bondpad {centre {x 2850.161 y 712.000}} 295add_pad -edge right -inst_name u_v18_10 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 782.000}} -bondpad {centre {x 2850.161 y 782.000}} 296add_pad -edge right -inst_name u_vss_10 -signal VSS -type vss -location {centre {x 2895.000 y 852.000}} -bondpad {centre {x 2850.161 y 852.000}} 297add_pad -edge right -inst_name u_vdd_10 -signal VDD -type vdd -location {centre {x 2895.000 y 922.000}} -bondpad {centre {x 2850.161 y 922.000}} 298add_pad -edge right -inst_name u_vzz_11 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 992.000}} -bondpad {centre {x 2850.161 y 992.000}} 299add_pad -edge right -inst_name u_v18_11 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 1062.000}} -bondpad {centre {x 2850.161 y 1062.000}} 300add_pad -edge right -inst_name u_vss_11 -signal VSS -type vss -location {centre {x 2895.000 y 1132.000}} -bondpad {centre {x 2850.161 y 1132.000}} 301add_pad -edge right -inst_name u_vdd_11 -signal VDD -type vdd -location {centre {x 2895.000 y 1237.000}} -bondpad {centre {x 2850.161 y 1237.000}} 302add_pad -edge right -inst_name u_vzz_12 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 1307.000}} -bondpad {centre {x 2850.161 y 1307.000}} 303add_pad -edge right -inst_name u_v18_12 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 1377.000}} -bondpad {centre {x 2850.161 y 1377.000}} 304add_pad -edge right -inst_name u_vss_12 -signal VSS -type vss -location {centre {x 2895.000 y 1447.000}} -bondpad {centre {x 2850.161 y 1447.000}} 305add_pad -edge right -inst_name u_vdd_12 -signal VDD -type vdd -location {centre {x 2895.000 y 1517.000}} -bondpad {centre {x 2850.161 y 1517.000}} 306add_pad -edge right -inst_name u_vzz_13 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 1587.000}} -bondpad {centre {x 2850.161 y 1587.000}} 307add_pad -edge right -inst_name u_v18_13 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 1657.000}} -bondpad {centre {x 2850.161 y 1657.000}} 308add_pad -edge right -inst_name u_vss_13 -signal VSS -type vss -location {centre {x 2895.000 y 1727.000}} -bondpad {centre {x 2850.161 y 1727.000}} 309add_pad -edge right -inst_name u_vdd_13 -signal VDD -type vdd -location {centre {x 2895.000 y 1797.000}} -bondpad {centre {x 2850.161 y 1797.000}} 310add_pad -edge right -inst_name u_vzz_14 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 1902.000}} -bondpad {centre {x 2850.161 y 1902.000}} 311add_pad -edge right -inst_name u_v18_14 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 1972.000}} -bondpad {centre {x 2850.161 y 1972.000}} 312add_pad -edge right -inst_name u_vss_14 -signal VSS -type vss -location {centre {x 2895.000 y 2042.000}} -bondpad {centre {x 2850.161 y 2042.000}} 313add_pad -edge right -inst_name u_vdd_14 -signal VDD -type vdd -location {centre {x 2895.000 y 2112.000}} -bondpad {centre {x 2850.161 y 2112.000}} 314add_pad -edge right -inst_name u_vzz_15 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 2182.000}} -bondpad {centre {x 2850.161 y 2182.000}} 315add_pad -edge right -inst_name u_v18_15 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 2252.000}} -bondpad {centre {x 2850.161 y 2252.000}} 316add_pad -edge right -inst_name u_vss_15 -signal VSS -type vss -location {centre {x 2895.000 y 2322.000}} -bondpad {centre {x 2850.161 y 2322.000}} 317add_pad -edge right -inst_name u_vdd_15 -signal VDD -type vdd -location {centre {x 2895.000 y 2392.000}} -bondpad {centre {x 2850.161 y 2392.000}} 318add_pad -edge right -inst_name u_vzz_16 -signal DVSS_0 -type vssio -location {centre {x 2895.000 y 2497.000}} -bondpad {centre {x 2850.161 y 2497.000}} 319add_pad -edge right -inst_name u_v18_16 -signal DVDD_0 -type vddio -location {centre {x 2895.000 y 2567.000}} -bondpad {centre {x 2850.161 y 2567.000}} 320add_pad -edge right -inst_name u_vss_16 -signal VSS -type vss -location {centre {x 2895.000 y 2637.000}} -bondpad {centre {x 2850.161 y 2637.000}} 321add_pad -edge right -inst_name u_vdd_16 -signal VDD -type vdd -location {centre {x 2895.000 y 2707.000}} -bondpad {centre {x 2850.161 y 2707.000}} 322add_pad -edge right -inst_name u_cbrk5 -type cbk -location {centre {x 2895.000 y 239.500}} 323add_pad -edge right -inst_name u_cbrk6 -type cbk -location {centre {x 2895.000 y 869.500}} 324add_pad -edge right -inst_name u_cbrk7 -type cbk -location {centre {x 2895.000 y 1499.500}} 325add_pad -edge right -inst_name u_cbrk8 -type cbk -location {centre {x 2895.000 y 2129.500}} 326add_pad -edge right -inst_name u_cbrk9 -type cbk -location {centre {x 2895.000 y 2759.500}} 327add_pad -edge right -inst_name u_pwrdet4 -type pdt -location {centre {x 2895.000 y 572.000}} 328add_pad -edge right -inst_name u_pwrdet5 -type pdt -location {centre {x 2895.000 y 1202.000}} 329add_pad -edge right -inst_name u_pwrdet6 -type pdt -location {centre {x 2895.000 y 1832.000}} 330add_pad -edge right -inst_name u_pwrdet7 -type pdt -location {centre {x 2895.000 y 2462.000}} 331add_pad -edge top -signal p_ci2_8_o -type sig -location {centre {x 2760.000 y 2895.000}} -bondpad {centre {x 2760.000 y 2850.161}} 332add_pad -edge top -signal p_ci2_7_o -type sig -location {centre {x 2690.000 y 2895.000}} -bondpad {centre {x 2690.000 y 2850.161}} 333add_pad -edge top -signal p_ci2_6_o -type sig -location {centre {x 2620.000 y 2895.000}} -bondpad {centre {x 2620.000 y 2850.161}} 334add_pad -edge top -signal p_ci2_5_o -type sig -location {centre {x 2550.000 y 2895.000}} -bondpad {centre {x 2550.000 y 2850.161}} 335add_pad -edge top -signal p_ci2_v_o -type sig -location {centre {x 2445.000 y 2895.000}} -bondpad {centre {x 2445.000 y 2850.161}} 336add_pad -edge top -signal p_ci2_tkn_i -type sig -location {centre {x 2375.000 y 2895.000}} -bondpad {centre {x 2375.000 y 2850.161}} 337add_pad -edge top -signal p_ci2_clk_o -type sig -location {centre {x 2305.000 y 2895.000}} -bondpad {centre {x 2305.000 y 2850.161}} 338add_pad -edge top -signal p_ci2_4_o -type sig -location {centre {x 2235.000 y 2895.000}} -bondpad {centre {x 2235.000 y 2850.161}} 339add_pad -edge top -signal p_ci2_3_o -type sig -location {centre {x 2165.000 y 2895.000}} -bondpad {centre {x 2165.000 y 2850.161}} 340add_pad -edge top -signal p_ci2_2_o -type sig -location {centre {x 2095.000 y 2895.000}} -bondpad {centre {x 2095.000 y 2850.161}} 341add_pad -edge top -signal p_ci2_1_o -type sig -location {centre {x 2025.000 y 2895.000}} -bondpad {centre {x 2025.000 y 2850.161}} 342add_pad -edge top -signal p_ci2_0_o -type sig -location {centre {x 1955.000 y 2895.000}} -bondpad {centre {x 1955.000 y 2850.161}} 343add_pad -edge top -signal p_core_async_reset_i -type sig -location {centre {x 1850.000 y 2895.000}} -bondpad {centre {x 1850.000 y 2850.161}} 344add_pad -edge top -signal p_sel_2_i -type sig -location {centre {x 1780.000 y 2895.000}} -bondpad {centre {x 1780.000 y 2850.161}} 345add_pad -edge top -signal p_sel_1_i -type sig -location {centre {x 1710.000 y 2895.000}} -bondpad {centre {x 1710.000 y 2850.161}} 346add_pad -edge top -signal p_sel_0_i -type sig -location {centre {x 1640.000 y 2895.000}} -bondpad {centre {x 1640.000 y 2850.161}} 347add_pad -edge top -signal p_misc_o -type sig -location {centre {x 1570.000 y 2895.000}} -bondpad {centre {x 1570.000 y 2850.161}} 348add_pad -edge top -signal p_clk_async_reset_i -type sig -location {centre {x 1500.000 y 2895.000}} -bondpad {centre {x 1500.000 y 2850.161}} 349add_pad -edge top -signal p_clk_o -type sig -location {centre {x 1395.000 y 2895.000}} -bondpad {centre {x 1395.000 y 2850.161}} 350add_pad -edge top -signal p_clk_C_i -type sig -location {centre {x 1325.000 y 2895.000}} -bondpad {centre {x 1325.000 y 2850.161}} 351add_pad -edge top -signal p_clk_B_i -type sig -location {centre {x 1255.000 y 2895.000}} -bondpad {centre {x 1255.000 y 2850.161}} 352add_pad -edge top -signal p_clk_A_i -type sig -location {centre {x 1185.000 y 2895.000}} -bondpad {centre {x 1185.000 y 2850.161}} 353add_pad -edge top -signal p_co_8_i -type sig -location {centre {x 1115.000 y 2895.000}} -bondpad {centre {x 1115.000 y 2850.161}} 354add_pad -edge top -signal p_co_7_i -type sig -location {centre {x 1045.000 y 2895.000}} -bondpad {centre {x 1045.000 y 2850.161}} 355add_pad -edge top -signal p_co_6_i -type sig -location {centre {x 940.000 y 2895.000}} -bondpad {centre {x 940.000 y 2850.161}} 356add_pad -edge top -signal p_co_5_i -type sig -location {centre {x 870.000 y 2895.000}} -bondpad {centre {x 870.000 y 2850.161}} 357add_pad -edge top -signal p_co_v_i -type sig -location {centre {x 800.000 y 2895.000}} -bondpad {centre {x 800.000 y 2850.161}} 358add_pad -edge top -signal p_co_tkn_o -type sig -location {centre {x 730.000 y 2895.000}} -bondpad {centre {x 730.000 y 2850.161}} 359add_pad -edge top -signal p_co_clk_i -type sig -location {centre {x 660.000 y 2895.000}} -bondpad {centre {x 660.000 y 2850.161}} 360add_pad -edge top -signal p_co_4_i -type sig -location {centre {x 590.000 y 2895.000}} -bondpad {centre {x 590.000 y 2850.161}} 361add_pad -edge top -signal p_co_3_i -type sig -location {centre {x 520.000 y 2895.000}} -bondpad {centre {x 520.000 y 2850.161}} 362add_pad -edge top -signal p_co_2_i -type sig -location {centre {x 415.000 y 2895.000}} -bondpad {centre {x 415.000 y 2850.161}} 363add_pad -edge top -signal p_co_1_i -type sig -location {centre {x 345.000 y 2895.000}} -bondpad {centre {x 345.000 y 2850.161}} 364add_pad -edge top -signal p_co_0_i -type sig -location {centre {x 275.000 y 2895.000}} -bondpad {centre {x 275.000 y 2850.161}} 365add_pad -edge top -inst_name u_vzz_17 -signal DVSS_0 -type vssio -location {centre {x 2725.000 y 2895.000}} -bondpad {centre {x 2725.000 y 2936.707}} 366add_pad -edge top -inst_name u_v18_17 -signal DVDD_0 -type vddio -location {centre {x 2655.000 y 2895.000}} -bondpad {centre {x 2655.000 y 2936.707}} 367add_pad -edge top -inst_name u_vss_17 -signal VSS -type vss -location {centre {x 2585.000 y 2895.000}} -bondpad {centre {x 2585.000 y 2936.707}} 368add_pad -edge top -inst_name u_vdd_17 -signal VDD -type vdd -location {centre {x 2515.000 y 2895.000}} -bondpad {centre {x 2515.000 y 2936.707}} 369add_pad -edge top -inst_name u_vzz_18 -signal DVSS_0 -type vssio -location {centre {x 2410.000 y 2895.000}} -bondpad {centre {x 2410.000 y 2936.707}} 370add_pad -edge top -inst_name u_v18_18 -signal DVDD_0 -type vddio -location {centre {x 2340.000 y 2895.000}} -bondpad {centre {x 2340.000 y 2936.707}} 371add_pad -edge top -inst_name u_vss_18 -signal VSS -type vss -location {centre {x 2270.000 y 2895.000}} -bondpad {centre {x 2270.000 y 2936.707}} 372add_pad -edge top -inst_name u_vdd_18 -signal VDD -type vdd -location {centre {x 2200.000 y 2895.000}} -bondpad {centre {x 2200.000 y 2936.707}} 373add_pad -edge top -inst_name u_vzz_19 -signal DVSS_0 -type vssio -location {centre {x 2130.000 y 2895.000}} -bondpad {centre {x 2130.000 y 2936.707}} 374add_pad -edge top -inst_name u_v18_19 -signal DVDD_0 -type vddio -location {centre {x 2060.000 y 2895.000}} -bondpad {centre {x 2060.000 y 2936.707}} 375add_pad -edge top -inst_name u_vss_19 -signal VSS -type vss -location {centre {x 1990.000 y 2895.000}} -bondpad {centre {x 1990.000 y 2936.707}} 376add_pad -edge top -inst_name u_vdd_19 -signal VDD -type vdd -location {centre {x 1920.000 y 2895.000}} -bondpad {centre {x 1920.000 y 2936.707}} 377add_pad -edge top -inst_name u_vzz_20 -signal DVSS_0 -type vssio -location {centre {x 1815.000 y 2895.000}} -bondpad {centre {x 1815.000 y 2936.707}} 378add_pad -edge top -inst_name u_v18_20 -signal DVDD_0 -type vddio -location {centre {x 1745.000 y 2895.000}} -bondpad {centre {x 1745.000 y 2936.707}} 379add_pad -edge top -inst_name u_vss_20 -signal VSS -type vss -location {centre {x 1675.000 y 2895.000}} -bondpad {centre {x 1675.000 y 2936.707}} 380add_pad -edge top -inst_name u_vdd_20 -signal VDD -type vdd -location {centre {x 1605.000 y 2895.000}} -bondpad {centre {x 1605.000 y 2936.707}} 381add_pad -edge top -inst_name u_vss_pll -signal VSS -type vss -location {centre {x 1535.000 y 2895.000}} -bondpad {centre {x 1535.000 y 2936.707}} 382add_pad -edge top -inst_name u_vdd_pll -signal VDD -type vdd -location {centre {x 1465.000 y 2895.000}} -bondpad {centre {x 1465.000 y 2936.707}} 383add_pad -edge top -inst_name u_vzz_21 -signal DVSS_1 -type vssio -location {centre {x 1360.000 y 2895.000}} -bondpad {centre {x 1360.000 y 2936.707}} 384add_pad -edge top -inst_name u_v18_21 -signal DVDD_1 -type vddio -location {centre {x 1290.000 y 2895.000}} -bondpad {centre {x 1290.000 y 2936.707}} 385add_pad -edge top -inst_name u_vss_21 -signal VSS -type vss -location {centre {x 1220.000 y 2895.000}} -bondpad {centre {x 1220.000 y 2936.707}} 386add_pad -edge top -inst_name u_vdd_21 -signal VDD -type vdd -location {centre {x 1150.000 y 2895.000}} -bondpad {centre {x 1150.000 y 2936.707}} 387add_pad -edge top -inst_name u_vzz_22 -signal DVSS_0 -type vssio -location {centre {x 1080.000 y 2895.000}} -bondpad {centre {x 1080.000 y 2936.707}} 388add_pad -edge top -inst_name u_v18_22 -signal DVDD_0 -type vddio -location {centre {x 975.000 y 2895.000}} -bondpad {centre {x 975.000 y 2936.707}} 389add_pad -edge top -inst_name u_vss_22 -signal VSS -type vss -location {centre {x 905.000 y 2895.000}} -bondpad {centre {x 905.000 y 2936.707}} 390add_pad -edge top -inst_name u_vdd_22 -signal VDD -type vdd -location {centre {x 835.000 y 2895.000}} -bondpad {centre {x 835.000 y 2936.707}} 391add_pad -edge top -inst_name u_vzz_23 -signal DVSS_0 -type vssio -location {centre {x 765.000 y 2895.000}} -bondpad {centre {x 765.000 y 2936.707}} 392add_pad -edge top -inst_name u_v18_23 -signal DVDD_0 -type vddio -location {centre {x 695.000 y 2895.000}} -bondpad {centre {x 695.000 y 2936.707}} 393add_pad -edge top -inst_name u_vss_23 -signal VSS -type vss -location {centre {x 625.000 y 2895.000}} -bondpad {centre {x 625.000 y 2936.707}} 394add_pad -edge top -inst_name u_vdd_23 -signal VDD -type vdd -location {centre {x 555.000 y 2895.000}} -bondpad {centre {x 555.000 y 2936.707}} 395add_pad -edge top -inst_name u_vzz_24 -signal DVSS_0 -type vssio -location {centre {x 450.000 y 2895.000}} -bondpad {centre {x 450.000 y 2936.707}} 396add_pad -edge top -inst_name u_v18_24 -signal DVDD_0 -type vddio -location {centre {x 380.000 y 2895.000}} -bondpad {centre {x 380.000 y 2936.707}} 397add_pad -edge top -inst_name u_vss_24 -signal VSS -type vss -location {centre {x 310.000 y 2895.000}} -bondpad {centre {x 310.000 y 2936.707}} 398add_pad -edge top -inst_name u_vdd_24 -signal VDD -type vdd -location {centre {x 240.000 y 2895.000}} -bondpad {centre {x 240.000 y 2936.707}} 399add_pad -edge top -inst_name u_cbrk10 -type cbk -location {centre {x 2777.500 y 2895.000}} 400add_pad -edge top -inst_name u_cbrk11 -type cbk -location {centre {x 2182.500 y 2895.000}} 401add_pad -edge top -inst_name u_brk0 -type fbk -location {centre {x 1587.500 y 2895.000}} 402add_pad -edge top -inst_name u_brk1 -type fbk -location {centre {x 1272.500 y 2895.000}} 403add_pad -edge top -inst_name u_cbrk12 -type cbk -location {centre {x 747.500 y 2895.000}} 404add_pad -edge top -inst_name u_cbrk13 -type cbk -location {centre {x 222.500 y 2895.000}} 405add_pad -edge top -inst_name u_pwrdet8 -type pdt -location {centre {x 485.000 y 2895.000}} 406add_pad -edge top -inst_name u_pwrdet9 -type pdt -location {centre {x 1010.000 y 2895.000}} 407add_pad -edge top -inst_name u_pwrdet10 -type pdt -location {centre {x 1430.000 y 2895.000}} 408add_pad -edge top -inst_name u_pwrdet11 -type pdt -location {centre {x 1885.000 y 2895.000}} 409add_pad -edge top -inst_name u_pwrdet12 -type pdt -location {centre {x 2480.000 y 2895.000}} 410add_pad -edge left -signal p_co2_8_o -type sig -location {centre {x 105.000 y 2755.000}} -bondpad {centre {x 63.293 y 2755.000}} 411add_pad -edge left -signal p_co2_7_o -type sig -location {centre {x 105.000 y 2681.000}} -bondpad {centre {x 63.293 y 2681.000}} 412add_pad -edge left -signal p_co2_6_o -type sig -location {centre {x 105.000 y 2607.000}} -bondpad {centre {x 63.293 y 2607.000}} 413add_pad -edge left -signal p_co2_5_o -type sig -location {centre {x 105.000 y 2533.000}} -bondpad {centre {x 63.293 y 2533.000}} 414add_pad -edge left -signal p_co2_v_o -type sig -location {centre {x 105.000 y 2422.000}} -bondpad {centre {x 63.293 y 2422.000}} 415add_pad -edge left -signal p_co2_tkn_i -type sig -location {centre {x 105.000 y 2348.000}} -bondpad {centre {x 63.293 y 2348.000}} 416add_pad -edge left -signal p_co2_clk_o -type sig -location {centre {x 105.000 y 2274.000}} -bondpad {centre {x 63.293 y 2274.000}} 417add_pad -edge left -signal p_co2_4_o -type sig -location {centre {x 105.000 y 2200.000}} -bondpad {centre {x 63.293 y 2200.000}} 418add_pad -edge left -signal p_co2_3_o -type sig -location {centre {x 105.000 y 2128.000}} -bondpad {centre {x 63.293 y 2128.000}} 419add_pad -edge left -signal p_co2_2_o -type sig -location {centre {x 105.000 y 2054.000}} -bondpad {centre {x 63.293 y 2054.000}} 420add_pad -edge left -signal p_co2_1_o -type sig -location {centre {x 105.000 y 1980.000}} -bondpad {centre {x 63.293 y 1980.000}} 421add_pad -edge left -signal p_co2_0_o -type sig -location {centre {x 105.000 y 1906.000}} -bondpad {centre {x 63.293 y 1906.000}} 422add_pad -edge left -signal p_bsg_tag_clk_o -type sig -location {centre {x 105.000 y 1795.000}} -bondpad {centre {x 63.293 y 1795.000}} 423add_pad -edge left -signal p_bsg_tag_data_o -type sig -location {centre {x 105.000 y 1721.000}} -bondpad {centre {x 63.293 y 1721.000}} 424add_pad -edge left -signal p_ddr_dq_7_io -type sig -location {centre {x 105.000 y 1647.000}} -bondpad {centre {x 63.293 y 1647.000}} 425add_pad -edge left -signal p_ddr_dq_6_io -type sig -location {centre {x 105.000 y 1573.000}} -bondpad {centre {x 63.293 y 1573.000}} 426add_pad -edge left -signal p_ddr_dq_5_io -type sig -location {centre {x 105.000 y 1501.000}} -bondpad {centre {x 63.293 y 1501.000}} 427add_pad -edge left -signal p_ddr_dq_4_io -type sig -location {centre {x 105.000 y 1427.000}} -bondpad {centre {x 63.293 y 1427.000}} 428add_pad -edge left -signal p_ddr_dq_3_io -type sig -location {centre {x 105.000 y 1353.000}} -bondpad {centre {x 63.293 y 1353.000}} 429add_pad -edge left -signal p_ddr_dq_2_io -type sig -location {centre {x 105.000 y 1279.000}} -bondpad {centre {x 63.293 y 1279.000}} 430add_pad -edge left -signal p_ddr_dq_1_io -type sig -location {centre {x 105.000 y 1168.000}} -bondpad {centre {x 63.293 y 1168.000}} 431add_pad -edge left -signal p_ddr_dq_0_io -type sig -location {centre {x 105.000 y 1094.000}} -bondpad {centre {x 63.293 y 1094.000}} 432add_pad -edge left -signal p_ddr_dm_0_o -type sig -location {centre {x 105.000 y 1020.000}} -bondpad {centre {x 63.293 y 1020.000}} 433add_pad -edge left -signal p_ddr_dqs_n_0_io -type sig -location {centre {x 105.000 y 946.000}} -bondpad {centre {x 63.293 y 946.000}} 434add_pad -edge left -signal p_ddr_dqs_p_0_io -type sig -location {centre {x 105.000 y 874.000}} -bondpad {centre {x 63.293 y 874.000}} 435add_pad -edge left -signal p_ddr_dq_15_io -type sig -location {centre {x 105.000 y 800.000}} -bondpad {centre {x 63.293 y 800.000}} 436add_pad -edge left -signal p_ddr_dq_14_io -type sig -location {centre {x 105.000 y 726.000}} -bondpad {centre {x 63.293 y 726.000}} 437add_pad -edge left -signal p_ddr_dq_13_io -type sig -location {centre {x 105.000 y 652.000}} -bondpad {centre {x 63.293 y 652.000}} 438add_pad -edge left -signal p_ddr_dq_12_io -type sig -location {centre {x 105.000 y 578.000}} -bondpad {centre {x 63.293 y 578.000}} 439add_pad -edge left -signal p_ddr_dq_11_io -type sig -location {centre {x 105.000 y 467.000}} -bondpad {centre {x 63.293 y 467.000}} 440add_pad -edge left -signal p_ddr_dq_10_io -type sig -location {centre {x 105.000 y 393.000}} -bondpad {centre {x 63.293 y 393.000}} 441add_pad -edge left -signal p_ddr_dq_9_io -type sig -location {centre {x 105.000 y 319.000}} -bondpad {centre {x 63.293 y 319.000}} 442add_pad -edge left -signal p_ddr_dq_8_io -type sig -location {centre {x 105.000 y 245.000}} -bondpad {centre {x 63.293 y 245.000}} 443puts "Detect duplicate signal name (not power/ground) specified" 444catch {add_pad -edge left -signal p_ddr_dq_8_io -type sig -location {centre {x 105.000 y 245.000}} -bondpad {centre {x 63.293 y 245.000}}} 445add_pad -edge left -inst_name u_vzz_25 -signal DVSS_0 -type vssio -location {centre {x 105.000 y 2718.000}} -bondpad {centre {x 149.893 y 2718.000}} 446add_pad -edge left -inst_name u_v18_25 -signal DVDD_0 -type vddio -location {centre {x 105.000 y 2644.000}} -bondpad {centre {x 149.893 y 2644.000}} 447add_pad -edge left -inst_name u_vss_25 -signal VSS -type vss -location {centre {x 105.000 y 2570.000}} -bondpad {centre {x 149.893 y 2570.000}} 448add_pad -edge left -inst_name u_vdd_25 -signal VDD -type vdd -location {centre {x 105.000 y 2496.000}} -bondpad {centre {x 149.893 y 2496.000}} 449add_pad -edge left -inst_name u_vzz_26 -signal DVSS_0 -type vssio -location {centre {x 105.000 y 2385.000}} -bondpad {centre {x 149.893 y 2385.000}} 450add_pad -edge left -inst_name u_v18_26 -signal DVDD_0 -type vddio -location {centre {x 105.000 y 2311.000}} -bondpad {centre {x 149.893 y 2311.000}} 451add_pad -edge left -inst_name u_vss_26 -signal VSS -type vss -location {centre {x 105.000 y 2237.000}} -bondpad {centre {x 149.893 y 2237.000}} 452add_pad -edge left -inst_name u_vdd_26 -signal VDD -type vdd -location {centre {x 105.000 y 2163.000}} -bondpad {centre {x 149.893 y 2163.000}} 453add_pad -edge left -inst_name u_vzz_27 -signal DVSS_0 -type vssio -location {centre {x 105.000 y 2091.000}} -bondpad {centre {x 149.893 y 2091.000}} 454add_pad -edge left -inst_name u_v18_27 -signal DVDD_0 -type vddio -location {centre {x 105.000 y 2017.000}} -bondpad {centre {x 149.893 y 2017.000}} 455add_pad -edge left -inst_name u_vss_27 -signal VSS -type vss -location {centre {x 105.000 y 1943.000}} -bondpad {centre {x 149.893 y 1943.000}} 456add_pad -edge left -inst_name u_vdd_27 -signal VDD -type vdd -location {centre {x 105.000 y 1869.000}} -bondpad {centre {x 149.893 y 1869.000}} 457add_pad -edge left -inst_name u_vzz_28 -signal DVSS_0 -type vssio -location {centre {x 105.000 y 1758.000}} -bondpad {centre {x 149.893 y 1758.000}} 458add_pad -edge left -inst_name u_v18_28 -signal DVDD_0 -type vddio -location {centre {x 105.000 y 1684.000}} -bondpad {centre {x 149.893 y 1684.000}} 459add_pad -edge left -inst_name u_vss_28 -signal VSS -type vss -location {centre {x 105.000 y 1610.000}} -bondpad {centre {x 149.893 y 1610.000}} 460add_pad -edge left -inst_name u_vdd_28 -signal VDD -type vdd -location {centre {x 105.000 y 1536.000}} -bondpad {centre {x 149.893 y 1536.000}} 461add_pad -edge left -inst_name u_vzz_29 -signal DVSS_0 -type vssio -location {centre {x 105.000 y 1464.000}} -bondpad {centre {x 149.893 y 1464.000}} 462add_pad -edge left -inst_name u_v18_29 -signal DVDD_0 -type vddio -location {centre {x 105.000 y 1390.000}} -bondpad {centre {x 149.893 y 1390.000}} 463add_pad -edge left -inst_name u_vss_29 -signal VSS -type vssio -location {centre {x 105.000 y 1316.000}} -bondpad {centre {x 149.893 y 1316.000}} 464add_pad -edge left -inst_name u_vdd_29 -signal VDD -type vddio -location {centre {x 105.000 y 1242.000}} -bondpad {centre {x 149.893 y 1242.000}} 465add_pad -edge left -inst_name u_vzz_30 -signal DVSS_0 -type vss -location {centre {x 105.000 y 1131.000}} -bondpad {centre {x 149.893 y 1131.000}} 466add_pad -edge left -inst_name u_v18_30 -signal DVDD_0 -type vdd -location {centre {x 105.000 y 1057.000}} -bondpad {centre {x 149.893 y 1057.000}} 467add_pad -edge left -inst_name u_vss_30 -signal VSS -type vssio -location {centre {x 105.000 y 983.000}} -bondpad {centre {x 149.893 y 983.000}} 468add_pad -edge left -inst_name u_vdd_30 -signal VDD -type vddio -location {centre {x 105.000 y 909.000}} -bondpad {centre {x 149.893 y 909.000}} 469add_pad -edge left -inst_name u_vzz_31 -signal DVSS_0 -type vss -location {centre {x 105.000 y 837.000}} -bondpad {centre {x 149.893 y 837.000}} 470add_pad -edge left -inst_name u_v18_31 -signal DVDD_0 -type vdd -location {centre {x 105.000 y 763.000}} -bondpad {centre {x 149.893 y 763.000}} 471add_pad -edge left -inst_name u_vss_31 -signal VSS -type vssio -location {centre {x 105.000 y 689.000}} -bondpad {centre {x 149.893 y 689.000}} 472add_pad -edge left -inst_name u_vdd_31 -signal VDD -type vddio -location {centre {x 105.000 y 615.000}} -bondpad {centre {x 149.893 y 615.000}} 473add_pad -edge left -inst_name u_vzz_32 -signal DVSS_0 -type vss -location {centre {x 105.000 y 504.000}} -bondpad {centre {x 149.893 y 504.000}} 474add_pad -edge left -inst_name u_v18_32 -signal DVDD_0 -type vdd -location {centre {x 105.000 y 430.000}} -bondpad {centre {x 149.893 y 430.000}} 475add_pad -edge left -inst_name u_vss_32 -signal VSS -type vssio -location {centre {x 105.000 y 356.000}} -bondpad {centre {x 149.893 y 356.000}} 476add_pad -edge left -inst_name u_vdd_32 -signal VDD -type vddio -location {centre {x 105.000 y 282.000}} -bondpad {centre {x 149.893 y 282.000}} 477add_pad -edge left -inst_name u_cbrk14 -type cbk -location {centre {x 105.000 y 2772.500}} 478puts "Detect duplicate inst_name specified" 479catch {add_pad -edge left -inst_name u_cbrk14 -type cbk -location {centre {x 105.000 y 2772.500}}} 480add_pad -edge left -inst_name u_cbrk15 -type cbk -location {centre {x 105.000 y 2145.500}} 481add_pad -edge left -inst_name u_cbrk16 -type cbk -location {centre {x 105.000 y 1518.500}} 482add_pad -edge left -inst_name u_cbrk17 -type cbk -location {centre {x 105.000 y 891.500}} 483add_pad -edge left -inst_name u_cbrk18 -type cbk -location {centre {x 105.000 y 227.500}} 484add_pad -edge left -inst_name u_pwrdet13 -type pdt -location {centre {x 105.000 y 2459.000}} 485add_pad -edge left -inst_name u_pwrdet14 -type pdt -location {centre {x 105.000 y 1832.000}} 486add_pad -edge left -inst_name u_pwrdet15 -type pdt -location {centre {x 105.000 y 1205.000}} 487add_pad -edge left -inst_name u_pwrdet16 -type pdt -location {centre {x 105.000 y 541.000}} 488 489initialize_floorplan \ 490 -die_area {0 0 3000.000 3000.000} \ 491 -core_area {180.012 180.096 2819.964 2819.712} \ 492 -site FreePDK45_38x28_10R_NP_162NW_34O 493make_tracks 494 495if {[catch {initialize_padring} msg]} { 496 puts $errorInfo 497 puts $msg 498 return 499} 500 501set def_file [make_result_file "tcl_interface.def"] 502 503write_def $def_file 504diff_files $def_file "tcl_interface.defok" 505 506