Method and apparatus for estimating power in electronic integrated circuits

- Hewlett Packard

A method for estimating power dissipation characteristics of a circuit includes the steps of analyzing predefined artwork data associated with the circuit to determine data on the geometry of a first node; generating capacitance data C.sub.n for the first node on the basis of the geometry data; generating frequency data F.sub.n associated with the first node on the basis of precomputed simulation data; determining voltage data V.sub.n associated with the first node; computing an estimate of power P.sub.n associated with the first node on the basis of the capacitance, frequency and voltage data; repeating the above steps for each remaining node; summing the estimates of power for each node to determine an estimate of total power dissipation P.sub.circuit for the circuit; and generating a report on the computed data.

Skip to: Description  ·  Claims  ·  References Cited  · Patent History  ·  Patent History
Description
FIELD OF THE INVENTION

The present invention is generally related to the field of electronic integrated circuits (ICs), and more particularly related to a method and apparatus for ascertaining power dissipation in an IC.

BACKGROUND OF THE INVENTION

Most electronic systems are built on the integrated circuit, which is an ensemble of active (e.g., transistors) and passive devices (e.g., resistors and capacitors) formed on and within a single-crystal semiconductor substrate and interconnected by a metallization pattern. The power required merely to charge and discharge circuit nodes, or nets, in an IC is proportional to the number of gates (transistors) and the frequency at which they are switched (clock frequency). The power of any node may be expressed as:

P=.congruent.C.sub.node .times.V.sup.2 .times.F,

where C.sub.node is the capacitance of the node, V is the applied voltage and F is the clock frequency. The power in the chip is the summation of the power in all of the nodes. The temperature rise caused by this power dissipation in an IC package is limited by the thermal conductivity of the package material, unless auxiliary cooling is used. The maximum allowable temperature rise is limited by the bandgap of the semiconductor (approximately 100.degree. C. for Si with a bandgap of 1.1 eV). For such a temperature rise, the maximum power dissipation of a typical high-performance package is about 10 W. As a result, the maximum clock rate or the number of gates on a chip must be limited. Thus, the process of designing an IC includes estimating the power required by the IC to perform its intended function at a specified speed, or frequency. Moreover, the difficulty and cost of deriving such an estimation has dramatically increased as the average number of devices per chip has grown over the past few years.

Accordingly, a primary goal of the present invention is to provide an efficient, automatic and reliable tool for ascertaining the expected power dissipation in an IC. A further goal of the present invention is to provide a tool that employs existing circuit analysis software, thus making it an inexpensive tool especially useful in the IC design process. These goals are achieved by the present invention, a specific embodiment of which is described in this specification.

SUMMARY OF THE INVENTION

The present invention encompasses methods for estimating power dissipation in an integrated circuit device. A first embodiment of the invention comprises the steps of analyzing at least predefined artwork data associated with the circuit to determine capacitance data associated with a node of the circuit; analyzing precomputed simulation data to determine frequency data associated with the node; determining voltage data associated with the node; computing an estimate of power associated with the node on the basis of at least the capacitance, frequency and voltage data; and generating an electronic signal indicative of the estimate of power.

In one embodiment of the invention the first step comprises performing a graphical analysis of the artwork data (the phrase graphical analysis as used herein encompasses an analysis of data defining the geometry of the respective nodes).

The step of computing the circuit's power dissipation P.sub.circuit may be carried out in accordance with the following formula: ##EQU1## In the above formula, n is an index, N represents the number of nodes, C.sub.n represents the capacitance of the node of index n, V.sub.n represents the voltage associated with the node of index n, and F.sub.n represents the frequency associated with the node of index n.

The frequency F.sub.n may be determined in accordance with the equation:

F.sub.n =toggles.sub.n /2,

wherein toggles.sub.n represents the number of times the voltage associated with the n-th node changes from positive to negative or from negative to positive in a specified interval of time. The value of toggles.sub.n may be determined in accordance with the present invention by a transistor level simulation program.

The present invention also encompasses methods that include the steps of analyzing predefined artwork data associated with the circuit to determine data on the geometry of a first node; generating capacitance data for the first node on the basis of the geometry data; generating frequency data associated with the first node; determining voltage data associated with the first node; computing an estimate of power associated with the first node on the basis of at least the capacitance, frequency and voltage data; repeating the above steps for each remaining node; summing the estimates of power for each node to determine an estimate of total power dissipation for the circuit; and generating an electronic signal indicative of the estimate of total power.

The present invention further encompasses apparatus for estimating power dissipation in an electronic circuit. Apparatus in accordance with the invention comprise means for analyzing at least predefined artwork data associated with the circuit to determine capacitance data associated with a node of the circuit; means for analyzing precomputed simulation data to determine frequency data associated with the node; means for determining voltage data associated with the node; means for computing an estimate of power associated with the node on the basis of at least the capacitance, frequency and voltage data; and means for generating an electronic signal indicative of the estimate of power.

Other features and advantages of the present invention are described below in connection with the detailed description of a preferred embodiment.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart of a power estimation computer program in accordance with the present invention.

FIG. 2 is a schematic diagram of an exemplary IC device.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to the flowchart of FIG. 1, a power estimation computer program in accordance with the present invention comprises a first block 10 that analyzes predefined artwork data 12 and on the basis of the artwork data computes capacitance data C.sub.n for the n-th node, where n is an index that is incremented from 1 to the number of nodes in the circuit N. Consider, e.g., the simple circuit of FIG. 2. Default capacitance values for each node, respectively labelled IN, NIN and OUT, are provided by the capacitance extraction program. In a specific embodiment of the present invention, this capacitance extraction process is carried out with a program called TRANTOR, which was developed by engineers of the Hewlett-Packard Company (HP), the assignee of this application. TRANTOR is a program that manipulates and analyzes graphical data, therefore it may be used to analyze IC artwork data to compute the capacitance at the respective nodes of an IC. It should be noted, however, that the specific TRANTOR program is not necessary to practice the present invention. What is necessary is a program that is capable of generating capacitance data for the nodes of the device to be checked. Such programs are well known, thus it unnecessary to describe one in detail in this application (e.g., two such programs are CHECKMATE, available from the Mentor corporation, and DRACULA, available from the CADENCE corporation). Therefore, as used in this specification, the term TRANTOR refers to a generic program for extracting capacitance data for a circuit from a description of the physical layout of the circuit.

A second block 14 analyzes precomputed simulation data 16 to determine the frequency F.sub.n associated with the node. The frequency F.sub.n is determined in accordance with the equation:

F.sub.n =toggles.sub.n /2,

wherein toggles.sub.n represents the number of times the voltage associated with the n-th node changes from positive to negative or from negative to positive in a specified interval of time. In the specific embodiment referred to above, the simulation data (toggles.sub.n) is generated by a switch-level logic simulator of the type discussed in copending, commonly assigned U.S. patent application Ser. No. 684,539, filed Apr. 11, 1991, which is hereby incorporated by reference into this specification. Since logic simulators are well known in the art and moreover since the present invention does not require any specific logic simulator to generate the toggle data from which the frequency is computed, a detailed description of a logic simulator will not be provided in this specification (one publicly available logic simulation program is VERILOG, available from the Cadence corporation).

A third block 18 determines the voltage V.sub.n associated with the node. The voltage will typically be the same for all nodes (e.g., 5 V) and will preferably be supplied by the user when invoking the program.

A fourth block 20 computes an estimate of power P.sub.n associated with the n-th node in accordance with the equation:

P.sub.n =C.sub.n .times.V.sub.n.sup.2 .times.F.sub.n.

A decision block 22 determines whether n is equal to N, i.e., whether all nodes have been considered. If not, n is incremented by block 24 and the program loops to block 10; if so, the program proceeds to block 26.

Block 26 computes an estimate of total power P.sub.circuit required to charge and discharge the nodes of the circuit. P.sub.circuit is computed in accordance with the ##EQU2##

Block 28 generates a report on the computed data for the user. The report may be printed and/or stored on disk (not shown).

A listing of source code for a computer program embodying the present invention is provided in an appendix preceding the claims. The source code is written in HPUX, a publicly available UNIX-like programming language.

It should be noted that many modifications of the specific embodiment described above will be within the true scope of the present invention as defined in the following claims. For example, the present invention is not limited to the use of a switch-level logic simulator in determining the frequency at which the respective nodes are to be charged and discharged. Nor is the invention limited to any specific program for extracting capacitance data from the circuit's artwork file. ##SPC1##

Claims

1. A computer implemented method for estimating power dissipation characteristics of a circuit comprising a plurality of nodes, the method used in a circuit design process for designing an electronic circuit for operation at a certain clock rate and having a first number of nodes and a second number of gates, said method comprising the following steps:

(a) analyzing predefined artwork data associated with said circuit to determine data on the geometry of a first node;
(b) generating capacitance data for said first node on the basis of said geometry data;
(c) generating frequency data associated with said first node;
(d) determining voltage data associated with said first node;
(e) computing an estimate of power associated with said first node on the basis of at least said capacitance, frequency and voltage data;
(f) repeating the above steps for each remaining node;
(g) summing said estimates of power for each node to determine an estimate of total power dissipation for the circuit; and
(h) generating output data indicative of said estimate of total power;
said output data being used in said circuit design process to determine whether at least one of (1) the number of gates of said circuit should be altered and (2) said clock frequency should be altered.

2. The method recited in claim 1, wherein said estimate of total power (P.sub.circuit) is computed in accordance with the following formula: ##EQU3## where n is an index, N represents the number of nodes, C.sub.n represents the capacitance of the node of index n, V.sub.n represents the voltage associated with the node of index n, and F.sub.n represents the frequency associated with the node of index n.

3. The method recited in claim 2, wherein said frequency F.sub.n is generated by running a predefined transistor level simulation program to generate data representing the number of times (toggles.sub.n) the voltage associated with the n-th node changes from positive to negative or from negative to positive in a specified interval of time, and then computing F.sub.n in accordance with the equation: F.sub.n =toggles.sub.n /2.

4. In a process for designing a physical layout of an integrated circuit (IC) comprising a plurality of gates, said physical layout of said IC having at least one node and being evaluated to determine whether power dissipation from said IC is expected to exceed a maximum power dissipation requirement for said IC, a method for estimating said power dissipation comprising the steps of:

(a) analyzing predefined artwork data indicative of said physical layout of said integrated circuit to determine capacitance data associated with at least one node of said IC;
(b) analyzing precomputed simulation data to determine frequency data associated with said at least one node;
(c) determining voltage data associated with said at least one node; and
(d) estimating the power dissipated from said at least one node on the basis of at least said capacitance, frequency, and voltage data;
said power dissipation so estimated being utilized in said process for designing said IC.

5. A method as recited in claim 4, wherein said steps of determining capacitance data, frequency data, and voltage data, are carried out by means of first, second, and third computer programs, respectively.

6. A method as recited in claim 5, further comprising the step of determining whether at least one of (1) the number of gates of said IC should be altered and (2) whether a clock frequency of said IC should be altered.

7. A method as recited in claim 6, wherein said estimate of total power (P.sub.circuit) is computed in accordance with the following formula: ##EQU4## where n is an index, N represents the number of nodes, C.sub.n represents the capacitance of the node of index n, V.sub.n represents the voltage associated with the node of index n, and F.sub.n represents the frequency associated with the node of index n.

8. A method as recited in claim 7, wherein said frequency F.sub.n is generated by running a predefined transistor level simulation program to generate data representing the number of times (toggles.sub.n) the voltage associated with the n-th node changes from positive to negative or from negative to positive in a specified interval of time, and then computing F.sub.n in accordance with the equation: F.sub.n =toggles.sub.n /2.

9. A method as recited in claim 4, further comprising the step of determining whether at least one of (1) the number of gates of said IC should be altered and (2) whether a clock frequency of said IC should be altered.

10. A computer-implemented process for designing an integrated circuit (IC) having a maximum power dissipation below a required level, said IC having a predetermined clock frequency, a first number of nodes and a second number of gates, comprising the steps of:

(a) analyzing predefined artwork data indicative of a physical layout of said integrated circuit to determine capacitance data associated with a node of said IC;
(b) analyzing precomputed simulation data to determine frequency data associated with said node;
(c) determining voltage data associated with said node;
(d) estimating the power dissipated from said node based on at least said capacitance, frequency and voltage data;
(e) repeating steps (a) through (d) for each node of said IC:
(f) accumulating said estimates of the power dissipated from each of said nodes of said IC to provide an estimate of the total power dissipated from said IC; and
(g) comparing said estimate of said total power dissipated from said IC to said maximum power dissipation.

11. A process as recited in claim 10, wherein said steps of determining capacitance data, frequency data, and voltage data, are carried out by means of first, second, and third computer programs, respectively.

12. A process as recited in claim 11, further comprising the step of determining whether at least one of (1) the number of gates of said circuit should be altered and (2) whether said clock frequency should be altered.

13. A process as recited in claim 12, wherein said estimate of total power (P.sub.circuit) is computed in accordance with the following formula: ##EQU5## where n is an index, N represents the number of nodes, C.sub.n represents the capacitance of the node of index n, V.sub.n represents the voltage associated with the node of index n, and F.sub.n represents the frequency associated with the node of index n.

14. A method as recited in claim 13, wherein said frequency F.sub.n is generated by running a predefined transistor level simulation program to generate data representing the number of times (toggles.sub.n) the voltage associated with the n-th node changes from positive to negative or from negative to positive in a specified interval of time, and then computing F.sub.n in accordance with the equation: F.sub.n =toggles.sub.n /2.

15. A process as recited in claim 10, further comprising the step of determining whether at least one of (1) the number of gates of said circuit should be altered and (2) whether said clock frequency should be altered.

16. A system for designing an integrated circuit (IC) having a maximum power dissipation below a required level, said IC having a predetermined clock frequency, a first number of nodes and a second number of gates, comprising:

(a) first means for analyzing predefined artwork data indicative of a physical layout of said integrated circuit to determine capacitance data associated with a node of said IC;
(b) second means for analyzing precomputed simulation data to determine frequency data associated said node;
(c) third means for determining voltage data associated with said node;
(d) fourth means for estimating the power dissipated from said node based on at least said capacitance, frequency and voltage data;
(e) fifth means for accumulating estimates of the power dissipated from each of said nodes of said IC to provide an estimate of the total power dissipated from said IC; and
(f) sixth means for comparing said estimate of said total power dissipated from said IC to said maximum power dissipation.

17. A system as recited in claim 16, wherein said first, second, and third means comprise first, second, and third computer programs, respectively.

Referenced Cited
U.S. Patent Documents
4486670 December 4, 1984 Chan et al.
4575821 March 11, 1986 Eden et al.
5006782 April 9, 1991 Pelly
5114912 May 19, 1992 Benz
5119314 June 2, 1992 Hotta et al.
5164811 November 17, 1992 Tamura
Patent History
Patent number: 5938755
Type: Grant
Filed: Jan 3, 1994
Date of Patent: Aug 17, 1999
Assignee: Hewlett-Packard Co. (Palo Alto, CA)
Inventor: Philip G. Yastrow (Fort Collins, CO)
Primary Examiner: Gopal C. Ray
Application Number: 8/176,297
Classifications
Current U.S. Class: Bus Expansion Or Extension (710/300); 364/489
International Classification: G06F 126;