~1 An Algorithm to Efficiently and Accurately Compute the Effective Capacitances of Interconnects Driven By Logic Gates by Marcin A. Strojwas Submitted to the Department of Electrical Engineering and Computer Science in Partial Fulfillment of the Requirements for the Degree of Master of Engineering in Electrical Engineering and Computer Science at the Massachusetts Institute of Technology February 1, 2000 Copyright 2000 Marcin A Strojwas. All rights reserved. The author hereby grants to M.I.T. permission to reproduce and distribute publicly paper and electronic copies of this thesis Author Department of Electrical Enginering and Computer Science February 1, 2000 Certified by V/ Jacob White Thesis Supervisor Accepted by Arthur C. Smith Chairman, Department Committee on Graduate Theses MASSACHUSETTS INSTITUTE JUL 2 7 2000 ENG LIBRARIES 2 An Algorithm to Efficiently and Accurately Compute the Effective Capacitances of Interconnects Driven By Logic Gates by Marcin A. Strojwas Submitted to the Department of Electrical Engineering and Computer Science February 1, 2000 In Partial Fulfillment of the Requirements for the Degree of Master of Engineering in Electrical Engineering and Computer Science ABSTRACT This document contains the description of an algorithm for calculating the effective capacitance at a driving gate's output. The method applies for the cases of step and ramp waveforms at the driver's input. The algorithm proceeds in a two step manner. First, the driving gate fan-out is reduced to a H- model. This step is independent of the driving gate. Once a I model is calculated, the second part of the algorithm determines an effective capacitance. Included in this paper are the experimental results which indicate that results produced by this method are within 5% of effective capacitance results generated by HSPICE which employs a significantly more costly method. Additionally, a closed form function is provided which approximates the effective capacitance to within 8%. Thesis Supervisor: Jacob White Title: Professor, MIT Electrical Engineering and Computer Science Department 3 1 Introduction 1.1 Background Improvements in integrated circuit technology have led to transistors with smaller feature sizes enabling faster switching speeds. Such decreasing feature sizes allow for denser chips with increased functionality while creating a need for finer interconnect line widths. As interconnect wiring shrinks, the interconnect resistance-per-unit-length scales up while interconnect capacitance-per-unit-length remains approximately constant due to fringing effects. Average metal lengths are not scaling down due to increasing interconnect densities. Therefore, the resistance of on-chip metal interconnect is playing an increasingly dominant role in determining the timing behavior of logic gates. The resistance and capacitance of interconnect is obtained through parasitic extraction. An extraction tool typically produces a distributed model for the interconnect. This distributed model consists of numerous capacitors connected to ground and resistors connecting the capacitors as shown in Fig. 1. Though a distributed interconnect model can capture the parasitic features of a wire in greater detail, a distributed model must be simplified into a model with a fixed number of parameters when performing an effective capacitance calculation. A H model serves this purpose, consisting of a resistor spanning between two capacitors connected to ground as shown in Fig. 2. Because a H model only has three parameters, R 1, C1, and C2, only certain features of the interconnect loading can be modelled. In general, the use of a H model will prohibit the ability to accurately simulate the entire waveform at the driving gate's output. However, a H model can be crafted such that the delay through the driving gate and the slew at the output of the driving gate 4 are accurately captured. This feature makes the H model ideal for use in creating a digital abstraction for a circuit and calculating effective capacitance.. T_ T T T_ Fig. 1 A Distributed Interconnect Model RI C1 C2 Fig. 2. A H model that captures the effects of interconnect parasitics. 1.2 Effective Capacitance The term "effective capacitance" refers to the capacitance which is "seen" by a driving gate. The effective capacitance is less than the total load capacitance due to resistance shielding effects. The resistance of an interconnect wire from the driving gate to a load capacitance creates this resistance shielding effect. A useful example to consider for the purposes of understanding this effect involves considering the previously mentioned H model and examining the limiting cases of RI being zero and being infinite. If R 1 is zero, the capacitance seen by the driving gate is the sum of CI and C2. If RI is infinite, corresponding to an open circuit, then the capacitance seen by the driving gate is Cl. In this case, RI completely shields C2. In general, R 1 will be some finite, nonzero value because the wire resistance of the interconnect which RI models will be finite and nonzero. Therefore, as the interconnect resistance increases, the effective capacitance will be Cl plus some fraction of C2. The goal of using an effective capacitance model is to replace a H model 5 with a single capacitor, as shown in Fig. 3, such that the fifty percent output transition point in the effective capacitance model occurs at the same time as the corresponding point in the H model. RI C IC2 Ceff Fig. 3. A -I model replaced by an effective capacitance model. Calculating an effective capacitance is most crucial for driving gates whose drive resistance is less than the interconnect resistance. Under this condition, the effective capacitance will be substantially less than the total capacitance. Due to the fact that gate delay is an increasing function of load capacitance, using an accurate effective capacitance model is essential to calculating gate delay. In this report, the gate delay is taken to be the time from which the input transition is fifty percent complete to the time at which the output transition is fifty percent complete. For short nets where the resistance of the interconnect is relatively small compared to the drive resistance of the gate, the effective capacitance does not differ too much from the total load capacitance. In this case, computing the effective capacitance is not worth the time required to perform the computation during synthesis. The effective capacitance for each gate is a function of the input transition time and the parameters of the I model. The nature of the synthesis process requires an extremely efficient algorithm to be embedded in the closed synthesis loop due to the number of times this algorithm must be executed. Furthermore, the parasitics which are available during synthesis are only rough estimates. Thus, there is no need for an exact calculation due to the error which exists between the parasitic estimation and the final parasitics present in the post-layout design. Theoretically, one 6 could precompute an effective capacitance table for each cell type. Though such a table could provide the most efficient and accurate solution for effective capacitance modeling, the memory capacity required to store the necessary four dimensional table for each cell would be impractical. Thus a dynamic effective capacitance calculation is required. 2 The Effective Capacitance Calculation 2.1 Effective Capacitance Under Step Input When a step input is applied to the gate, a transition will occur in the voltage at the gate's output. At one extreme, if this transition also occurs as a step input, the gate can be modeled by its Thev- enin equivalent consisting of a step input source (vs(t)) and a linear source resistance (Rs) as shown in Fig.4. A separate effective capacitance analysis must be performed for a rising gate transition and for a falling gate transition because the source resistance is different for these two cases. This gate model drives the interconnect which is replaced with a 1- model. RI Rs CV + Vs (t) C2 - Fig. 4. A Thevenin equivalent for a gate driven by a step input loaded with a H model. For this case, the output voltage at the gate is given by: VB(t) = V0 + 1XsiRiC2 sib2(si -S2) eSt+ X S2A s2b2(s2-si) where b, = Rs(C +C2)+RIC2 es2t 7 b2 = RsRIC 1 C, _ -b, 2 -4b2 ±(b) 2b 2 Solving for the time at which the output voltage at the gate crosses the fifty percent threshold voltage requires an iterative algorithm. However, this algorithm converges rapidly because the output voltage is a monotonically increasing or decreasing function. Let TH denote the time at which the gate output crosses the fifty percent threshold voltage. Once this time is known, one can model the load at the gate output with a single capacitor such that the trip time, the time at which the gate output voltage crosses the fifty percent threshold voltage, is identical to the trip time of the associated I model. Let Cstep denote the capacitance which matches the trip times in the two models. Cstep can be computed as Tn Cstep = kiRs where k1 = ln(2). At the other extreme, the gate can respond to the step input slowly. The lengthy transition time of the gate will cause the gate to charge up the entire load capacitance (Ctotal) while transitioning. Thus the effective capacitance, Cff, lies in the range between Cstep and Ctotal. Kahng and Muddu [3] propose employing an equation which uses the ratio of DLD to DNL, where DLD is the delay of the gate loaded with Ctotal and DNL is the delay of the gate under no load, to compute Ceff in this range. 8 5 Ceff = Ctotal - 5( Ctotal - Cstep) + ( Ctotal - Cstep) x 1+ DD/DL (D LD)/I(DNL) 2.2 Effective Capacitance Under Ramp Input The effective capacitance calculation for a gate driven by a ramp input parallels the calculation for a gate driven by a step input. For the case of a ramp input, the gate can transition no faster than the ramp time. Thus the analysis begins by finding the voltage waveform at the output of the gate driving a -I model if the gate is modeled by a ramp input source with a series source resistance as shown in Fig. 5. Rs Vs (t) TR R1 Cl + C2 T - Fig. 5. A Thevenin equivalent for a gate driven by a ramp input loaded with a HI model. In this case, the voltage at the gate output loaded with a I model is vx(t) = VO x t - Rs(Ci + C2) TR L + 1 2+siRIC2 b2(S1 - S2) (Sl) 1 + S2R1C2 I t + (S2) 2 b2(S2-SI) x eS 2 t] J for t <= TR, where TR is the ramp input rise time. For t > TR, VX) = TR OX TV R + (I + s L (Sl) X (1 -e-TRs1) XRC2) 2 b2(S1 -S2) X esIt +(I + S2RIC2) X (S2) 2 (1 -e-TRs2) X eS2 b2(S2-SI) ] 9 where bi, b2, si, and S2 are as defined in the previous section. Again, this equation must be itera- tively solved to find the time at which the gate output voltage crosses the fifty percent threshold. Let this time be represented by TH. As in the case of a step input, the next step is to find Cramp , a capacitor that could replace the H model without changing the time at which the gate output crosses the fifty percent threshold if the gate were replaced by the ramp input voltage source and a linear source resistor. Cramp C"'P TH = kR k2Rs For TH > TR, computing k2requires iteratively solving the following equation for k2: 0.5 = For Tr <= TR, computing k2 T TR 9 k2 (TRk 2 )/(T) -xek2 requires solving the following equation for k2:. k2 = x (I - e-k2) cc = -0.5 x TT R TH where For the region where Tn <= TR, an exact solution for k2 can be found iteratively. However, an approximate solution with an arbitrary accuracy can be obtained by noting that the equation for k2 is of the form k2= f(k2). Thus k2= f(f(f(f ...(initial-guess)))). Thus applying the function f to itself n times will yield an nth order approximation for k2 and eliminate the need for an iterative solution. Using the same functional form as in the case of a step input, Kahng and Muddu calculate Ceff as: 10 Ceff = Ctotal - 5(Ctotal - Cramp) + (Ctotal - Cramp) x + 1 + (DLD)/(DNL) 3 Calculating Drive Resistance The drive resistance (RS) of each driver is a function of ramp input time (TR). For a fixed TR, the drive resistance is calculated by fitting a decaying exponential voltage waveform to the tail of the output at the driver: v(t) = Vdd Xe vR x Ctotal S [2] shows that the above equation can best be evaluated at the fifty and ninety percent time points. From this it follows that the drive resistance can be calculated as: Rs tQg(Ctotal)-t50(Ctotal) - Ctotal x ln(5) The fifty percent time point (t50 ) is available via table lookup in a cell library and the ninety percent time point (t 90 ) can be computed by adding t50 and half of the slew time. 4 IF Model Reduction 4.1 Necessity of H Model Reduction The above algorithm for computing an effective capacitance depends upon the ability to generate a H model which yields the same trip time as the generalized interconnect model. A H model was II chosen to model the interconnect because it is the simplest model which is suitable for effective capacitance calculation. In simplifying a distributed parasitic model, the driving point admittance of the simplified model must be set according to the driving point admittance as seen looking into the distributed model. A H model has three parameters allowing the first three moments of the driving point admittance of the distributed model to be captured. A distributed model cannot immediately be reduced to a one parameter model, consisting of a capacitor. Such a reduction would only allow the first moment of the distributed model to be captured. Thus, the capacitance to which the distributed network would be reduced is the total capacitance. A two parameter model consisting of a resistor in series with a capacitor, as shown in Fig. 6, is also insufficient. Such a model yields unacceptable results for effective capacitance calculation because it allows for the possibility of the effective capacitance to be negative. This is caused by the lack of a capacitance connected directly to the output of the driving gate. RT RC-mcdeb Rs Cl. Vs (t) -L - - - - - - Fig. 6. A Thevenin equivalent for a gate driving an RC model. The first step in calculating a H model is to find the driving point admittance (YI(s)) for a generalized H model as shown in Fig. 7. 12 /R Y (S) sc,- & -SC 2 Fig. 7. A generalized H model for finding the driving point impedance. Y (s)= s C SC1+sRI C2 Using the expansion 1 +x = 1-x+x 2 +... YH(s) can be written as Y (s) = s(C 1 + C 2 ) - s 2 (R 1 C 2 2 ) + s3 (R 1)2(C2)3) + Only the first three moments are necessary for forming a H model. The three H model parameters are chosen such that the first three moments of the driving point admittance of the original network are equal to the first three moments in the above expression. Finding a H model for an arbitrarily complex branching network can be achieved with the aid of two expressions for forming new H models. These two expressions dictate how a new H model 13 should be formed from two H models in parallel and how a new H model should be formed when replacing a wire with an evenly distributed resistance and capacitance driving a previously formed H model. These two types of processes for forming equivalent H models are illustrated in Fig. 8. (a) (b) -t /W /~l T ~ TT Fig. 8. (a) Replacing two H models in parallel with a new H model. (b) Replacing a wire in series with an existing H model by a H model. A fan-out network can be viewed as a tree with the root at the output of the driving gate, the leaves at the gates being driven, and nodes occurring at every interconnect branching point. A H model can be formed at every node to replace the subtree rooted at that node using the two types of H model collapsing processes described above. Thus, by forming H models at each node of the tree beginning from the leaves and working up to the root, a H model can be formed which represents the entire fan-out network. An example of this process is depicted in Fig. 9. 14 -- -- -- - A- LL% -- - - - - -ALA: R1Z RI Cl_ C2 Fig. 9. The process of forming H models at each node (interconnect branching point) in order to arrive at a H model for the entire fan-out network. In each step shown above, a H model replaces the RC elements in the previous dashed box using the two processes depicted in Fig.8. 4.2 Collapsing Two H Models in Parallel Finding a H model to replace two H models in parallel requires finding the first three moments of the admittance as seen looking into two H models in parallel. The new H model which will replace these two H models must have an input admittance with the same first three moments. Fig. 10 displays the naming conventions employed in the following derivation. 15 RH YH(s)>Y//(S)> C> __ - 00 C Cf en C Fig. 10. A schematic representation of creating a H model from two H models in parallel. Y//(s) is easily calculated as the sum of the admittances of two H models. Y (s) = (C 1 + C 2 + C3 + C 4 )s-(R12 C 2 2 + R3 4 C4 2 )s 2 + I(R 12 2C 2 3 + R342C43)S3+... By equating the first three moments of Y//(s) with the first three moments of YH(s), RH, Cf, and Cn are calculated as follows, (R 1?2 C? 3 + R3 4 2C 4 3 N2 (R 12 C 2 2 + R34C42)3 16 Cf = S Cn C92+ R34C42)2 ( R 1'22C2 3 + R3 42C43 ) C+C+C+C4-Cf This set of algebraic equations is essential to generating H models by traversing up a tree because the new H model parameters do not depend on any higher order moments of the branches. In other words, forming a H model at a point where a network branches only depends upon the H model parameters representing each branch. 4.3 Collapsing a Wire in Series with a H model The second essential procedure for collapsing any fan-out into a single H model requires replacing a wire driving a H model by a new H model. Fig. 11 displays the naming conventions employed in the following derivation. R 12 R RH Yn(s)> Yx~)>--i C C > C1Y -C2 Fig. 11. A schematic representation of forming a H model from a wire in series with a H model. 17 The wire resistance (R) and the wire capacitance (C) are assumed to be continuously and evenly distributed along the wire. Y,(s), the input admittance for a wire driving a H model, can be calculated by replacing the continuously distributed RC element by a series of N resistors spanning between N grounded capacitors where the magnitudes of the resistances and capacitances are R/N and C/N respectively. In the limit as N tends to infinity, Y,(s) is obtained. Yx(s) can be written as, 3 2 Yx(s) = mls+m 2 s +m 3 s +... where, mi = C+C+C n f 2 m2 = RCf 2 +R(Cn +Cf) + RC(Cn + Cf) + 3RC2 and m3 = Rn2Cf3+ 4R2C(Cn + C) 2 C3R2+ R2C2(Cn +Cf)+2RR + R 2 (Cn+ C) 3 +R RCCf (Cn + Cf)(Cf) 2 + 2 By equating ml, m2, and m3 with the first three moments of YI(s), R 12 , C2 , and C1 are calculated as follows, 18 2 = (m 3 ) R 12 (M 2 )3 2 (M3) C 1 - rn-C 2 As in the case of collapsing two 11 models in parallel, a H model representation for the network being driven by the wire contains all of the information necessary for creating a new H model. This fact ensures that no accuracy is lost in traversing up the tree while forming H models at each node. In the case of an open-ended wire (Cn = 0, R = 0, and Cf = 0), the H model equa- tions reduce to C1 = (1/6) C, C2 = (5/6)C, and R12 = (12/25)R. This set of equations also applies when a wire with resistance (R) and capacitance (C) is driving a gate with an input capacitance of Cin, and C >> Cin or R is sufficiently large. Otherwise, the gate being driven by the wire should be modeled with a H model where Cf = Cin, Cn = 0, and RH = 0. 5 Empirical Modeling 19 This section explores the potential for developing an iterationless approach for calculating effective capacitance. Empirically, the following formula approximated the effective capacitance to within 8%: Ceff = Cnear + 1 c + 8.5 x Rpi2 x Cfar Rs x Tramp Cfa r An intuitive understanding of this formula can be acquired by examining the limiting cases. In the limit as Tramp tends to infinity, the entire load capacitance will be charged during the input transition, so Ceff = Cnear+Cfar. The limit as Rpi tends to infinity yields a value of Ceff = Cnear because the resistor behaves as an open circuit. The limit as Rpi tends to zero yields a value of Ceff = Cnear + Ctotal because the resistor behaves as a short circuit. This option for approximating Ceff provides the efficiency which a synthesis tool requires while preserving a sufficient accuracy as observed in Table 1. 6 Experimental Results This section contains a comparison of the results of the effective capacitance algorithm presented in this report, the empirical model, and the effective capacitance calculated from SPICE simulations. The effective capacitance algorithm presented in this paper determines an effective capacitance by matching the fifty percent output delay points of the two models. The same criteria is adopted for calculating the effective capacitance from SPICE simulations. 20 TABLE 1: Comparison of Ceff Results Rs Cnear Rpi Cfar Tramp Ceff(algorithm) %error (Q) (fF) (ns) (fF) (Q) (fF) (%) 50 200 1.5 778 200 -.70 395 778 200 100 200 1.5 390 -1.66 200 200 1.5 778 200 381 -2.86 778 200 400 200 1.5 362 1.01 778 200 600 200 1.5 338 -3.81 778 350 200 50 1.5 399 .01 778 300 200 100 1.5 395 -.45 200 300 778 100 1.5 357 -.61 200 350 778 50 342 1.5 -1.89 119050 200 50 1.0 99 3.69 119050 400 50 1.0 99 3.83 650 200 200 200 1.0 -3.28 367 650 200 100 200 1.0 386 -1.11 372 200 100 200 1.0 391 -.59 372 200 300 200 1.0 367 3.79 *HSPICE simulations performed for a 0.6 ptm technology Ceff(model) %error Ceff(HSPICE)* (fF) (%) (fF) 399 .32 398 397 .03 397 -.76 392 389 362 1.17 358 -5.64 351 331 399 .07 399 397 .04 397 376 4.70 359 368 5.33 349 99 3.43 96 97 2.63 95 381 .54 379 395 1.26 390 391 -.44 393 342 -3.47 354 7 Conclusions The techniques proposed in this paper for computing effective capacitance could be embedded in a tight synthesis-analysis loop for gate delay estimation during synthesis. This approach is considerably faster than methods employed by static timing analysis tools, yet produces effective capacitance estimates which are within 5% of those produced by SPICE. For further efficiency with minimal loss of accuracy, the effective capacitance can be calculated with an empirical model. Independent of the effective capacitance calculations presented in this paper, the H model reduction technique provides a methodology to generate H models using only algebraic equations without any loss of accuracy. 21 REFERENCES [1] C. Alpert, A. Devgan, S. Quay. "Buffer Insertion with Accurate Gate and Interconnect Delay Computation," DAC 99. pp 479-484. [2] F. Dartu, N. Menezes and L. Pillegi. "Performance Computation for Precharacterized CMOS Gates with RC Loads," IEEE Transaction on ComputerAided Design of Integrated Circuits and Systems.Vol. 15, No. 5, May 1996. [3] A. B. Kahng and S. Muddu, "New Efficient Algorithms for Computing Effective Capacitance," ISDR 1998, pp 147-151.