Skip to content

Commit 764f102

Browse files
authored
Merge pull request #8029 from AcKoucher/mpl-virtual-connections
mpl: ensure valid virtual connections when breaking mixed leaves
2 parents 06d4a26 + 7e2594f commit 764f102

File tree

8 files changed

+2111
-2111
lines changed

8 files changed

+2111
-2111
lines changed

src/mpl/src/clusterEngine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2052,7 +2052,7 @@ void ClusteringEngine::breakMixedLeaf(Cluster* mixed_leaf)
20522052
}
20532053

20542054
setClusterMetrics(macro_clusters[i]);
2055-
virtual_conn_clusters.push_back(mixed_leaf->getId());
2055+
virtual_conn_clusters.push_back(macro_clusters[i]->getId());
20562056
}
20572057

20582058
// add virtual connections

src/mpl/test/boundary_push2.defok

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -183,60 +183,60 @@ TRACKS Y 140 DO 282 STEP 3200 LAYER metal9 ;
183183
TRACKS X 190 DO 282 STEP 3200 LAYER metal10 ;
184184
TRACKS Y 140 DO 282 STEP 3200 LAYER metal10 ;
185185
COMPONENTS 54 ;
186-
- MACRO_1 HM_100x100_1x1 + FIXED ( 239440 221810 ) S ;
187-
- MACRO_2 HM_100x100_1x1 + FIXED ( 600 221810 ) FS ;
188-
- MACRO_3 HM_100x100_1x1 + FIXED ( 600 20770 ) FS ;
186+
- MACRO_1 HM_100x100_1x1 + FIXED ( 600 20770 ) S ;
187+
- MACRO_2 HM_100x100_1x1 + FIXED ( 239440 221810 ) FS ;
188+
- MACRO_3 HM_100x100_1x1 + FIXED ( 600 221810 ) FS ;
189189
- MACRO_4 HM_100x100_1x1 + FIXED ( 239440 20770 ) FS ;
190-
- _001_ DFF_X1 + PLACED ( 15591 18600 ) N ;
191-
- _002_ DFF_X1 + PLACED ( 15591 18600 ) N ;
192-
- _003_ DFF_X1 + PLACED ( 15591 18600 ) N ;
193-
- _004_ DFF_X1 + PLACED ( 15591 18600 ) N ;
194-
- _005_ DFF_X1 + PLACED ( 15591 18600 ) N ;
195-
- _006_ DFF_X1 + PLACED ( 15591 18600 ) N ;
196-
- _007_ DFF_X1 + PLACED ( 15591 18600 ) N ;
197-
- _008_ DFF_X1 + PLACED ( 15591 18600 ) N ;
198-
- _009_ DFF_X1 + PLACED ( 15591 18600 ) N ;
199-
- _010_ DFF_X1 + PLACED ( 15591 18600 ) N ;
200-
- _011_ DFF_X1 + PLACED ( 15591 18600 ) N ;
201-
- _012_ DFF_X1 + PLACED ( 15591 18600 ) N ;
202-
- _013_ DFF_X1 + PLACED ( 15591 18600 ) N ;
203-
- _014_ DFF_X1 + PLACED ( 15591 18600 ) N ;
204-
- _015_ DFF_X1 + PLACED ( 15591 18600 ) N ;
205-
- _016_ DFF_X1 + PLACED ( 15591 18600 ) N ;
206-
- _017_ DFF_X1 + PLACED ( 15591 18600 ) N ;
207-
- _018_ DFF_X1 + PLACED ( 15591 18600 ) N ;
208-
- _019_ DFF_X1 + PLACED ( 15591 18600 ) N ;
209-
- _020_ DFF_X1 + PLACED ( 15591 18600 ) N ;
210-
- _021_ DFF_X1 + PLACED ( 15591 18600 ) N ;
211-
- _022_ DFF_X1 + PLACED ( 15591 18600 ) N ;
212-
- _023_ DFF_X1 + PLACED ( 15591 18600 ) N ;
213-
- _024_ DFF_X1 + PLACED ( 15591 18600 ) N ;
214-
- _025_ DFF_X1 + PLACED ( 15591 18600 ) N ;
215-
- _026_ DFF_X1 + PLACED ( 15591 18600 ) N ;
216-
- _027_ DFF_X1 + PLACED ( 15591 18600 ) N ;
217-
- _028_ DFF_X1 + PLACED ( 15591 18600 ) N ;
218-
- _029_ DFF_X1 + PLACED ( 15591 18600 ) N ;
219-
- _030_ DFF_X1 + PLACED ( 15591 18600 ) N ;
220-
- _031_ DFF_X1 + PLACED ( 15591 18600 ) N ;
221-
- _032_ DFF_X1 + PLACED ( 15591 18600 ) N ;
222-
- _033_ DFF_X1 + PLACED ( 15591 18600 ) N ;
223-
- _034_ DFF_X1 + PLACED ( 15591 18600 ) N ;
224-
- _035_ DFF_X1 + PLACED ( 15591 18600 ) N ;
225-
- _036_ DFF_X1 + PLACED ( 15591 18600 ) N ;
226-
- _037_ DFF_X1 + PLACED ( 15591 18600 ) N ;
227-
- _038_ DFF_X1 + PLACED ( 15591 18600 ) N ;
228-
- _039_ DFF_X1 + PLACED ( 15591 18600 ) N ;
229-
- _040_ DFF_X1 + PLACED ( 15591 18600 ) N ;
230-
- _041_ DFF_X1 + PLACED ( 15591 18600 ) N ;
231-
- _042_ DFF_X1 + PLACED ( 15591 18600 ) N ;
232-
- _043_ DFF_X1 + PLACED ( 15591 18600 ) N ;
233-
- _044_ DFF_X1 + PLACED ( 15591 18600 ) N ;
234-
- _045_ DFF_X1 + PLACED ( 15591 18600 ) N ;
235-
- _046_ DFF_X1 + PLACED ( 15591 18600 ) N ;
236-
- _047_ DFF_X1 + PLACED ( 15591 18600 ) N ;
237-
- _048_ DFF_X1 + PLACED ( 15591 18600 ) N ;
238-
- _049_ DFF_X1 + PLACED ( 15591 18600 ) N ;
239-
- _050_ DFF_X1 + PLACED ( 15591 18600 ) N ;
190+
- _001_ DFF_X1 + PLACED ( 216790 219801 ) N ;
191+
- _002_ DFF_X1 + PLACED ( 216790 219801 ) N ;
192+
- _003_ DFF_X1 + PLACED ( 216790 219801 ) N ;
193+
- _004_ DFF_X1 + PLACED ( 216790 219801 ) N ;
194+
- _005_ DFF_X1 + PLACED ( 216790 219801 ) N ;
195+
- _006_ DFF_X1 + PLACED ( 216790 219801 ) N ;
196+
- _007_ DFF_X1 + PLACED ( 216790 219801 ) N ;
197+
- _008_ DFF_X1 + PLACED ( 216790 219801 ) N ;
198+
- _009_ DFF_X1 + PLACED ( 216790 219801 ) N ;
199+
- _010_ DFF_X1 + PLACED ( 216790 219801 ) N ;
200+
- _011_ DFF_X1 + PLACED ( 216790 219801 ) N ;
201+
- _012_ DFF_X1 + PLACED ( 216790 219801 ) N ;
202+
- _013_ DFF_X1 + PLACED ( 216790 219801 ) N ;
203+
- _014_ DFF_X1 + PLACED ( 216790 219801 ) N ;
204+
- _015_ DFF_X1 + PLACED ( 216790 219801 ) N ;
205+
- _016_ DFF_X1 + PLACED ( 216790 219801 ) N ;
206+
- _017_ DFF_X1 + PLACED ( 216790 219801 ) N ;
207+
- _018_ DFF_X1 + PLACED ( 216790 219801 ) N ;
208+
- _019_ DFF_X1 + PLACED ( 216790 219801 ) N ;
209+
- _020_ DFF_X1 + PLACED ( 216790 219801 ) N ;
210+
- _021_ DFF_X1 + PLACED ( 216790 219801 ) N ;
211+
- _022_ DFF_X1 + PLACED ( 216790 219801 ) N ;
212+
- _023_ DFF_X1 + PLACED ( 216790 219801 ) N ;
213+
- _024_ DFF_X1 + PLACED ( 216790 219801 ) N ;
214+
- _025_ DFF_X1 + PLACED ( 216790 219801 ) N ;
215+
- _026_ DFF_X1 + PLACED ( 216790 219801 ) N ;
216+
- _027_ DFF_X1 + PLACED ( 216790 219801 ) N ;
217+
- _028_ DFF_X1 + PLACED ( 216790 219801 ) N ;
218+
- _029_ DFF_X1 + PLACED ( 216790 219801 ) N ;
219+
- _030_ DFF_X1 + PLACED ( 216790 219801 ) N ;
220+
- _031_ DFF_X1 + PLACED ( 216790 219801 ) N ;
221+
- _032_ DFF_X1 + PLACED ( 216790 219801 ) N ;
222+
- _033_ DFF_X1 + PLACED ( 216790 219801 ) N ;
223+
- _034_ DFF_X1 + PLACED ( 216790 219801 ) N ;
224+
- _035_ DFF_X1 + PLACED ( 216790 219801 ) N ;
225+
- _036_ DFF_X1 + PLACED ( 216790 219801 ) N ;
226+
- _037_ DFF_X1 + PLACED ( 216790 219801 ) N ;
227+
- _038_ DFF_X1 + PLACED ( 216790 219801 ) N ;
228+
- _039_ DFF_X1 + PLACED ( 216790 219801 ) N ;
229+
- _040_ DFF_X1 + PLACED ( 216790 219801 ) N ;
230+
- _041_ DFF_X1 + PLACED ( 216790 219801 ) N ;
231+
- _042_ DFF_X1 + PLACED ( 216790 219801 ) N ;
232+
- _043_ DFF_X1 + PLACED ( 216790 219801 ) N ;
233+
- _044_ DFF_X1 + PLACED ( 216790 219801 ) N ;
234+
- _045_ DFF_X1 + PLACED ( 216790 219801 ) N ;
235+
- _046_ DFF_X1 + PLACED ( 216790 219801 ) N ;
236+
- _047_ DFF_X1 + PLACED ( 216790 219801 ) N ;
237+
- _048_ DFF_X1 + PLACED ( 216790 219801 ) N ;
238+
- _049_ DFF_X1 + PLACED ( 216790 219801 ) N ;
239+
- _050_ DFF_X1 + PLACED ( 216790 219801 ) N ;
240240
END COMPONENTS
241241
PINS 4 ;
242242
- io_1 + NET io_1 + DIRECTION INPUT + USE SIGNAL ;

src/mpl/test/boundary_push3.defok

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -184,59 +184,59 @@ TRACKS X 190 DO 282 STEP 3200 LAYER metal10 ;
184184
TRACKS Y 140 DO 282 STEP 3200 LAYER metal10 ;
185185
COMPONENTS 54 ;
186186
- MACRO_1 HM_100x100_1x1 + FIXED ( 220620 610 ) S ;
187-
- MACRO_2 HM_100x100_1x1 + FIXED ( 19420 241970 ) FS ;
188-
- MACRO_3 HM_100x100_1x1 + FIXED ( 220620 241970 ) FS ;
189-
- MACRO_4 HM_100x100_1x1 + FIXED ( 19420 610 ) FS ;
190-
- _001_ DFF_X1 + PLACED ( 15590 18601 ) N ;
191-
- _002_ DFF_X1 + PLACED ( 15590 18601 ) N ;
192-
- _003_ DFF_X1 + PLACED ( 15590 18601 ) N ;
193-
- _004_ DFF_X1 + PLACED ( 15590 18601 ) N ;
194-
- _005_ DFF_X1 + PLACED ( 15590 18601 ) N ;
195-
- _006_ DFF_X1 + PLACED ( 15590 18601 ) N ;
196-
- _007_ DFF_X1 + PLACED ( 15590 18601 ) N ;
197-
- _008_ DFF_X1 + PLACED ( 15590 18601 ) N ;
198-
- _009_ DFF_X1 + PLACED ( 15590 18601 ) N ;
199-
- _010_ DFF_X1 + PLACED ( 15590 18601 ) N ;
200-
- _011_ DFF_X1 + PLACED ( 15590 18601 ) N ;
201-
- _012_ DFF_X1 + PLACED ( 15590 18601 ) N ;
202-
- _013_ DFF_X1 + PLACED ( 15590 18601 ) N ;
203-
- _014_ DFF_X1 + PLACED ( 15590 18601 ) N ;
204-
- _015_ DFF_X1 + PLACED ( 15590 18601 ) N ;
205-
- _016_ DFF_X1 + PLACED ( 15590 18601 ) N ;
206-
- _017_ DFF_X1 + PLACED ( 15590 18601 ) N ;
207-
- _018_ DFF_X1 + PLACED ( 15590 18601 ) N ;
208-
- _019_ DFF_X1 + PLACED ( 15590 18601 ) N ;
209-
- _020_ DFF_X1 + PLACED ( 15590 18601 ) N ;
210-
- _021_ DFF_X1 + PLACED ( 15590 18601 ) N ;
211-
- _022_ DFF_X1 + PLACED ( 15590 18601 ) N ;
212-
- _023_ DFF_X1 + PLACED ( 15590 18601 ) N ;
213-
- _024_ DFF_X1 + PLACED ( 15590 18601 ) N ;
214-
- _025_ DFF_X1 + PLACED ( 15590 18601 ) N ;
215-
- _026_ DFF_X1 + PLACED ( 15590 18601 ) N ;
216-
- _027_ DFF_X1 + PLACED ( 15590 18601 ) N ;
217-
- _028_ DFF_X1 + PLACED ( 15590 18601 ) N ;
218-
- _029_ DFF_X1 + PLACED ( 15590 18601 ) N ;
219-
- _030_ DFF_X1 + PLACED ( 15590 18601 ) N ;
220-
- _031_ DFF_X1 + PLACED ( 15590 18601 ) N ;
221-
- _032_ DFF_X1 + PLACED ( 15590 18601 ) N ;
222-
- _033_ DFF_X1 + PLACED ( 15590 18601 ) N ;
223-
- _034_ DFF_X1 + PLACED ( 15590 18601 ) N ;
224-
- _035_ DFF_X1 + PLACED ( 15590 18601 ) N ;
225-
- _036_ DFF_X1 + PLACED ( 15590 18601 ) N ;
226-
- _037_ DFF_X1 + PLACED ( 15590 18601 ) N ;
227-
- _038_ DFF_X1 + PLACED ( 15590 18601 ) N ;
228-
- _039_ DFF_X1 + PLACED ( 15590 18601 ) N ;
229-
- _040_ DFF_X1 + PLACED ( 15590 18601 ) N ;
230-
- _041_ DFF_X1 + PLACED ( 15590 18601 ) N ;
231-
- _042_ DFF_X1 + PLACED ( 15590 18601 ) N ;
232-
- _043_ DFF_X1 + PLACED ( 15590 18601 ) N ;
233-
- _044_ DFF_X1 + PLACED ( 15590 18601 ) N ;
234-
- _045_ DFF_X1 + PLACED ( 15590 18601 ) N ;
235-
- _046_ DFF_X1 + PLACED ( 15590 18601 ) N ;
236-
- _047_ DFF_X1 + PLACED ( 15590 18601 ) N ;
237-
- _048_ DFF_X1 + PLACED ( 15590 18601 ) N ;
238-
- _049_ DFF_X1 + PLACED ( 15590 18601 ) N ;
239-
- _050_ DFF_X1 + PLACED ( 15590 18601 ) N ;
187+
- MACRO_2 HM_100x100_1x1 + FIXED ( 19420 610 ) FS ;
188+
- MACRO_3 HM_100x100_1x1 + FIXED ( 19420 241970 ) FS ;
189+
- MACRO_4 HM_100x100_1x1 + FIXED ( 220620 241970 ) FS ;
190+
- _001_ DFF_X1 + PLACED ( 216790 219801 ) N ;
191+
- _002_ DFF_X1 + PLACED ( 216790 219801 ) N ;
192+
- _003_ DFF_X1 + PLACED ( 216790 219801 ) N ;
193+
- _004_ DFF_X1 + PLACED ( 216790 219801 ) N ;
194+
- _005_ DFF_X1 + PLACED ( 216790 219801 ) N ;
195+
- _006_ DFF_X1 + PLACED ( 216790 219801 ) N ;
196+
- _007_ DFF_X1 + PLACED ( 216790 219801 ) N ;
197+
- _008_ DFF_X1 + PLACED ( 216790 219801 ) N ;
198+
- _009_ DFF_X1 + PLACED ( 216790 219801 ) N ;
199+
- _010_ DFF_X1 + PLACED ( 216790 219801 ) N ;
200+
- _011_ DFF_X1 + PLACED ( 216790 219801 ) N ;
201+
- _012_ DFF_X1 + PLACED ( 216790 219801 ) N ;
202+
- _013_ DFF_X1 + PLACED ( 216790 219801 ) N ;
203+
- _014_ DFF_X1 + PLACED ( 216790 219801 ) N ;
204+
- _015_ DFF_X1 + PLACED ( 216790 219801 ) N ;
205+
- _016_ DFF_X1 + PLACED ( 216790 219801 ) N ;
206+
- _017_ DFF_X1 + PLACED ( 216790 219801 ) N ;
207+
- _018_ DFF_X1 + PLACED ( 216790 219801 ) N ;
208+
- _019_ DFF_X1 + PLACED ( 216790 219801 ) N ;
209+
- _020_ DFF_X1 + PLACED ( 216790 219801 ) N ;
210+
- _021_ DFF_X1 + PLACED ( 216790 219801 ) N ;
211+
- _022_ DFF_X1 + PLACED ( 216790 219801 ) N ;
212+
- _023_ DFF_X1 + PLACED ( 216790 219801 ) N ;
213+
- _024_ DFF_X1 + PLACED ( 216790 219801 ) N ;
214+
- _025_ DFF_X1 + PLACED ( 216790 219801 ) N ;
215+
- _026_ DFF_X1 + PLACED ( 216790 219801 ) N ;
216+
- _027_ DFF_X1 + PLACED ( 216790 219801 ) N ;
217+
- _028_ DFF_X1 + PLACED ( 216790 219801 ) N ;
218+
- _029_ DFF_X1 + PLACED ( 216790 219801 ) N ;
219+
- _030_ DFF_X1 + PLACED ( 216790 219801 ) N ;
220+
- _031_ DFF_X1 + PLACED ( 216790 219801 ) N ;
221+
- _032_ DFF_X1 + PLACED ( 216790 219801 ) N ;
222+
- _033_ DFF_X1 + PLACED ( 216790 219801 ) N ;
223+
- _034_ DFF_X1 + PLACED ( 216790 219801 ) N ;
224+
- _035_ DFF_X1 + PLACED ( 216790 219801 ) N ;
225+
- _036_ DFF_X1 + PLACED ( 216790 219801 ) N ;
226+
- _037_ DFF_X1 + PLACED ( 216790 219801 ) N ;
227+
- _038_ DFF_X1 + PLACED ( 216790 219801 ) N ;
228+
- _039_ DFF_X1 + PLACED ( 216790 219801 ) N ;
229+
- _040_ DFF_X1 + PLACED ( 216790 219801 ) N ;
230+
- _041_ DFF_X1 + PLACED ( 216790 219801 ) N ;
231+
- _042_ DFF_X1 + PLACED ( 216790 219801 ) N ;
232+
- _043_ DFF_X1 + PLACED ( 216790 219801 ) N ;
233+
- _044_ DFF_X1 + PLACED ( 216790 219801 ) N ;
234+
- _045_ DFF_X1 + PLACED ( 216790 219801 ) N ;
235+
- _046_ DFF_X1 + PLACED ( 216790 219801 ) N ;
236+
- _047_ DFF_X1 + PLACED ( 216790 219801 ) N ;
237+
- _048_ DFF_X1 + PLACED ( 216790 219801 ) N ;
238+
- _049_ DFF_X1 + PLACED ( 216790 219801 ) N ;
239+
- _050_ DFF_X1 + PLACED ( 216790 219801 ) N ;
240240
END COMPONENTS
241241
PINS 4 ;
242242
- io_1 + NET io_1 + DIRECTION INPUT + USE SIGNAL ;

0 commit comments

Comments
 (0)