optimal slack driven block shaping algorithm in fixed
play

Optimal Slack-Driven Block Shaping Algorithm in Fixed-Outline - PowerPoint PPT Presentation

Optimal Slack-Driven Block Shaping Algorithm in Fixed-Outline Floorplanning Jackey Z. Yan Chris Chu Placement Tech. Group Department of ECE Cadence Design Systems Iowa State University San Jose, CA 95134, U.S.A. Ames, IA 50010, U.S.A. 1 A


  1. Optimal Slack-Driven Block Shaping Algorithm in Fixed-Outline Floorplanning Jackey Z. Yan Chris Chu Placement Tech. Group Department of ECE Cadence Design Systems Iowa State University San Jose, CA 95134, U.S.A. Ames, IA 50010, U.S.A. 1

  2. A Quotation Sometimes the questions are complicated and the answers are simple. --- Dr. Seuss (1904 - 1991) 2

  3. Block Shaping in Fixed-Outline Floorplan  Input  n Blocks  Area A i for block i min max  Width bounds and for block i W W i i min max  Height bounds and for block I H H i i  Constraint graphs G and G h v  Fixed-outline region  Output  Block coordinates , width w ( , ) x y h and height i i i i  All blocks inside fixed-outline region  All blocks without overlaps 3

  4. Floorplan Representation  Slicing Floorplan  Excellent in shaping soft blocks (by shape curve)  Can only represent slicing floorplans  Non-Slicing Floorplan  Can represent non-slicing floorplans (by sequence pair)  Elegant representations, efficient manipulation  Much more complicated in block shaping 4

  5. Previous Work  T.C.Wang et al. Optimal floorplan area optimization . TCAD 1992  P.Pan et al. Area minimization for floorplans . TCAD 1995  S.Nakatake et al. Module placement on BSG-structure and IC layout applications . ICCAD 1996  T.S.Moh et al. Globally optimal floorplanning for a layout problem . TCSI 1996  M.Kang et al. General floorplanning with L-shaped, T-shaped and soft blocks based on bounded slicing grid structure . ASP-DAC 1997  H.Murata et al. Sequence-pair based placement method for hard/soft/pre-placed modules . ISPD 1998  F.Y.Young et al. Handling soft modules in general non-slicing floorplan using Lagrangian relaxation . TCAD 2001  S.N.Adya et al. Fixed-outline floorplanning: Enabling hierarchical design . TVLSI 2003  C.Lin et al. A revisit to floorplan optimization by Lagrangian relaxation . ICCAD 2006 5

  6. SDS Overview  Specifically formulated for fixed-outline floorplanning  Optimal, efficient and scalable for non-slicing floorplan  Main contributions  Basic Slack-Driven Shaping  Three Optimality Conditions  Slack-Driven Shaping ( SDS )  Promising Experimental Results  Obtain optimal solutions for both MCNC & HB benchmarks simply by the basic SDS.  For MCNC benchmarks, 253x faster than Young’s, 33x faster than Lin’s, to produce results of similar quality. 6

  7. Problem Formulation Minimize the layout height with a fixed layout width upper bound    W G , G (two dummy vertices 0 & n 1) h v 7

  8. Notion of Slack in Floorplanning  G G , h v  LL x   Shape of blocks n ( 0) ( ) RL x W  TL y ( y  ) n 1 horizontal slack  i s   h max(0, ) y n+ 1 0 i x i i  vertical slack x i BL y  ( 0) s   v max(0, ) i y i 8

  9. Horizontal/Vertical Critical Path  Horizontal Critical Path ( HCP )  Vertical Critical Path ( VCP ) s  v 0  5 TL y ( y  ) n 1 s  s  h h 3 0 5 2 3 3 s  2 h s  0 h 0 0 5 0 s  s  2 3 v v 5 2 0 2 3 1 4 s  s  h h 0 2 1 4 s  v 1 s  4 v 4 0 1 4 y  Length of VCP = Layout height 0 n 1 BL y  ( 0) s  v 0 0 9

  10. Basic Slack-Driven Shaping  Soft blocks are shaped iteratively .  At each iteration, apply two operations: VCP HCP  Globally distribute the total amount of slack to the individual soft block.  Algorithm stops when there is no identified soft block to shape.  Layout height is monotonically reducing, and layout width is bouncing, but always within the upper bound. 10

  11. Target Soft Blocks I:{ is hard} i   h v  II:{ is soft} { i s 0, s 0} i i   h v  III:{ is soft} { i s 0, s 0} i i 5    h v max   IV:{ is soft} { i s 0, s 0} { w W } i i i i    h v max   V:{ is soft} { i s 0, s 0} { w W } i i i i    max h v   VI:{ is soft} { 0, 0} { } i s s h H 2 3 i i i i    h v max   VII:{ is soft} { i s 0, s 0} { h H } i i i i 2 3 1 4 0 5 1 4 0 11

  12. Shaping Scheme     h w w ' w ' w IV i i i i i i i h P     h ' h v h ' h i VI i i i i i i Basic SDS WHILE (there is target soft block)            h h h h i IV, s s.t. 1, p G i i i i h  i p            v v v v i VI, s s.t. 1, p G i i i i v  i p  max ( W w )   h i i   i max MAX( ( W w ))  k k k p  h p P i 12

  13. Dynamic Programming Approach    max h MAX( ( W w )) = ( P ) k k i  h p P  i k p in out V V i i i G Topological h sorting 0 n+ 1 in out P P i i   in Scan (source ( P ) 0 0 to sink)   out ( P ) 0  n 1      Scan (sink to in in max ( P ) MAX( ( P )) ( W w ) i j i i  in source) j V i      out out max ( ) MAX( ( )) ( ) P P W w i j i i  out j V Traverse each i        h in out max ( ) ( ) ( ) ( ) P P P W w block i i i i i 13

  14. A Non-Optimal Case 4 14

  15. Optimal Conditions L : a shaping solution generated by the basic SDS . Hard critical path : all blocks on this critical path are hard blocks. 1. If there exists one hard VCP in L , then L is optimal. 2. If there exists at most one non-hard HCP in L , then L is optimal. 3. If there exists at most one non-hard VCP in L , then L is optimal. LL x   ( 0) RL x ( W )  TL y ( y  ) n 1 L BL y  ( 0) 15

  16. Flow of Slack-Driven Shaping Basic slack-driven shaping Yes Any optimality condition satisfied? No One step of geometric programming No Optimal? Yes 16

  17. Experimental Results  All experiments are run on Linux server with AMD Opteron 2.59 GHz CPU and 16 GB RAM.  Two sets of floorplan benchmarks  MCNC: 9~49 soft blocks  HB: 500~2000 mixed of hard and soft blocks  Aspect ratio bound of soft block is [1/3, 3].  Input constraint graphs are provided by a floorplanner.  In all experiments, SDS achieves the optimal solutions simply by the basic SDS. 17

  18. Experiments on MCNC Benchmarks  Compare SDS with Young’s and Lin’s algorithms  Young’s is minimizing the layout area.  Lin’s is minimizing the layout half parameter.  SDS is minimizing the layout height with width upper bound.  Procedure of Experiments  Conduct two groups of experiments: 1) SDS v.s.Young’s; 2) SDS v.s. Lin’s.  In each group, run each shaping algorithm 1000 times.  Run Young’s and Lin’s first, then use their resulting width as the input upper-bound width of SDS.  Compare the final result based on Young’s and Lin’s objective. 18

  19. Compared with Young’s on MCNC (* total shaping time of 1000 times and does not include I/O time) SDS stops Young’s [1] SDS #. Soft earlier Circuit. Blocks Shaping Time*(s) ws (%) Shaping Time*(s) ws (%) Shaping ws (%) Time*(s) apte 9 4.66 0.12 0.00 0.26 2.85 0.01 10 7.69 0.08 0.01 0.23 6.46 0.01 xerox hp 11 10.94 0.08 1.70 0.10 7.96 0.02 ami33a 33 8.70 22.13 0.44 3.97 8.67 0.28 ami49a 49 10.42 203.80 1.11 1.86 9.74 0.20 Norm 393.92 23.351 1.00 1.00 313.98 0.092 [1] F.Y.Young, C.C.N.Chu, W.S.Luk and Y.C.Wong, Handling soft modules in general non-slicing floorplan using Lagrangian relaxation . TCAD 2001 19

  20. Compared with Lin’s on MCNC (* total shaping time of 1000 times and does not include I/O time) Lin’s [1] SDS SDS stops earlier Circuit. #. Soft Half Shaping Half Shaping Half Shaping Blocks Para. Time*(s) Para. Time*(s) Para. Time*(s) apte 9 439.319 0.99 439.305 0.59 439.179 0.01 xerox 10 278.502 1.24 278.320 0.30 278.488 0.12 11 190.385 1.51 190.244 0.17 190.383 0.10 hp ami33a 33 215.965 34.85 215.711 1.45 215.958 0.46 ami49a 49 377.857 26.75 377.525 2.20 377.824 0.44 Norm 1.001 10.177 1.000 1.00 1.001 0.304 [1] C.Lin, H.Zhou and C.Chu, A revisit to floorplan optimization by Lagrangian relaxation . ICCAD 2006 20

  21. Comparison on Runtime Complexity 21

  22. Experiments on HB Benchmarks  Large-scale floorplan designs (500~2000 blocks)  Young’s and Lin’s algorithms cannot handle HB benchmarks  Highlights on SDS’ s results  Average convergence time: 1.18 second  Average total number of iterations: 1901  Average after 5.9%, 9.6%, 22.3% and 47.3%, layout height is within 10%, 5%, 1% and 0.1% difference from the optimal solution. 22

  23. Convergence Graph (1) [665 soft blks] 23

  24. Convergence Graph (2) [1200 soft blks] 24

  25. Conclusions  SDS – efficient, scalable and optimal slack-driven shaping algorithm in fixed-outline floorplanning.  Basic Slack-Driven Shaping  Optimality Conditions  Slack-Driven Shaping ( SDS )  Promising Experimental Results  Obtain optimal solutions for both MCNC & HB benchmarks simply by the basic SDS .  For MCNC benchmarks, 253x faster than Young’s, 33x faster than Lin’s, to produce results of similar quality. 25 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend