Handbook of algorithms for physical design automation part 30 potx

10 297 0
Handbook of algorithms for physical design automation part 30 potx

Đang tải... (xem toàn văn)

Thông tin tài liệu

Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C013 Finals Page 272 24-9-2008 #17 272 Handbook of Algorithms for Physical Design Automation 42. H. Xiang, X. Tang, and M.D.F. Wong. An algorithm for integrated pin assignment and buffer planning. ACM T ransactions on Design Automation of E lectronic Systems (TODAES), 10(3):561–572, 2005. 43. P. Hauge, R. Nair, and E. Yoffa. Circuit placement for predictable performance. In ICCAD ’87, Proceedings of the International Conference on Computer-Aided D esign 1987, pp. 88–91. ACM Press, NY, 1987. 44. P. Hauge, R. Nair , and E. Yoffa. Circuit Placement for Predictable Performance. IBM Thomas J. Watson Research Center, Yorktown Heights, NY, 1987. 45. J. Hu and S. Sapatnekar. A survey on multi-net global routing for integrated circuits. Integr ation: The VLSI Journal, 31(1):1–49, November 2001. 46. C. Lee. An algorithm for path connections and its applications. IRE T ransactions on Electr onic Computers, EC-10:346–365, September 1961. 47. L. John, C. Cheng, and T. Lin. Simultaneous routing and buffer insertion for high performance interconnect. In GLSVLSI ’96, Proceedings of the 6th Great Lakes Symposium on VLSI, p. 148. Washington, DC, IEEE Computer Society, 1996. 48. M. Kang, W. Dai, T. Dillinger, and D. LaPotin. Delay bounded buffered tree construction for timing driven floorplanning. In ICCAD ’97, Proceedings of the 1997 IEEE/ACM International Conference on Computer-Aided Design, pp. 707–712. IEEE Press, Piscataway, NJ, 1997. 49. J. Cong and X. Yuan. Routing tree construction under fixed buffer locations. In DAC ’00, Proceedings of the 37th Conference on Design Automation, pp. 379–384. ACM P ress, New York, 2000. 50. F. Dragan, A. Kahng, I. Mandoiu, S. Muddu, and A. Zelikovsky. Provably good global buffering by multi- terminal multicommodity flow approximation. In ASP-DAC ’01, Proceedings of the 2001 Conference on Asia South Pacific Design Automation, pp. 120–125. ACM Press, New York, 2001. 51. C. Alpert, M. Hrkic, J. Hu, A. Kahng, J. Lillis, B. Liu, S. Quay, S. Sapatnekar, A. Sullivan, and P. Villarrubia. Buffered Steiner trees for difficult instances. In ISPD ’01, Proceedings of the 2001 International Symposium on Physical Design, pp. 4–9. ACM Press, New York, 2001. 52. W. Chen, M. Pedram, and P. Buch. Buffered routing tree construction under buffer placement blockages. In ASP-DAC ’02, Proceedings of the 2002 Conference on Asia South Pacific Design Automation/VLSI Design, p. 381. IEEE Computer Society Washington, DC, 2002. 53. C. J. Alpert, G. Gandham, M. Hrkic, J. Hu, and S. T. Quay. Porosity aware buffered steiner tree construction. In ISPD ’03, Proceedings of the 2003 International Symposium on Physical Design, pp. 158–165. ACM Press, New York, 2003. 54. L. van Ginneken. Buffer placement in distributed RC-tree networks for minimal Elmore delay. In Proceed- ings of IEEE International Symposium on Circuits and Systems, pp. 865–868. IEEE Press, Piscataway, NJ, 1990. 55. R. Lu, G. Zhong, C. Koh, and K. Chao. Flip-flop and repeater insertion for early interconnect planning. In DATE’02, Proceedings of the Conference on Design, Automation and Test in Eur ope, p. 690, IEEE Computer Society, Washington, DC, 2002. 56. L. Scheffer. Methodologies and tools for pipelined on-chip interconnect. In Proceedings of the 2002 IEEE International Conference on Computer Design: VLSI in Computers and Processors, pp. 152–157. IEEE Press, Piscataway, NJ, 2002. 57. V. Chandra, A. Xu, and H. Schmit. A low power approach to system level pipelined interconnect design. In SLIP’04, Proceedings of the 2004 International Workshop on System Le vel Interconnect Prediction, pp. 45–52. ACM Press, New York, 2004. 58. J. Cong, Y. Fan, and Z. Zhang. Architecture-lev el s ynthesis for automatic interconnect pipelining. In DAC ’04, Proceedings of the Design Automation Conference, pp. 602–607. ACM Press, New York, 2004. 59. R. McInerney,K.Leeper, T.Hill, H. Chan, B. Basaran, and L. McQuiddy.Methodology for repeater insertion management in the RTL, layout, f loorplan and fullchip timing databases of the I tanium mi croprocessor. In ISPD’00, Proceedings of the International Symposium on Physical Design 2000, pp. 99–104. ACM Press, New York, 2000. 60. L. Scheffer and E. Nequist. Why interconnect prediction doesn’t work. In SLIP’00, Proceedings of the 2000 International Workshop on System-Level Interconnect Prediction, pp. 139–144. ACM Press, New York, 2000. 61. M. R. Garey and D. S. Johnson. The rectilinear Steiner tree problem is NP complete. SIAM Journal of Applied Math, 32:826–834, 1977. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C013 Finals Page 273 24-9-2008 #18 Industrial Floorplanning and Prototyping 273 62. H. Chen, C. Qiao, F. Zhou, and C. Cheng. Refined single trunk tree: a rectilinear steiner tree generator for interconnect prediction. In SLIP’02, Proceedings of t he 2002 International Workshop on System-Level Interconnect Prediction, pp. 85–89. ACM Press, New York, 2002. 63. C. Chu. Fast and accurate rectilinear Steiner minimal tree algorithm for VLSI design. In ISPD’05, Pr oceedings of the International Symposium on Physical Design 2005, pp. 28–35. ACM Press, NY, 2005. 64. J. Hu, Y. Shin, N. Dhanwada, and R. Marculescu. Architecting voltage islands in core-based system-on-a- chip designs. In ISLPED’04, Proceedings of the 2004 International Symposium on Low Power Electronics and Design 2004, pp. 180–185. ACM Press, NY, 2004. 65. D. Blaauw, S. Pant, R. Chanda, and R. Panda. Design and analysis of power supply networks. Electronic Design Automation for Integrated Cir cuits H andbook, volume II, CRC Press, Boca Raton, FL, 2006. 66. O. Coudert, J. Cong, S. Malik, and M. Sarrafzadeh. Incremental CAD. In ICCAD’00, Proceedings of the International Conference on Computer-Aided D esign 2000, pp. 236–243. ACM Press, NY, 2000. 67. J. Cong and M. Sarrafzadeh. Incremental physical design. In ISPD’00, Proceedings of the International Symposium on Physical Design 2000, pp. 84–92. ACM Press, NY, 2000. 68. Z. Li, W. Wu, X. Hong, and J. Gu. Incremental placement algorithm for standard-cell layout. In ISCAS 2002, IEEE International Symposium on Cir cuits and Systems 2002, volume 2. IEEE Press, Piscataway, NJ, 2002. 69. W. Choi and K. Bazargan. Incremental placement for timing optimization. In ICCAD ’03, Proceedings of the International Conference on Computer-Aided Design 2003, pp. 463–466. ACM Press, NY, 2003. 70. U. Brenner and J. Vygen. Legalizing a placement with minimum total movement. IEEE Transactions on CAD, 23( 12):1597–1613, 2004. 71. U. Brenner, A. Pauli, and J. Vygen. Almost optimum placement legalization by minimum cost flow and dynamic programming. In ISPD’04, Proceedings of the International Symposium on Physical Design 2004, pp. 2–9. ACM Press, NY, 2004. 72. A.B. Kahng, I.L. Markov, and S. Reda. On legalization of row-based placements. In Proceedings of the 14th ACM Great Lakes Symposium on VLSI, pp. 214–219. ACM Press, NY, 2004. 73. T. Luo, H. Ren, C. Alpert, and D. Pan. Computational geometry based placement migration. In ICCAD ’05, Proceedings of the International Conference on Computer-Aided Design 2005, pp. 41–47. ACM Press, NY, 2005. 74. H. Ren, D. Z. Pan, C. J. Alpert, and P. Villarrubia. Diffusion-based placement migration. In DA C ’05, Pr oceedings of the Design A utomation C onference, pp. 515–520. ACM Press, NY, 2005. 75. A. Kuehlmann and F. Somenzi. Equivalence checking. Electronic Design Automation for Integr ated Circuits Handbook, volume II, CRC Press, Boca Raton, FL, 2006. 76. S. Adya, S. Chaturvedi, J. Roy, D. Papa, and I. Markov. Unification of partitioning, placement and floor- planning. In ICCAD ’04, Proceedings of the International Conference on Computer-Aided Design 2004, pp. 550–557. ACM Press, NY, 2004. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C013 Finals Page 274 24-9-2008 #19 Alpert/Handbook of Algorithms for Physical Design Automation AU7242_S004 Finals Page 275 24-9-2008 #2 Part IV Placement Alpert/Handbook of Algorithms for Physical Design Automation AU7242_S004 Finals Page 276 24-9-2008 #3 Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C014 Finals Page 277 24-9-2008 #2 14 Placement: Introduction/ Problem Formulation Gi-Joon Nam and Paul G. Villarrubia CONTENTS 14.1 Introduction 277 14.2 ProblemFormulation 278 14.3 Modern Issues in Placement 281 14.4 General Approaches to Placement 285 References 286 14.1 INTRODUCTION Placement is a physical synthesis task that transforms a block/gate/transistor-level netlist into an actual layout for timing convergence. It is a crucial step that assembles the basic building blocks of logic netlist and establishes the overall timing characteristic ofadesign bydetermining exact locations of circuit elements within a given region. In modern VLSI designs, the size of chip becomes larger and the required clock frequency keeps increasing due to higher p erformance and more complex functionalrequirements on a single chip. Moreover, with aggressive technology scaling into the deep submicron (DSM) era, interconnectdelays become the dominant factor for overallchip performance. Because the locations of circuit elements and corresponding interconnect delays are determined during the placement stage,it has significantimpact on the final performance of thedesign. Moreover, if a design is placed poorly, it is virtually impossible to close timing, no matter how much other physical synthesis and routing optimizations are applied to it. Hence, placement is regarded as one of the most important and effective optimization techniques in the physical synthesis flow. Today, placement is no longer a point tool in modern timing closure flow [1]. Significant portions of logic and physical optimization algorithms have to interact with placement to improve timing of a design and to guarantee a legal placement solution after optimizations. Consequently, most industrial and academic physical synthesis tools are developed around a p lacement infrastructure. The typical objective function of placement is to minimize total wirelength of a design. This is because wirelength can be easily modeled and serve as a good first-order approximation of real objective functions such as timing, power, and routability of a design. There also exist various forms of wirelength. For example, quadratic wirelength, linear wirelength, or some approximation of linear wirelength are popular models that are employedin many placement tools. Recently, Steiner wirelength, which is considered as the most accurate estimator of the routed wirelength, was also used as the placement objective function in some academic placement tools. Whatever wirelength form is used, producing a good placement wirelength is critical for timing closure of modern designs because the wirelength directly affects the interconnect delays of electrical signals. The wirelength also affects the routability of a design, which is another important aspect of physical synthesis. The routing is performed right after the placement and there is no point in producing an unroutable placement solution. 277 Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C014 Finals Page 278 24-9-2008 #3 278 Handbook of Algorithms for Physical Design Automation 14.2 PROBLEM FORMULATION Because the primary task of placement is to determine the locations of circuit elements in a design, the placement region P needs to be defined first. Usually, a placement region is a rectangle area defined by coordinates (xlow, ylow, xhigh, yhigh). This is not a necessity for modern placement and actually a wider variety of placement regions such as L-shapes or T-shapes have been observed recently in special problem instances such as region constraint ∗ (movebound) placement. However, for global placement, a rectangular placement region is still the norm. The circuit netlist is represented as a graph G = (V , E),whereV is a set of circuit elements in a design and E is a set of connections (nets) among them. The vertex set V consists of two disjoint subsets, MV and FV where MV/FV represents a set of movable/fixed circuit elements respectively. For each v ∈ FV, the location (x, y) of v is already determined and the placement should not change them. The location of each v ∈ MV needs to be determined by placement and their locations must fall within the given placement region P. Each net e i ∈ E is a hyper-edge and conveniently represented as a subset of circuit elements, which are electrically connected each other, i.e., e i ={v i1 , v i2 , , v im }, ∀v ij ∈ V. Hence, |e|,the cardinality of net e, denotes the number of pins on the net. Figure14.1 shows a simple example of a placement problem. The big rectangle in Figure 14.1a represents a placement region P and each circle represents a movable circuit element to be placed within P. Small rectangles on the boundary of the placement region are I/O pins that are considered as fixed circuit elements. These movable and fixed circuit elements are connected to each other by nets. The goal of placement is to find a legal location for each movable circuit element while minimizing the given objective function. In this example, only one movable circuit element (circle) is assumed to be placed within a placement grid (slot) that is defined by d otted lines. Some class of g lobal placement algorithms, such as a partitioning-based algorithms or simulated annealing, is effective in directly handling hyper-edgenets. Others, particularly analytical placement algorithms, require a hyper-edgeto be transformed into a set of clique edges. For example, quadratic optimization-based analytic placement needs a clique-edge model to solve a symmetric positive definite linear system equation. A net usually has a source-pin (driver) and multiple sin k pins, which make it a directed hyper-edge. † The current state-of-the-art global placement algorithms still ignore the directions of the hyper-edges and treat a netlist graph G as a undirected graph. However, the directions of hyper-edges can be utilized to better handle certain types of nets. A high fan-out clock (b)(a) FIGURE 14.1 Simple placement i nstance. (a) Before placement and (b) after pl acement. ∗ More discussion of region constraints and movebounds are provided i n Section 14.3. † There exists a bidirectional net s uch as a bus signal. In this case, one pin can be considered as a source pin while the others are regarded as sink pins. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C014 Finals Page 279 24-9-2008 #4 Placement: Introduction/Problem Formulation 279 (b)(a) (c) S1 S2 D S3 S4 S1 S2 D S3 S4 S1 S2 D S3 S4 S1 S2 D S3 S4 S (d) FIGURE 14.2 Net model: hyper-edge model, clique-edge model, and star. (a) Original net with a driver and four sinks, (b) hyper-edge, (c) clique edge, and (d) star. net, for example, can be better placed by representing it as a star model with a source pin in the center. Figure 14.2 shows a hyper-edge net and co rresponding clique/star models. A more detailed circuit netlist r epresentation discussion can be found in Chapter 7. The typical objective function ofa placement is the sum of net wirelengths, i.e., WL(e), ∀e ∈ E. For a given net, different types of wirelength WL(e) can be measured. A net half-perimeter (NHP) wirelength model (Figure14.3b) measures the smallest bounding box, which surrounds all sinks of the net. A minimum spanning tree (MST) model (Figure14.3c) calculates a minimum tree length, which connects all pins of the n et. However, only a direct connection of a pair of pins on the net is considered to build a tree. A Steiner tree (ST) model (Figure14.3d) is also a tree connecting all pins of the net, but any arbitrary point (not pin) in a tree segment is also considered to branch off other tree segments to reduce the tree length. Therefore Steiner tree length is always equal to or better than that of MST. Because the routes of nets are implemented with horizontal and vertical metal layers, ∗ a rectilinear minimum spanning tree or rectilinear Steiner tree is a more accurate estimation of real net wirelengths and these rectilinear versions of MST and ST are popularly used in physical design research (see Chapter 24 for more detailed discussion on MST and ST). Simple NHP bounding box is the most popular model used in placement today simply because it is efficient to compute and also it is a good approximation of routed wirelength for the majority of nets. For some difficult nets, Steiner tree wirelength might be necessary to optimize for better routability, but the number of these nets is marginal in most cases. Anete can have a weight w(e) associated with it. In a timing-driven placement (Chapter 21), a net is assigned a weight based on its timing criticality. The more critical a net is for timing closure, the higher the weight assigned to the net so that a placement algorithm can try harder to reduce its wirelength leading to less signal delay. When a net weight is present, the common objective function of a placement is the weighted sum of wirelengths, i.e., w(e) ∗ WL(e), ∀e ∈ E. ∗ X-route with 45 ◦ angle metal layer is a vailable in advanced technology. Ho wever, horizontal and vertical metal layers are still more common as of today. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C014 Finals Page 280 24-9-2008 #5 280 Handbook of Algorithms for Physical Design Automation (b)(a) (c) S1 S2 D S3 S4 S1 S2 D S3 S4 S1 S2 D S3 S4 S1 S2 D S3 S4 (d) FIGURE 14.3 Net wirelength model: NHP, MST, and ST. Net model is drawn in dotted line. (a) Routed net with a driver and four sinks, (b) NHP model, (c) rectilinear MST model, and (d) rectilinear ST model. Suppose that there are n movable circuit elements [v 1 , v 2 , , v n ] and m nets [e 1 , e 2 , , e m ] in a given netlist graph G = (V , E), i.e., |V |=n and |E|=m. Let each movable circuit element v i ’s location be (x i , y i ). Then, the placement p roblem can be formulated as follows [2–4]: Given a placement region P with width W and height H, a netlist graph G = (V, E), and objective function f (V , E), find the location (x i , y i ) of each v i ∈ MV such that (1) each v i ∈ MV is placed completely within P, (2) no overlap exists between any p air of (v i , v j ), ∀v i , v j ∈ V , and (3) the objective function f (V , E) is minimized. In the case of the standard cell placement problem, an additional circuit row constraint must be honored and each standard cell must be p laced within a circuit row boundary. The intuition of the wirelength b ased placement objective function is to reduce signal delays of the design and enhance routability simply by minimizing the total (weighted) wirelength. With the aggressive advance of technology, placement starts to model other important aspects of the design directly,such as power, signal integrity,thermal distribution, clocking,placement congestion, or even optical proximity correction effects for better design manufacturability. However, the fundamental formulation of the placement problem tends to stay the same, even in these new variants of placement algorithms.New issues can be addressed by factoring in the correspondingmodeling component into the wirelength based objective function. For example, those additional factors are modeled into net weights and the weighted wirelength objective function can be minimized duringplacement. Chapter 22 elaborates on how these modern issues are addressed in placement algorithms. Placement is an NP-complete problem [5]. Consequently, the placement p roblem is usually divided into subproblems—global placement, legalization, and detailed placement—and each sub- problem is attacked separately. Global placement determines the approximate distributions of circuit elements while optimizing a given objective function,typically wirelength. Usually global placement allows some degree of overlapping among circuit elemen ts leading to an illegal placement solution. The legalization step then transforms an illegal global placement solution into a legal one (i.e., no overlap is allowed) while minimizing the perturbation to the original global placement solution. Figure 14.4 shows a placement example before and after the legalization process. Detailed placement finally improvesthe objective functionfurther by performing local refinements.It is also important to Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C014 Finals Page 281 24-9-2008 #6 Placement: Introduction/Problem Formulation 281 (a) (b) FIGURE 14.4 Before and after legalization of placement. (a) Before legalization, i.e., illegal solution and (b) after legalization, i.e., legal solution. keep a legal, nonoverlappingplacement state during detailed placement. Sometimes, the legalization process is viewed as part of the detailed placement process. A variety of global placement algo- rithms are further described in Chapters 15 through 19, and Chapter 20 presents detailed placement algorithms. 14.3 MODERN ISSUES IN PLACEMENT In this section, we review several important issues in modern placement problem. 1. Fixed layout region placement: Placement has been actively researched for a long time as a fundamental problem in design automation. The classical placement problem typi- cally focused on minimizing the overall placement area by packing circuit elements more compactly. This packing-driven area optimization is still a dominant theme in the floor- planning domain. In a modern chip synthesis flow for timing closure, however, p lacement optimization is executed almost always after the die size and p ackage have b een chosen. Thus, placement should be formulated as an (wirelength) optimization problem with a fixed layout region, rather than a packing-driven area minimization problem [6]. In fixed region placement, the layout area is already determined and the circuit elements and its netlist are also determined. Thus, the amount of white space is a constant. This implies that the man- agement of white space during placement becomes more importantthan before,to minimize placement objective functions such as wirelength and routing congestion. 2. White space management for congestion control: One thing noticeably different in modern IC designs is the increasing amount of white space available in a design [7]. As design complexity continues to increase while time-to-market decreases, IP reuse and semihier- archical or full-hierarchical designs are becoming increasingly pervasive leading to more chunky design footprints with memory arrays, IP blocks, etc., as opposed to pure standard cell designs. Consequently, today’s placement instances resemble the problem of arranging “dust” logic (standard cells) around these large blocks. Because the large blocks tend to dictate the design footprint, one can no longer assume that the placeable area in some way matches the total cell area of the design; one must recognize the trend of the increasing percentage of free space available on the chip. One might think increased free space, or design sparsity, might make placement easier. However, even though the dust logic is a small percentage of the chip area, there can still be millions of cells in the dust logic that have profound effects on timing and routability. In other words, packing all the cells in a design can yield the minimum wirelength solution, but create enough congestion to make . solution. 277 Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C014 Finals Page 278 24-9-2008 #3 278 Handbook of Algorithms for Physical Design Automation 14.2 PROBLEM FORMULATION Because. are still more common as of today. Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C014 Finals Page 280 24-9-2008 #5 280 Handbook of Algorithms for Physical Design Automation (b)(a) (c) S1 S2 D S3 S4 S1 S2 D S3 S4 S1 S2 D S3 S4 S1 S2 D S3 S4 (d) FIGURE. Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C013 Finals Page 272 24-9-2008 #17 272 Handbook of Algorithms for Physical Design Automation 42. H. Xiang,

Ngày đăng: 03/07/2014, 20:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan