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 1convexifying 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 2Wire 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) =ae−bx
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 4The 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 6Part VI
Routing Multiple Signal Nets
Trang 830 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 9The 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 10denoting 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