• No results found

Capacitance and Slew Constraints

6.6 Additional Constraints

6.6.2 Capacitance and Slew Constraints

Boyd et al. [Boy+05] showed that constraints on the maximum load capacitance of primary input pins and constraints on maximum slews can be incorporated into the geometric program for gate sizing. This was exploited by Livramento et al. [Liv+14] for discretized Lagrangian relaxation, who also incorporate constraints on maximum load capacitances of gates into their framework, but without providing the theoretical background.

Recall that the load capacitance of a pin p ∈ Vload (i.e. a primary input pin or gate

output pin) is defined as the capacitance of the net N ∈ N driven by p, and consists of the wire capacitance wirecap(N ) of N and the capacitances of its sink pins. In the gate sizing context we assume wire capacitances to be constant. Input pin capacitances scale linearly with the gate size, and we make the realistic assumption that the load limit of a gate output pin scales linearly with the size of the gate. After variable transformation, these values thus scale exponentially with x ∈ Xcont (cf.

Section 4.4). Let loadlimp(x) denote the load capacitance limit associated with pin loadlimp(xi)

p ∈ Vloadfor x ∈ Xcont. We assume input pin capacitances to be equal for all pins of

a gate, but our model also works for varying capacitances. Let cap(xi) denote the cap(xi)

input pin capacitance of gate gi∈ G when set to size xi, and gsinkN 1, . . . , gsinkN l(N ) the gN sinki

sink gates of net N . We set loadcapp(x) := Pl(N )i=1 cap

 xgN

sinki



+ wirecap(N ) for

are strictly convex functions in x ∈ Xcont.

To impose constraints on the maximum slew, we assume a posynomial delay model that integrates slew, and a posynomial slew function slewe for each edge e = (v, p)

(see Section 4.4) that returns the slew slewp at p given its load capacitance and

the slew entering e at v. After variable transformation xi = log(ξi), delays and

slews are strictly convex in x ∈ Xcont. The values slewp are computed by forward

propagation in the timing graph (cf. Section 2.5.3). We impose constraints on the maximum slew over each edge that enters a pin p ∈ Vslew (gate input pins

and primary output pins) with a given slew limit, because slew limits are usually independent of gates sizes.

Now we can formulate the O(n + m) electrical constraints (2.23) and (2.24) as strictly convex functions:

loadcapp(x)/loadlimp(x) ≤ 1 ∀p ∈ Vload (6.12)

slewe(x, slewv) ≤ slewlimp ∀p ∈ Vslew, e = (v, p) ∈ E. (6.13)

Note that the left hand side of (6.12) is a convex constraint because it is the product of convex functions.

The constraints (6.12) and (6.13) are relaxed in the Lagrange function:

L(λ, µ, ν, x) L(λ, µ, ν, x) := cost(x) +X e∈E λe· delaye(x) + (6.14) X p∈Vload µp(loadcapp(x)/loadlimp(x) − 1) + X p∈Vslew, e=(v,p)∈E

νp(slewe(x, slewv) − slewlimp)

with multipliers µ = (µ1, . . . , µ|Vload|)

tand ν = (ν

1, . . . , νκ)t, where κ is the number

of slew limit constraints. The Lagrange dual problem is defined as

D(λ, µ, ν)

sup D(λ, µ, ν) := infx∈XcontL(λ, µ, ν, x), (6.15)

subject to λ ∈ F , µ, ν ≥ 0.

Theorem 6.11 Let ¯x ∈ Xcont be the unique minimizer of L(λ, µ, ν, x). The dual

objective D(λ, µ, ν) is differentiable for all λ, µ, ν ≥ 0 with gradient

 

d(¯x)

(loadcapp(¯x)/loadlimp(x) − 1)p∈Vload

(slewe(¯x, slewv) − slewlimp)p∈Vslew, e=(v,p)∈E

 .

Proof. The proof of Theorem 6.3 can be extended naturally: The newly added constraints are obviously strictly convex and continuous, therefore there exists a unique minimizer of L(λ, µ, ν, x) for all λ, µ, ν ≥ 0.

6.6 Additional Constraints

The Lagrange function (6.14) is of the form (5.3), and Algorithm 5.1 solves the corresponding Lagrange primal problem up to any desired accuracy. The algorithm traverses the gates in topological order and can propagate the slews, which ensures that for e = (v, p) ∈ E, the slew at v is available when the gate is optimized to which pin p is assigned.

Similarly, Algorithm 5.4 or Algorithm 5.5 propagate the slew and return a solution to the discretized Lagrange primal problem, but without any performance guaran- tees.

7 The Multiplicative Weights Method

for Gate Sizing

In recent years, the discretized Lagrangian relaxation approach based on the pro- jected gradient method has often been modified to obtain better convergence. Among these seemingly heuristic modifications are a multiplicative Lagrange mul- tiplier update and an additional weight for power consumption, and we will give the first theoretical justification of these ideas based on the multiplicative weights method.

The idea of the multiplicative weights method has been widely used in practice, and lies for example at the core of approximation algorithms for fractional packing and covering LPs (Plotkin et al. [PST95]) and the multicommodity flow problem (Garg and K¨onemann [GK07]).

Chapter 7 and Chapter 8 are dedicated to new mathematical models and algorithms for the gate sizing problem and its continuous relaxation. Thereby the multiplica- tive weights method and variants play a central role.

In this chapter we consider the feasibility version of the continuous gate sizing problem which arises from the convex program (4.10) by transforming the objec- tive into a constraint. The multiplicative weights algorithm applied to this problem returns a solution that approximately fulfills all constraints. The discretized algo- rithm essentially is the modified Lagrangian relaxation approach for the discrete problem.

In the next chapter we go one step further and demonstrate that gate sizing can be modeled as a min-max resource sharing problem. This is a key problem in mathematical optimization and has been successfully applied to (timing-driven) global routing in VLSI design. The fastest algorithm for this problem is a variant of the multiplicative weights algorithm (M¨uller et al. [MRV11]).

The outline of this chapter is as follows: We introduce the multiplicative weights method in Section 7.1. In Section 7.2, we use the multiplicative weights algorithm to find gate sizes that (approximately) fulfill all constraints of the feasibility ver- sion of the convex program. The algorithm can be discretized by solving a discrete feasibility problem, but without any approximation guarantees (cf. Section 7.2.2). Additionally, the final solution needs to be rounded. A bound on the objective func- tion value that is needed to transform the objective into a constraint can be deter- mined with an approximate binary search (Section 7.2.3). In Section 7.2.4 we point out the differences between the continuous multiplicative weights approach and the Lagrangian relaxation approach. Comparison of the discretized algorithms leads to the conclusion that the ideas behind the most prominent heuristic modifications

of the projected gradient method can be justified by the discretized multiplicative weights algorithm.

The algorithms in this chapter can also be applied to the delay-minimizing gate sizing problem in a straightforward way.

7.1 The Multiplicative Weights Method

In this section we review the multiplicative weights algorithm and restate some known results following the survey paper of Arora, Hazan and Kale [AHK12]. The multiplicative weights method was introduced in the approximation algorithms for fractional packing and covering LPs by Plotkin, Shmoys and Tardos [PST95] and has since been used in a wide range of applications, among them the multicom- modity flow problem (Garg and K¨onemann [GK07]) and global routing in VLSI design (Albrecht [Alb01]).

We introduce the multiplicative weights method in the context of solving concave feasibility problems, as we will apply it in the remainder of this chapter. The results are based on the work of Plotkin et al. [PST95] for fractional packing and covering LPs, and have been adapted to concave feasibility problems by Arora et al. [AHK12]. For missing proofs and a more general introduction with a broader overview of applications we refer to this work.