1. Trang chủ
  2. » Khoa Học Tự Nhiên

Handbook of algorithms for physical design automation part 49 ppt

10 85 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 165,13 KB

Nội dung

Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C022 Finals Page 462 24-9-2008 #17 462 Handbook of Algorithms for Physical Design Automation TABLE 22.1 Netweighting for RISA Routability Model Pin Count Netweight q Pin Count Netweight q 1–3 1.0000 15 1.6899 4 1.0828 20 1.8924 5 1.1536 25 2.0743 6 1.2206 30 2.2334 7 1.2823 35 2.3895 8 1.3385 40 2.5356 9 1.3991 45 2.6625 10 1.4493 50 2.7933 22.5.2 OVERFLOW WITH LOOK-AHEAD Wang et al. tried a number of cost functions that cover both congestion and wirelength objectives [38]. Let WL be the total wirelength and OF be the total overflow of the current placement. The total overflow is the sum of overflow for all the placement bins. The overflow is the difference between routing demand and routing supply of the bin, if demand is larger.The following seven cost functions are proposed (Figure 22.10): 1. WL: total HPWL (Figure 22.10a) 2. OF: total overflow (Figure 22.10b) 3. Hybrid: (1 −α)WL + αOF, 0 ≤ α ≤ 1 (Figure 22.10c) 4. TimeHybrid: (1 − α T )WL + α T OF, α is changing during the placement process (Figure 22.10d) 5. QL: quadratic function when demand is smaller than supply; linear function when demand is greater than supply (Figure 22.10e) S S S S WL (a) (b) Number of nets crossing Number of nets crossing Number of nets crossing Number of nets crossing Number of nets crossing S Number of nets crossing S (c) d (d) Cost Cost Cost LQ (e) QL (f) (1−a)WL + aOF Cost CostCost OF LkAhd S- FIGURE 22.10 Cost funct ion versus number of crossing nets on each global bin. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C022 Finals Page 463 24-9-2008 #18 Congestion-Driven Physical Design 463 6. LQ: linear function when demand is smaller than supply; quadratic function when demand is greater than supply (Figure 22.10f) 7. Look-Ahead: start considering congestion cost when demand is close enough to supply All these cost functions are experimented in both global placement and detailed placement stages. The authors found that during global placement, none of the objectives works well except total wirelength. However, in detailed placement stage, several cost functions are reasonably good and LookAhead gives the best result in terms of congestion. 22.5.3 A-TREE ROUTER Chang et al. integrate a fast A-tree router into a multilevel simulated-annealing global-p lacemen t engine called mPG [8]. mPG is inspired by the recent success of the multilevel methods in efficiently handling bipartitionin g problem [18]. It consists of three stages: coarsening by clustering, initial placement on the top level, and uncoarsening with refinement. The A-tree router is based on a fast, congestion avoidance two-bend router (LZ-router). The rational behind that is the dominance of LZ-shaped routes in the actual layout. Multipin nets are decomposed to two-pin nets. An incremental A-tree algorithm is developed to efficiently update the routing topology for any pin location change. This A-tree router can be used in conjunction with HPWL at any level of refinement. In practice, the authors find that it is most effective to consider routing cost at the finest level. This is consistent with the conclusion in Ref. [38] that minimizing congestion cost early in the placement flow may have negative effect. The cost function for congestion-driven mPG is the quadratic sum of the wire usages of all the bins. The wire usage for each bin is the sum of the routed wirelength of the nets that pass through, start from, or end at this bin. Unlike the overflow method, there is no threshold for routing supply in the cost function. This cost function encourages the simulated annealing moves that can lead shorter routed length and less congestion.Ifthe wire usageofabin increases fromW to W +d, the congestion cost change is d 2 + 2Wd. For a long wire-segment crossing multiple bins, the delta congestion cost can be quickly computed using the sum of the current wire usages of the involved bins. 22.5.4 SPARSE PARAMETER Hu and Marek-Sadowska [16] proposed a congestion cost function named sparse parameter. With this cost function, the congestion-driven placement does not follow the traditional estimate-and- eliminate strategy. Instead, it tries to reduce the excessive usage of routing resources caused by local nets so that more routing resources are available for the uncertain global nets. The idea of sparse-parameter cost function originates from two facts. First, the local nets that coming in/out a region vastly determine the congestion situation of the region. This is verified with empirical data. Second, minimizing the number of local nets alone could be wrong, because the cost is often the longer wirelength and the congestion caused by global nets. The authors derive the following function as the wire cost WS(b) for a placement bin b: WS(b) =  i∈LC(b) w i BB(i) d(i) where LC(b) is all the nets that enter or leave the region b w i is the weights to translate half-perimeter length to estimated routed length for net i BB(i) is the HPWL for net i d(i) is the degree of net i Once WS(b) is computed for all the bins, a mapping function is used to convert WS(b) to the sparse parameter P(b): Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C022 Finals Page 464 24-9-2008 #19 464 Handbook of Algorithms for Physical Design Automation P(b) WS(b) WS max WS ave WS min P min P ave P max I II FIGURE 22.11 Sparse function WS (b) to P(b). P(b) = a WS(b) + b where a and b are constants obtained from three points: (WS min , P min ), (WS ave , P ave ),and (WS max , P max ).WS min ,WS ave ,andWS max are minimum, average, and maximum WS(b) over all the bins, respectively. P min , P ave ,andP min are user defined values. The curve of this conversion indicates a sharper slope from WS ave to WS max , meaning higher cost when the congestion of a region is above the average (Figure 22.11). The above function works well when integrated in simulated annealing algorithm. Particularly, the wirelength increase is negligible compared to pure half-perimeter optimization. The runtime with the sparse parameter is about 2.5 or 3 times slower. Because of lack of access to real industry router, there is no detailed routing step in the experi- mental flow. Consequently, the internal routes within the bin are not modeled in the cost function, because they do not contribute to the g lobal routing results (the global router used in Ref. [19] works on bin level and ignore the internal nets). The authors suggest to use some sort of pin-density metric to adjust the sparse parameter. 22.6 CONCLUSION In this chapter, we reviewed various techniques for reducing congestion and achieving routable designs. Placement-independent techniques use information from netlist connectivity to guide logic synthesis or placement. Addressing congestion in the early design has deep impact on the final design routability.In global-placement stage, congestion modeling is paramount for achieving the appropri- ate distribution. Pin density and fast routing estimation can be used to guide the placement engine. Detailed placement stage has more accurate routing information. Cell spreading, cell moving, or swapping should consider routing congestion and are very effective for allieviating local congestion. In summary, p lacement is the most important stage to achieve routable design. Many studies have shown that congestion problem can be and should be solved in placement stage by applying the right techniques at the right place. REFERENCES 1. S. N. Adya, S. Chaturvedi, J. A. Roy, D. Papa, and I. L. Markov, Unification of partitioning, floorplanning and placement, International Conference of Computer Aided Design (ICCAD), San Jose, CA, 2004, pp. 550–557. 2. S. N. Adya and I. L. Markov, On w hitespace and stability in mixed-size placement and physical synthesis, International Conference on Computer A ided Design (ICCAD), San Jose, CA, 2003, pp. 311–318. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C022 Finals Page 465 24-9-2008 #20 Congestion-Driven Physical Design 465 3. S.N.Adya, I.L. Markov,and P.G. Villarrubia, Onwhitespace andstability inphysical synthesis,Integration: The VLSI Journal, 39(4): 340–362, 2006. 4. C. J. Alpert, G. -J. Nam, and P. G. Villarrubia, Free space management for cut-based placement, Proceed- ings of the 2002 IEEE/ACM International Conference on Computer-Aided Design, San Jose, CA, 2002, pp. 746–751. 5. K.D. Boese, A.B. Kahng, and G. Robins, High-performance routing trees with identified critical sinks, DAC, Proceedings of the 30th International Conference on Design Automation Conference (DAC), Dallas, TX, pp. 182–187, 1993. 6. U. Brenner and A. Rohe, An ef fective congestion driven placement framework, Proceedings of the 2002 International Symposium on Physical Design (ISPD), San Diego, CA, pp. 6–11, 2002. 7. A. E. Caldwell, A. B. Kahng, and I. L. Markov, Can recursive bisection alone produce routable placements? Pr oceedings of the 37t h Conference on Design Automation Conference ( DAC) Los Angeles, C A, pp. 477– 482, 2000. 8. C. -C. Chang, J. Cong, Z. Pan, and X. Yuan, Multi-level global placement with congestion control, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 22(4):395–409, 2003. 9. T. -C. Chen, Y. -W. Chang, and S. -C. Lin, IMF: Interconnect-driven multilevel floorplanning for large-scale building-module designs, Proceedings of the 2005 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, CA, pp. 159–164, 2005. 10. C. L. Cheng, RISA: Accurate and efficient placement routability modeling, Proceedings of the 1994 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, California, pp. 690–695, 1994. 11. C. C. N. Chu. FLUTE: Fast l ookup table based wirelength estimation technique, Proceedings of the 2004 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, CA, pp. 696–701, 2004. 12. E. Detjens, G. Gannot, R. Rudell, A. Sangiovanni-Vincentelli, and A. Wang, Technology mapping in MIS, ICCAD, 1987, pp. 116–119. 13. A. E. Dunl op and B . W. Kernighan, A procedure for placement of standard cell VLSI circuits, IEEE Transactions on Computer-Aided Design of I ntegrated Circuits, 4(1): pp. 92–98, January 1985. 14. P. Gopalkrishnan, A. Odabasioglu, L. T. Pilleggi, and S. Raje, Overcoming wireleoad model uncertainity during physical design, Proceedings of the 2001 International Symposium of Physical Design (ISPD) Sonoma, CA, pp. 182–189, 2001. 15. S. Hojat and P. Villarrubbia, An integrated placement and synthesis approach for timing closure of power PC microprocessors, ICCD, 1997, pp. 206–210. 16. B. Hu and M. Marek-Sadowska, Congestion minimization during placement without est imation, Proceed- ings of the 2002 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, CA, pp. 739–745, 2002. 17. D. Jariwala and J. Lillis, On interactions between routing and detailed placement, P roceedings of the 2004 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, CA, pp. 387–393, 2004. 18. G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar, Multilevel hypergraph partitioning: Applications in VLSI domain, Proceedings of the 34th Annual Conference on Design Automation (DAC) Anaheim, CA, pp. 526–529, 1997. Available at http://glaros.dtc.umn.edu/gkhome/metis/hmetis/overview. 19. R. Kastner, E. Bozorgzadeh, and M. Sarrafzadeh, Predictable routing, Pr oceedings of the 2000 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, C A,pp. 110–114, 2000. Available at http://www.ece.ucsb.edu/kastner/labyrinth/. 20. A. B. Kahng and G. Robins, A new class of iterative Steiner tree heuristics with good performance, IEEE Transactions on Computer-Aided Design, 11(7): 893–902, 1992. 21. A. B. Kahng, I. I. Mandoiu, and A. Zelikovsky. Highly scalable algorithms for rectilinear and octilinear Steiner trees, Proceedings of the 2003 Conference on Asia South Pacific Design Automation Conference (ASPDAC), Kitakyushu, Japan, pp. 827–833, 2003. 22. A.Kahngand S.Reda,Placementfeedback: Aconcept andmethodfor bettermin-cut pl acement,Proceedings of the 41st Annual Conference on Design Automation (DAC) San Diego, CA, pp. 357–362, 2004. 23. J. M. Kleinhans, G. Sigl, F.M. Johannes, and K.J. Antreich, VLSI placement by quadratic programming and slicing optimization, IEEE Tr ansactions on Computer-Aided Design of Integrated Circuits and Systems, 10(3): 356–361, 1991. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C022 Finals Page 466 24-9-2008 #21 466 Handbook of Algorithms for Physical Design Automation 24. K. Keutzer , D AGON: Technology binding and local optimization by DAG matching, Proceedings of the 24th ACM/IEEE Conference on Design Automation Conference (DAC) Miami Beach, FL, pp. 341–347, 1987. 25. S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, Optimization by simulated annealing, Science, 220 (4598): 671–680, May 1983. 26. P. Kudva and A. Dougherty, Metrics for structural logic synthesis, Proceedings of the 2002 IEEE/ACM International Conference on Computer-Aided D esign ( ICCAD) San Jose, CA, pp. 551–556, 2002. 27. J. Lou, S. Krishnamoorthy, and H. S. Sheng, Estimating routing congestion using probabilistic analysis, Pr oceedings of the 2001 International Symposium on Physical Design ( ISPD) Sonoma, CA, pp. 112–117, 2001. 28. C. Li, M. Xie, C. -K. Koh, J. Cong, and P. H. Madden, Routability-driven placement and white space alloca- tion, Proceedings of the 2004 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 394–401, 2004. 29. P. N. Parakh, R. B. Brown, and K. A. Sakallah, C ongestion driven quadratic placement, Proceedings of the 35th Annual Conference on Design Automation Conference (DAC) San Francisco, CA, pp. 275–278, 1998. 30. J. A. Roy, J. F. Lu, and I. L. Markov, Seeing the forest and the trees: Steiner wire-length optimization in placement, Proceedings of the 2006 In ternational Symposium o n Physical Design (ISPD), San Jose, CA, pp. 78–85, 2006. 31. D. Pandini, L. T. Pileggi, and A. J. Strojwas, Congestion-aware logic synthesis, Proceedings of the Conference on Design, Automation and Test in Europe ( DATE), p. 664, 2002. 32. C. Sechen, The TimberWolf3.2 standard cell placement and global routing program, User’s Guide for Version 3.2, Release 2. 33. C. Sechen, Chip-planning, placement, and global routing macro/custom cell integrated circuits using simu- lated annealing, Proceedings of the 25th ACM/IEEE Conference on Design Automation Conference (DAC), Atlantic City, NJ, pp. 73–80, 1998. 34. N. Selvakkumaran, P. Parakh, and G. Karypis, Perimeter-degree: A priori metric for di rectly measuring and homogenizing interconnection complexity in multilevel placement, Proceedings of t h e 2003 International Workshop on System-Level Inter connect Prediction (SLIP), Monterey, CA, pp. 53–59, 2003. 35. N. Selvakkumaran and G. Karypis, Theto-A fast, scalable and high quality partitioning driven placement tool, Technical report, University of Minnesota, 2004. 36. K. Takahashi, K. Terai, M. Nakajima, and K. Sato, Min-cut placement with global objective functions for large scale sea-of-gates arrays, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 14(4): 434–446, 1995. 37. J. Vygen, Algorithms for large-scale flat placement, Proceedings of the 34th Annual Confer ence on Design Automation Conference (DAC), Anaheim, CA, pp. 746–751, 1997. 38. M. Wang, X. Yang, and M. Sarrafzadeh, Congestion minimization during placement, IEEE Transactions on Computer-Aided Design of Integr ated Circuits and Systems, 19(10): 1140–1148, 2000. 39. J. Westra, C. Bartels, and P. Groeneveld, Probabilistic congestion prediction, Proceedings of the 2004 International Symposium Physical Design (ISPD), Phoenix, A2, pp. 204–209, 2004. 40. X. Yang, B. -K. Choi, and M. Sarrafzadeh, Routability driven white space allocation for fixed-die standard- cell placement, Pr oceedings of the 2002 International Symposium on Physical Design (ISPD) San Diego, CA, pp. 42–47, 2002. 41. X. Yang, B. -K. Choi, and M. Sarrafzadeh, Routability driven white space allocation for fixed-die standard- cell placement, IEEE Transactions on CAD, 22(4): 410–419, April 2003. 42. X. Yang, R. Kastner, and M. Sarrafzadeh, Congestion reduction during placement based on integer programming, Proceedings of the 2001 IEEE/ACM International Conference on Computer-Aided Design (ISPD), San Jose, CA pp. 573–576, 2001. 43. X. Yang, M. Wang, R. Kastner, S. Ghiasi, and M. Sarrafzadeh, Congestion reduction during placement with pr ovably good approximation bound, ACM Tr ansactions on Design Automation of Electronic Systems (TOD AES), 8(3): 316–333, 2003. 44. K. Zhong and S. Dutt, Algorithms for simultaneous satisf action of multiple constraints and objective opti- mization in a placement flow with application to congestion control, Proceedings of the 39th Conference on Design Automation C onference (DAC), New Orleans, Louisiana, pp. 854–859, 2002. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_S005 Finals Page 467 24-9-2008 #2 Part V Net Layout and Optimization Alpert/Handbook of Algorithms for Physical Design Automation AU7242_S005 Finals Page 468 24-9-2008 #3 Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C023 Finals Page 469 23-9-2008 #2 23 Global Routing Formulation and Maze Routing Muhammet Mustafa Ozdal and Martin D. F. Wong CONTENTS 23.1 Introduction 469 23.2 GridModel 470 23.2.1 Channel-Based Graph Model 470 23.2.2 Tile-Based Graph Model 471 23.3 Capacity Computation 472 23.4 Routing Metrics 473 23.4.1 Congestion 473 23.4.2 Bend Count 474 23.4.3 Wirelength 474 23.4.4 Timing 475 23.4.5 Coupling 475 23.5 Single Net Routing 475 23.5.1 Lee’s Maze Routing Algorithm 476 23.5.2 Maze-Routing Enhancements 477 23.5.3 Line-Search Algorithms 479 23.5.4 PatternRouting 481 23.5.5 Routing Nets with Multiple Terminals 481 23.6 Routing Multiple Nets 482 23.6.1 Sequential Routing 482 23.6.2 Concurrent Routing 484 23.7 Conclusions 484 References 484 23.1 INTRODUCTION Global routing is an important step in the physical design process. Because of the complexity of the overall routing problem , it is typically solved in two step s: global ro uting and detailed routing. During global routing, nets are routed on a coarse-grain grid structure with the objective of determining the regions within which each net will be routed. After an approximate routing solution is determined for each net, the second step is to perform detailed routing to find the exact routes of all nets. Because detailed routing is performedbased on the global routes,the quality of the final interconnectsdepends largely on the quality of the global routing solutions. Typically, detailed routing grids are much larger than the coarse-grain grids of global routing, and the solution space for individual nets is much larger because of the fine-grain modeling of routing resources. On the other hand, the resource model used in g lobal routing is simplified, and the complexity of global routing one net is typically much smaller than the corresponding complexity of 469 Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C023 Finals Page 470 23-9-2008 #3 470 Handbook of Algorithms for Physical Design Automation detailed routing. Hence, global routing helps detailed routing in two ways. First, the complexity of detailed routing can be reduced by confining its search space to the regions identified by the global routes. Second, it is usually prohibitive to use expensive sophisticated algorithms during detailed routing b ecause of the h igh p roblem complexity. Furthermore, the order in which nets are r outed can significantly imp act the routing qua lity. Hence, it is the objective of global routing to find a solution such that several metrics (such as routability, wirelength, timing) can be optimized for all nets. In this chapter, we discuss the basics of global routing formulation, and a high-level overview of global routing algorithms. The rest of the chapter is organized as follows. Section 23.2 presents a global routin g grid model, and Section 23.3 describes how to set the e dge capacities in such a model. The common objectives of global routing algorithms are discussed in Section 23.4. Section 23.5 describes algorithms to route a single net, with a particular focus on maze routing and its extensions. Finally, Section 23.6 provides a high-level overview of algorithms to route multiple nets. 23.2 GRID MODEL Global routin g is typ ically represented as a graph problem to capture the ad jacen cies and capacities of the routing region. A channel-based global routing model has been used for many years. This model is appropriate for circuits with limited number of routing layer s, where standard cells or macroblocks occupy most of the routing space. However, as the number of routing layers is increasing, aggressive over-the-cell routing has become more popular in the recent years. In this model, the global routing problem is represented as a grid graph. In the following subsections, we describe these models in more detail. 23.2.1 CHANNEL-BASED GRAPH MODEL A typical layout contains a set of cells or macroblocks of which terminals need to be routed to each other. If the number of routing layers is small, the routing space is limited to the channels between these cells or macrob locks. Figure 23. 1a illustrates a set of macroblocks and the available routing resources between them. The most natural representation of this routing model is a channel intersection graph, G, where there exists a vertexv i in G corresponding to each channel intersection i, and an edge exists between vertices v i and v j if and only if there exists a channel between intersections i and j. In other words, each edge in graph G correspondsto a channelin the routingarea. Figure 23.1b illustrates the graph model corresponding to the macroblocks given in Figure 23.1a. In this model, each channel c is defined to have channel capacity and channel length. The channel capacity indicates the number of nets that can use this channel without overflow, and the channel length indicates the amount of wirelength necessary to pass through this channel. The global routers using this graph model include Refs. [1–4]. A related problem here is the assignment of feedthrough space between channels of standard cell rows with the objective of wirelength and (a) (b) FIGURE 23.1 (a) Set of macroblocks and the channels between them and (b) its corresponding channel intersection graph. Alpert/Handbook of Algorithms for Physical Design Automation AU7242_C023 Finals Page 471 23-9-2008 #4 Global Routing Formulation and Maze Routing 471 (a) (b) FIGURE 23.2 Net with terminals on three standard cell rows. The best topology of this net is illustrated (a) without feedthroughs and (b) with f eedthroughs. The dark circles represent the net terminals, and the hollow circles represent the feedthrough terminals created. congestion minimization [5,6]. This concept is illustrated in Figure 23.2. After the global routing is completed, detailed routing with in each channel is done using a channel routing algorithm [7–12] or a river routing algorithm [13–17]. 23.2.2 TILE-BASED GRAPH MODEL As the numberofavailable routinglayers is increasing in the currenttechnology, over-the-cellrouting model is becoming more and more popular. In this model, the lower layers that contain the cells or macroblocks are used as escape-only layers, and routing between terminals is accomplished mainly on the upper layers. Because the routing resources in the upper layers are not restricted to channels, the layout is partitioned into rectangular regions, and a grid graph G is created as illustrated in Figure 23.3. Here, there exists a vertex in G corresponding to each rectangular tie, and edges exist FIGURE 23.3 Circuit is partitioned into rectangular tiles (solid lines), and a grid graph is created. The dark circles and dashed lines represent the vertices and the edges of the grid graph, r espectively. . Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C022 Finals Page 462 24-9-2008 #17 462 Handbook of Algorithms for Physical Design Automation TABLE 22.1 Netweighting for RISA. #2 Part V Net Layout and Optimization Alpert /Handbook of Algorithms for Physical Design Automation AU7242_S005 Finals Page 468 24-9-2008 #3 Alpert /Handbook of Algorithms for Physical Design Automation. sparse parameter P(b): Alpert /Handbook of Algorithms for Physical Design Automation AU7242_C022 Finals Page 464 24-9-2008 #19 464 Handbook of Algorithms for Physical Design Automation P(b) WS(b) WS max WS ave WS min P min P ave P max I II FIGURE

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