Optimization of integrated circuit properties through constraints using a dominant time constant

Information

  • Patent Grant
  • 6289490
  • Patent Number
    6,289,490
  • Date Filed
    Thursday, October 8, 1998
    26 years ago
  • Date Issued
    Tuesday, September 11, 2001
    23 years ago
Abstract
A method for optimizing an integrated circuit uses a dominant time constant of a transition of the circuit. A physical layout of the circuit is characterized in terms of design parameters. The circuit is modeled by a conductance matrix G and a capacitance matrix C, wherein G and C are affine functions of the design parameters. The optimization method comprises the step of finding the values of the design parameters that optimize a property of the circuit while simultaneously enforcing a constraint that the dominant time constant must be less than a maximum value tmax. Mathematically, the constraint on the dominant time constant can be written: tmax G−C≧0. The optimization method can be used when the circuit has a non-tree topology. Furthermore, when the design parameters comprise variables that relate to sizes of elements of the circuit, a topology of the circuit is optimized by the optimization method. In some embodiments the circuit is optimized for a plurality of transitions, and in some embodiments the design parameters are subject to design constraints.
Description




This invention was made with the support of the National Science Foundation and the Air Force Office of Scientific Research. The U.S. Government has certain rights in this invention.




FIELD OF THE INVENTION




The present invention generally relates to integrated circuits, and more specifically to a method that uses a dominant time constant of an integrated circuit to optimize the circuit with respect to certain properties.




BACKGROUND




Because of the rapid growth rate of the electronics industry, each year integrated circuits are required to be smaller, more dense, and faster than before. Integrated circuits can be extremely complex, with millions of transistors on a single chip. Typically one needs to minimize some property of the circuit—for example, the size of the circuit or the power dissipated by the circuit—while preserving a rapid response time. Optimizing the circuit in the face of the extreme complexity of the circuit is therefore a difficult problem.




The integrated circuit constantly undergoes transitions in which some of the active elements of the circuit change state from a logical “low” to a logical “high,” and other elements change from “high” to “low.” After one such transition takes place, some time must elapse for the remainder of the circuit to equilibrate before another transition can occur. The amount of time that must elapse is the response time of the circuit, and this response time in general depends on the transition. When attempting to optimize the circuit, the transition corresponding to the slowest response time, or else several transitions simultaneously, are considered.




Conventional approaches to the optimization problem estimate the response time of the circuit by the Elmore delay of one or more transitions of the circuit. Such approaches are disclosed, for example, in Pillage, Ratzlaff, and Gopal, U.S. Pat. No. 5,379,231, and in Dunlop and Fishburn, U.S. Pat. No. 4,827,428. Sizes of elements of the circuit are optimized with respect to a certain property of the circuit, while keeping the Elmore delay suitably small. A severe limitation of these methods, however, is that the Elmore delay cannot be used for a circuit that has a non-tree topology. In other words, if the circuit has loops, the above methods cannot be used.




A typical solution is to simply ignore the non-tree nature of the circuit, and use the Elmore delay methods anyway. In this approach, circuit interconnects that form loops in the circuit are ignored during the optimization procedure. However, as the circuits get smaller and smaller, crosstalk between the elements becomes increasingly import ant. Because of the crosstalk, the circuits effectively comprise loops, even if the circuits are manufactured with an intended tree topology. Pre sent methods do not allow the crosstalk, or any other loops, to be taken into account when designing an optimum layout of the circuit.




Another disadvantage of the conventional methods is that the topology of the circuit must be fixed in advance, and cannot be determined as part of the optimization procedure. It is desirable to have a method for designing integrated circuits that not only optimizes the sizes of the elements, but determines which connections are necessary and which should be omitted in the optimum case. Such flexibility is not possible when the Elmore delay methods are used.




OBJECTS AND ADVANTAGES




It is therefore a primary object of the present invention to provide a method for finding an optimum design for a circuit, where the method is effective even when the circuit has a non-tree topology. It is another object of the invention to provide a method for finding an optimum topology of the circuit. Other objects of the invention are to provide an optimization method wherein a plurality of transitions of the circuit can be considered simultaneously, and wherein constraints on the physical layout of the circuit can be incorporated. These objects yield a method that has the advantage that circuits may be more accurately modeled and their design more effectively optimized, whereby integrated circuits of improved performance may be manufactured.




SUMMARY




A method for optimizing an integrated circuit employs a dominant time constant of a transition of the circuit as an estimate for the response time of the circuit. A physical layout of the circuit is characterized in terms of design parameters. The design parameters relate, for example, to sizes of elements of the circuit, or to spacings between the elements. The method comprises the step of finding the values of the design parameters that optimize a property of the circuit while simultaneously keeping the dominant time constant below some pre-selected maximum t


max


. The property optimized is typically a size of the circuit, an energy dissipated by a transition of the circuit, or the dominant time constant itself.




The above step of optimizing the property while keeping the dominant time constant below t


max


presents a complicated problem in linear algebra that has only in recent years become tractable. Recently developed mathematical tools have made it possible to carry out the above step using a conventional digital computer. The mathematical tools are known as semi-definite programming and generalized eigenvalue minimization. To use these tools, the circuit is modeled by a conductance matrix G and a capacitance matrix C, where matrices G and C are affine functions of the design parameters.




The optimization method can be used even when the circuit has a non-tree topology. Furthermore, when the design parameters comprise variables that relate to sizes of elements of the circuit, the topology of the circuit is optimized by the optimization method, the optimum topology being dictated by those elements whose optimum size is zero.




In some embodiments, a plurality of transitions is considered. In these embodiments, the optimization method comprises the step of optimizing the property while requiring that dominant time constants for a set of transitions are all simultaneously less than the maximum value t


max


. In some embodiments, the design parameters are subject to design constraints.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

shows an example of an equivalent circuit of the type used in a method for optimizing a circuit. The equivalent circuit comprises branches and nodes.





FIG. 2

is a schematic diagram of a branch of the equivalent circuit of FIG.


1


.





FIG. 3

shows an example of an equivalent circuit comprising a mesh of segments.





FIG. 4

is a schematic diagram of a segment of the equivalent circuit of

FIG. 3

, and of a connector of an equivalent circuit of FIG.


7


.





FIGS. 5



a


and


5




b


illustrate results of the optimization method applied to the equivalent circuit of FIG.


3


.





FIG. 6

shows a tradeoff curve of the optimization method applied to the equivalent circuit of FIG.


3


.





FIG. 7

shows an example of an equivalent circuit that models a tri-state bus. The equivalent circuit comprises nodes and connectors.





FIG. 8

shows a placement of the nodes of the equivalent circuit of FIG.


7


.





FIGS. 9



a


and


9




b


illustrate results of the optimization method applied to the equivalent circuit of FIG.


7


.





FIG. 10

shows a tradeoff curve of the optimization method applied to the equivalent circuit of FIG.


7


.





FIG. 11

is an illustration of three wires of an exemplary circuit.





FIG. 12

is a schematic diagram of an equivalent circuit that corresponds to the wires of FIG.


11


.





FIGS. 13



a


and


13




b


illustrate results of the optimization method applied to the wires of FIG.


11


.











DETAILED DESCRIPTION




A method for optimizing a circuit is described. In the preferred embodiments, the circuit is a digital integrated circuit comprising transistors and interconnect wires. A first step of the method is to represent the circuit by an equivalent circuit that comprises resistors, capacitors, and voltage sources. Techniques for representing the circuit by the equivalent circuit are well known in the art. In the preferred embodiments, the equivalent circuit is an interconnected circuit that has loops; that is, the equivalent circuit has a non-tree topology.




For purposes of example and to provide a better understanding of the method,

FIG. 1

shows a representative equivalent circuit. The equivalent circuit comprises branches


10


and nodes


12


. Nodes


12


are intersection points of branches


10


. The equivalent circuit of

FIG. 1

has sixteen branches; however, in the primary embodiment of the optimization method, the equivalent circuit comprises hundreds of thousands of branches.

FIG. 1

, therefore, appears for purely illustrative purposes. Branches


10


model elements of the circuit, such as interconnect wires and transistors, as well as crosstalk between the elements.




Branches


10


are numbered from to N, where N is the total number of branches. Nodes


12


are numbered from 1 to n, where n is the total number of nodes.

FIG. 2

shows a model of a k


th


branch of the equivalent circuit of

FIG. 1

, where 1≦k≦N. The k


th


branch is modeled by a resistor


14


, a voltage source


16


, and a capacitor


18


. Resistor


14


has a conductance g


k


. (Recall that conductance is the reciprocal of resistance.) Voltage source


16


supplies a voltage U


k


, and capacitor


18


has a capacitance c


k


. The conductance g


k


, the capacitance c


k


, or the voltage U


k


may be equal to zero; or two of these three quantities may be equal to zero; or all three quantities may be equal to zero.




In the preferred embodiments of the optimization method, the circuit optimized is an integrated digital circuit. The circuit is optimized for one or more transitions of the circuit. The values of conductance g


k


and capacitance c


k


depend on the transition considered. For example, if the kth branch models a transistor in the “on” state, the k


th


branch has a conductance g


k


>0. If the k


th


branch models a transistor in the “off” state, the k


th


branch has a conductance g


k


=0. In the present discussion, the quantities g


k


, C


k


, and U


k


correspond to a first transition of the circuit.




The k


th


branch of

FIG. 2

lies between an i


th


node


12




i


, and a j


th


node


12


j. A current I


k


flows through the k


th


branch, and a voltage V


k


exists across the k


th


branch. The voltage V


k


is defined as V


k


=V


i−v




j


, where v


i


is a voltage at i


th


node


12




i


, and v


j


is a voltage at j


th


node


12




j


. From Ohm's Law and the definition of capacitance, it follows that the current I


k


is related to the voltage V


k


by






I


k


=c


k


(dV


k


/dt)+g


k


(V


k


U


k


)  (1)






Eq. (1) is cast in a more convenient form by introducing a node-incidence matrix B, well known in the art. Matrix B is an n×N matrix that indicates how the branches of the equivalent circuit are connected to the nodes. A branch voltage vector V is defined as an N-component column vector whose k


th


component is voltage V


k


. A node voltage vector v is defined as an n-component column vector whose i


th


component is voltage v


i


. The branch and node voltage vectors are related by the matrix B as follows: V=B


T


v. (B


T


is the transpose of matrix B.) A branch current vector I is defined as an N-component vector whose k


th


component is current I


k


. Kirchhoff's law expressing the conservation of current, in this notation, reads: BI=0.




A capacitance matrix C is defined by C=B diag(c) B


T


, where diag(c) is an N×N diagonal matrix whose (k,k) component is C


k


. Similarly, a conductance matrix is defined by G=B diag(g) B


T


, where diag(g) is an N×N diagonal matrix whose (k,k) component is g


k


. An n-component source voltage vector u is defined as u=G


−1


B diag(g) U. With these definitions, Eq. (1) may be rewritten as:






C(dv/dt)=−G(v−u).  (2)






Note that matrices G and C are symmetric matrices.




The first transition of the circuit is modeled as follows. For time t<0, the circuit is assumed to be in a steady state, with u=v=v





, where v





is some constant vector. At time t=0, the source voltage vector u switches to a new constant value, v


+


. It follows from Eq. (2) that the voltage vector v does not immediately respond to the change in u, but approaches the new value v


+


as time t progresses:






v=v


+


+(v





−v


+


)exp(−C


−1


G


t


)  (3)






The components vi of the vector v approach their final values v


+i


with various response times. The overall response of the circuit is limited by the slowest response time, called the “dominant time constant.” The response times are related to the eigenvalues of the matrix C


−1


G that appears in Eq. (3) above. Let the smallest eigenvalue of the matrix C


−1


G be called λ


s


. Then the dominant time constant T


dom


is given by: T


dom


=1/λ


s


.




An upper bound on the dominant time constant may be obtained as follows. If a number T satisfies the equation






TG−C≧0  (4)






then T


dom


≦T. Some care must be used in interpreting Eq. (4). Since G and C are matrices, Eq. (4) means that all of the eigenvalues of the matrix T G−C are greater than or equal to zero.




The conductances and capacitances of the equivalent circuit, given by the matrices G and C, respectively, depend on design parameters of the circuit. In the preferred embodiments, each design parameter is related to a physical dimension of an element of the circuit, or to a spacing between two elements. For example, the design parameters may comprise widths of interconnect wires. The design parameters are denoted x


1


, x


2


, . . . x


M


, where m is the total number of design parameters. The design parameters are collectively symbolized by a vector x, whose i


th


component is x


i


. The conductance and capacitance matrices are functions of the design parameters: G=G(x), and C=C(x).




The matrices G and C depend on the design parameters x


i


in a particular way: both G and C are affine functions of the design parameters. When a matrix M is an affine function of the design parameters x


i


, then by definition, matrix M can be written in terms of matrices M


0


, M


1


, . . . , M


m


as follows:






M=M


0


+M


1


×


1


+M


2


×


2


+. . . +M


m


×


m








where the matrices M


0, M




1


, . . . , M


m


do not depend on the design parameters.




The circuit is optimized with respect to a property P of the circuit, subject to the constraint that the dominant time constant does not exceed an upper bound, or maximum dominant time constant, t


max


. Using T=t


max


in Eq. (4) provides a concise statement that the dominant time constant does not exceed t


max


. A first embodiment of the optimization method, then, comprises the following step:






optimize P, subject to the constraint t


max


G(x)−C(x)≧0.  (5)






To optimize P is to find values of the design parameters that optimize P.




In some embodiments, the property P is an affine function of the design parameters; that is, P=b


T


x+c for some m-component vector b and a constant c. In these embodiments, property P is minimized. Semi-definite programming techniques are used to numerically carry out the step of Eq. (5). Using these techniques, the design parameters x


i


are found




Semi-definite programming is a set of techniques used to determine the values of a set of parameters that minimize a cost function subject to the constraint that one or more symmetric matrices are positive semi-definite, where the cost function and all the elements of the matrices are affine functions of the parameters. In the present case, the cost function is the property P. Several methods for semi-definite programming are described in the literature on nonlinear optimization; see for example L. Vandenberghe and S. Boyd,


Semidefinite Programming


, SIAM Review 38 (1996) pp. 49-95. These algorithms are iterative procedures that start with an initial value of the parameters, and improve the values until a specified accuracy is obtained. In the present method, the design parameters are frequently subject to constraints (see below), and in such cases, the initial value for each design parameter is frequently chosen to be the average of the allowed upper and lower bounds.




In one class of semi-definite programming methods—called interior point methods—the successive iterates are determined by applying Newton's method to solve a set of nonlinear equations that characterize parameters that satisfy the constraints, and have a value of the cost function within a given accuracy of the optimal value. In a second class of methods—called cutting-plane methods—the optimal point is approximated by generating smaller and smaller convex sets that are guaranteed to contain the optimal values.




In some embodiments, the property P is t


max


itself. In these embodiments, the design parameters that minimize the maximum dominant time constant are found, so that t


max


takes on its minimum possible value (t


max


)


min


. It can be shown that (t


max


)


min


, is equal to the dominant time constant T


dom


of the optimized circuit. That is, when property P is t


max


, the dominant time constant of the circuit is minimized, and its value is equal to the minimum value of t


max


that is found. In these embodiments, generalized eigenvalue minimization techniques are used to carry out the step of Eq. (5).




Generalized eigenvalue minimization refers to techniques used to determine the values of parameters that minimize the maximum eigenvalue of a pair of symmetric matrices, where the elements of both matrices are affine functions of the parameters. Several methods for generalized eigenvalue minimization are described in the optimization literature; see for example S. Boyd and L. El Ghaoui,


Method of Centers for Minimizing Generalized Eigenvalues


, Linear Algebra and Applications, special issue on Numerical Linear Algebra Methods in Control, Signals and Systems, 188 (1993) pp. 63-111. The simplest method is to apply a bisection procedure to find the optimum within a specified accuracy. Each step of the bisection method reduces to solving a semi-definite programming problem, to determine whether a proposed value is an upper or lower bound for the minimum value of the maximum eigenvalue.




The fact that matrices G and C are affine functions of the design parameters allows the techniques of semi-definite programming and generalized eigenvalue minimization to be used in the step of Eq. (5). Because of the large size of the circuits optimized in the preferred embodiments of the method, the step of Eq. (5) is preferably performed using a digital computer. For more information on carrying out the step of Eq. (5), see the following articles by Lieven Vandenberghe, Stephen Boyd, and Abbas El Gama, which are herein incorporated by reference:


Optimizing Dominant Time Constant in RC Circuits


, IEEE Transactions on Computer Aided Design, Vol. 17, 110-125 (1998), and


Optimal Wire and Transistor Sizing for Circuits with Non-tree Topology


, Proceedings of ICCAD'97, Nov. 9-13, 1997 in San Jose, Calif., pages 252-259.




The design parameters x


i


are related to a physical layout of the circuit. In some embodiments, the design parameters comprise dimensions of a set of elements of the circuit. Examples where the design parameters comprise widths of a set of elements of the circuit are given below in Examples 1-5. In some embodiments, the design parameters comprise quantities that are related to, but not equal to, dimensions of a set of elements of the circuit. In some embodiments, the design parameters comprise quantities that are related to, but not equal to, spacings between elements of the circuit. In each case, capacitance matrix C and conductance matrix G are affine functions of the design parameters.




In some embodiments, for instance, capacitance matrix C is not an affine function of a spacing s between two elements of the circuit. Matrix C is, however, an affine function of a variable t, where t=1/s. In these embodiments, the design parameters x


i


comprise variable t, but not s, so that capacitance matrix C is an affine function of the design parameters. The present method can be used whenever design parameters can be defined such that matrices G and C are affine functions of the design parameters. A more detailed example is given by Example 5, below.




In some embodiments, the design parameters x


i


are subject to design constraints, in addition to the constraint t


max


G—C≧0. Any number of design constraints may be accommodated, as long as the design constraints can be formulated as a linear matrix inequality. A linear matrix inequality is an equation of the form:






A(x)≧0  (6)






where A is a symmetric matrix that is an affine function of the design parameters x


i


. The above references,


Semidefinite Programming and Method of Centers for Minimizing Generalized Eigenvalues


explain how the design constraints expressed as a linear matrix inequality are incorporated into the optimization techniques.




An arbitrary number q of linear matrix inequality design constraints may be utilized by the optimization method. Constraints A


1


≧0, A


2


≧0, . . . , A


q


≧0 defined by matrices A


1


, A


2


, . . . , A


q


are combined into the single equation A≧0 by requiring the matrix A to have a block diagonal form, with entries equal to A


1


, A


2


, . . . , A


q


.




An example of design constraints is a requirement that each design parameter x


i


lie within a specified range between a minimum value xmin and a maximum value x


max


. The additional constraints, x


min


≦x


i


≦xmax, may be written as:






x


max


−x


i


≧0;








x


i


−x


min


≧0






These design constraints may be expressed by the linear matrix inequality of Eq. (6) by constructing matrix A to be a 2m×2m diagonal matrix whose diagonal entries are x


max


−x


i


and x


i


−x


min


.




Other design constraints may be used. In some embodiments the design constraints A≧0 comprise an upper bound or a lower bound, or both, on an area of the circuit; see Example 4. In some embodiments, the design constraints comprise a bound on a width of the circuit. As another example, the design constraints may comprise a bound on an energy dissipated by the circuit.




A second embodiment of the optimization method, therefore, includes design constraints and comprises the following step:






optimize property P,








subject to the constraint t


max


G(x)−C(x)≧0,








and to the constraints A(x)≧0  (7)






where A(x)≧0 is a linear matrix inequality that expresses design constraints.




In the foregoing discussion, matrices G and C model conductances and capacitances for the first transition of the circuit. A second transition may similarly be modeled by a conductance matrix G


(2)


and a capacitance matrix C


(2)


. A third transition may be modeled by G


(3)


and C


(3)


, and so on. The optimization method may be applied to more than one transition, so that the circuit is optimized for any number of transitions simultaneously. That is, in a third embodiment of the optimization method, the method comprises the following step:






optimize P,








subject to t


max


G(x)−C(x)≧0,






 t


max


G


(2)


(x)−C


(2)


(x)≧0,






 . . .








 t


max


G


(r)


(x)−C


(r)


(x)≧0  (8)






where r is an integer greater than one that specifies the desired number of transitions. Each matrix G


(j)


and C


(j)


, for j=2, . . . , r, is an affine function of the design parameters x


i


.




In a fourth embodiment of the optimization method, the circuit is optimized for a plurality of transitions, and the circuit is also subject to design constraints. The method comprises the step:






optimize property P,








subject to the constraints: t


max


G(x)−C(x)≧0,








 t


max


G


(j)


(x)−C


(j)


(x)≧0, j=2. . . r,








 A(x)≧0.  (9)






In the first and the third embodiments of the method, if P≠t


max


, it is preferred that the step of optimizing P (Eq. (5) for the first embodiment, Eq. (8) for the third) is repeated a number of times, each time with a different value of t


max


, to observe the sensitivity of the optimum design parameters to variations in t


max


. In the second and fourth embodiments, it is preferred that the step of optimizing P (Eq. (7) for the second embodiment, Eq. (9) for the fourth) is repeated numerous times, each time with a different value of t


max


, or with different design constraints on the parameters x


i


, or both. This allows one to determine the sensitivity of the optimum design parameters to variations in the design constraints and, when P≠, to variations in t


max


.




Property P is a property of the circuit. In some embodiments, property P is a physical property of the circuit. For example, in some embodiments P is a width of the circuit, and in some embodiments P is an area of the circuit. Example 5, below, gives an embodiment where P is the width of the circuit. When P is the area of the circuit, typically the circuit has at least m interconnect wires, each wire having a length 1


i


and width w


i


, where i=1, 2, . . . , m. In certain embodiments, the lengths l


i


are held fixed and the widths w


i


are to be optimized. In these cases, the design parameters x


i


comprise widths w


i


: x


i


=w


i


for i=1, 2, . . . , m. Property P=a


o


+x


l


l


l


+x


2


l


2


+. . . +x


m


l


m


where a


o


is an area of a fixed part of the circuit. (Of course, since a


o


is a constant, it need not be included: one may use P=x


l


l


l


+x


2


l


2


+. . . +x


m


l


m


and achieve the same result.)




In other embodiments, property P is a performance characteristic of the circuit. For example, in some embodiments P is the maximum dominant time constant t


max


, and in some embodiments P is an energy E dissipated by one transition of the circuit. Energy E is given by: E=(½) (v+


T


C v


+


−v







T


C v





). A detailed example where P=E is given by example 3, below. It should be noted, however, that property P need not be limited to the examples discussed here; P may be any property of the circuit that can be expressed as an affine function of the design parameters.




In many embodiments of the optimization method, an i


th


element of the circuit is modeled by the i


th


branch of the equivalent circuit and characterized by a size y


i


. The design parameters x


i


comprise variables that relate to the sizes y


i


. After the step of optimizing P is carried out, it may turn out that the optimum size y


i


of the i


th


element is zero. When this is the case, the i


th


element optimally does not exist. Therefore, not only the sizes of the elements but the very existence or absence of elements of the circuit is optimized by the method. That is, a topology of the circuit is optimized by the method. Typically the equivalent circuit, as illustrated by

FIG. 1

, has a more general topology than the resultant optimal circuit, since some of branches


10


will turn out to have an optimum size of zero.




In many embodiments, therefore, the optimization method can be restated in the following way. The method is a method for optimizing the topology of the circuit, wherein the method comprises the step of finding values of the design parameters that optimize property P provided t


max


G(x)−C(x)≧0 and wherein the design parameters x


i


comprise variables that relate to physical dimensions of a set of elements of the circuit. An optimum topology of the circuit is determined by the optimum values of the design parameters. As before, the design parameters may also be subject to additional constraints t


max


G


(j)


(x)−C


(j)


(x)≧0, for j=2, . . . , r, or design constraints A(x)≧0 or both. The topology of the circuit is optimized in examples 3 and 4, below.




The following examples of the optimization method are intended to clarify the method by illustration, but are not to be construed as limitations of the method.




Example 1: The design parameters are widths of interconnect wires that are modeled by a set of branches


10


. The design parameter x


i


is a width of the i


th


branch. An area of the circuit is to be minimized. The area is equal to a


o


+x


l


l


l


+. . . +x


m


l


m


, where a


o


is an area of a fixed part of the circuit, and l


i


is a length of the i


th


branch. The lengths l


i


are fixed. Each branch is to have a minimum width x


min


and a maximum width x


max


. A value of the maximum dominant time constant t


max


is chosen. The method for optimizing the circuit comprises the step of:




using semi-definite programming techniques to minimize










i
=
1

m




l
i



x
i



,










where the x


i


are subject to the constraint t


max


G−C≧0




and to the constraints x


min


≦x


i


≦x


max


, for i=1, . . . , m.




This step is carried out for a number of different values of t


max


to determine the sensitivity of the optimum area of the circuit to t


max


.




Example 2: The design parameters are the same as in example 1. In this case however, the dominant time constant is minimized, subject to a condition that the area of the circuit does not exceed a critical area a,. The method for optimizing the circuit comprises the step of:




using generalized eigenvalue minimization techniques to find the widths x


i


that minimize t


max


, where t


max


and x


i


are subject to the following constraints:










t
max


G

-
C


0

,









i
=
1

m




l
i



x
i





a
c


,
and






x
min



x
i



x
max


,


for





i

=
1

,
2
,








m
.












This step is carried out for several different values of a


c


to determine the sensitivity of the minimum value of t


max


to the critical area a


c


.




Example 3: The circuit is a mesh. The equivalent circuit is shown in FIG.


3


. The equivalent circuit comprises forty segments; six of the segments are labeled in

FIG. 3

as


101


,


102


,


103


,


104


,


105


, and


140


. Each segment is modeled as shown in

FIG. 4

by a resistor


20


and two capacitors


22


. Note that each segment comprises three branches. Segment


101


has width x


1


; segment


102


has width x


2


, and so on. For a segment having width x


i


, resistor


20


has conductance αx


i


and capacitors


22


have capacitance βx


i


, for two constants α and β.




The equivalent circuit of

FIG. 3

comprises capacitors C


i


, where i=1 . . . 25. The circuit also has five identical voltage sources


32


connected to nodes of the circuit via resistors


30


having conductances g


o


. The voltage across each source


32


is equal to U. It is desired to minimize an energy E dissipated by a transition of the circuit, where the transition corresponds to the voltage sources


32


undergoing a change from U=0 to U=1. The energy E dissipated by the transition is proportional to:












1
_

T



C


(
x
)




1
_


=





i
=
1

25



C
i


+

2

β





i
=
1

40



x
i








(
10
)













where 1 is a column vector, every entry of which is 1. The first sum in Eq.(10) refers to the energy stored in capacitors C


1


. . . C


25


; the second sum is proportional to the energy stored in the forty segments. In optimizing the circuit, it is desired that the width of each segment be between 0 and a maximum width w


max


. The optimization method therefore comprises the following step:




use semi-definite programming techniques to minimize 1


T


C(x)1,




subject to t


max


G(x)−C(x)≧0,




and to 0≦x


i


≦w


max


, for i=1 . . . 40.




For the purposes of this example, the values g


0


=1, α=1, β=0.5, and w


max


=1 were chosen. The values of C


i


are given in Table 1.


















TABLE 1













C


1


= 10




C


2


= 2




C


3


= 7




C


4


= 5




C


5


= 3







C


6


= 8




C


7


= 3




C


8


= 9




C


9


= 5




C


10


= 5







C


11


= 1




C


12


= 8




C


13


= 4




C


14


= 9




C


15


= 3







C


16


= 7




C


17


= 3




C


18


= 6




C


19


= 8




C


20


= 2







C


21


= 5




C


22


= 2




C


23


= 1




C


24


= 9




C


25


= 10















The result of the optimization method is illustrated in

FIGS. 5



a


and


5




b


.

FIG. 5



a


represents an optimum configuration for t


max


=50. The width of each segment (for example 101, 102, and 105) illustrated in

FIG. 5



a


is appromately proportional to the optimum width of that segment. Not all of the forty segments are shown in

FIG. 5



a


. The segments not shown have an optimum width of zero. This is an illustration of how the optimization method determines the topology of the circuit as well as the sizes of the elements.





FIG. 5



b


represents an optimum configuration for t


max


=100. The topology of

FIG. 5



b


is different from that of

FIG. 5



a


. That is, the circuit acquires an optimum topology that depends on the value Of t


max


.




The step of minimizing the dissipated energy was repeated for a number of values of t


max


; the results are graphed in FIG.


6


. The graph of

FIG. 6

, called a tradeoff curve, shows that there is a tradeoff between the dissipated energy and the dominant time constant: the smaller t


max


is, the greater is the dissipated energy. It will be clear to anyone practiced in the art how to extend the above example to a mesh of arbitrary size.




Example 4: A tri-state bus connecting six nodes is optimized. The equivalent circuit is shown in FIG.


7


. The equivalent circuit comprises six voltage sources


52


, six resistors


50


, six capacitors


54


, and switches


41


,


42


,


43


,


44


,


45


, and


46


. Resistors


50


have conductances g


0


, and capacitors


54


have capacitances c


0


. The equivalent circuit has nodes


1


,


2


,


3


,


4


,


5


, and


6


, and every pair of nodes is joined by a connector


56


. The connectors


56


are shown as dashed lines in

FIG. 7

, and could be considered possible connectors, since some of the connectors will have optimum width zero, and therefore will not exist in the optimum circuit.




The connector linking the i


th


node to the j


th


node has length l


ij


and width x


ij


. The design parameters for this example are the widths x


ij


, for i=2. . . 6, j=1 . . . 6, and i>j. Each connector


56


is modeled as shown in

FIG. 4

, by resistor


20


and capacitors


22


. The connectors are modeled by two numbers α and β such that for the connector linking the i


th


node to the j


th


node, resistor


20


has conductance to and capacitors


22


have capacitance β x


ij


l


ij


.




The area of the circuit is to be minimized. Therefore property.






P
=




i
>
j





l
ij




x
ij

.













The area is to be optimized for six transitions simultaneously. In a first transition, switch


41


is closed and switches


42


-


46


are open. In each of the other five transitions, one of the switches


42


-


46


is closed, and all other switches are open.




The conductance matrix G(x) for the first transition is equal to:






G(x)={tilde over (G)}(x)+g


0


E


ll








where {tilde over (G)}(x) is a conductance matrix for the equivalent circuit of

FIG. 7

with all the switches open, and E


ll


is a matrix that is zero except for the first diagonal element, which is equal to one. Similarly, for the k


th


transition (2≦k≦6), G


(k)


={tilde over (G)}(x)+g


0


E


kk


, where E


kk


is zero except for the k


th


diagonal element, which is equal to one.




The capacitance matrix C(x) is a diagonal matrix whose i


th


element is equal to the total capacitance at node i. In the optimization procedure, it is desired that the widths x


ij


fall in a range between 0 and 1. Therefore the optimization method comprises the following step:




use semi-definite programming techniques to minimize










i
>
j





l
ij



x
ij



,










subject to t


max


({tilde over (G)}(x)+g


0


E


kk


)−C(x)≧0, for k=1,2, . . . 6,




and to 0≦x


ij


≦1




In the present example, the values g


0


=1, c


0


=10, β=0.5, and α=1 were used. Nodes


1


-


6


are spaced as shown in FIG.


8


. Nodes


1


-


6


are placed on a grid


58


, and the length l


ij


of the connector between node i and node j is equal to the Manhattan distance between the two nodes. In other words, the distance between two nodes is measured not along a straight line, but along lines of grid


58


that connect the two nodes. For example, the distance between node


1


and node


2


is equal to two.




The result of optimizing the area for the six transitions, using t


max


=410, is shown in

FIG. 9



a


. Connectors


56


are shown in

FIG. 9



a


, the width of the connector between node i and node j being appromately proportional to the optimum value of the width x


ij


. Not all of the connectors


56


are shown; those connectors not shown have optimum width equal to zero, and are therefore omitted from the circuit. This example provides another illustration of how the optimum topology of the circuit is determined by the optimization method.





FIG. 9



b


shows the result of the optimization method for t


max


=2000. The circuit of

FIG. 9



b


has a topology different from the topology of the circuit of

FIG. 9



a


. This again illustrates that the optimum topology can depend on the value of t


max


.




The step of minimizing the area was carried out for a range of values of t


max


; the results are shown in FIG.


10


. The graph of

FIG. 10

shows the tradeoff between t


max


and the area.




Example 5: Wire sizes and spacings are optimized. As shown in

FIG. 11

, a first wire


61


, a second wire


62


, and a third wire


63


run parallel to each other. Each wire is divided into five segments; a width of a first segment of the first wire is w


11


, a width of a second segment of the first wire is w


12


, and so on, as shown in FIG.


11


. Spacings s


ij


give distances between segments of adjacent wires, as shown. An edge of the first wire is a distance s


1


from a middle of the second wire, and the middle of the second wire is a distance s


2


from an edge of the third wire.




The equivalent circuit for this example is shown in FIG.


12


. Each wire is modeled by resistors having conductance g


ij


, and capacitors with capacitance c


ij


. At one end, each wire is driven by a voltage source, U


i


for the i


th


wire, with output conductance g


0


. Another end of each wire is connected to a capacitive load, C


i


for the i


th


wire. Capacitances c


ij


model the crosstalk between the wires.




The conductances g


ij


are given by g


ij


=α w


ij


, for some model-dependent number α. The values of the capacitances c


ij


are related to the widths w


ij


by a proportionality constant β. For i=1,2, or 3:






c


i1


=βw


i1


; c


i2


=β(w


i1


+w


i2


); c


i3


=β(w


i2


+w


i3


);








C


i4


=(w


i3


+w


i4


); c


i5


=β(w


i4


+w


i5


); C


i6


=βw


i5








The capacitances c′


ij


have the following values. For i=1 or 2:






c′


i1


=γ/s


i1


; c′


ij


=γ/s


ij


+γ/s


i(j−1


) for 1<j<6c′


i6


=γ/s


i5








for some parameter γ. A total width of the circuit, s


1


+s


2


, is to be minimized, subject to the following sizing constraints: each w


ij


is to be less than an upper bound w


max


, and s


i


and s


2


are each to be greater than a minimum spacing s


min


.




The spacings s


ij


cannot be used as design parameters, since the capacitances c′


ij


are not affine functions of the spacings s


ij


. However, new variables t


ij


are defined such that t


ij


=1/s


ij


. The capacitances c′


ij


, and hence the capacitance matrix C, are affine functions of the new variables t


ij


, so the optimization method may be used. The design parameters are the widths w


ij


, the variables t


ij


, and the spacings s


1


and s


2


. The geometrical constraints, evident from

FIG. 11

, that






s


1j


=s


1


−w


1j


−w


2j


/2; s


2j


−s


2


−w


3j


−w


2j


/ 2, j=1 . . . 5






can be replaced by inequalities for purposes of the optimization method:




 1/t


1j


<s


1


−w


1j


−w


2j


/2; 1/t


2j


≦s


2


−w


3j


−w


2j


/2, j=1 . . . 5




These inequalities can in turn be expressed as linear matrix inequalities:












(




t

1

j




1




1




s
1

-

w

1

j


-

(


w

2

j


/
2

)





)


0

;








(




t

2

j




1




1




s

2

j


-

w

3

j


-

(


w

2

j


/
2

)





)


0





(
11
)













As will be clear to one skilled in the art, the constraints of Eq. (11), as well as the sizing constraints






0≦t


ij


≦1/s


min


; w


ij


≦w


max


  (12)






can be expressed as design constraints A≧0, where the matrix A has a block diagonal form, and where the entries of the matrix A are determined by Eqs. (11) and (12).




The optimization method comprises the following step:






use semi-definite programming techniques to minimize s


1


+s


2


, subject to t


max


G−C≧0;








 1/t


1j


≦s


1


−w


1j


−w


2j


/2; 1/t


2j


≦s


2


−w


3j


−w


2j


/2, j=1 . . . 5;








 0≦t


ij


≦1/s


min


, i=1,2; j=1 . . . 5;








 w


ij


≦w


max


, i=1,2,3; j=1 . . . 5.






The following values were used:






g


0


=100, C


1


=10, C


2


=20, C


3


=30, α=1, β=0.5,








γ=2, s


min


=1, w


max


=2.







FIG. 13



a


shows the result of the optimization for t


max


=130. In this case, the spacings s


11


and s


21


, are equal to the minimum spacing of 1, and the crosstalk between the wires is inconsequential.

FIG. 13



b


gives the result of the optimization when t


max


=90. In this case s


21


=4, so evidently the crosstalk was a factor in determining the optimum spacing between the wires.



Claims
  • 1. A method for optimizing a property of an integrated circuit, the method comprising the steps of:a) characterizing a physical layout of the integrated circuit by design parameters, b) finding values of the design parameters that optimize the property of the circuit, the design parameters being subject to a constraint tmax G−C≧0, wherein G is a matrix that expresses conductances of an equivalent circuit as an affine function of the design parameters, C is a matrix that expresses capacitances of the equivalent circuit as an affine function of the design parameters, and tmax is a maximum dominant time constant, and c) constructing the integrated circuit with the values of the deign parameters found in step b).
  • 2. The method of claim 1, wherein semi-definite programming techniques are applied to carry out the step of finding the values of the design parameters that optimize the property.
  • 3. The method of claim 2, wherein the property is an area of the circuit.
  • 4. The method of claim 2, wherein the property is a width of the circuit.
  • 5. The method of claim 2, wherein the property is an energy dissipated by a transition of the circuit.
  • 6. The method of claim 1, wherein generalized eigenvalue minimization techniques are applied to carry out the step of finding the values of the design parameters that optimize the property.
  • 7. The method of claim 6, wherein the property is the maximum dominant time constant tmax.
  • 8. The method of claim 1, wherein the design parameters are subject to design constraints.
  • 9. The method of claim 1, wherein the equivalent circuit has a non-tree topology.
  • 10. The method of claim 1, wherein the matrices G and C model a first transition of the circuit.
  • 11. The method of claim 10, wherein the design parameters are additionally subject to a constraint tmax G(2)−C(2)≧0, wherein G(2) and C(2) are matrices that model conductances and capacitances, respectively, of a second transition of the circuit.
  • 12. The method of claim 1, wherein the design parameters comprise widths of a set of elements of the circuit.
  • 13. A method for optimizing a topology of an integrated circuit, wherein a physical layout of the circuit is described by design parameters, and wherein the method comprises the step of:a finding values of the design parameters that optimize a property of the integrated circuit, the design parameters being subject to a constraint tmax G−C≧0, wherein tmax is a maximum dominant time constant, and wherein G and C are matrices that model conductances and capacitances, respectively, of a first transition of the circuit, G and C being affine functions of the design parameters, and a first design parameter being related to a first element of the circuit, and b) constructing the integrated circuit with the values of the design parameters found in step a).
  • 14. The method of claim 13, wherein semi-definite programming techniques are applied to carry out the step of finding the values of the design parameters that optimize the property.
  • 15. The method of claim 13, wherein generalized eigenvalue minimization techniques are applied to carry out the step of finding the values of the design parameters that optimize the property.
  • 16. The method of claim 13, wherein the design parameters are subject to design constraints.
  • 17. The method of claim 13, wherein the design parameters are additionally subject to constraints tmax G(j)−C(j)≧0 for j=2 to r, wherein r is an integer greater than 1, and wherein G(j) and C(j) are matrices that model conductances and capacitances, respectively, of a jth transition of the circuit.
  • 18. A digital integrated circuit characterized by design parameters xi, a conductance matrix G, a capacitance matrix C, and a dominant time constant Tdom, wherein the conductance matrix G and the capacitance matrix C are affine functions of the design parameters xi, and the values of the design parameters xi minimize the dominant time constant Tdom.
  • 19. The circuit of claim 18, wherein the design parameters xi are subject to design constraints A≧0, wherein A is a matrix that is an affine function of the design parameters xi.
  • 20. The circuit of claim 19, wherein the design constraints comprise a requirement that a first design parameter x1 lie within a specified range between a minimum value xmin and a maximum value xmax.
  • 21. The circuit of claim 19, wherein the design constraints comprise a requirement that a reciprocal of a spacing between first and second elements of the circuit lie within a specified range.
  • 22. The circuit of claim 19, wherein the design constraints comprise a bound on an area of the circuit.
  • 23. The circuit of claim 19, wherein the design constraints comprise a bound on a width of the circuit.
  • 24. The circuit of claim 19, wherein the design constraints comprise a bound on an energy dissipated by the circuit.
  • 25. The circuit of claim 18, wherein the circuit has a non-tree topology.
  • 26. The circuit of claim 18, wherein the design parameters comprise widths of a set of elements of the circuit.
RELATED APPLICATION DATA

This application is based on provisional patent application No. 60/063,968, filed on Oct. 31, 1997. The above provisional patent application is herein incorporated by reference.

US Referenced Citations (9)
Number Name Date Kind
4630219 DiGiacomo et al. Dec 1986
4827428 Dunlap et al. May 1989
5303161 Burns et al. Apr 1994
5379231 Pillage et al. Jan 1995
5453991 Suzuki et al. Sep 1995
5758148 Lipovski May 1998
5818729 Wang et al. Oct 1998
5910899 Barrientos Jun 1999
6064809 Braatz et al. Jun 1998
Non-Patent Literature Citations (4)
Entry
Vandenberghe, V. et al., Semidefinate Programming, SIAM Review, 38, pp. 49-95, 1996.
Boyd, Stephen et al., Method of Centers for Minimizing Generalized Eigenvalues, Linear Algebra and Appl., 188, pp. 63-111, 1993.
Vandenberghe, V. et al., Optimizing Dominant Time Constant in RD Circuits, IEEE Transactions in Computer Aided Design, 17, pp. 110-125, Feb. 1998.
Optimal Wire and Transistor Sizing for Circuits with Non-Tree Topolgy, Proceedings of ICCAD '97, Nov. 9-13, 1997 in San Jose, California, pp. 252-259.
Provisional Applications (1)
Number Date Country
60/063968 Oct 1997 US