1 / 30

Fixed Outline Multi-Bend Bus Driven Floorplanning

Fixed Outline Multi-Bend Bus Driven Floorplanning. W. Sheng, S. Dong, Y. Wu and S. Goto Tsinghua University, Beijing. ISQED 2010. Outline. Introduction Problem Formulation Placement Constraints for Bus Algorithm Experimental Results Conclusion. Introduction.

ingrid
Télécharger la présentation

Fixed Outline Multi-Bend Bus Driven Floorplanning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fixed Outline Multi-Bend Bus Driven Floorplanning W. Sheng, S. Dong, Y. Wu and S. Goto Tsinghua University, Beijing ISQED 2010

  2. Outline • Introduction • Problem Formulation • Placement Constraints for Bus • Algorithm • Experimental Results • Conclusion

  3. Introduction • Modern Hierarchical SOC design flows need to deal with fixed-outline floorplanning under the interconnect constraints • This paper integrates the bus routing issue into the floorplanning process, which handles hard blocks in a fixed-outline area for SOC designing

  4. Introduction • By far, all the existed methods that were adopted to address the BDF problem are based on SA framework • With the help of a certain kind of topological representations • SA is a non-deterministic method, it always needs a great number of iterations to get the result • This paper re-visits the BDF problem and adopts a deterministic algorithm named Less Flexibility First • Without any topological representations

  5. Problem Formulation • Input: • A set of rectangle blocks B={bi | i=0,1,…,n-1} • A set of m buses U={ui | i=0,1,…,m-1} and goes through a set of blocks BiB • The width W and height H of the chip, as the fixed-outline constraint • Output: • The position information of the n blocks and the m buses • The objective is to minimize the chip area and the total bus area

  6. Problem Formulation • Assumptions: • All the blocks are hard ones • All the blocks in the test cases can be rotated or reflected during the packing process • All the bus bendings should occur at the blocks that are in the corresponding bus nets • There is no restriction on the shape of the bus and the number of bendings in the bus

  7. Basic Concepts for LFF • Less Flexibility First (LFF) is a deterministic algorithm for block placement • It packs the blocks one by one during the floorplanning process • The most suitable block from the unpacked blocks is chosen and packed in every step • Which block is chosen in a step depends on its “flexibilities”

  8. Basic Concepts for LFF

  9. Basic Concepts for LFF • The basic idea of the LFF algorithm is packing the blocks from corners of the die gradually to the center • Choosing and packing one block is called a Packing Step • In every step, each unpacked block will be pseudo-placed at each existed corner, called Corner Packing Step (CPS) • If the placing is feasible, then it is a Candidate Corner Packing Step (CCPS) • The block pseudo-placed at the corner will not cause the overlap between this block and those already packed blocks

  10. Basic Concepts for LFF • Each step has some CCPSs • The task of the LFF is to choose the best CCPS in every step • The quality of the CCPS is measured by flexibility • The flexibility of the empty space • (a) The flexibility of a corner packing is 3/8 • (b) The flexibility of a side packing is 5/8 • (c) The flexibility of a hollow space packing is 1

  11. Basic Concepts for LFF • The flexibility of the to-be packed blocks • Ai, wi, hi are block i’s area, width and height • A, W, H are the given outline’s area, width and height

  12. Basic Concepts for LFF • The flexibility of the packing position • ( x0 , y0 ) denotes the coordination of the center of the work space • ( xc , yc ) denotes the corresponding corner coordination of the CCPS

  13. Basic Concepts for LFF • The flexibility of the buses • k is the number of the bus components that can be packed • li is the length of each bus component

  14. Basic Concepts for LFF • The flexibility of the CCPS

  15. Placement Constraints For Bus • Position Constraint

  16. Placement Constraints For Bus • All the bus bendings should occur at the blocks that are in the corresponding bus nets • No-Overlapping Constraint • In a feasible BDF solution, no horizontal/vertical bus component overlaps any other horizontal/vertical bus components

  17. Algorithm • Flexibility Modification • Redefine the flexibility of the to-be-packed blocks • TL is the total initial length of all the buses • Li is the initial length of the buses that pass through the block bi

  18. Algorithm • Update the flexibility of the to-be-packed blocks after every packing step

  19. Algorithm Implementation • Get All CCPSs In A Packing Step • In every packing step, each unpacked block will be pseudo-placed at each existed corner • (a) The block pseudo-placed at the corner will not cause the overlapping between this block and those already packed blocks • (b) There exist can-be-packed bus components that will connect this block to the corresponding buses

  20. Algorithm Implementation • Get All CCPSs In A Packing Step • For (b), there are three cases: • Case 1. bi is the first to-be-packed block of the blocks in Bi • Case 2. bi is the second to-be-packed block of the blocks in Bi • Case 3. There are more than one blocks in Bi have been packed before bi

  21. Algorithm Implementation

  22. Algorithm Implementation • For case 3, suppose there are two blocks bj , bk in Bi have already been packed and the bus component between them is ui1, then this case can be divided into two cases: • Case 3.1 bi is connected to bj (bk) by bus ui2 , and ui1 and ui2 are both horizontal/vertical • Case 3.2 bi is connected to bj (bk) by bus ui2 , but the direction of ui2 is not the same as the direction of ui1

  23. Algorithm Implementation • In case 3.1, ui1 and ui2 should be merged • Case 3.2 is the same as case 2, except that it will form a bending in the bus ui

  24. Algorithm Implementation • Bus Overlapping Removal • If the to-be-packed bus component overlaps any packed bus component, adjust the position of the to-be-packed bus component until there is no overlapping • If the position adjustment doesn’t work, this CCPS will be discarded

  25. Algorithm Implementation • Get The Best CCPS • According to the principle of Less Flexibility First, the best CCPS is from all the CCPSs with the smallest flexibility value • In every packing step, the best CCPS is selected, and the corresponding block and bus components are packed

  26. Experimental Results

  27. Experimental Results

  28. Experimental Results

  29. Experimental Results • n100-c, dead space=5.72%, aspect ratio=1.0

  30. Conclusion • This paper addresses the BDF problem in a fixed-outline area • By adding the placement constraints for buses to the LFF algorithm, their approach can generate a good BDF solution with small dead space percentage and short run time

More Related