A Fast, Robust Network Flow-based Standard-Cell Legalization Method - - PowerPoint PPT Presentation
A Fast, Robust Network Flow-based Standard-Cell Legalization Method - - PowerPoint PPT Presentation
A Fast, Robust Network Flow-based Standard-Cell Legalization Method for Minimizing Maximum Movement Nima Karimpour Darav Ismail Bustany Andrew Kennings Laleh Behjat Outline Standard Cell Legalization Problem Problem Analogy
Outline
- Standard Cell Legalization Problem
- Problem Analogy
- Challenges
- The Proposed Network Flow Based Algorithm
- Illustrative Example
- Empirical Results
- Conclusion
2
Standard Cell Legalization Problem
3
Movable cells Blocked area
C 1 C 2 C 3 C 4 C 5 C 6 C 7
C2 C3 C6
C 1 C 2 C 3 C 4 C 5 C 6 C 7
Problem Analogy
4
Problem Analogy
5
The legalization process is similar to the process of flattening humps
How To Flatten A Hump?
6
How To Flatten A Hump Using Traditional Approaches?
7
How To Flatten A Hump Using Traditional Approaches?
8
How To Flatten A Hump Using Traditional Approaches?
9
How To Flatten A Hump Using Traditional Approaches?
10
How To Flatten A Hump Using Traditional Approaches?
11
How To Flatten A Hump Using Traditional Approaches?
12
How To Flatten A Hump Using Traditional Approaches?
13
How To Flatten A Hump Using Traditional Approaches?
14
Proposed Network Flow Based Approach
15
Proposed Network Flow Based Approach
16
Proposed Network Flow Based Approach
17
Proposed Network Flow Based Approach
18
Proposed Network Flow Based Approach
19
Proposed Network Flow Based Approach
20
Proposed Network Flow Based Approach
21
Proposed Network Flow Based Approach
22
Proposed Network Flow Based Approach
23
Proposed Network Flow Based Approach
24
1
3 8 2 4 6 7 5
Proposed Method vs. Traditional Methods
25 1 3 8 2 4 6 7 5 6 1 3 8 2 4 7 5
- Network Flow:
- minimizes maximum movement.
- better preserves the order.
Traditional Methods Example Max movement = 3 Proposed Method Example Max movement = 1.5 The order is based on x positions.
1 2 3 4 5 7 6 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Legalization Challenges
26
Challenges
27
Legalization
Routability Wire Length Timing closure Robust Runtime Complicated Design Rules Multi-Deck Cells
Challenges
28
Legalization
Routability Wire Length Timing closure Robust Runtime Complicated Design Rules Multi-Deck Cells
Challenges
29
Legalization
Routability Wire Length Timing closure Robust Runtime Complicated Design Rules Multi-Deck Cells
Challenges
30
Legalization
Routability Wire Length Timing closure Robust Runtime Edge Spacing Rules Multi- Deck Cells
Challenges – Edge Spacing Constraint
31 Two cells are too close to each other
Prone to pin access and short problems
Objectives
- Minimize
- Maximum Cell Movement
- Average Cell movement
But it is not easy to minimize the above objectives because these are two NP hard problems.
32
Our Network-Flow Based Approach
33
Our Network-Flow Based Approach
- Inspired by the path augmentation algorithm, reference [8] (Brenner 2012).
- Objective is to flatten humps subject to the constraints.
- Set maximum movement as a constraint.
- Uses BFS to identify multiple paths subject to the maximum movement
constraint.
34
Our Network-Flow Based Approach
35 Preparation Step Initial solution Build a grid of connected bins Set an initial upper bound for displacement Assign cells to bins
Our Network-Flow Based Approach
36 Preparation Step Initial solution Build a grid of connected bins Set an initial upper bound for displacement Assign cells to bins Resolving Overflow Step Relax max displacement Identify overflowed bins B |B| > 0 Find paths for bin 𝑐𝑗 ∈ 𝐶 Move cells over the paths i = i +1 i < |B| i = 0
Yes No Yes No
Our Network-Flow Based Approach
37 Removing Overlap Step Remove overlaps inside bins Remove overlaps inside placement segments Legalized Solution Preparation Step Initial solution Build a grid of connected bins Set an initial upper bound for displacement Assign cells to bins Resolving Overflow Step Relax max displacement Identify overflowed bins B |B| > 0 Find paths for bin 𝑐𝑗 ∈ 𝐶 Move cells over the paths i = i +1 i < |B| i = 0
Yes No Yes No
Our Network-Flow Based Approach
38 Removing Overlap Step Remove overlaps inside bins Remove overlaps inside placement segments Legalized Solution Preparation Step Initial solution Build a grid of connected bins Set an initial upper bound for displacement Assign cells to bins Resolving Overflow Step Relax max displacement Identify overflowed bins B |B| > 0 Find paths for bin 𝑐𝑗 ∈ 𝐶 Move cells over the paths i = i +1 i < |B| i = 0
Yes No Yes No
Illustrative Example
39 Initial illegal placement: off rows and overlapping cells
Illustrative Example (The Capacity Map)
40 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 1 2 0 1 2 3 4
Illustrative Example (Finding Paths)
41 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
42 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
43 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 2,2 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
44 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 2,2 0,2 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
45 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 2,2 0,2 1,0 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
46 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
47 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
48 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Finding Paths)
49 2
- 2
1
- 1
1
- 1
- 4
1
- 1
- 1
- 2
1 1 1 0 1 2 3 4 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 The proposed BFS-based method for finding paths for an overflowed bin.
Illustrative Example (Moving Cells)
50 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
51 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
52 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
53 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
54 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
55 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
56 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
57 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
58 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
59 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (Moving Cells)
60 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 0 1 2 3 4 1 2
Illustrative Example (The Capacity Map)
61 2
- 2
- 1
- 1
- 1
- 1
- 2
1 1 0 1 2 3 4 1 2
Experimental Results
62
First Set
- ISPD 2014 benchmarks.
- GP generated by Eh?Placer.
- LEF/DEF format.
- All DR rules removed.
Second Set
- ISPD 2014 benchmarks.
- The same GPs.
- Edge spacing rules enabled.
- LEF/DEF format.
Third Set
- ISPD 2006 benchmarks with
movable single deck cells.
- GP generated by POLAR.
- Bookshelf format.
Experimental Results
63
First Set
- ISPD 2014 benchmarks.
- GP generated by Eh?Placer.
- LEF/DEF format.
- All DR rules removed.
Second Set
- ISPD 2014 benchmarks.
- GP generated by Eh?Placer.
- LEF/DEF format.
- Edge spacing rules enabled.
Third Set
- ISPD 2006 benchmarks with
movable single deck cells.
- GP generated by POLAR.
- Bookshelf format.
Experimental Results
64
First Set
- ISPD 2014 benchmarks.
- GP generated by Eh?Placer.
- LEF/DEF format.
- All DR rules removed.
Second Set
- ISPD 2014 benchmarks.
- The same GPs.
- LEF/DEF format.
- Edge spacing rules enabled.
Third Set
- ISPD 2006 benchmarks with
movable single deck cells.
- GP generated by POLAR.
- Bookshelf format.
Experimental Results
65
First Set
- ISPD 2014 benchmarks.
- GP generated by Eh?Placer.
- LEF/DEF format.
- All DR rules removed.
Second Set
- ISPD 2014 benchmarks.
- The same GPs.
- LEF/DEF format.
- Edge spacing rules enabled.
Third Set
- ISPD 2006 benchmarks with
movable single deck cells.
- GP generated by POLAR.
- Bookshelf format.
The ISPD 2014 Benchmarks
Global Placements generated by Eh?Placer ISPD 2014 Benchmark #Cells #Fixed Utilization mgc_des_perf_1 112,644 0.91 mgc_des_perf_2 112,644 0.85 mgc_edit_dist_1 130,661 0.40 mgc_edit_dist_2 130,661 0.43 mgc_fft 32,281 0.84 mgc_matrix_mult 155,325 0.80 mgc_pci_bridge32_1 30,675 0.84 mgc_superblue11 925616 1458 0.41 mgc_superblue12 1286948 89 0.44 mgc_superblue16 680450 419 0.46
66
The ISPD 2006 Benchmarks
67
ISPD 2006 Benchmark Global Placements generated by POLAR #Cells #Fixed Utilization newblue3 482833 11178 0.26 newblue4 642717 3422 0.46 newblue5 1228177 4881 0.50 newblue6 1248150 6889 0.39 newblue7 2481372 26582 0.49
Sample Illegal Placement from ISPD 2014
68 Areas as humps
Results on the ISPD 2014 (Set 1)
69
Benchmark HPWL Increase (%)
- Avg. Disp (rows)
- Max. Disp (rows)
Runtime (sec) RDP EP Ours RDP EP Ours RDP EP Ours RDP EP Ours des_perf_1 5.4 14.2 6.1 3.6 1.3 0.8 10.0 11.1 4.3 89.1 5.5 2.5 des_perf_2 4.5 12.7 5.9 3.6 1.2 0.8 10.0 13.2 3.7 80.1 5.1 2.1 edit_dist_1
- 5.8
3.3
- 1.2
1.1
- 17.8
8.3
- 5.9
1.0 edit_dist_2
- 5.7
3.4
- 1.2
1.1
- 12.2
7.8
- 6.1
1.1 fft 10.4 17.5 8.5 3.8 1.3 0.9 10.0 17.9 3.9 10.9 1.2 0.4 matrix_mult 9.2 15.0 7.9 3.8 1.2 0.8 10.0 12.5 3.8 52.8 7.8 3.0 pci_bridge32_1 12.3 25.2 12.7 4.0 1.2 0.8 10.0 8.7 3.0 17.8 0.9 0.3 pci_bridge32_2 10.4 23.9 12.5 4.1 1.1 0.8 10.0 8.2 3.8 17.1 0.8 0.3 superblue11
- 32.4
4.3
- 21.2
3.0
- 951.6
388.6
- - 3088.1
154.7 superblue12
- 26.6
4.8
- 6.6
1.9
- 428.0
180.6
- - 1537.5
112.1 superblue16
- 18.1
4.0
- 10.6
2.6
- 666.9
259.0
- - 2123.9
85.5
Norm
1.0 2.7 1.0 4.6 3.3 1.0 2.7 2.5 1.0 31.1 18.7 1.0
Ours vs Eh?Placer (EP) and RippleDP (RDP)
Results on the ISPD 2014 (Set 2)
70 Edge spacing rules were Enabled.
10 20 30 40 50 60 Rows
- Max. Displacement
Eh?Placer Ours 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 Rows
- Avg. Displacement
Eh?Placer Ours
Results on the ISPD 2014 (Set 2)
71 Edge spacing rules were Enabled.
0.0 5.0 10.0 15.0 20.0 25.0 30.0 %
HPWL Increase
Eh?Placer Ours 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 Sec
Runtime
Eh?Placer Ours
Results on the ISPD 2006 (Set 3)
72
0.0 200.0 400.0 600.0 800.0 1000.0 1200.0 1400.0 Rows
- Max. Displacement
FastPlace Ours 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 Rows
- Avg. Displacement
FastDP Ours
Results on the ISPD 2006 (Set 3)
73
50 100 150 200 250 Sec
Runtime
FastPlace Ours 1 2 3 4 5 6 7 %
HPWL Increase
FastPlace Ours
Scalability and Robustness
74
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
Sec/(1000 cells)
FastPlace Ours
Our approach is scalable and robust with respect to design size and floorplan complexity
Conclusion
- The proposed legalizer results in
- less maximum cell movement.
- less average cell movement.
- The proposed legalizer is
- fast.
- scalable and robust (independent of the floorplan complexity).
75