A Fast, Robust Network Flow-based Standard-Cell Legalization Method - - PowerPoint PPT Presentation

a fast robust network flow based standard cell
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

A Fast, Robust Network Flow-based Standard-Cell Legalization Method for Minimizing Maximum Movement

Nima Karimpour Darav Laleh Behjat Ismail Bustany Andrew Kennings

slide-2
SLIDE 2

Outline

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

2

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Problem Analogy

4

slide-5
SLIDE 5

Problem Analogy

5

The legalization process is similar to the process of flattening humps

slide-6
SLIDE 6

How To Flatten A Hump?

6

slide-7
SLIDE 7

How To Flatten A Hump Using Traditional Approaches?

7

slide-8
SLIDE 8

How To Flatten A Hump Using Traditional Approaches?

8

slide-9
SLIDE 9

How To Flatten A Hump Using Traditional Approaches?

9

slide-10
SLIDE 10

How To Flatten A Hump Using Traditional Approaches?

10

slide-11
SLIDE 11

How To Flatten A Hump Using Traditional Approaches?

11

slide-12
SLIDE 12

How To Flatten A Hump Using Traditional Approaches?

12

slide-13
SLIDE 13

How To Flatten A Hump Using Traditional Approaches?

13

slide-14
SLIDE 14

How To Flatten A Hump Using Traditional Approaches?

14

slide-15
SLIDE 15

Proposed Network Flow Based Approach

15

slide-16
SLIDE 16

Proposed Network Flow Based Approach

16

slide-17
SLIDE 17

Proposed Network Flow Based Approach

17

slide-18
SLIDE 18

Proposed Network Flow Based Approach

18

slide-19
SLIDE 19

Proposed Network Flow Based Approach

19

slide-20
SLIDE 20

Proposed Network Flow Based Approach

20

slide-21
SLIDE 21

Proposed Network Flow Based Approach

21

slide-22
SLIDE 22

Proposed Network Flow Based Approach

22

slide-23
SLIDE 23

Proposed Network Flow Based Approach

23

slide-24
SLIDE 24

Proposed Network Flow Based Approach

24

slide-25
SLIDE 25

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

slide-26
SLIDE 26

Legalization Challenges

26

slide-27
SLIDE 27

Challenges

27

Legalization

Routability Wire Length Timing closure Robust Runtime Complicated Design Rules Multi-Deck Cells

slide-28
SLIDE 28

Challenges

28

Legalization

Routability Wire Length Timing closure Robust Runtime Complicated Design Rules Multi-Deck Cells

slide-29
SLIDE 29

Challenges

29

Legalization

Routability Wire Length Timing closure Robust Runtime Complicated Design Rules Multi-Deck Cells

slide-30
SLIDE 30

Challenges

30

Legalization

Routability Wire Length Timing closure Robust Runtime Edge Spacing Rules Multi- Deck Cells

slide-31
SLIDE 31

Challenges – Edge Spacing Constraint

31 Two cells are too close to each other

Prone to pin access and short problems

slide-32
SLIDE 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

slide-33
SLIDE 33

Our Network-Flow Based Approach

33

slide-34
SLIDE 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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

Illustrative Example

39 Initial illegal placement: off rows and overlapping cells

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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.

slide-42
SLIDE 42

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.

slide-43
SLIDE 43

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.

slide-44
SLIDE 44

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.

slide-45
SLIDE 45

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.

slide-46
SLIDE 46

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.

slide-47
SLIDE 47

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.

slide-48
SLIDE 48

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.

slide-49
SLIDE 49

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.

slide-50
SLIDE 50

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

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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

slide-56
SLIDE 56

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

slide-57
SLIDE 57

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

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

slide-60
SLIDE 60

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

slide-61
SLIDE 61

Illustrative Example (The Capacity Map)

61 2

  • 2
  • 1
  • 1
  • 1
  • 1
  • 2

1 1 0 1 2 3 4 1 2

slide-62
SLIDE 62

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.
slide-63
SLIDE 63

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.
slide-64
SLIDE 64

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.
slide-65
SLIDE 65

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.
slide-66
SLIDE 66

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

slide-67
SLIDE 67

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

slide-68
SLIDE 68

Sample Illegal Placement from ISPD 2014

68 Areas as humps

slide-69
SLIDE 69

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)

slide-70
SLIDE 70

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

slide-71
SLIDE 71

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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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

slide-74
SLIDE 74

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

slide-75
SLIDE 75

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

slide-76
SLIDE 76

A Fast, Robust Network Flow-based Standard-Cell Legalization Method for Minimizing Maximum Movement

Nima Karimpour Darav Laleh Behjat Ismail Bustany Andrew Kennings