a fast robust network flow based standard cell
play

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


  1. A Fast, Robust Network Flow-based Standard-Cell Legalization Method for Minimizing Maximum Movement Nima Karimpour Darav Ismail Bustany Andrew Kennings Laleh Behjat

  2. Outline • Standard Cell Legalization Problem • Problem Analogy • Challenges • The Proposed Network Flow Based Algorithm • Illustrative Example • Empirical Results • Conclusion 2

  3. Standard Cell Legalization Problem C 1 C 1 C 3 C3 C 3 C 2 C2 C 6 C6 C 5 C 2 C 6 C 5 C 4 C 7 C 4 C 7 Blocked area Movable cells 3

  4. Problem Analogy 4

  5. Problem Analogy The legalization process is similar to the process of flattening humps 5

  6. How To Flatten A Hump? 6

  7. How To Flatten A Hump Using Traditional Approaches? 7

  8. How To Flatten A Hump Using Traditional Approaches? 8

  9. How To Flatten A Hump Using Traditional Approaches? 9

  10. How To Flatten A Hump Using Traditional Approaches? 10

  11. How To Flatten A Hump Using Traditional Approaches? 11

  12. How To Flatten A Hump Using Traditional Approaches? 12

  13. How To Flatten A Hump Using Traditional Approaches? 13

  14. How To Flatten A Hump Using Traditional Approaches? 14

  15. Proposed Network Flow Based Approach 15

  16. Proposed Network Flow Based Approach 16

  17. Proposed Network Flow Based Approach 17

  18. Proposed Network Flow Based Approach 18

  19. Proposed Network Flow Based Approach 19

  20. Proposed Network Flow Based Approach 20

  21. Proposed Network Flow Based Approach 21

  22. Proposed Network Flow Based Approach 22

  23. Proposed Network Flow Based Approach 23

  24. Proposed Network Flow Based Approach 24

  25. Proposed Method vs. Traditional Methods • Network Flow: 4 8 - minimizes maximum movement. 3 6 7 6 1 2 5 3 7 4 8 5 1 2 - better preserves the order. The order is based on x positions. 3 1 2 5 7 8 4 8 6 7 6 1 2 4 5 3 Traditional Methods Example Max movement = 3 1 2 2 3 4 5 6 7 8 1 3 4 5 7 8 6 Proposed Method Example Max movement = 1.5 25

  26. Legalization Challenges 26

  27. Challenges Routability Multi-Deck Wire Length Cells Legalization Complicated Timing Design closure Rules Runtime Robust 27

  28. Challenges Routability Multi-Deck Wire Length Cells Legalization Complicated Timing Design closure Rules Runtime Robust 28

  29. Challenges Routability Multi-Deck Wire Length Cells Legalization Complicated Timing Design closure Rules Runtime Robust 29

  30. Challenges Routability Multi- Wire Deck Length Cells Edge Legalization Timing Spacing closure Rules Runtime Robust 30

  31. Challenges – Edge Spacing Constraint Prone to pin access and short problems Two cells are too close to each other 31

  32. 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

  33. Our Network-Flow Based Approach 33

  34. 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

  35. Our Network-Flow Based Approach Preparation Step Initial solution Build a grid of connected bins Assign cells to bins Set an initial upper bound for displacement 35

  36. Our Network-Flow Based Approach Preparation Step Resolving Overflow Step Initial solution Identify overflowed bins B Build a grid of connected bins |B| > 0 No Assign cells to bins Yes i = 0 Set an initial upper bound for Find paths for bin 𝑐 𝑗 ∈ 𝐶 displacement Move cells over the paths i = i +1 i < |B| Yes No 36 Relax max displacement

  37. Our Network-Flow Based Approach Preparation Step Resolving Overflow Step Initial solution Removing Overlap Step Identify overflowed bins B Build a grid of connected bins Remove overlaps inside bins |B| > 0 No Assign cells to bins Yes i = 0 Remove overlaps inside Set an initial upper bound for placement segments Find paths for bin 𝑐 𝑗 ∈ 𝐶 displacement Move cells over the paths i = i +1 Legalized Solution i < |B| Yes No 37 Relax max displacement

  38. Our Network-Flow Based Approach Preparation Step Resolving Overflow Step Initial solution Removing Overlap Step Identify overflowed bins B Build a grid of connected bins Remove overlaps inside bins |B| > 0 No Assign cells to bins Yes i = 0 Remove overlaps inside Set an initial upper bound for placement segments Find paths for bin 𝑐 𝑗 ∈ 𝐶 displacement Move cells over the paths i = i +1 Legalized Solution i < |B| Yes No 38 Relax max displacement

  39. Illustrative Example Initial illegal placement: off rows and overlapping cells 39

  40. Illustrative Example (The Capacity Map) 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 0 1 2 3 4 40

  41. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 41 The proposed BFS-based method for finding paths for an overflowed bin.

  42. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 42 The proposed BFS-based method for finding paths for an overflowed bin.

  43. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 2,2 43 The proposed BFS-based method for finding paths for an overflowed bin.

  44. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 2,2 0,2 44 The proposed BFS-based method for finding paths for an overflowed bin.

  45. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 2,2 0,2 1,0 45 The proposed BFS-based method for finding paths for an overflowed bin.

  46. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 2,2 0,2 1,0 2,1 46 The proposed BFS-based method for finding paths for an overflowed bin.

  47. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 47 The proposed BFS-based method for finding paths for an overflowed bin.

  48. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 48 The proposed BFS-based method for finding paths for an overflowed bin.

  49. Illustrative Example (Finding Paths) 0 1 2 3 4 2 -2 1 -1 1 0 1 1 -1 -4 1 1 2 0 -1 -1 -2 1 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 49 The proposed BFS-based method for finding paths for an overflowed bin.

  50. Illustrative Example (Moving Cells) 0 1 2 3 4 0 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 50

  51. Illustrative Example (Moving Cells) 0 1 2 3 4 0 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 51

  52. Illustrative Example (Moving Cells) 0 1 2 3 4 0 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 52

  53. Illustrative Example (Moving Cells) 0 1 2 3 4 0 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 53

  54. Illustrative Example (Moving Cells) 0 1 2 3 4 0 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 54

  55. Illustrative Example (Moving Cells) 0 1 2 3 4 0 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 55

  56. Illustrative Example (Moving Cells) 0 1 2 3 4 0 1 2 1,2 1,1 1,3 2,2 0,2 1,0 2,1 0,1 1,4 56

Recommend


More recommend