movement minimization
play

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


  1. 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 International Symposium on Physical Design 2019 1 San Francisco, California, USA

  2. Outline Introduction The Problem Model and Algorithm Experimental Results Conclusions 2

  3. Mixed-Cell-Height Legalization ● Given: Global placement Global placement: ● Objective: Minimize cell displacement Place cells to desired positions, ignoring cells overlaps ● Constraints: ⎯ 1) Chip region ⎯ 2) No cell overlaps Legalization: Place cells into rows & removes ⎯ 3) Placement sites on rows overlaps ⎯ 4) Power-rail alignment ● Power-rail constraint VSS A A B C B VDD VSS A A C VSS B B VDD C C VDD VSS VSS VDD NP-hard problem! 3

  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 2 3 Minimizing Minimizing average average A circuit 3 2 Movement and 3 movement maximum movement 1 1 2 1 4

  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 3 2 7 3 2 7 4 6 4 6 1 1 8 8 5 5 After 𝑦 - and y- legalization After 𝑦 - legalization 5

  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 6

  7. Outline Introduction The Problem Model and Algorithm Experimental Results Conclusions 7

  8. The Problem ● Given: a global placement result of 𝑜 standard cells 𝐷 = {𝑑 1 , 𝑑 2 , … , 𝑑 𝑜 } , where each cell 𝑑 𝑗 has the respective height and width ℎ 𝑗 and 𝑥 𝑗 , and 0 , 𝑧 𝑗 0 ), ∀ 𝑗 , 1 ≤ 𝑗 ≤ 𝑜 , and each even-row- its bottom-left coordinate ( 𝑦 𝑗 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 8

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

  10. Our Legalization Flow Preprocessing Align each cell to the nearest correct Cell alignment with VDD/VSS constraints row and set an orientation for each cell Cell orientation setting & cell splitting Formulate the H- and V- legalization H- and V-direction legalization to a MIQP and relax it as a QP and Problem transformation to an LCP further convert it to LCP, Duplicate variables to ensure MMSIM MMSIM solving convergence & solve the linear Row assignment & cell restoration system efficiently H-direction legalization Handle illegal cells by graph Row allocation matching and use Tetris to align cells to nearest placement sites Graph match based illegal cell handling 10

  11. Outline Introduction The Problem Model and Algorithm Experimental Results Conclusions 11

  12. 1. Objective Reformulation 1 0 + |𝑧 𝑗 − 𝑧 𝑗 0 + 𝑧 𝑗 − 𝑧 𝑗 0 ) 0 |) min 𝑜′ ෍ ( 𝑦 𝑗 − 𝑦 𝑗 + 𝜕 max( 𝑦 𝑗 − 𝑦 𝑗 𝑗 𝑗 𝑦, 𝑧 ● 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 12

  13. 1. Objective Reformulation ● 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. ● x i and y i are set as the latest iteration results (coordinates) of cell c i in our algorithm. 13

  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 7 7 6 6 4 4 2 2 1 1 5 5 3 3 8 8 14

  15. 2. VSS/VDD Alignment ● 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 15

  16. 3. Cell Balance Aware Orientation Presetting ● Moving orientation of a cell is determined by row density ● Circuit layout is split i nto 𝐽 × 𝐾 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 𝑑𝑝𝑚 𝑘 0 1 2 6 1 0.6 1.1 3 4 7 1.2 0.8 2 5 8 0.5 1.5 1 3 0.4 0.4 0 16

  17. 3. Cell Balance Aware Orientation Presetting ● If moving cell c k up (or down) is good for minimizing the value of max{ 𝑒 𝑗,𝑘 }- min{ 𝑒 𝑗,𝑘 }, then the orientation of cell c k 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 0 1 0.6 2 6 1 1.1 3 1.2 4 7 0.8 2 5 0.5 0.9 1 3 8 0.4 1.0 0 17

  18. 4. 𝒚 - and 𝒛 - Non-verlapping Constraints ● Cells spread out along 𝑦 -coordinate until non-overlapping 0 ≤ 𝑦 𝑘 0 , then 𝑦 𝑗 + 𝑥 𝑗 ≤ 𝑦 𝑘 ⎯ If 𝑦 𝑗 𝑨 𝑗𝑘 = 1, 𝑗𝑔 𝑑𝑓𝑚𝑚 𝑗 𝑏𝑜𝑒 𝑘 𝑏𝑠𝑓 𝑗𝑜 𝑢ℎ𝑓 𝑡𝑏𝑛𝑓 𝑠𝑝𝑥; 𝑝𝑢ℎ𝑓𝑠𝑥𝑗𝑡𝑓 = 0. ● 𝑨 𝑗𝑘 𝑆 ℎ reflects the overlapping length of sub-cells sc i and sc j 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 18

  19. 4. 𝒚 - and 𝒛 - Overlap Constraints sc i sc i sc j sc i sc i sc j row2 sc j sc j row1 Case (1) Case (2) Case (3) Case (4) ● The maximum value of 𝑧 𝑗 ⊝ 𝑧 𝑘 is (𝑙 𝑗 +𝑙 𝑘 )𝑆 ℎ 19

  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)𝑆 ℎ = ⋯ = 𝑧 𝑚 𝑠𝑗 20

  21. 6. Quadratic Programming (QP) Objective function (2) x- and y- overlap constraint VSS/VDD alignment constraint Range constraint Multiple-height-cell constraint 21

  22. ҧ 6. Quadratic Programming (QP) ● Let 𝑦 = (𝑦 1 , 𝑦 2 , … , 𝑦 𝑜 ) 𝑈 , 𝑧 = (𝑧 1 , 𝑧 2 , … , 𝑧 𝑜 ) 𝑈 , and 𝜈 = [𝑦, 𝑧] 𝑈 Q is a diagonal matrix with its elements q i,i =qn +i,n+i = 𝛽 𝑗 ● 𝑠 𝑗 0 0 𝛽 𝑗 𝑦 𝑗 𝛽 𝑗 𝑧 𝑗 ● 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 (4) (3) 𝑧 = 𝑧 − 𝑒, ത 𝑧] 𝑈 𝜈 = [𝑦, ത 22

  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 (5) (6) 23

  24. 6. Quadratic Programming (QP) (6) 𝐹 𝑈 ෨ Proposition 𝟐: In above problem, ෨ 𝑅 + 𝜇 ෨ 𝐹 is a symmetric positive definite matrix. 𝑚 = 𝑙 𝑗 𝑣 = 1 for all sub-cells, then Proposition 𝟑: In above problem, if 𝑙 𝑗 matrix ሚ 𝐵 if of full row rank. 24

Recommend


More recommend