Skip to content

Commit 4a7c6dd

Browse files
authored
Merge pull request The-OpenROAD-Project#6603 from eder-matheus/restore_ppl_fix
restore ppl fix on corner avoidance
2 parents df56478 + bb06202 commit 4a7c6dd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+53271
-53290
lines changed

src/mpl/test/guides1.defok

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -520,15 +520,15 @@ PINS 3 ;
520520
- io_1 + NET io_1 + DIRECTION INPUT + USE SIGNAL
521521
+ PORT
522522
+ LAYER metal5 ( -140 -140 ) ( 140 140 )
523-
+ PLACED ( 140 155820 ) N ;
523+
+ PLACED ( 140 154700 ) N ;
524524
- io_2 + NET io_2 + DIRECTION INPUT + USE SIGNAL
525525
+ PORT
526526
+ LAYER metal5 ( -140 -140 ) ( 140 140 )
527-
+ PLACED ( 140 50540 ) N ;
527+
+ PLACED ( 140 51660 ) N ;
528528
- io_3 + NET io_3 + DIRECTION INPUT + USE SIGNAL
529529
+ PORT
530530
+ LAYER metal5 ( -140 -140 ) ( 140 140 )
531-
+ PLACED ( 140 12460 ) N ;
531+
+ PLACED ( 140 13580 ) N ;
532532
END PINS
533533
NETS 3 ;
534534
- io_1 ( PIN io_1 ) + USE SIGNAL ;

src/mpl/test/guides1.ok

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[INFO PPL-0067] Restrict INPUT pins to region 0u-125u, in the LEFT edge.
99
Found 1 macro blocks.
1010
Using 2 tracks default min distance between IO pins.
11-
[INFO PPL-0001] Number of slots 974
11+
[INFO PPL-0001] Number of slots 966
1212
[INFO PPL-0002] Number of I/O 3
1313
[INFO PPL-0003] Number of I/O w/sink 0
1414
[INFO PPL-0004] Number of I/O w/o sink 3

src/mpl/test/io_constraints1.defok

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -520,15 +520,15 @@ PINS 3 ;
520520
- io_1 + NET io_1 + DIRECTION INPUT + USE SIGNAL
521521
+ PORT
522522
+ LAYER metal5 ( -140 -140 ) ( 140 140 )
523-
+ PLACED ( 140 155820 ) N ;
523+
+ PLACED ( 140 154700 ) N ;
524524
- io_2 + NET io_2 + DIRECTION INPUT + USE SIGNAL
525525
+ PORT
526526
+ LAYER metal5 ( -140 -140 ) ( 140 140 )
527-
+ PLACED ( 140 50540 ) N ;
527+
+ PLACED ( 140 51660 ) N ;
528528
- io_3 + NET io_3 + DIRECTION INPUT + USE SIGNAL
529529
+ PORT
530530
+ LAYER metal5 ( -140 -140 ) ( 140 140 )
531-
+ PLACED ( 140 12460 ) N ;
531+
+ PLACED ( 140 13580 ) N ;
532532
END PINS
533533
NETS 3 ;
534534
- io_1 ( PIN io_1 ) + USE SIGNAL ;

src/mpl/test/io_constraints1.ok

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[INFO PPL-0067] Restrict INPUT pins to region 0u-125u, in the LEFT edge.
99
Found 1 macro blocks.
1010
Using 2 tracks default min distance between IO pins.
11-
[INFO PPL-0001] Number of slots 974
11+
[INFO PPL-0001] Number of slots 966
1212
[INFO PPL-0002] Number of I/O 3
1313
[INFO PPL-0003] Number of I/O w/sink 0
1414
[INFO PPL-0004] Number of I/O w/o sink 3

src/mpl/test/io_constraints2.defok

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -520,15 +520,15 @@ PINS 3 ;
520520
- io_1 + NET io_1 + DIRECTION INPUT + USE SIGNAL
521521
+ PORT
522522
+ LAYER metal6 ( -140 -140 ) ( 140 140 )
523-
+ PLACED ( 187230 140 ) N ;
523+
+ PLACED ( 254430 140 ) N ;
524524
- io_2 + NET io_2 + DIRECTION INPUT + USE SIGNAL
525525
+ PORT
526526
+ LAYER metal6 ( -140 -140 ) ( 140 140 )
527-
+ PLACED ( 121150 140 ) N ;
527+
+ PLACED ( 238750 140 ) N ;
528528
- io_3 + NET io_3 + DIRECTION INPUT + USE SIGNAL
529529
+ PORT
530530
+ LAYER metal6 ( -140 -140 ) ( 140 140 )
531-
+ PLACED ( 275710 140 ) N ;
531+
+ PLACED ( 234270 140 ) N ;
532532
END PINS
533533
NETS 3 ;
534534
- io_1 ( PIN io_1 ) + USE SIGNAL ;

src/mpl/test/io_constraints2.ok

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[INFO ODB-0253] Updated 401 components.
88
Found 1 macro blocks.
99
Using 2 tracks default min distance between IO pins.
10-
[INFO PPL-0001] Number of slots 974
10+
[INFO PPL-0001] Number of slots 966
1111
[INFO PPL-0002] Number of I/O 3
1212
[INFO PPL-0003] Number of I/O w/sink 0
1313
[INFO PPL-0004] Number of I/O w/o sink 3

src/ppl/src/IOPlacer.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,8 @@ void IOPlacer::findSlots(const std::set<int>& layers, Edge edge)
924924

925925
half_width *= thickness_multiplier;
926926

927-
int num_tracks_offset = std::ceil(corner_avoidance_ / min_dst_pins);
927+
int num_tracks_offset
928+
= std::ceil(static_cast<double>(corner_avoidance_) / min_dst_pins);
928929

929930
start_idx
930931
= std::max(0.0,

src/ppl/test/add_constraint7.defok

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -118,23 +118,23 @@ PINS 54 ;
118118
- clk + NET clk + DIRECTION INPUT + USE SIGNAL
119119
+ PORT
120120
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
121-
+ PLACED ( 178790 201530 ) N ;
121+
+ PLACED ( 178030 201530 ) N ;
122122
- req_msg[0] + NET req_msg[0] + DIRECTION INPUT + USE SIGNAL
123123
+ PORT
124124
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
125-
+ PLACED ( 1710 70 ) N ;
125+
+ PLACED ( 2470 70 ) N ;
126126
- req_msg[10] + NET req_msg[10] + DIRECTION INPUT + USE SIGNAL
127127
+ PORT
128128
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
129-
+ PLACED ( 172710 70 ) N ;
129+
+ PLACED ( 171950 70 ) N ;
130130
- req_msg[11] + NET req_msg[11] + DIRECTION INPUT + USE SIGNAL
131131
+ PORT
132132
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
133-
+ PLACED ( 176510 70 ) N ;
133+
+ PLACED ( 175750 70 ) N ;
134134
- req_msg[12] + NET req_msg[12] + DIRECTION INPUT + USE SIGNAL
135135
+ PORT
136136
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
137-
+ PLACED ( 157510 70 ) N ;
137+
+ PLACED ( 156750 70 ) N ;
138138
- req_msg[13] + NET req_msg[13] + DIRECTION INPUT + USE SIGNAL
139139
+ PORT
140140
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
@@ -146,19 +146,19 @@ PINS 54 ;
146146
- req_msg[15] + NET req_msg[15] + DIRECTION INPUT + USE SIGNAL
147147
+ PORT
148148
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
149-
+ PLACED ( 127110 70 ) N ;
149+
+ PLACED ( 126350 70 ) N ;
150150
- req_msg[16] + NET req_msg[16] + DIRECTION INPUT + USE SIGNAL
151151
+ PORT
152152
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
153-
+ PLACED ( 161310 70 ) N ;
153+
+ PLACED ( 160550 70 ) N ;
154154
- req_msg[17] + NET req_msg[17] + DIRECTION INPUT + USE SIGNAL
155155
+ PORT
156156
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
157157
+ PLACED ( 62510 70 ) N ;
158158
- req_msg[18] + NET req_msg[18] + DIRECTION INPUT + USE SIGNAL
159159
+ PORT
160160
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
161-
+ PLACED ( 142310 70 ) N ;
161+
+ PLACED ( 141550 70 ) N ;
162162
- req_msg[19] + NET req_msg[19] + DIRECTION INPUT + USE SIGNAL
163163
+ PORT
164164
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
@@ -178,47 +178,47 @@ PINS 54 ;
178178
- req_msg[22] + NET req_msg[22] + DIRECTION INPUT + USE SIGNAL
179179
+ PORT
180180
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
181-
+ PLACED ( 115710 70 ) N ;
181+
+ PLACED ( 114950 70 ) N ;
182182
- req_msg[23] + NET req_msg[23] + DIRECTION INPUT + USE SIGNAL
183183
+ PORT
184184
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
185185
+ PLACED ( 54910 70 ) N ;
186186
- req_msg[24] + NET req_msg[24] + DIRECTION INPUT + USE SIGNAL
187187
+ PORT
188188
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
189-
+ PLACED ( 149910 70 ) N ;
189+
+ PLACED ( 149150 70 ) N ;
190190
- req_msg[25] + NET req_msg[25] + DIRECTION INPUT + USE SIGNAL
191191
+ PORT
192192
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
193-
+ PLACED ( 108110 70 ) N ;
193+
+ PLACED ( 107350 70 ) N ;
194194
- req_msg[26] + NET req_msg[26] + DIRECTION INPUT + USE SIGNAL
195195
+ PORT
196196
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
197197
+ PLACED ( 70110 70 ) N ;
198198
- req_msg[27] + NET req_msg[27] + DIRECTION INPUT + USE SIGNAL
199199
+ PORT
200200
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
201-
+ PLACED ( 146110 70 ) N ;
201+
+ PLACED ( 145350 70 ) N ;
202202
- req_msg[28] + NET req_msg[28] + DIRECTION INPUT + USE SIGNAL
203203
+ PORT
204204
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
205205
+ PLACED ( 39710 70 ) N ;
206206
- req_msg[29] + NET req_msg[29] + DIRECTION INPUT + USE SIGNAL
207207
+ PORT
208208
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
209-
+ PLACED ( 184110 70 ) N ;
209+
+ PLACED ( 183350 70 ) N ;
210210
- req_msg[2] + NET req_msg[2] + DIRECTION INPUT + USE SIGNAL
211211
+ PORT
212212
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
213-
+ PLACED ( 111910 70 ) N ;
213+
+ PLACED ( 111150 70 ) N ;
214214
- req_msg[30] + NET req_msg[30] + DIRECTION INPUT + USE SIGNAL
215215
+ PORT
216216
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
217217
+ PLACED ( 13110 70 ) N ;
218218
- req_msg[31] + NET req_msg[31] + DIRECTION INPUT + USE SIGNAL
219219
+ PORT
220220
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
221-
+ PLACED ( 168910 70 ) N ;
221+
+ PLACED ( 168150 70 ) N ;
222222
- req_msg[3] + NET req_msg[3] + DIRECTION INPUT + USE SIGNAL
223223
+ PORT
224224
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
@@ -234,35 +234,35 @@ PINS 54 ;
234234
- req_msg[6] + NET req_msg[6] + DIRECTION INPUT + USE SIGNAL
235235
+ PORT
236236
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
237-
+ PLACED ( 130910 70 ) N ;
237+
+ PLACED ( 130150 70 ) N ;
238238
- req_msg[7] + NET req_msg[7] + DIRECTION INPUT + USE SIGNAL
239239
+ PORT
240240
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
241-
+ PLACED ( 119510 70 ) N ;
241+
+ PLACED ( 118750 70 ) N ;
242242
- req_msg[8] + NET req_msg[8] + DIRECTION INPUT + USE SIGNAL
243243
+ PORT
244244
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
245-
+ PLACED ( 191710 70 ) N ;
245+
+ PLACED ( 190950 70 ) N ;
246246
- req_msg[9] + NET req_msg[9] + DIRECTION INPUT + USE SIGNAL
247247
+ PORT
248248
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
249249
+ PLACED ( 85310 70 ) N ;
250250
- req_rdy + NET req_rdy + DIRECTION OUTPUT + USE SIGNAL
251251
+ PORT
252252
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
253-
+ PLACED ( 187910 70 ) N ;
253+
+ PLACED ( 187150 70 ) N ;
254254
- req_val + NET req_val + DIRECTION INPUT + USE SIGNAL
255255
+ PORT
256256
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
257257
+ PLACED ( 92910 70 ) N ;
258258
- reset + NET reset + DIRECTION INPUT + USE SIGNAL
259259
+ PORT
260260
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
261-
+ PLACED ( 2470 70 ) N ;
261+
+ PLACED ( 3230 70 ) N ;
262262
- resp_msg[0] + NET resp_msg[0] + DIRECTION OUTPUT + USE SIGNAL
263263
+ PORT
264264
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
265-
+ PLACED ( 180310 70 ) N ;
265+
+ PLACED ( 179550 70 ) N ;
266266
- resp_msg[10] + NET resp_msg[10] + DIRECTION OUTPUT + USE SIGNAL
267267
+ PORT
268268
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
@@ -274,7 +274,7 @@ PINS 54 ;
274274
- resp_msg[12] + NET resp_msg[12] + DIRECTION OUTPUT + USE SIGNAL
275275
+ PORT
276276
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
277-
+ PLACED ( 123310 70 ) N ;
277+
+ PLACED ( 122550 70 ) N ;
278278
- resp_msg[13] + NET resp_msg[13] + DIRECTION OUTPUT + USE SIGNAL
279279
+ PORT
280280
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
@@ -294,15 +294,15 @@ PINS 54 ;
294294
- resp_msg[2] + NET resp_msg[2] + DIRECTION OUTPUT + USE SIGNAL
295295
+ PORT
296296
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
297-
+ PLACED ( 134710 70 ) N ;
297+
+ PLACED ( 133950 70 ) N ;
298298
- resp_msg[3] + NET resp_msg[3] + DIRECTION OUTPUT + USE SIGNAL
299299
+ PORT
300300
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
301-
+ PLACED ( 138510 70 ) N ;
301+
+ PLACED ( 137750 70 ) N ;
302302
- resp_msg[4] + NET resp_msg[4] + DIRECTION OUTPUT + USE SIGNAL
303303
+ PORT
304304
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
305-
+ PLACED ( 104310 70 ) N ;
305+
+ PLACED ( 103550 70 ) N ;
306306
- resp_msg[5] + NET resp_msg[5] + DIRECTION OUTPUT + USE SIGNAL
307307
+ PORT
308308
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
@@ -314,19 +314,19 @@ PINS 54 ;
314314
- resp_msg[7] + NET resp_msg[7] + DIRECTION OUTPUT + USE SIGNAL
315315
+ PORT
316316
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
317-
+ PLACED ( 195510 70 ) N ;
317+
+ PLACED ( 194750 70 ) N ;
318318
- resp_msg[8] + NET resp_msg[8] + DIRECTION OUTPUT + USE SIGNAL
319319
+ PORT
320320
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
321-
+ PLACED ( 165110 70 ) N ;
321+
+ PLACED ( 164350 70 ) N ;
322322
- resp_msg[9] + NET resp_msg[9] + DIRECTION OUTPUT + USE SIGNAL
323323
+ PORT
324324
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
325325
+ PLACED ( 16910 70 ) N ;
326326
- resp_rdy + NET resp_rdy + DIRECTION INPUT + USE SIGNAL
327327
+ PORT
328328
+ LAYER metal2 ( -70 -70 ) ( 70 70 )
329-
+ PLACED ( 153710 70 ) N ;
329+
+ PLACED ( 152950 70 ) N ;
330330
- resp_val + NET resp_val + DIRECTION OUTPUT + USE SIGNAL
331331
+ PORT
332332
+ LAYER metal2 ( -70 -70 ) ( 70 70 )

src/ppl/test/add_constraint8.ok

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[INFO PPL-0048] Restrict pins [ resp_msg[15] resp_msg[14] resp_msg[13] resp_msg[12] resp_msg[11] ... ] to region 10.00u-20.00u at the BOTTOM edge.
88
Found 0 macro blocks.
99
Using 2 tracks default min distance between IO pins.
10-
[INFO PPL-0001] Number of slots 1228
10+
[INFO PPL-0001] Number of slots 1220
1111
[INFO PPL-0002] Number of I/O 54
1212
[INFO PPL-0003] Number of I/O w/sink 54
1313
[INFO PPL-0004] Number of I/O w/o sink 0

src/ppl/test/add_constraint_error8.ok

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[INFO PPL-0048] Restrict pins [ clk req_msg[31] req_msg[30] req_msg[29] req_msg[28] ... ] to region 80.00u-100.00u at the TOP edge.
77
Found 0 macro blocks.
88
Using 2 tracks default min distance between IO pins.
9-
[WARNING PPL-0110] Constraint has 54 pins, but only 51 available slots.
9+
[WARNING PPL-0110] Constraint has 54 pins, but only 50 available slots.
1010
Increase the region 80.00um-100.00um on the TOP edge to 78.61um-100.00um.
1111
[ERROR PPL-0111] 1 constraint(s) does not have available slots for the pins.
1212
PPL-0111

0 commit comments

Comments
 (0)