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

Handbook of algorithms for physical design automation part 62 pdf

10 245 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 178,69 KB

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

Nội dung

Wong, Fast and exact simultaneous gate and wire sizing by Lagrangian relaxation, in IEEE/ACM International Conference on Computer-Aided Design, San Jose, CA, November 1998, pp.. Wong, A

Trang 1

convexifying the look-up table data with minimum perturbation can be formulated as a convex semidefinite optimization [Roy 2005] problem and hence optimality can be reached in polynomial

time Thus, given a numerical function g (x) for the original delay, let f(x) = g(x) + δ(x) δ(x) is

the perturbation of g (x), and f (x) is the transformed function Any function φ(x) is convex if and

is positive semidefinite, i.e., all the eigenvalues of the Hessian are greater than or equal to zero.) Thus, the fitting problem is to minimizeδ(x) to make the Hessian of f(x) positive semidefinite The

problem is defined as follows:

x ∈DOMg |δ (x)|

subject to ∇2(g (x + δ(x))) ≥ 0,

x∈ DOMg

29.3.5 SEQUENTIALQUADRATICPROGRAMMINGALGORITHM

The convex optimization problem of concurrent gate and wire sizing can also be solved using the sequential quadratic programming (SQP) method [Menezes 1997, Chu 1999b] SQP reduces a nonlinear optimization to a sequence of quadratic programming (QP) subproblems A general convex quadratic program can be represented as

2XTQX + XTC

subject to AT

i X ≤ b i, i ∈ I

where

Q is a symmetric positive semidefinite matrix

I is the set of inequalities

Now if we want to minimize a function F (X) subject to the constraints hi (X) ≤ 0, i = 1 m, then

we can express the Lagrangian of F (x) as

L (X, λ) = F(X) +

m



i=1

whereλi is the Lagrange multiplier associated with the ith constraint Now, if G (X) = ∇F(x) be

the gradient of the objective function, the original optimization problem can be solved by solving a sequence of QP subproblems as shown below:

minimize 1

2(X − X0)TB (X0) (X − X0) + (X − X0) T G (X0)

subject to (X − X0)T∇h i(X0) + hi (X0) ≤ 0, i = 1 m

where

X0is the solution of the previous QP iteration

B (X0) is the approximation of the Hessian of the Lagrangian

29.3.6 VARIATIONALCALCULUS-BASEDNONUNIFORMSIZINGALGORITHM

All the wire-sizing techniques presented so far are uniform wire-sizing techniques Now we illustrate

a case of nonuniform wire sizing Figure 29.7 shows a nonuniform wire segment W of length L, with source driver resistance R , and sink load capacitance C

Trang 2

Wire Driver

f(x)

CL

Load

L

FIGURE 29.7 Nonuniform wire sizing function.

For each x ∈ [0, L], let f (x) be the wire width of W at position x Let the wire resistance and capacitance per unit square be r0and c0, respectively Let t be the Elmore delay from the source to the sink of W Then the optimal wire-sizing function f that minimizes t is given by f (x) = ae −bx

a > 0 and b > 0 are constants given by a = r0

bRd, b



Rd CL r0c0 − e(−bL)/2 = 0 This can be proved by using variational calculus [Lee 2002] In case of constrained wire sizing, where the wire widths are

bounded by L ≤ f (x) ≤ U, 0 ≤ x ≤ L, the wire sizing solution will be a truncated version of ae −bx

as shown in Figure 29.8 This formula can be iteratively applied to optimally size the wire segments

in a routing tree

29.3.7 OPTIMALPROPAGATIONSPEED WITHWIRES

Nonuniform wire sizing is not used widely because routing such wires is nontrivial, and it can also lead to poor track utilization If we get a reasonably good solution by uniform wire sizing, buffer insertion, and gate sizing, it may not be worthwhile to spend a high effort in routing nonuniform wires if the delay improvement is marginal Figure 29.9 shows two wire-sizing solutions Figure 29.9a showing optimal uniform wire sizing with buffering and Figure 29.9b showing optimal nonuniform wire-sizing solution with buffering It has been shown that the ratio of maximum attainable signal velocities of the optimal nonuniform wire-sizing configuration to the optimal uniform wire-sizing configuration is 1.0354 with full buffering [Alpert 2001] This means that theoretically, tapering in the best case only gives an improvement of 3.54 percent over uniform wire sizing, and this ratio is independent of technology parameters Hence tapering only gives a small performance gain in the best case

29.3.8 HIGH-ORDERMOMENT-BASEDALGORITHM

EWA [Kay 1998] or efficient wire-sizing algorithm is an example of an algorithm heuristic for minimizing the total wiring area of an interconnect tree, subject to hard constraints on the Elmore delay This algorithm can use the Elmore delay model or can be extended to use higher order delay models

Wire

U

L

f(x) =aebx

CL

L

FIGURE 29.8 Optimal wire sizing.

Trang 3

(b) (a)

FIGURE 29.9 Optimal propagation speed.

29.4 SIGNAL INTEGRITY OPTIMIZATION ALGORITHM

Some other advances in interconnect optimization include noise-aware repeater insertion and wire sizing In the following section we describe an algorithm for noise-aware optimization

29.4.1 NOISEAWAREOPTIMIZATION

Noise aware optimization is a hierarchical and accurate noise estimation algorithm [Chen 1999] which can handle arbitrarily shifted attacking noise waveforms Moment-matching techniques are

used for accurate RC delay estimation The transfer functions between nodes i and j, and nodes j and k in Figure 29.10 are computed hierarchically The delay t ikis computed by convolution of the

input signal with the composite transfer function up to node k.

During backward propagation of a pair at node j, the transfer function H ik(s) is computed The electrical models for computation of H jk(s) and Yi (s) are shown in Figure 29.10b They are calculated

as follows:

R (Cs + Yj (s)) + 1 Yi(s) = Cs + Cs + Y j(s)

R (Cs + Yj (s)) + 1 where R = R i and C = C i/2 The RC delay is computed by the convolution of the waveform at i and H ik(s) The moments are then stored in the pair at node i.

H ik(s) =f(H jk(s), Y j(s), R i, C i) H jk(s) = m0 +m1s+m1s2 + …

(a)

(b)

Y j(s)

j

C i

2

C i

2

Y i(s)

t ij

i

Y j(s)

FIGURE 29.10 Hierarchical moment computation.

Trang 4

The hierarchical moment generation for the transfer function and input admittance always starts

from either a receiver or a repeater For this base case, if c represents the receiver/repeater input capacitance, the moment representation of the transfer function and admittance is given by H (s) = 1, and Y (s) = cs Wire sizing can be handled during this step by backward propagation of the pairs from node j to node i for different wire widths of segment e i R i and C iare functions of the wire width

REFERENCES

[Alpert 2001] C.J Alpert, A Devgan, J.P Fishburn, and S.T Quay, Interconnect synthesis without

wire tapering, IEEE Transactions on Computer Aided Design of Intergrated Circuits and

Systems, 20(1), 90–104, January 2001.

[Chen 1998] C.P Chen, C.C.N Chu, and D.F Wong, Fast and exact simultaneous gate and wire sizing

by Lagrangian relaxation, in IEEE/ACM International Conference on Computer-Aided

Design, San Jose, CA, November 1998, pp 617–624.

[Chen 1999] C.P Chen and N Menezes, Noise-aware repeater insertion and wire sizing for on-chip

interconnect using hierarchical moment-matching, in Proceedings of the 36th Design

Automation Conference, New Orleans, LA, June 1999, pp 502–506.

[Chen 1997] C.P Chen and D.F Wong, Optimal wire-sizing function with fringing capacitance

con-sideration, in Proceedings of the 34th Design Automation Conference, Anaheim, CA,

June 1997, pp 604–607

[Chen 1996] C.P Chen, H Zhou, and D.F Wong, Optimal non-uniform wire-sizing under the Elmore

delay model, in IEEE/ACM International Conference on Computer-Aided Design, San

Jose, CA, November 1996, pp 38–43

[Chu 1999a] C.C.N Chu and M.D.F Wong, Greedy wire-sizing is linear time, IEEE Transactions on

Computer-Aided Design of Integrated Circuits and Systems, 18(4), 398–405, April 1999.

[Chu 1999b] C.C.N Chu and D.F Wong, A quadratic programming approach to simultaneous buffer

insertion/sizing and wire sizing, IEEE Transactions on Computer-Aided Design of

Integrated Circuits and Systems, 18(6), 787–798, June 1999.

[Cong 1996a] J Cong, L He, C.K Koh, and P.H Madden, Performance optimization of VLSI

interconnect layout, Integration, the VLSI Journal, 21(1–2), 1–94, November 1996.

[Cong 1994] J Cong and C.K Koh, Simultaneous driver and wire sizing for performance and power

optimization, in Proceedings of the IEEE/ACM International Conference on

Computer-Aided Design, San Jose, CA, November 1994, pp 206–212.

[Cong 1996b] J Cong, C.K Koh, and K.S Leung, Simultaneous buffer and wire sizing for

perfor-mance and power optimization, in International Symposium on Low Power Electronics

and Design, Monterey, CA, August 1996, pp 271–276.

[Cong 1993] J Cong and K.S Leung, Optimal wiresizing under the distributed Elmore delay model,

in Proceedings of the IEEE/ACM International Conference on Computer Aided Design,

Santa Clara, CA, 1993, pp 634–639

[Gao 1999] Y Gao and D.F Wong, Wire-sizing optimization with inductance consideration using

transmission-line model, IEEE Transactions on Computer-Aided Design of Integrated

Circuits and Systems, 18(12), 1759–1767, December 1999.

[Kay 1998] R Kay and L.T Pileggi, EWA: Efficient wiring-sizing algorithm for signal nets and clock

nets, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,

17(1), 40–49, January 1998

[Lee 2002] Y Lee, C.C.P Chen, and D.F Wong, Optimal wire-sizing function under the Elmore delay

model with bounded wire sizes, in IEEE Transactions on Circuits and Systems-I, 49(11),

1671–1677, November 2002

[Lillis 1995] J Lillis, C.K Cheng, and T.T.Y Lin, Optimal and efficient buffer insertion and wire

sizing, in Proceedings of the IEEE Custom Integrated Circuits Conference, Santa Clara,

CA, May 1995, pp 259–262

[Menezes 1997] N Menezes, R Baldick, and L.T Pileggi, A sequential quadratic programming approach

to concurrent gate and wire sizing, IEEE Transactions on Computer-Aided Design of

Integrated Circuits and Systems, 16(8), 867–881, August 1997.

Trang 5

[Odabasioglu 1998] A Odabasioglu, M Celik, and L.T Pileggi, PRIMA: Passive reduced-order interconnect

macromodeling algorithm, IEEE Transactions on Computer Aided Design of Intergrated

Circuits and Systems, 17(8), 645–654, August 1998.

[Pillage 1990] L.T Pillage and R.A Rohrer, Asymptotic waveform evaluation for timing analysis, IEEE

Transactions on Computer Aided Design, 9(4), 352–366, April 1990.

[Roy 2005] S Roy, W Chen, and C.C.P Chen, ConvexFit: An optimal minimum-error convex

fit-ting and smoothing algorithm with application to gate sizing, in Proceedings of the

International Conference on Computer Aided Design, San Jose, CA, November 2005

pp 196–203

[Sapatnekar 1996] S.S Sapatnekar, Wire sizing as a convex optimization problem: Exploring the

area-delay tradeoff, IEEE Transactions on Computer-Aided Design of Integrated Circuits and

Systems, 15(8), 1001–1011, August 1996.

[Tsai 2004] J.L Tsai, T.H Chen, and C.C.P Chen, Zero skew clock-tree optimization with buffer

insertion/sizing and wire sizing, IEEE Transactions on Computer-Aided Design of

Integrated Circuits and Systems, 23(4), 565–572, April 2004.

[Zhang 2004] L Zhang, Z Luo, X Hong, Y Cai, S.X.D Tan, and J Fu, Optimal wire sizing in early-stage

design of on-chip power/ground (P/G) networks, in Proceedings of the 7th International

Conference on Solid-State and Integrated Circuits Technology, 3, 1936–1939, October

2004

Trang 6

Part VI

Routing Multiple Signal Nets

Trang 8

30 Estimation of Routing

Congestion

Rupesh S Shelar and Prashant Saxena

CONTENTS

30.1 Introduction 599

30.2 Postrouting Congestion Metrics 600

30.3 Placement-Level Congestion Estimation 601

30.3.1 Fast Metrics for Routing Congestion 601

30.3.2 Probabilistic Estimation Methods 602

30.3.3 Estimation Based on Fast Global Routing 606

30.3.3.1 Comparison of Fast Global Routing with Probabilistic Methods 607

30.4 Congestion Metrics for Technology Mapping 608

30.5 Congestion Metrics for Logic Synthesis 610

30.6 Final Remarks 611

References 612

30.1 INTRODUCTION

A design is said to exhibit routing congestion if the demand for the routing resources in some region within its layout exceeds their supply Congestion is undesirable because it can degrade the performance and the yield of a design, and can add uncertainty to its convergence With wire delays

no longer being insignificant in modern process technologies, an unexpected increase in the delay

of a net that lies on a critical path can cause a design to miss its frequency target The routing of

a net passing through a congested region may be detoured significantly, or forced to use the more resistive metal layers Consequently, the delay estimates for nets that pass through congested regions are often erroneous These estimates may mislead the design optimization trajectory by failing to correctly identify the truly critical paths, thus aggravating the design convergence problem A densely congested design is also likely to result in a lower manufacturing yield than a similar uncongested design Congestion typically results in an increased number of vias in the routes, which can affect the yield Additionally, congested layouts tend to have larger critical areas for the creation of shorts and opens because of random defects

Furthermore, it can be shown using first-order scaling models that the congestion problem is likely to worsen in the future, as design sizes increase and process geometries shrink [SSS07] As

a result, it is desirable to minimize the routing congestion in a design Congestion can be measured accurately only after the routing has been completed However, if the design exhibits congestion problems at that stage, mere rerouting of the nets may not be able to resolve these problems This may necessitate a new design iteration with changes being made to the placement or to the netlist However, one has to be able to measure routing congestion before one can optimize it This chapter describes the measurement of congestion at all levels of abstraction, from a routed layout up to a multilevel Boolean network

599

Trang 9

The rest of this chapter is organized as follows Section 30.2 describes the postrouting metrics for congestion, and Section 30.3 discusses placement-level congestion estimation Congestion metrics

at the technology mapping level are covered in Section 30.4, whereas those that serve as proxies for congestion during logic synthesis are presented in Section 30.5 Finally, some closing remarks are presented in Section 30.6

30.2 POSTROUTING CONGESTION METRICS

Before discussing the metrics used to measure postrouting congestion, it is useful to describe the underlying routing model As was discussed in Section 23.2.2, the entire routing space is usually tessellated into a grid array The small subregions created by this tessellation of the routing region have variously been referred to as grid cells, global routing cells, or bins The bins are usually gridded employing horizontal and vertical gridlines, referred to as routing tracks, along which wires can be created The dual graph of the tessellation is the routing graph In this graph, each vertex represents

a bin and each edge denotes the boundary between the bins corresponding to its vertices Routing graphs used for congestion estimation may bundle the horizontal (vertical) routing tracks on all the layers, or they may distinguish individual metal layers to identify the congestion on each layer The number of tracks available in a bin denotes the supply of routing resources for that bin; this number

is also known as the capacity of the bin Similarly, the number of tracks crossing a bin boundary is referred to as the supply or the capacity of the routing graph edge corresponding to that boundary A route passing through a bin (or crossing a bin boundary) requires a track in either the horizontal or the vertical direction Thus, each such route contributes to the routing demand for that bin (or edge) Further details on capacity computation may be obtained in Section 23.3

One of the metrics commonly used to gauge the severity of routing congestion is the track overflow that measures the number of extra tracks required to route the wires in a bin It can be defined formally∗as follows:

Definition 1 The horizontal (vertical) track overflow T v

x (T v

y ) for a given bin v is defined as the difference between the number of horizontal (vertical) tracks required to route the nets through the bin and the available number of horizontal (vertical) tracks when this difference is positive, and zero otherwise.

In other words, T v = max{[demand(v) − supply(v)], 0}.

The formal definition of the congestion metric is as follows:

Definition 2 The horizontal (vertical) congestion C v

x (C v

y ) for a given bin v is the ratio of the number of horizontal (vertical) tracks required to route the nets assigned to that bin to the number

of horizontal (vertical) tracks available.

Thus, the congestion in a given bin is simply the ratio of the demand of the tracks to their supply in

that bin, and can be written as C v = demand(v)

supply(v) The overflow and congestion metrics can be defined similarly for the bin boundaries (or equivalently, for the routing graph edges) These definitions can also be extended to consider each routing layer individually

The notion of a congestion map is often used to obtain the complete picture of routing congestion over the entire routing area The congestion map is a three-dimensional array of congestion

two-tuples indexed by bin locations and can be visualized by plotting congestion on the z-axis while

∗ Throughout this chapter, whenever the routing direction is left unspecified in some equation or discussion, it is implied that the equation or discussion is equally applicable to both the horizontal and the vertical directions Thus, for instance, the

notation T v in a statement implies that the statement is equally applicable to both T v and T v Similarly, if the bin to which

a congestion metric pertains is clear from the context, it may be dropped from the notation.

Trang 10

denoting bins on the xy-plane Such a visualization helps designers easily identify densely congested

areas (that correspond to peaks in the congestion map)

Some other commonly used metrics that capture the overall routability of the design rely on scalar values (in contrast to three-dimensional congestion map vectors) These metrics include the total track overflow, maximum congestion, and the number of congested bins The total track overflow is defined

as the sum of the individual track overflows in all the bins The maximum congestion is defined as the maximum of the congestion values over all the bins The number of congested bins is defined

as the number of bins whose congestion is greater than some specified threshold Cth

30.3 PLACEMENT-LEVEL CONGESTION ESTIMATION

Most industrial congestion-aware physical synthesis flows rely on improving the routability of a design during the placement stage itself However, for a placement algorithm to be congestion aware, it must first be able to evaluate whether a given placement configuration is likely to be congested after routing, as well as discriminate between any two placement configurations based

on their expected congestion Different congestion metrics involve different trade-offs between the computational overhead required for their estimation and the accuracy that they can provide They range from quick-and-dirty proxies for congestion, such as the total wirelength, to expensive but accurate congestion prediction techniques such as probabilistic estimation or fast global routing The quick-and-dirty metrics are often employed during the early stages of placement, whereas the expensive but accurate ones are better suited to the later stages, when the the placement is relatively stable

30.3.1 FASTMETRICS FORROUTINGCONGESTION

The fast placement-level metrics for congestion include the total wirelength, the pin density, and the perimeter degree They are best used by fast congestion analyzers embedded within optimizers during the early stages of global placement During these applications, their fidelity to the actual congestion can help choose between alternative optimization moves based on their expected congestion impact, without incurring a significant runtime overhead

Traditionally, placers have targeted the minimization of cost functions involving wirelength in the belief that the optimization of the wirelength also leads to a reduction in the average congestion The length of a net can be estimated using metrics such as the half-rectangle perimeter (HRPM)

of its bounding box or the length of a minimum spanning tree (MST) for the net However, this metric does not capture the spatial aspects (i.e., the locality) of the congested regions A design can easily have low average congestion and yet have a few densely congested bins that may be very difficult to route successfully Moreover, the predicted netlength of a given net can be quite erro-neous because it ignores congestion-caused detours and uses simplistic topology generation, and because the placement itself may change during the remainder of the physical synthesis flow Conse-quently, the HRPM metric is often preferred to the slightly more accurate but slower MST scheme Indeed, the accuracy of the HRPM metric can be improved by the use of an empirical multiplicative factor depending on the pin count for the net, to compensate for its tendency to underestimate the netlength for multipin nets [Che94]

Two other fast metrics that have been used for congestion optimization during placement are the pin density and the perimeter degree Unlike the total wirelength, which is a scalar that characterizes the entire design, these metrics are good at identifying the specific bins that are likely to be congested The pin density metric is defined for a bin as the ratio of the number of pins in the bin to the area of the bin [HM02] This metric captures the contributions of the intrabin nets and those interbin nets that have at least one pin within the bin It, however, ignores the global wires that are routed through the bin but do not connect to any pins inside the bin, even though they consume routing resources within the bin The perimeter degree of a bin is defined as the ratio of the number of interbin nets that

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