Kahng, Multilevel circuit partitioning, Proceedings of the ACM Design Automation Conference, Anaheim, CA, 1997, pp.. Deng, VLSI circuit partitioning by cluster-removal using iterative im
Trang 17.5.3 NEWINNOVATIONS INMULTILEVELPARTITIONING
With increasing design sizes, it is becoming increasingly difficult to place an entire design flat using one processor A novel partitioning approach [Ma07] is applied to placement such that the computing effort is spread across several processors The approach consists of a rough initial flat placement,
a partitioning step, followed by detailed placement within the partition blocks where each block is assigned to its own processor The novelty of this technique lies in the way the blocks are determined Normally, an engineering change in one block will affect all other blocks However, this is not the case if the block boundary is determined by elements such as latches, flip-flops, or fixed objects Once these objects are identified, block boundaries that minimize the number of nets running between blocks are determined Finally, detailed placement is applied to blocks, each block assigned to its own processor
7.6 CONCLUSION
This chapter has presented a historical survey of partitioning and clustering techniques ranging from move-based methods to multilevel techniques to mathematical formulations including quadratic, linear, and integer programming approaches Multilevel methods have proven to be the partitioning technique of choice in the VLSI community owing to the quality of results they produce with very small runtimes A consequence of which is that partitioning is currently viewed as a solved problem However, as problem sizes continue to increase, multilevel partitions may no longer be near optimal Recent works [Ma07] revisit the partitioning problem and offer new solutions for very large-scale netlists
ACKNOWLEDGMENTS
I would like to thank my colleagues, especially Ulrich Finkler and Chuck Alpert for giving their comments and suggestions, and James Ma for helpful discussions regarding new innovations in multilevel partitioning
REFERENCES
[ACKM00] C J Alpert, A E Caldwell, A B Kahng, and I L Markov, Hypergraph partitioning with fixed
vertices, IEEE Transactions on Computer-Aided Design of Circuits and Systems 19(2): 267–272,
2000
[AHK96] C J Alpert, L W Hagen, and A B Kahng, A hybrid multilevel/genetic approach for circuit
partitioning, Proceedings of the Physical Design Workshop, 1996, Reston, VA, pp 100–105.
[AHK97] C J Alpert, J -H Huang, and A B Kahng, Multilevel circuit partitioning, Proceedings of the
ACM Design Automation Conference, Anaheim, CA, 1997, pp 530–533.
[AK93] C J Alpert and A B Kahng, Geometric embeddings for faster and better multi-way netlist
partitioning, Proceedings of the ACM Design Automation Conference, Dallas, TX, 1993,
pp 743–748
[AK94] _ , Multi-way partitioning via spacefilling curves and dynamic programming, Proceedings
of the ACM Design Automation Conference, San Diego, CA, 1994, pp 652–657.
[AK95] _ , Recent directions in netlist partitioning: A survey, Integration: The VLSI Journal 19:
1–813, 1995
[AK96] _ , A general framework for vertex orderings, with applications to circuit clustering, IEEE
Transactions on VLSI Systems 4(2): 240–246, 1996.
[AK98] _ , Multilevel circuit partitioning, IEEE Transactions on Computer-Aided Design of Circuits
and Systems 17(8): 655–667, 1998.
[AKN+05] C J Alpert, A B Kahng, G -J Nam, S Reda, and P G Villarrubia, A semi-persistent clustering
technique for VLSI circuit placement, Proceedings of the International Symposium on Physical
Design, San Francisco, CA, 2005, pp 200–207.
Trang 2Partitioning and Clustering 133
[AKY99] C J Alpert, A B Kahng, and S Z Yao, Spectral partitioning with multiple eigenvectors, Discrete
Applied Mathematics 90(1–3): 3–26, 1999.
[Alp96] C J Alpert, Multi-way graph and hypergraph partitioning, PhD thesis, University of California,
Los Angeles, CA, 1996
[AV93] S Areibi and A Vannelli, Advanced search techniques for circuit partitioning, DIMACS Series
in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society,
Rutgers, NJ, 1993, 77–97
[AY95] C J Alpert and S -Z Yao, Spectral partitioning: The more eigenvectors, the better, Proceedings
of the ACM Design Automation Conference, San Francisco, CA, 1995, pp 195–200.
[Bar82] E R Barnes, An algorithm for partitioning the nodes of a graph, SIAM Journal of Algebraic and
Discrete Methods 3(4): 541–550, 1982.
[BJ93] T N Bui and C Jones, A heuristic for reducing fill-in in sparse matrix factorization, Proceedings
of the Sixth SIAM Conference on Parallel Processing for Scientific Computing, Portsmouth, VA,
Vol 1, 1993, pp 445–452
[Bop87] R B Boppana, Eigenvalues and graph bisection: An average-case analysis, Proceedings of the
IEEE Symposium on Foundations of Computer Science, Los Angeles, CA, 1987, pp 280–285.
[BS93] S T Barnard and H D Simon, A fast multilevel implementation of recursive spectral bisection
for partitioning unstructured problems, Proceedings of the Sixth SIAM Conference on Parallel
Processing for Scientific Computing, Portsmouth, VA, 1993, pp 711–718.
[CGT95] T F Chan, J R Gilbert, and S -H Teng, Geometric Spectral Partitioning, Technical report, Xerox
PARC, 1995
[CL98] J Cong and S K Lim, Multiway partitioning with pairwise movement, Proceedings of the
International Conference on Computer-Aided Design, San Jose, CA, 1998, pp 512–516.
[CL00] _ , Edge separability based circuit clustering with application to circuit partitioning, Asia
South Pacific Design Automation Conference, Yokohama, Japan, 2000, pp 429–434.
[CSZ94] P K Chan, M Schlag, and J Zien, Spectral k-way ratio-cut partitioning, IEEE Transactions on
Computer-Aided Design of Integrated Circuits and Systems 13(9): 1088–1096, 1994.
[DD96] S Dutt and W Deng, VLSI circuit partitioning by cluster-removal using iterative improvement
techniques, Proceedings of the International Conference on Computer-Aided Design, San Jose,
CA, 1996, pp 194–200
[Dem97] J W Demmel, Applied Numerical Linear Algebra, Philadelphia, PA, SIAM, 1997.
[DH73] W E Donath and A J Hoffman, Lower bounds for the partitioning of graphs, IBM Journal of
Research and Development 17(9): 420–425, 1973.
[EAV99] H Etawil, S Areibi, and A Vannelli, ARP: A convex optimization based method for global
placement, IEEE/ACM, International Conference on Computer Aided Design, San Jose, CA,
1999, pp 20–24
[FF62] L R Ford and D R Fulkerson, Flows in Networks, Princeton University Press, Princeton, NJ,
1962, p 11
[Fie73] M Fiedler, Algebraic connectivity of graphs, Czechoslovak Mathematics Journal, 23, 298–305,
1973
[FK86] J Frankle and R M Karp, Circuit placements and cost bounds by eigenvector decomposition,
Proceedings of the International Conference on Computer-Aided Design, Santa Clara, CA, 1986,
pp 414–417
[FM82] C M Fiduccia and R M Mattheyses, A linear-time heuristic for improving network partitions,
Proceedings of the ACM Design Automation Conference, Washington D.C., 1982, pp 175–181.
[FRW92] J Falkner, F Rendl, and H Wolkowicz, A Computational Study of Graph Partitioning, Technical
Report CORR 92–95, Department of Combinatorics and Optimization, University of Waterloo, August 1992, Waterloo, Ontario, Canada
[GM00] S Guattery and G L Miller, Graph embeddings and Laplacian eigenvectors, SIAM Journal on
Matrix Analysis and Applications 22(3): 703–723, 2000
[GPS90] J Garbers, J Promel, and A Steger, Finding clusters in VLSI circuits, Proceedings of the
International Conference on Computer-Aided Design, Santa Clara, CA, 1990, pp 520–523.
[Hal70] K M Hall, An r-dimensional quadratic placement algorithm, Management Science 17(11): 219–
229, 1970
Trang 3[HHK97] L Hagen, D J -H Huang, and A B Kahng, On implementation choices for iterative improvement
partitioning algorithms, IEEE Transactions on Computer-Aided Design of Circuits and Systems
16(10): 1199–1205, 1997.
[HK91] L Hagen and A B Kahng, Fast spectral methods for ratio cut partitioning and clustering,
Proceedings of the International Conference on Computer-Aided Design, Santa Clara, CA, 1991,
pp 10–13
[HK92] _ , New spectral methods for ratio cut partitioning and clustering, IEEE Transactions on
Computer-Aided Design 11(9): 1074–1085, 1992.
[HK97] D J -H Huang and A B Kahng, Partitioning-based standard-cell global placement with an
exact objective function, Proceedings of the International Symposium on Physical Design, Napa
Valley, CA, 1997, pp 18–25
[HL95] B Hendrickson and R Leland, A multilevel algorithm for partitioning graphs, Proceedings of
the 1995 Supercomputing Conference, Los Alamitos, CA, 1995, pp 485–500.
[HMS03] B Hu and M Marek-Sadowska, Fine granularity clustering for large scale placement problems,
Proceedings of the International Symposium on Physical Design, San Diego, CA, 2003, pp 67–74.
[HMS04] _ , Fine granularity clustering–based placement, IEEE Transactions on Computer-Aided
Design of Integrated Circuits and Systems 23(4): 527–536, 2004.
[IWW93] E Ihler, D Wagner, and F Wagner, Modelling hypergraphs by graphs with the same mincut
properties, Information Processing Letters 45(4): 171–175, 1993.
[JAMS89] D S Johnson, C R Aragon, L A Mcgeoch, and C Schevon, Optimization by simulated
annealing: An experimental evaluation Part I, Graph partitioning, Operations Research 37,
865–892, 1989
[KAKS97] G Karypis, R Aggarwal, V Kumar, and S Shekhar, Multilevel hypergraph partitioning:
Application in VLSI domain, Proceedings of the IEEE/ACM Design Automation Conference,
Anaheim, CA, 1997, pp 526–529
[Kar03] G Karypis, Multilevel hypergraph partitioning, Multilevel Optimization in VLSICAD, Kluwer
Academic Publishers, Boston, MA, 2003
[KGV83] S Kirkpatrick, C D Gelatt, and M P Vecchi, Optimization by simulated Annealing, Science
220(4598): 671–680, 1983.
[KK95] G Karypis and V Kumar, A fast and high quality multilevel scheme for partitioning irregular
graphs, Proceedings of the International Conference on Parallel Processing, Urbana-Champaign,
IL, 1995, pp 113–122
[KK98] _ , hMETIS: A Hypergraph Partitioning Package, Version 1.5.3, Department of Computer
Science/Army HPC Research Center University of Minnesota, Minneapolis, MN, 1998 [KK99] _ , Multilevel k-way hypergraph partitioning, Proceedings of the IEEE/ACM Design
Automation Conference, New Orleans, LA, 1999, pp 343–348.
[KL70] B W Kernighan and S Lin, An efficient heuristic procedure for partitioning graphs, Bell System
Technical Journal, 49, 291–307, 1970.
[KN91] C Kring and R Newton, A cell-replication approach to mincut-based circuit partitioning,
Proceed-ings of the International Conference on Computer-Aided Design, Santa Clara, CA, 1991, pp 2–5.
[Kri84] B Krishnamurty, An improved min-cut algorithm for partitioning VLSI networks, IEEE
Transactions on Computers C-33(5): 438–446, 1984.
[Kuc05] D Kucar, New insights into hypergraph partitioning, PhD thesis, University of Waterloo,
Waterloo, Ontario, Canada, 2005
[Len90] T Lengauer, Combinatorial Algorithms for Integrated Circuit Layout, John Wiley & Sons,
New York, 1990
[LLLC96] J Li, J Lilis, L -T Liu, and C -K Cheng, New spectral linear placement and clustering approach,
Proceedings of the ACM Design Automation Conference, 1996, pp 88–93.
[LMS05] Q Liu and M Marek-Sadowska, Pre-layout physical connectivity prediction with applications in
clustering, placement and logic synthesis, Proceedings of the IEEE International Conference on
Computer Design, San Jose, CA, 2005.
[Ma07] J Ma, private communications, 2007
[NW88] G L Nemhauser and L A Wolsey, Integer and Combinatorial Optimization, John Wiley &
Sons, New York, 1988
Trang 4Partitioning and Clustering 135
[PS98] C Papadimitriou and K Steiglitz, Combinatorial Optimization, Dover Publications, Mineola,
NY, 1998
[PSL90] A Pothen, H D Simon, and K P Liou, Partitioning sparse matrices with eigenvectors of graphs,
SIAM Journal on Matrix Analysis and Applications 11(3): 430–452, 1990.
[RDJ94] B M Riess, K Doll, and F M Johannes, Partitioning very large circuits using analytical
placement techniques, Proceedings of the ACM Design Automation Conference, San Diego, CA,
1994, pp 646–651
[San89] L A Sanchis, Multi-way network partitioning, IEEE Transactions on Computers 38(1): 62–81,
1989
[SK72] D G Schweikert and B W Kernighan, A proper model for the partitioning of electrical circuits,
Proceedings of the ACM Design Automation Conference, San Diego, CA, 1972, pp 57–62.
[SS95] W -J Sun and C Sechen, Efficient and effective placement for very large circuits, IEEE
Transactions on Computer-Aided Design of Integrated Circuits and Systems 14(3): 349–359,
1995
[Ten99] S H Teng, Coarsening, Sampling, and Smoothing: Elements of the Multilevel Method, Vol 105,
Springer Verlag, New York, NY, 1999, pp 247–276
[TK91] R -S Tsay and E S Kuh, A unified approach to partitioning and placement, IEEE Transactions
on Circuits and Systems 38: 521–533, 1991.
[VH90] A Vannelli and S W Hadley, A Gomory–Hu cut tree representation of a netlist partitioning
problem, IEEE Transactions on Circuits and Systems 37(9): 1133–1139, 1990.
[Wal03] C Walshaw, An exploration of multilevel combinatorial optimisation, Multilevel Optimization in
VLSICAD, Kluwer Academic Publishers, Boston, MA, 2003.
[Wat91] D S Watkins, Fundamentals of Matrix Computations, John Wiley & Sons, New York, NY, 1991.
[WC91] Y -C Wei and C -K Cheng, Ratio cut partitioning for hierarchical designs, IEEE Transactions
on Computer-Aided Design 10(7): 911–921, 1991.
[YW94] X Yang and D F Wong, Efficient network flow based min-cut balanced partitioning,
Proceedings of the International Conference on Computer-Aided Design, San Jose, CA,
Vol 6–10, Nov 1994, pp 50–55
Trang 6Part III
Floorplanning
Trang 88 Floorplanning: Early Research
Susmita Sur-Kolay
CONTENTS
8.1 Introduction 139
8.2 Floorplan Topology Generation 140
8.3 Rectangular Duals 141
8.3.1 Dualizability 142
8.3.2 Slicibility of Rectangular Duals 145
8.3.2.1 Four-Cycle Criterion for Slicibility of a Floorplan 146
8.4 Nonslicibile Floorplan Topologies 147
8.4.1 Maximal Rectangular Hierarchy 147
8.4.2 Inherent Nonslicibility 148
8.4.3 Canonical Embedding of Rectangular Duals 149
8.4.4 Dualization with Rectilinear Modules 150
8.5 Hierarchical Floorplanning 151
8.6 Floorplan Sizing Methods 153
8.7 Analytic Sizing 154
8.8 Branch-and-Bound Strategy for Sizing 156
8.9 Knowledge-Based Floorplanning Approaches 157
8.10 Unified Method for Topology Generation and Sizing 158
Acknowledgments 158
References 158
8.1 INTRODUCTION
In physical design, floorplanning determines the topology of the layout, i.e., the relative positions
of modules on the chip, based on the interconnection requirements of the circuit and estimates for area A floorplan can provide a guideline in the detailed design of functional modules or blocks when the aspect ratios and pin positions of some of the modules on the chip are still unconstrained Thus, floorplanning is important not only for physical design, but even more for choosing design alternatives in the early stages that are likely to produce optimal designs
Placement was originally seen as a special case of floorplanning where the sizes and shapes
of all the modules are known In the history of computer-aided design (CAD) for very large scale integration (VLSI) circuits, the placement problem was addressed both for printed circuit boards
as well as large scale integration (LSI) circuits With the rapid increase in the scale of integration, the role of floorplanning came into the picture, particularly for the custom layout design style with variable width and height of modules Some of the major techniques that were originally proposed for placement have subsequently been tailored for floorplanning
139
Trang 9The most significant difference between floorplanning and placement is in the modeling of the cells or modules.∗The extra degree of freedom in floorplanning, arising from the flexibililty of the interface and shape of modules that constitute the design, enlarges the portion of the chip available for placing the components The floorplanning algorithm may have to deal with three types of modules: modules from a library with design and interface fixed, modules with known design but flexible layout, and modules with designs not completely known or certain With respect to the physical design flow, area estimation also has to handle all these three types of modules
Floorplan optimization has conventionally been achieved by two steps: (1) feasible topology gen-eration and (2) sizing (determining the aspect ratios of the rectangular modules to optimize objective functions such as chip area, total wirelength, etc.) Topology generation focuses on computing the relative locations of modules based on their interconnections without restriction on their exact shapes;
an estimate of the area of each module may however be known The sizing step then determines the shape, i.e., the aspect ratio of a module in tune with that of its neighbors to attain a globally optimal floorplan solution
This chapter concentrates on the early approaches to the floorplanning phase in the context of full-custom design or semifull-custom design styles such as building blocks, standard cells, and gate arrays The early floorplanning methods may be classified into constructive, iterative, and knowledge-based techniques Constructive algorithms are primarily used for topology generation and are discussed
in Sections 8.2 through 8.5 Iterative techniques, on the other hand, mainly tackle the second task
of floorplanning, namely sizing, and are discussed in Sections 8.6 through 8.8 Knowledge-based approaches [1–4] are considered in Section 8.9 and algorithms for a unified approach to topology generation and sizing are sketched in Section 8.10
8.2 FLOORPLAN TOPOLOGY GENERATION
Some of the commonly used terms in floorplanning literature are defined first For graph-theoretic terminologies used without definition in this chapter, the reader is referred to an appropriate text (e.g., Ref [5])
A floorplan is a rectangle dissection of an enveloping rectangle by horizontal (parallel to
x-axis) and vertical (parallel to y-axis) line segments, termed cuts, into a finite number of indivisible
nonoverlapping rectangles (Figure 8.1a and b), which correspond to the modules in the floorplan If the exact shape of the modules are not considered, then such a rectangle dissection depicts a floorplan
topology A floorplan with n cuts has exactly n+ 1 modules Conventionally, two perpendicular cuts are allowed to meet to form T-junctions only, but not a cross(+).
a
b
c d
e
f g
h
a
b
c d
e
f g
h a
b
c d
g h
FIGURE 8.1 (a) Slicible floorplan Fs, (b) nonslicible floorplan Fn, and (c) both floorplans have the same
adjacency graph R.
∗ In the context of this handbook, placement is defined as the narrower problem of placing standard cells (each cell has the same height) in rows.
Trang 10Floorplanning: Early Research 141
A floorplan is slicible if its rectangular dissection can be obtained by recursively divid-ing rectangles into smaller rectangles until each nonoverlappdivid-ing rectangle is indivisible Slicible floorplans (Figure 8.1a) are also termed slicing structures, or simply slicings All floorplans may not be slicible (Figure 8.1b) A summary of the major approaches to topology generation is presented next
1 Slicing embedding [6,7]: This is a constructive method generating a special type of floorplan only A point embedding is first determined by relying on the netlist information The relative positions of the modules are depicted in the form of a slicing tree or equivalently a series-parallel polar graph [8] Then a floorplan is obtained in polynomial time by cutting the embedding into a slicing structure as the slicing tree is traversed appropriately The approach neglects the actual building block dimensions Additional discussions on slicings appear in Chapters 2 and 9
2 Partitioning and slicing [9–11]: The divide-and-conquer approach is employed by adapting
a mincut approach (details appear in Chapter 15) for the placement of building blocks [9]
to the floorplanning problem In the Mason system [10], mincut bipartitioning is combined with the slicing tree representation in an effort to ensure routability Global improvement
of a partition is obtained by in-place partitioning based on the slicing tree A scheme for global channel assignment and I/O pin assignment aids in floorplan evaluation The system provides an interactive environment and can act as a human designer's assistant
3 Dual graph method [12–15]: Among the most important floorplanning paradigms, the dual graph method of floorplanning deserves special mention This is a constructive method based on graph algorithms The topology of the modules is extracted from the adjacency relations with respect to circuit interconnections, given as a neighborhood graph At first, this graph is planarized by deleting a minimum number of connections and adding crossover vertices Then the optimal rectangular dual is sought for the planar graph Rectangular dualization is of particular interest because of its algorithmic efficiency and the fact that the components are guaranteed to have rectangular layout It emphasizes the proximity
of heavily connected modules A performance-driven version [15] was designed, where
a dual is first generated considering routing constraints and then compacted by a linear programming-based heuristic method A significant amount of research has been carried out on the dual graph method, including extension to rectilinear modules The next section elaborates on many elegant results on rectangular dual floorplans
4 Hierarchical enumeration [16]: This method falls into the group of connectivity clustering methods; the basis is circuit connectivity For clusters of cells, floorplan templates having simplified topologies are used Recursion is applied to obtain floorplan for large, com-plex circuits There is a limit on the number of rectangular, arbitrary-sized blocks at each hierarchy level to enable simple pattern enumeration and exhaustive search later on The novelty of this approach is that information about global routing can be maintained during floorplanning The details of hierarchical floorplanning appear later in Section 8.5
8.3 RECTANGULAR DUALS
A floorplan generated by rectangular dualization is often referred to as a rectangular dual Given
such a floorplan F, a rectangular graph R = (V, E) representing the adjacency of modules in F has
a vertex for each module and an edge(u, v) ∈ E if and only if the modules denoted by vertices u and v are adjacent (i.e., share a common boundary) The graph R is also known as the adjacency or
neighborhood graph [12,17] For a given floorplan, a unique rectangular graph always exists, but the converse is not necessarily true as illustrated in Figure 8.1, where both the floorplans have the same rectangular graph of Figure 8.1c Although there may be exponentially many different rectangular