Movement Minimization Xingquan Li 1 , Jianli Chen 2 , Wenxing Zhu 2 , - - PowerPoint PPT Presentation

movement minimization
SMART_READER_LITE
LIVE PREVIEW

Movement Minimization Xingquan Li 1 , Jianli Chen 2 , Wenxing Zhu 2 , - - PowerPoint PPT Presentation

Analytical Mixed-Cell-Height Legalization Considering Average and Maximum Movement Minimization Xingquan Li 1 , Jianli Chen 2 , Wenxing Zhu 2 , and Yao-Wen Chang 3 1 Minnan Normal University 2 Fuzhou University 3 National Taiwan University


slide-1
SLIDE 1

1

Analytical Mixed-Cell-Height Legalization Considering Average and Maximum Movement Minimization

1Minnan Normal University 2Fuzhou University 3National Taiwan University

Xingquan Li1, Jianli Chen2, Wenxing Zhu2, and Yao-Wen Chang3

International Symposium on Physical Design 2019 San Francisco, California, USA

slide-2
SLIDE 2

2

Introduction The Problem Model and Algorithm Experimental Results Conclusions

Outline

slide-3
SLIDE 3

3

Mixed-Cell-Height Legalization

  • Given: Global placement
  • Objective: Minimize cell displacement
  • Constraints:

⎯ 1) Chip region ⎯ 2) No cell overlaps ⎯ 3) Placement sites on rows ⎯ 4) Power-rail alignment

  • Power-rail constraint

NP-hard problem!

VSS VDD VSS VDD

A B C

Global placement: Place cells to desired positions, ignoring cells overlaps Legalization: Place cells into rows & removes

  • verlaps

VSS VDD VSS VDD VSS

A B C B C A A B C

slide-4
SLIDE 4

4

Motivation

  • For the tiny routability gap before and after legalization, a desirable

legalization result should be with minimized average cell movement and minimized maximum cell movement

1 2 3 1 2 3 1 2 3

A circuit Minimizing average movement Minimizing average Movement and maximum movement

slide-5
SLIDE 5

5

Motivation

  • Previews works spread cell in the vertical or horizontal directions

separately

⎯ Shifting a cell may cause cell overlaps in other rows ⎯ Large cell total movement or maximum movement ⎯ Cell may be placed outside the placement region

  • In this work, we design an analytical algorithm to spread cells in both

the vertical and horizontal directions simultaneously

After 𝑦- legalization

1 3 4 8 6 5 2 7

After 𝑦- and y- legalization

1 3 4 8 6 5 2 7

slide-6
SLIDE 6

6

Our Contributions

  • Consider not only the average cell movement, but also the maximum

cell movement

  • Spread cells in both the vertical and horizontal directions

simultaneously

  • Mixed integer quadratic program (MIQP) formulation for mixed-cell-

height legalization

⎯ Analyze and remodel the objective function and constraints

  • Relax the MIQP into a quadratic programming problem (QP)

⎯ Relax discrete constraints to linear ones

slide-7
SLIDE 7

7

Introduction The Problem Model and Algorithm Experimental Results Conclusions

Outline

slide-8
SLIDE 8

8

The Problem

  • Given: a global placement result of 𝑜 standard cells 𝐷 = {𝑑1, 𝑑2, … , 𝑑𝑜},

where each cell 𝑑𝑗 has the respective height and width ℎ𝑗 and 𝑥𝑗, and its bottom-left coordinate (𝑦𝑗

0, 𝑧𝑗 0), ∀ 𝑗, 1 ≤ 𝑗 ≤ 𝑜, and each even-row-

height cell has a boundary power-rail type VDD or VSS

  • The objective of the multi-deck cell legalization is placing each cell 𝑑𝑗

to a coordinate (𝑦𝑗, 𝑧𝑗), such that the average cell movement and the maximum cell movement are minimized, and the following constraints are satisfied:

⎯ 1) cells must be non-overlapping ⎯ 2) cells must be placed inside the placement region ⎯ 3) cells must be located at placement sites on rows ⎯ 4) cells must be aligned to correct power rails ⎯ 5) others, e.g., pin access, pin short, edge spacing

slide-9
SLIDE 9

9

Integer Program Formulation

Site width 𝑇𝑥 and site height 𝑆ℎ are two given constants. The place region is a regular sheet with (0,0)X(W,H)

(1)

slide-10
SLIDE 10

10

Our Legalization Flow

Preprocessing Cell alignment with VDD/VSS constraints H-direction legalization H- and V-direction legalization Problem transformation to an LCP MMSIM solving Graph match based illegal cell handling Cell orientation setting & cell splitting Row allocation Row assignment & cell restoration

Align each cell to the nearest correct row and set an orientation for each cell Handle illegal cells by graph matching and use Tetris to align cells to nearest placement sites Duplicate variables to ensure MMSIM convergence & solve the linear system efficiently Formulate the H- and V- legalization to a MIQP and relax it as a QP and further convert it to LCP,

slide-11
SLIDE 11

11

Introduction The Problem Model and Algorithm Experimental Results Conclusions

Outline

slide-12
SLIDE 12

12

  • The objective is minimizing the weighted sum of the average cell

movement and the maximum cell movement, which is transformed as:

  • 𝛽𝑗 can be seen as a weight on the movement of cell 𝑑𝑗 . In fact, if 𝛽𝑗 is

assigned a proper value, above function includes minimizing the maximum cell movement

  • 1. Objective Reformulation

min 1 𝑜′ ෍

𝑗

( 𝑦𝑗 − 𝑦𝑗

0 + |𝑧𝑗 − 𝑧𝑗 0|)

+ 𝜕 max( 𝑦𝑗 − 𝑦𝑗

0 + 𝑧𝑗 − 𝑧𝑗 0 )

𝑗 𝑦, 𝑧

slide-13
SLIDE 13

13

  • The parameter 𝜆 ≥ −1 is used to make a trade-off between the average

cell movement and the maximum cell movement.

⎯ If 𝜆 ≫1, it focuses on minimizing the maximum cell movement; ⎯ if 𝜆 = −1, it focuses on minimizing the average cell movement.

  • xi and yi are set as the latest iteration results (coordinates) of cell ci in
  • ur algorithm.
  • 1. Objective Reformulation
slide-14
SLIDE 14

14

  • 2. VSS/VDD Alignment
  • Cells should be aligned to correct VDD/VSS rails:
  • First align each cell to its nearest correct VSS/VDD lines

1 2 4 5 3 8 6 7 1 2 4 5 3 8 6 7

slide-15
SLIDE 15

15

  • After aligning cells to nearest VSS/VDD, if cells densely distribute in

some rows, some cells should be realigned to adjacent rows

  • Range of cell movement in the vertical direction:
  • Further, we preset the orientation of cell movement
  • 2. VSS/VDD Alignment
slide-16
SLIDE 16

16

  • 3. Cell Balance Aware Orientation Presetting
  • Moving orientation of a cell is determined by row density
  • Circuit layout is split into 𝐽 × 𝐾 bins, (𝑠𝑝𝑥𝑗)𝐽 × (𝑑𝑝𝑚𝑘)𝐾

⎯ Bin size: 1 𝑇𝑗𝑢𝑓ℎ × 20 𝑇𝑗𝑢𝑓𝑥 ⎯ Density 𝑒𝑗,𝑘 of bin 𝑐𝑗,𝑘 : (the total width of cells in 𝑐𝑗,𝑘) / (20 𝑇𝑗𝑢𝑓𝑥)

  • Cells may be moved up or down to adjacent rows, such that max{𝑒𝑗,𝑘}-

min{𝑒𝑗,𝑘} is minimized for 𝑑𝑝𝑚𝑘

1 2 4 5 3 8 6 7 1.1 0.6 0.8 0.5 1.2 0.4 1.5 0.4 1 2 3 1

slide-17
SLIDE 17

17

  • 3. Cell Balance Aware Orientation Presetting
  • If moving cell ck up (or down) is good for minimizing the value of max{𝑒𝑗,𝑘}-

min{𝑒𝑗,𝑘}, then the orientation of cell ck is set as upward (or downward)

  • For example, moving cell 8 down can reduce the value of max{𝑒𝑗,𝑘}-

min{𝑒𝑗,𝑘} from 1.1 to 0.4, then the orientation of cell 8 is set as downward

1 2 4 5 3 8 6 7 1.1 0.6 0.8 0.5 1.2

1.0

0.9 0.4 1 2 3 1

slide-18
SLIDE 18

18

  • 4. 𝒚- and 𝒛- Non-verlapping Constraints
  • Cells spread out along 𝑦-coordinate until non-overlapping

⎯ If 𝑦𝑗

0 ≤ 𝑦𝑘 0, then 𝑦𝑗 + 𝑥𝑗 ≤ 𝑦𝑘

𝑨𝑗𝑘 = 1, 𝑗𝑔 𝑑𝑓𝑚𝑚 𝑗 𝑏𝑜𝑒 𝑘 𝑏𝑠𝑓 𝑗𝑜 𝑢ℎ𝑓 𝑡𝑏𝑛𝑓 𝑠𝑝𝑥; 𝑝𝑢ℎ𝑓𝑠𝑥𝑗𝑡𝑓 = 0.

  • 𝑨𝑗𝑘𝑆ℎ reflects the overlapping length of sub-cells sci and scj in the

vertical direction

⎯ If 𝑨𝑗𝑘 = 1, i.e., |𝑧𝑗 − 𝑧𝑘 | = 0, then the vertical overlapping length is 𝑆ℎ; ⎯ if 𝑨𝑗𝑘 = 0, i.e., |𝑧𝑗 − 𝑧𝑘 | ≥ 𝑆ℎ, then the vertical overlapping length is 0

slide-19
SLIDE 19

19

  • 4. 𝒚- and 𝒛- Overlap Constraints
  • The maximum value of 𝑧𝑗 ⊝ 𝑧𝑘 is (𝑙𝑗+𝑙𝑘)𝑆ℎ

sci scj sci scj

row1 row2

scj sci sci scj Case (1) Case (2) Case (3) Case (4)

slide-20
SLIDE 20

20

  • 5. Multiple-Row-Height Cell and Range Constraints
  • Range constraints

⎯ All 𝑦𝑗 should be not less than 0, and all 𝑦𝑗 + 𝑥𝑗 should be not greater

than W

  • Multiple-row-height cell constraints

⎯ A multiple-row-height cell 𝑑𝑚 is split into single-row-height sub-cells

𝑑𝑚1, 𝑑𝑚2, … , 𝑑𝑚𝑠𝑗

⎯ The 𝑦-coordinates of these sub-cells should be equal, i.e., 𝑦𝑚1 =

𝑦𝑚2 = ⋯ = 𝑦𝑚𝑠𝑗

⎯ The 𝑧-coordinates of these sub-cells should satisfy: 𝑧𝑚1 + (𝑠 −

1)𝑆ℎ = 𝑧𝑚2 + (𝑠 − 2)𝑆ℎ = ⋯ = 𝑧𝑚𝑠𝑗

slide-21
SLIDE 21

21

  • 6. Quadratic Programming (QP)

Objective function x- and y- overlap constraint VSS/VDD alignment constraint Range constraint Multiple-height-cell constraint

(2)

slide-22
SLIDE 22

22

  • 6. Quadratic Programming (QP)
  • Let 𝑦 = (𝑦1, 𝑦2, … , 𝑦𝑜 )𝑈, 𝑧 = (𝑧1, 𝑧2, … , 𝑧𝑜 )𝑈, and 𝜈 = [𝑦, 𝑧]𝑈
  • Q is a diagonal matrix with its elements qi,i=qn+i,n+i = 𝛽𝑗

𝑠𝑗

  • p is a vector with 𝑞𝑗= −

𝛽𝑗𝑦𝑗 𝑠𝑗

(i=1,2..n), and 𝑞𝑗= −

𝛽𝑗𝑧𝑗 𝑠𝑗−𝑜 (i=n+1,n+2..2n)

  • A is the overlap constraint matrix with only four nonzero elements 1, -1,

𝛾𝑗𝑘(𝑥𝑗+𝑥𝑘) (𝑙𝑗+𝑙𝑘)𝑆ℎ , and − 𝛾𝑗𝑘(𝑥𝑗+𝑥𝑘) (𝑙𝑗+𝑙𝑘)𝑆ℎ in each row

ത 𝑧 = 𝑧 − 𝑒, ҧ 𝜈 = [𝑦, ത 𝑧]𝑈 (3) (4)

slide-23
SLIDE 23

23

  • 6. Quadratic Programming (QP)
  • To guarantee that the constraint matrix is of full row rank, we

increase the number of variables by duplicating ത 𝑧 to 𝑧 with ത 𝑧 = 𝑧.

  • Let

(6) (5)

slide-24
SLIDE 24

24

  • 6. Quadratic Programming (QP)

Proposition 𝟐: In above problem, ෨ 𝑅 + 𝜇 ෨ 𝐹𝑈 ෨ 𝐹 is a symmetric positive definite matrix. Proposition 𝟑: In above problem, if 𝑙𝑗

𝑚 = 𝑙𝑗 𝑣 = 1 for all sub-cells, then

matrix ሚ 𝐵 if of full row rank. (6)

slide-25
SLIDE 25

25

  • 7. Linear Complementarity Problem (LCP)
  • QP is converted into an LCP

⎯ LCP gives the optimal solution of the QP

  • LCP(𝐶, 𝑢):

⎯ Given: a large, sparse & real matrix 𝐶 = (𝑐𝑗𝑘)𝑜×𝑜,

and a real vector t= (𝑢1, 𝑢2, … , 𝑢𝑜)𝑈∈ 𝑆𝑜

⎯ Goal: find a pair of real vectors 𝑥 and 𝑨 ∈ 𝑆𝑜 s. t.

  • The Modulus-based Matrix Splitting Iteration Method (MMSIM) is the

most effective, efficient method for solving LCP 𝐶, 𝑢

[1]

𝑥 = 𝐶𝑨 + 𝑢 ≥ 0, 𝑨 ≥ 0 and 𝑨𝑈𝑥 = 0.

[1] J. Chen, Z. Zhu, W. Zhu, and Y.-W. Chang. Toward optimal legalization for mixed-cell-height circuit designs. In Proceedings of ACM/IEEE Design Automation Conference, 2017.

slide-26
SLIDE 26

26

  • 8. Horizontal- and Vertical-Direction Legalization

Use previous iteration results to update 𝛽 MMSIM

slide-27
SLIDE 27

27

  • 8. Horizontal- and Vertical-Direction Legalization

Align cell to the nearest correct row

slide-28
SLIDE 28

28

Introductions Problem Formulation Model and Algorithm Experimental Results Conclusions

Outline

slide-29
SLIDE 29

29

Experimental Settings

Platform and parameters

C++ programming language

Unix machine with Intel Core 2.70 GHz CPU and 8 GB memory

IP solver: CPLEX

Parameter λ was set as 500. β* and θ* in the splitting matrices M and N were both set as 0.5, and γ, σ, and κ were set as 1, 0.4, and 1, respectively

Sixteen Benchmarks

Modified from ICCAD-2017 CAD Contest on Multi-Deck Standard-Cell Legalization by omitting the fence-region constraints and the soft constraints

Algorithms

DAC’17: Total cell movement, spread cell along row, MMSIM

MIQP: Total and maximum cell movement, global cell spreading, IP solver

LCP: Total and maximum cell movement, global cell spreading, MMSIM

Indicators

HPWL(%), Average movement(sites), maximum movement(sites), CPU(s)

slide-30
SLIDE 30

30

The Number of Cells

The numbers of cells of benchmarks range from thirty thousand to one hundred and thirty thousand.

slide-31
SLIDE 31

31

Total Experimental Results

slide-32
SLIDE 32

32

Comparison: HPWL

Compared with “DAC’17,” “LCP” achieves 32% improvement on HPWL

Compared with optimal “MIQP”, “LCP” loses only 2% on HPWL

slide-33
SLIDE 33

33

Comparison: Average Movement

Compared with “DAC’17,” “LCP” achieves 14% improvement on Avg. Move.

Compared with optimal “MIQP”, “LCP” loses only 2% on Avg. Move.

slide-34
SLIDE 34

34

Comparison: Maximum Movement

Compared with “DAC’17” and “MIQP”, “LCP” achieves 61% and 2% improvement on Max. Move.

slide-35
SLIDE 35

35

Comparison: Runtime

“LCP” is 158X faster than “MIQP”, and “DAC’17” is 1.5X faster than “LCP”

slide-36
SLIDE 36

36

An Example

  • Legalization result of the benchmark “ t_2_md2” from our algorithm
  • Cells are in blue, and movement in red
  • All cells are legalized and the total movement is small
slide-37
SLIDE 37

37

Introductions Problem Formulation Model and Algorithm Experimental Results Conclusions

Outline

slide-38
SLIDE 38

38

Conclusions

  • We formulate the mixed-cell-height standard-cell legalization problem

as a mixed integer quadratic program (MIQP),

⎯ Average cell movement, Maximum cell movement

  • By relaxing discrete constraints to linear ones, we convert the MIQP to

a quadratic programming problem (QP),

⎯ Spreading cells continuously in both the horizontal and vertical directions

  • We apply a series of operations to guarantee convergence of the

MMSIM.

  • Experimental results show that our analytical legalization method is

effective in reducing the average and maximum cell movements.

slide-39
SLIDE 39

39

Thank You!