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

Handbook of algorithms for physical design automation part 49 ppt

10 85 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

QL: quadratic function when demand is smaller than supply; linear function when demand is greater than supply Figure 22.10e S WL a b Number of nets crossing Number of nets crossing Numbe

Trang 1

TABLE 22.1 Netweighting for RISA Routability Model

Pin Count Netweight q Pin Count Netweight q

22.5.2 OVERFLOW WITHLOOK-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 + αTOF, α 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

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 − )WL + aOF

Cost Cost

Cost

OF

LkAhd

S

-FIGURE 22.10 Cost function versus number of crossing nets on each global bin.

Trang 2

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-TREEROUTER

Chang et al integrate a fast A-tree router into a multilevel simulated-annealing global-placement engine called mPG [8] mPG is inspired by the recent success of the multilevel methods in efficiently handling bipartitioning 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 If the wire usage of a bin increases from W to W +d, the congestion cost change is d2+ 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 SPARSEPARAMETER

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:

i ∈LC(b)

w iBB(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):

Trang 3

WS(b)

WSmax

WSave

WSmin

Pmin

Pave

Pmax

I II

FIGURE 22.11 Sparse function WS(b) to P(b).

P (b) = aWS(b) + b where a and b are constants obtained from three points: (WSmin, Pmin), (WSave, Pave), and (WSmax, Pmax) WSmin, WSave, and WSmax are minimum, average, and maximum WS(b) over all the

bins, respectively Pmin, Pave, and Pminare user defined values The curve of this conversion indicates

a sharper slope from WSaveto WSmax, 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 global 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, placement 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 whitespace and stability in mixed-size placement and physical synthesis,

International Conference on Computer Aided Design (ICCAD), San Jose, CA, 2003, pp 311–318.

Trang 4

3 S N Adya, I L Markov, and P G Villarrubia, On whitespace and stability in physical 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 effective 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?

Proceedings of the 37th Conference on Design Automation Conference (DAC) Los Angeles, CA, 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 lookup 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 Dunlop and B W Kernighan, A procedure for placement of standard cell VLSI circuits, IEEE Transactions on Computer-Aided Design of Integrated 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 estimation, 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, Proceedings 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, Proceedings of the 2000 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, CA, 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 Kahng and S Reda, Placement feedback: A concept and method for better min-cut placement, 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 Transactions on Computer-Aided Design of Integrated Circuits and Systems,

10(3): 356–361, 1991

Trang 5

24 K Keutzer, DAGON: 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 Design (ICCAD) San Jose, CA, pp 551–556, 2002.

27 J Lou, S Krishnamoorthy, and H S Sheng, Estimating routing congestion using probabilistic analysis,

Proceedings 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, Congestion 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 International Symposium on 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 directly measuring and

homogenizing interconnection complexity in multilevel placement, Proceedings of the 2003 International Workshop on System-Level Interconnect 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 Conference 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 Integrated 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, Proceedings 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 provably good approximation bound, ACM Transactions on Design Automation of Electronic Systems

(TODAES), 8(3): 316–333, 2003

44 K Zhong and S Dutt, Algorithms for simultaneous satisfaction of multiple constraints and objective

opti-mization in a placement flow with application to congestion control, Proceedings of the 39th Conference

on Design Automation Conference (DAC), New Orleans, Louisiana, pp 854–859, 2002.

Trang 6

Part V

Net Layout and Optimization

Trang 8

23 Global Routing Formulation

and Maze Routing

Muhammet Mustafa Ozdal and Martin D F Wong

CONTENTS

23.1 Introduction 469

23.2 Grid Model 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 Pattern Routing 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 steps: global routing 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 performed based on the global routes, the quality of the final interconnects depends 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 global routing is simplified, and the complexity of global routing one net is typically much smaller than the corresponding complexity of

469

Trang 9

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 because of the high problem complexity Furthermore, the order in which nets are routed can significantly impact the routing quality 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 routing grid model, and Section 23.3 describes how to set the edge 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 routing is typically represented as a graph problem to capture the adjacencies 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 layers, 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-BASEDGRAPHMODEL

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 macroblocks 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 vertex v i in G corresponding to each channel intersection i, and an edge exists between vertices v i and v jif and only if there exists a channel between intersections

i and j In other words, each edge in graph G corresponds to a channel in the routing area 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

FIGURE 23.1 (a) Set of macroblocks and the channels between them and (b) its corresponding channel

intersection graph

Trang 10

(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 feedthroughs 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 within each channel is done using a channel routing algorithm [7–12]

or a river routing algorithm [13–17]

23.2.2 TILE-BASEDGRAPHMODEL

As the number of available routing layers is increasing in the current technology, over-the-cell routing 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, respectively

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