The present invention relates generally to electronic circuit design using computer simulation techniques. More specifically, but without limitation thereto, the present invention relates to modeling the output waveform of a circuit element driving a distributed resistance-capacitance network.
Methods for modeling the output waveform of a circuit element or cell driving a resistance-capacitance network generally use a Thevenin equivalent model, i.e., a voltage source in series with a resistance, and a load having a single effective capacitance. However, previous methods produced unsatisfactory results using a computer circuit simulation program such as SPICE because the actual waveform delays were found to be more than ten percent larger than those predicted by the simulation program. A method is therefore needed for modeling the output waveform of a cell driving a resistance-capacitance network that compares more closely to the actual output waveform.
The present invention advantageously addresses the needs above as well as other needs by providing a method for modeling the output waveform of a cell driving a resistance-capacitance network that includes multiple effective capacitances.
In one embodiment, the invention may be characterized as a method of calculating Thevenin parameters that includes the steps of (a) initializing estimates of effective capacitances Ceff1 and Ceff2, of a switching threshold delay t0, and of a slope delay deltat; (b) solving ramp response equations for t0 and deltat as a function of Ceff1 and Ceff2; (c) comparing the estimates of t0 and deltat with solutions for t0 and deltat found in step (b); and (d) replacing the estimates of to and deltat with the solutions for t0 and deltat if the solutions for t0 and deltat have not converged to the estimates of t0 and deltat.
In another embodiment, the invention may be characterized as a computer program product that includes a medium for embodying a computer program for input to a computer and a computer program embodied in the medium for causing the computer to perform at least one of the following functions:
The features and advantages summarized above in addition to other aspects of the present invention will become more apparent from the description, presented in conjunction with the following drawings.
The above and other aspects, features and advantages of the present invention will be more apparent from the following more specific description thereof, presented in conjunction with the following drawings wherein:
Corresponding reference characters indicate corresponding elements throughout the several views of the drawings.
The following description is presented to disclose the currently known best mode for making and using the present invention. The scope of the invention is defined by the claims.
Using the Thevenin model, the output voltage Vo′ of the CMOS gate 150 may be expressed as a function of time t by
Vo′(t)=y(t,t0,deltat) (1)
Specifically, for a falling output transition
y(t,t0, deltat)=Vdd t−t0<0 (2)
y(t,t0,deltat)=Vdd−y0(t,t0,deltat) 0≦t−t0<deltat
y(t,t0,deltat)=Vdd−y0(t,t0,deltat)+y0(t−deltat,t0,deltat) t−t0≧deltat
and for a rising output transition
y(t,t0,deltat)=0 t−t0<0 (3)
y(t,t0,deltat)=y0(t,t0,deltat) 0≦t−t0<deltat
y(t,t0,deltat)=y0(t,t0,deltat)−y0(t−deltat,t0,deltat) t−t0≧deltat
where y0(u,v,w) is the single positive ramp response for a capacitive load C and a driver resistance Rd, which may be found from the equation
Equations (1), (2), (3), and (4) are derived and explained in detail in the article “Performance Computation for Precharacterized CMOS Gates with RC Loads”, Florentin Dartu, Noel Menezes, and Lawrence T. Pileggi, IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems, Vol. 15, No. 5, May 1996.
In contrast to methods that solve for the Thevenin parameters using a single effective capacitance, the following method uses two values of effective capacitance Ceff1 and Ceff2. Ceff1 is used to find either t30(Ceff1) (for a rising transition) or t70(Ceff1) (for a falling transition), and Ceff2 is used to find t50(Ceff2) to calculate the Thevenin parameters from the ramp response equations
y(t50(Ceff2), t0, deltat)=0.5·Vdd (5)
y(t30(Ceff1), t0, deltat)=0.3·Vdd (or
y(t70(Ceff1), t0, deltat)=0.7·Vdd)
Initial estimates are made for Ceff1, Ceff2, t0, and deltat, for example:
Ceff1=Ceff2=0.0001 pf (6)
deltat=5·t50(Ceff2)−t30(Ceff1)
t0=t50(Ceff2)−0.69·Rd·Ceff2−0.5·deltat
Newton's method may be used to solve the non-linear equations (5) from equations (1)-(4) for to and deltat by using the estimates of Ceff1 and Ceff2 and a delay lookup table according to well known techniques. The delay lookup table contains a range of delays calculated as a function of input ramptime and input capacitance and is contained in a precharacterized cell library created according to well known techniques. The calculated solutions for t0 and deltat are substituted for the previous estimates of t0 and deltat in the ramp response equations (5) until the solutions for t0 and deltat converge to a desired accuracy.
After computing the Thevenin parameters t0 and deltat from the initial estimates, either the Foster model 200 of
The calculated values for delay1 and delay2 are compared to corresponding delays delay1′ and delay2′ found in the lookup table using the input ramptime and Ceff1 and Ceff2, respectively. If delay1 and delay2 have converged to within a desired accuracy of delay1′ and delay2′, then the calculation of the Thevenin parameters t0 and deltat is complete. If not, then new values for Ceff1 and Ceff2 are found by a reverse interpolation of delay1 and delay2 from the delay lookup table, i.e.,
delay=f(input ramptime, capacitance)=> (7)
capacitance=g(input ramptime, delay)
After obtaining new values for Ceff1 and Ceff2, the Thevenin parameters to and deltat are recomputed from the ramp response equations (5), and new values for delay1 and delay2 are calculated from the Foster or the pi model until delay1 and delay2 converge to delay1′ and delay2′ within a desired accuracy, for example, 1 picosecond.
Step 602 is the entry point for the flowchart 600.
In step 604, estimates for Ceff1, Ceff2, t0, and deltat are initialized.
In step 606, the solutions to the following ramp response equations are calculated:
y(t50(Ceff2), t0, deltat)=0.5·Vdd and either
y(t30(Ceff1), t0, deltat)=0.3·Vdd or
y(t70(Ceff1), t0, deltat)=0.7·Vdd for t0 and deltat.
In step 608, the estimates of t0 and deltat are compared with the calculated solutions. If the calculated solutions for t0 and deltat have not yet converged to the estimates, then control transfers to step 610. Otherwise, control transfers to step 612.
In step 610, the estimates of t0 and deltat are replaced with the calculated solutions, and control transfers to step 606.
In step 612, if the solutions for t0 and deltat have converged to the estimates, then the delay1 is calculated as a function of t30(Ceff1) or t70(Ceff1) and delay2 is calculated as a function of t50(Ceff2) from a Foster or a pi model.
In step 614, corresponding delays delay1′ and delay2′ for Ceff1 and Ceff2 are found in the delay lookup table.
In step 616, the calculated values for delay1 and delay2 are compared to the corresponding delays delay1′ and delay2′. If delay1 and delay2 have converged to within a desired accuracy of delay1′ and delay2′, then control transfers to step 622.
If delay1 and delay2 have not converged to within a desired accuracy of delay1′and delay2′, then new values for Ceff1 and Ceff2 are found from the delay lookup table in step 618.
In step 620, the estimates of Ceff1 and Ceff2 are replaced with the new values and step 606 is repeated.
Step 622 is the exit point for the flow chart 600.
The flowchart 600 may also be embodied in a computer program product that includes a medium for embodying a computer program for input to a computer and a computer program embodied in the medium for causing the computer to perform at least one of the following functions:
Other modifications, variations, and arrangements of the present invention may be made in accordance with the above teachings other than as specifically described to practice the invention within the spirit and scope defined by the following claims.
This application claims the benefit of U.S. Provisional Application No. 60/194,073, filed on Apr. 3, 2000.
Number | Name | Date | Kind |
---|---|---|---|
4276487 | Arzubi et al. | Jun 1981 | A |
5379231 | Pillage et al. | Jan 1995 | A |
5859552 | Do et al. | Jan 1999 | A |
6111443 | Mores et al. | Aug 2000 | A |
6359478 | Chow | Mar 2002 | B1 |
6732065 | Muddu | May 2004 | B1 |
Number | Date | Country | |
---|---|---|---|
60194073 | Apr 2000 | US |