US5295088A - Method for predicting capacitance of connection nets on an integrated circuit - Google Patents

Method for predicting capacitance of connection nets on an integrated circuit Download PDF

Info

Publication number
US5295088A
US5295088A US08/089,385 US8938593A US5295088A US 5295088 A US5295088 A US 5295088A US 8938593 A US8938593 A US 8938593A US 5295088 A US5295088 A US 5295088A
Authority
US
United States
Prior art keywords
net
component
components
substep
integrated circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US08/089,385
Inventor
Mark R. Hartoog
Robert D. Shur
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips Semiconductors Inc
Original Assignee
VLSI Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by VLSI Technology Inc filed Critical VLSI Technology Inc
Priority to US08/089,385 priority Critical patent/US5295088A/en
Application granted granted Critical
Publication of US5295088A publication Critical patent/US5295088A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/5222Capacitive arrangements or effects of, or between wiring layers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

Definitions

  • the present invention concerns the prediction of the capacitance of connection nets after they are placed on an integrated circuit.
  • delay through a component is dependent upon the load the component is required to drive.
  • the load a component has to drive is dependent upon the fanout from the output of the component and dependent upon the length of connection lines which are part of the output net of the component.
  • this net capacitance has been estimated solely on the basis of fanout from the component and empirically determined constants.
  • Formula 1 or other similar formulas are typically used to determine the interconnect capacitance of nets.
  • One problem with the prior methods of predicting the capacitance of nets is the wide variation in the actual value of the capacitance of nets. For example, for most output nets with a fanout of 1, the connection lines are short and so the capacitance of the net is low. However, a small number of nets have much longer connection lines and thus much greater capacitance. If standard statistical techniques are used to predict capacitance of output nets, most of the nets will have less capacitance than the predicted value, while a small number of the output nets will have a capacitance which is several times greater than the predicted value. If one or more of the output nets with significantly greater capacitance is on a circuit path which is critical to performance, then the performance of the integrated circuit may be less than predicted. Such impaired performance of all or a section of an integrated circuit could require a designer to manually re-route connection lines in an integrated circuit. In some cases, it is required to redesign the logic of the integrated circuit.
  • a method for estimating the interconnect capacitance of a first net in an integrated circuit.
  • the first step of the method includes the generation of a value which indicates how tightly connected to one another are components connected to the first net.
  • the second step of the method includes the prediction of interconnect capacitance of the first net based on the value generated in the first step and a number representing how many components are connected to the first net.
  • the generation of the value in the first step may be performed in a number of ways. For example, for each component connected to the first net, a number of components that can be reached without traversing the first net and by traversing no more than a preselected maximum number of nets in the integrated circuit is ascertained. Then, a total number of components in a union of all components that can be reached from a component connected to the first net without traversing the first net and by traversing no more than a preselected maximum number of nets in the integrated circuit is calculated. Finally, the value is set equal to the ratio of a sum of all the numbers ascertained for each component connected to the net over the total number of components in the union.
  • FIGS. 3 and 4 show simple circuits used for illustration of the principles of the present invention.
  • FIG. 1 shows a histogram 3 of interconnect capacitance of fanout one nets in a typical integrated circuit. Histograms for nets with a fanout of greater than one would be similar in appearance to histogram 3, but shifted to the right.
  • horizontal axis 2 indicates values for interconnect capacitance.
  • Vertical axis 1 shows the number of nets for each level of interconnect capacitance.
  • An arrow 5 marks a typical value for the predicted capacitance of fanout one nets for an integrated circuit with histogram 3.
  • the present invention offers a better way of predicting interconnect capacitance.
  • a logic component 11 has an output net 21
  • a logic component 12 has an output net 22
  • a logic component 13 has an output net 23
  • a logic component 14 has an output net 24.
  • Net 22 is connected to component 12 and component 13. If component 12 is located far from component 13--provided component 11 is located near component 12 and component 14 is located near component 13--this causes only net 22 to be long and thereby have a high interconnect capacitance. Therefore, logic component 12 and logic component 13 of net 22 are not considered to be tightly connected.
  • a logic component 31 has an output net 41
  • a logic component 32 has an output net 42
  • a logic component 33 has an output net 43
  • Net 41 is connected to component 31 and component 32.
  • Component 31, however, is connected to component 33 through a net 44 and component 32 is connected to component 33 through a net 40. If, therefore, component 31 is located far from component 32, net 41 would be long, thus having a high interconnect capacitance, but also either or both of net 40 and net 44 would be long and thus have a high interconnect capacitance.
  • Components 31 and 33 of net 41 are thus more tightly connected than components 12 and 13 of net 22.
  • the value ⁇ which indicates how tightly connected a net is may be generated in a number of ways.
  • one method of generating ⁇ includes the following steps:
  • a logic component 101 has an output net 201
  • a logic component 102 has an output net 202
  • a logic component 103 has an output net 203
  • a logic component 104 has an output net 204
  • a logic component 105 has an output net 205
  • a logic component 106 has an output net 206
  • a logic component 107 has an output net 207
  • a logic component 108 has an output net 208
  • a logic component 109 has an output net 209
  • a logic component 110 has an output net 210
  • a logic component 111 has an output net 211
  • a logic component 112 has an output net 212
  • a logic component 113 has an output net 213
  • a logic component 114 has an output net 214
  • a logic component 115 has an output net 215, a logic component 116 has an output net 216, a logic component 117 has an output net 217, a logic component 118 has an output net 218 and
  • each of component 110, component 112 and component 113 on net 210 the number of components that can be reached by traversing a maximum of one net from the component but without traversing net 210 is ascertained. From FIG. 5, it may be seen that from component 110, two components may be reached--component 110 and component 107. From component 112, four components may be reached--component 112, component 109, component 114 and component 115. From component 113, four components may be reached--component 113, component 111, component 115 and component 116.
  • a total number of a union of all components that can be reached from any component by traversing a maximum of on net from the component but without traversing net 210 is calculated. This may be done by, for example, by counting the number of components which are in a union of all the components ascertained in the first step.
  • the union includes components 107, 109, 110, 111, 112, 113, 114, 115 and 116 for a total number of 9.
  • is made equal to the ratio of the sum of the number of components ascertained in the first step to the total number calculated in the second step. That is: ##EQU1##
  • each of components 110, 112 and 113 on net 210 the number of components that can be reached by traversing a maximum of two nets from the component but without traversing net 210 is ascertained. From FIG. 5, it may be seen that from component 110, six components may be reached--components 110, 102, 103, 106, 107 and 108. From component 112, nine components may be reached--components 112, 106, 109, 113, 114, 115, 116, 117 and 118. From component 113, ten components may be reached--components 113, 105, 108, 111, 112, 114, 115, 116, 118 and 119.
  • a total number of a Union of all components that can be reached from any component by traversing a maximum of one net from the component but without traversing net 210 is calculated.
  • the union of components includes components 102, 103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118 and 119 for a total number of 17.
  • is made equal to the ratio of the sum of the number of components ascertained in the first step to the total number calculated in the second step. That is: ##EQU2##
  • the value ⁇ for the first net may be generated using other methods. For example, the following method may be used:
  • may range from one (when there are no paths between components connected to the first net which do not traverse the first net) to one plus the number of components connected to the first net (when each component connected to the first net is, by another net, directly connected to one of the other components connected to the first net).
  • the shortest path is through net 207 to component 107, through net 202 to component 106, through net 206 to component 109 and through net 209 to component 112, for a total of four nets traversed.
  • the shortest path is through net 207 to component 107, through net 203 to component 108, through net 208 to component 111 and through net 211 to component 113 for a total of four nets traversed.
  • the smallest number of nets that need to be traversed, therefore, from component 110 to either component 112 or component 113 is four.
  • the shortest path is through net 209 to component 109, through net 206 to component 106, through net 202 to component 107 and through net 207 to component 110, for a total of four nets traversed.
  • the shortest path is through net 212 to component 115 and through net 213 to component 113 for a total of two nets traversed. The smallest number of nets that need to be traversed, therefore, from component 112 to either component 110 or component 113 is two.
  • the shortest path is through net 211 to component 111, through net 208 to component 108, through net 203 to component 107 and through net 207 to component 110, for a total of four nets traversed.
  • the shortest path is through net 213 to component 115 and through net 212 to component 112 for a total of two nets traversed. The smallest number of nets that need to be traversed, therefore, from component 112 to either component 110 or component 112 is two.
  • is made equal to one plus, for each of components 110, 112 and 113, the inverse of the smallest number of nets traversed to reach another component connected to net 210 without traversing net 210. From the determinations made in the first step: ##EQU3##
  • the value ⁇ for net 213 is also generated.
  • the shortest path is through net 210 to component 112 and through net 212 to component 115, for a total of two nets traversed. There is no path from component 113 to component 116 that does not traverse net 213. The smallest number of nets that need to be traversed, therefore, from component 113 to either component 115 or component 116 is two.
  • the shortest path is through net 212 to component 112 and through net 210 to component 113, for a total of two nets traversed. There is no path from component 115 to component 116 that does not traverse net 213. The smallest number of nets that need to be traversed, therefore, from component 115 to either component 113 or component 116 is two.
  • is made equal to one plus, for each of components 113, 115 and 116, the inverse of the smallest number of nets traversed to reach another component connected to net 213 without traversing net 213. From the determinations made in the first step: ##EQU4##
  • step 52 shown in FIG. 2 once a value for ⁇ has been generated for a net, the interconnect capacitance for he net is predicted based on the value of ⁇ and upon the number of components connected to the net. Since ⁇ measures how tightly are connected the components of a net, the greater the value of ⁇ , the shorter the expected length of the wires of the net. Hence, for any method to predict interconnect capacitance based on ⁇ , the predicted interconnect capacitance should decrease when ⁇ increases. Similarly, the greater the number of components connected to the net, the greater the total length of wire. Hence, for any method predicting interconnect capacitance based on the number of components connected to the net, the predicted capacitance should increase with an increase of the number of components connected to the net.
  • One formula which satisfies the above criteria and may thus be used for this prediction is as follows:
  • C is the predicted capacitance for the net
  • N is the number of components for the net
  • c 1 and c 2 are constants that are determined for a particular technology. For instance, for one micron CMOS technology used on a 400 mill square integrated circuit, a typical value for c 1 is 0.03 picofarads and a typical value for c 2 is 0.1 picofarads.

Abstract

A method estimates the interconnect capacitance of a first net in an integrated circuit. The first step of the method includes the generation of a value which indicates how tightly connected to one another are components connected to the first net. The second step of the method includes the prediction of interconnect capacitance of the first net based on the value generated in the first step and a number representing how many components are connected to the first net.

Description

This application is a continuation of copending application Ser. No. 07/630,462, filed Dec. 19, 1990, now abandoned.
BACKGROUND
The present invention concerns the prediction of the capacitance of connection nets after they are placed on an integrated circuit.
In integrated circuits, delay through a component is dependent upon the load the component is required to drive. The load a component has to drive is dependent upon the fanout from the output of the component and dependent upon the length of connection lines which are part of the output net of the component.
When designing integrated circuits, it is important in estimating performance of the integrated circuit to estimate the delay through components. After the logic of the circuit has been designed, and before the integrated circuit has been manufactured, it is possible to determine the fanout from each component. However, the length of the connection wires which form the output net of the component and the resulting interconnect capacitance of the output net are difficult to predict with accuracy.
Typically, in the prior art, this net capacitance has been estimated solely on the basis of fanout from the component and empirically determined constants. For example the following Formula 1 or other similar formulas are typically used to determine the interconnect capacitance of nets.
Capacitance=c.sub.1 +c.sub.2 *Fanout                       Formula 1
In the above Formula 1, Fanout is the number of components driven by the output of the component, Capacitance is the predicted capacitance of the output net from the component and c1 and c2 are constants which are determined from statistics of previously routed designs. Besides using a straightforward formula as Formula 1 above, some attempts have been made to use more elaborate procedures to calculate net capacitance based on fanout. Such procedures generally use tables which indicate statistically typical values for capacitance as a function of fanout. Some tables take into account floor planning information available at the time the prediction is made.
One problem with the prior methods of predicting the capacitance of nets is the wide variation in the actual value of the capacitance of nets. For example, for most output nets with a fanout of 1, the connection lines are short and so the capacitance of the net is low. However, a small number of nets have much longer connection lines and thus much greater capacitance. If standard statistical techniques are used to predict capacitance of output nets, most of the nets will have less capacitance than the predicted value, while a small number of the output nets will have a capacitance which is several times greater than the predicted value. If one or more of the output nets with significantly greater capacitance is on a circuit path which is critical to performance, then the performance of the integrated circuit may be less than predicted. Such impaired performance of all or a section of an integrated circuit could require a designer to manually re-route connection lines in an integrated circuit. In some cases, it is required to redesign the logic of the integrated circuit.
One way to avoid the problem of significantly underestimating the capacitance of nets of some components is to simply predict much larger capacitance for all nets. This would guarantee that the predicted capacitance would be much closer for those few components with nets having significantly greater capacitance. However, using such inflated predictive values would generally result in underestimating actual performance of the integrated circuit.
SUMMARY OF THE INVENTION
In accordance with the preferred embodiment of the present invention, a method is presented for estimating the interconnect capacitance of a first net in an integrated circuit. The first step of the method includes the generation of a value which indicates how tightly connected to one another are components connected to the first net. The second step of the method includes the prediction of interconnect capacitance of the first net based on the value generated in the first step and a number representing how many components are connected to the first net.
The generation of the value in the first step may be performed in a number of ways. For example, for each component connected to the first net, a number of components that can be reached without traversing the first net and by traversing no more than a preselected maximum number of nets in the integrated circuit is ascertained. Then, a total number of components in a union of all components that can be reached from a component connected to the first net without traversing the first net and by traversing no more than a preselected maximum number of nets in the integrated circuit is calculated. Finally, the value is set equal to the ratio of a sum of all the numbers ascertained for each component connected to the net over the total number of components in the union.
Alternately, the first step may be performed by first, for each component connected to the first net, determining a fewest number of nets that need to be traversed to reach another component connected to the first net without traversing the first net. Then the value is set equal to one plus, for each component connected to the first net, an inverse of the fewest number of nets that need to be traversed to reach another component connected to the first net without traversing the first net.
The second step of the method may also be performed in a number of ways. Essentially, when predicting the interconnect capacitance, the predicted interconnect capacitance should increase when the number representing how many components are connected to the first net increases, and the predicted interconnect capacitance should decrease when the value which indicates how tightly connected to one another are components connected to the first net increases. For example the predicted interconnect capacitance may be set equal to a ratio of a sum to the value which indicates how tightly connected to one another are components connected to the first net. The sum is equal to a first constant plus a product of a second constant times the number representing how many components are connected to the first output.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a histogram of interconnect capacitance of fanout one nets in a typical integrated circuit.
FIG. 2 shows a simplified flow chart of a method in accordance with the preferred embodiment of the present invention.
FIGS. 3 and 4 show simple circuits used for illustration of the principles of the present invention.
FIG. 5 shows a circuit used to illustrate the method described in FIG. 2 in accordance with the preferred embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 shows a histogram 3 of interconnect capacitance of fanout one nets in a typical integrated circuit. Histograms for nets with a fanout of greater than one would be similar in appearance to histogram 3, but shifted to the right.
In FIG. 1, horizontal axis 2 indicates values for interconnect capacitance. Vertical axis 1 shows the number of nets for each level of interconnect capacitance. An arrow 5 marks a typical value for the predicted capacitance of fanout one nets for an integrated circuit with histogram 3. However, there are fanout one nets having interconnect capacitance in a range 6 of interconnect capacitance where the typical interconnect capacitance is much greater than the typical value marked by arrow 5. If one or more of the nets in range 6 are on a circuit path which is critical to performance, than the performance of the integrated circuit may be less than predicted. The present invention offers a better way of predicting interconnect capacitance.
Once logic for an integrated circuit has been designed, automatic placement and routing algorithms are used to place the logic on the integrated circuit. The automatic placement and routing algorithms generally try to minimize the total length of all wires in the integrated circuit. As a result of this nets between logic components in close proximity to each other tend to be made of short connection lines and thus have a low connection capacitance. Nets between connected logic components located not in immediate proximity on the integrated circuit tend to be made of longer connection lines and thus have a higher connection capacitance.
FIG. 2 shows a method which takes into account the methodology of the automatic placement and routing algorithms in order to determining the interconnect capacitance of nets. In a step 51 of the method, there is generated a value α which indicates how tightly connected components of a net are in order to predict an interconnect capacitance for the net. In general, components of a first net are considered to be tightly connected when separating the components on an integrated circuits results in increasing the interconnect capacitance of the first net as well as the interconnect capacitance of a number of other nets. The components of the first net are not considered to be tightly connected when separating the components on an integrated circuits results in increasing the interconnect capacitance of only the first net.
For example, in FIG. 3, a logic component 11 has an output net 21, a logic component 12 has an output net 22, a logic component 13 has an output net 23 and a logic component 14 has an output net 24. Net 22 is connected to component 12 and component 13. If component 12 is located far from component 13--provided component 11 is located near component 12 and component 14 is located near component 13--this causes only net 22 to be long and thereby have a high interconnect capacitance. Therefore, logic component 12 and logic component 13 of net 22 are not considered to be tightly connected.
In FIG. 4, a logic component 31 has an output net 41, a logic component 32 has an output net 42 and a logic component 33 has an output net 43. Net 41 is connected to component 31 and component 32. Component 31, however, is connected to component 33 through a net 44 and component 32 is connected to component 33 through a net 40. If, therefore, component 31 is located far from component 32, net 41 would be long, thus having a high interconnect capacitance, but also either or both of net 40 and net 44 would be long and thus have a high interconnect capacitance. Components 31 and 33 of net 41 are thus more tightly connected than components 12 and 13 of net 22.
The value α which indicates how tightly connected a net is may be generated in a number of ways. For example, one method of generating α includes the following steps:
First, for each component on the first net, ascertain the number of components that can be reached by traversing a maximum of nets from the component but without traversing the first net. The number n is a preselected integer which is greater than or equal to one.
Second, calculate a total number of components in a union of all components that can be reached from any component on the first net by traversing a maximum of n nets from the component but without traversing the first net.
Third, make α equal to the ratio of the sum of the number of components ascertained in the first step to the total number calculated in the second step.
The above method by which α is generated may be illustrated by considering the circuit shown in FIG. 5. In FIG. 5, a logic component 101 has an output net 201, a logic component 102 has an output net 202, a logic component 103 has an output net 203, a logic component 104 has an output net 204, a logic component 105 has an output net 205, a logic component 106 has an output net 206, a logic component 107 has an output net 207, a logic component 108 has an output net 208, a logic component 109 has an output net 209, a logic component 110 has an output net 210, a logic component 111 has an output net 211, a logic component 112 has an output net 212, a logic component 113 has an output net 213, a logic component 114 has an output net 214, a logic component 115 has an output net 215, a logic component 116 has an output net 216, a logic component 117 has an output net 217, a logic component 118 has an output net 218 and a logic component 119 has an output net 219.
The value α for net 210, where n is equal to one, is generated as follows.
First, for each of component 110, component 112 and component 113 on net 210, the number of components that can be reached by traversing a maximum of one net from the component but without traversing net 210 is ascertained. From FIG. 5, it may be seen that from component 110, two components may be reached--component 110 and component 107. From component 112, four components may be reached--component 112, component 109, component 114 and component 115. From component 113, four components may be reached--component 113, component 111, component 115 and component 116.
Second, a total number of a union of all components that can be reached from any component by traversing a maximum of on net from the component but without traversing net 210 is calculated. This may be done by, for example, by counting the number of components which are in a union of all the components ascertained in the first step. The union includes components 107, 109, 110, 111, 112, 113, 114, 115 and 116 for a total number of 9.
Third, α is made equal to the ratio of the sum of the number of components ascertained in the first step to the total number calculated in the second step. That is: ##EQU1##
Similarly, the value α for net 210, where n is equal to two, is generated as follows.
First, for each of components 110, 112 and 113 on net 210, the number of components that can be reached by traversing a maximum of two nets from the component but without traversing net 210 is ascertained. From FIG. 5, it may be seen that from component 110, six components may be reached-- components 110, 102, 103, 106, 107 and 108. From component 112, nine components may be reached-- components 112, 106, 109, 113, 114, 115, 116, 117 and 118. From component 113, ten components may be reached-- components 113, 105, 108, 111, 112, 114, 115, 116, 118 and 119.
Second, a total number of a Union of all components that can be reached from any component by traversing a maximum of one net from the component but without traversing net 210 is calculated. The union of components includes components 102, 103, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118 and 119 for a total number of 17.
Third, α is made equal to the ratio of the sum of the number of components ascertained in the first step to the total number calculated in the second step. That is: ##EQU2##
The value α for the first net may be generated using other methods. For example, the following method may be used:
First, for each component connected to the first net, determine the smallest number of nets that need to be traversed to reach another component connected to the first net without traversing the first net.
Second, make α equal to one plus, for every component connected to the first net, the inverse of the smallest number of nets traversed to reach another component connected to the first net without traversing the first net. If there is no path from one component to another, the path length is considered to be infinite and its inverse zero. Using this method of generating the value α, α may range from one (when there are no paths between components connected to the first net which do not traverse the first net) to one plus the number of components connected to the first net (when each component connected to the first net is, by another net, directly connected to one of the other components connected to the first net).
The above method by which α is generated may also be illustrated by considering the circuit shown in FIG. 5. For example, using the above method, the value α for net 210 is generated as follows:
First, for each of components 110, 112 and 113 connected to net 210, the length of the shortest path to any other component connected to net 210 is found.
From component 110 to component 112, the shortest path is through net 207 to component 107, through net 202 to component 106, through net 206 to component 109 and through net 209 to component 112, for a total of four nets traversed. From component 110 to component 113, the shortest path is through net 207 to component 107, through net 203 to component 108, through net 208 to component 111 and through net 211 to component 113 for a total of four nets traversed. The smallest number of nets that need to be traversed, therefore, from component 110 to either component 112 or component 113 is four.
From component 112 to component 110, the shortest path is through net 209 to component 109, through net 206 to component 106, through net 202 to component 107 and through net 207 to component 110, for a total of four nets traversed. From component 112 to component 113, the shortest path is through net 212 to component 115 and through net 213 to component 113 for a total of two nets traversed. The smallest number of nets that need to be traversed, therefore, from component 112 to either component 110 or component 113 is two.
From component 113 to component 110, the shortest path is through net 211 to component 111, through net 208 to component 108, through net 203 to component 107 and through net 207 to component 110, for a total of four nets traversed. From component 113 to component 112, the shortest path is through net 213 to component 115 and through net 212 to component 112 for a total of two nets traversed. The smallest number of nets that need to be traversed, therefore, from component 112 to either component 110 or component 112 is two.
Second, α is made equal to one plus, for each of components 110, 112 and 113, the inverse of the smallest number of nets traversed to reach another component connected to net 210 without traversing net 210. From the determinations made in the first step: ##EQU3##
As another example, the value α for net 213 is also generated.
First, for each of components 113, 115 and 116 connected to net 213, the length of the shortest path to any other component connected to net 213 is found.
From component 113 to component 115, the shortest path is through net 210 to component 112 and through net 212 to component 115, for a total of two nets traversed. There is no path from component 113 to component 116 that does not traverse net 213. The smallest number of nets that need to be traversed, therefore, from component 113 to either component 115 or component 116 is two.
From component 115 to component 113, the shortest path is through net 212 to component 112 and through net 210 to component 113, for a total of two nets traversed. There is no path from component 115 to component 116 that does not traverse net 213. The smallest number of nets that need to be traversed, therefore, from component 115 to either component 113 or component 116 is two.
There is no path from component 116 to component 113 that does not traverse net 213. There is no path from component 116 to component 115 that does not traverse net 213. The smallest number of nets that need to be traversed, therefore, from component 116 to either component 113 or component 115 is infinity.
Second, α is made equal to one plus, for each of components 113, 115 and 116, the inverse of the smallest number of nets traversed to reach another component connected to net 213 without traversing net 213. From the determinations made in the first step: ##EQU4##
In step 52 shown in FIG. 2, once a value for α has been generated for a net, the interconnect capacitance for he net is predicted based on the value of α and upon the number of components connected to the net. Since α measures how tightly are connected the components of a net, the greater the value of α, the shorter the expected length of the wires of the net. Hence, for any method to predict interconnect capacitance based on α, the predicted interconnect capacitance should decrease when α increases. Similarly, the greater the number of components connected to the net, the greater the total length of wire. Hence, for any method predicting interconnect capacitance based on the number of components connected to the net, the predicted capacitance should increase with an increase of the number of components connected to the net. One formula which satisfies the above criteria and may thus be used for this prediction is as follows:
C=(c.sub.1 +c.sub.2 * N)/α
where C is the predicted capacitance for the net, N is the number of components for the net and c1 and c2 are constants that are determined for a particular technology. For instance, for one micron CMOS technology used on a 400 mill square integrated circuit, a typical value for c1 is 0.03 picofarads and a typical value for c2 is 0.1 picofarads.
The foregoing discussion discloses and describes merely exemplary methods and embodiments of the present invention. As will be understood by those familiar with the art, the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. For example, in the disclosed preferred embodiment, the value α increases with more tightly connected nets. Alternately, the value α could be defined to decrease with more tightly connected nets. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims (11)

I claim:
1. A method for use in producing an integrated circuit, the method comprising the steps of:
(a) placing components and connection nets to form the integrated circuit; and,
(b) estimating the interconnect capacitance of a first net in the integrated circuit, including the substeps of
(b.1) generating a value which indicates how tightly connected to one another are components connected to the first net, and
(b.2) predicting interconnect capacitance of the first net based on the value generated in step (b.1) and a number representing how many components are connected to the first net.
2. A method as in claim 1 wherein in substep (b.2) the predicted interconnect capacitance increases when the number representing how many components are connected to the first net increases, and the predicted interconnect capacitance decreases when the value generated in substep (b.1) increases.
3. A method as in claim 1 wherein in substep (b.2) the predicted interconnect capacitance is equal to a ratio of a sum to the value generated in substep (b.1), the sum being equal to a first constant plus a product of a second constant times the number representing how many components are connected to the first output.
4. A method as in claim 1 wherein substep (b.1) includes the following substeps:
(b.1) for each component connected to the first net, ascertaining a number of components that can be reached without traversing the first net and by traversing no more than a preselected maximum number of nets in the integrated circuit;
(b.1.2) detecting a total number of components in a union of all components that can be reached from a component connected to the first net without traversing the first net and by traversing no more than a preselected maximum number of nets int he integrated circuit; and,
(b.1.3) setting the value equal to the ratio of a sum of all the numbers ascertained in substep (b.1.1) to the total number calculated in substep (b.1.2).
5. A method as in claim 4 wherein in substep (b.2) the predicted interconnect capacitance increases when the number representing how many components are connected to the first net increases, and the predicted interconnect capacitance decreases when the value generated in substep (b.1) increases.
6. A method as in claim 4 wherein in substep (b.2) the predicted interconnect capacitance is equal to a ratio of a sum to the value generated in substep (b.1), the sum being equal to a first constant plus a product of a second constant times the number representing how many components are connected to the first output.
7. A method as in claim 1 wherein substep (b.1) includes the following substeps:
(b.1.1) for each component connected to the first net, determine a fewest number of nets that need to be traversed to reach another component connected to the first net without traversing the first net; and,
(b.1.2) setting the value equal to one plus, for each component connected to the first net, an inverse of the fewest number determined in substep (b.1.1).
8. A method as in claim 7 wherein in substep (b.2) the predicted interconnect capacitance increases when the number representing how many components are connected to the first net increases, and the predicted interconnect capacitance decreases when the value generated in substep (b.1) increases.
9. A method as inc claim 7 wherein in substep (b.2) the predicted interconnect capacitance is equal to a ratio of a sum to the value generated in substep (b.1), the sum being equal to a first constant plus a product of a second constant times the number representing how many components are connected to the first output.
10. A method for use in producing an integrated circuit, the method comprising the steps of:
(a) placing components and connection nets to form the integrated circuit; and,
(b) estimating the interconnect capacitance of a first net in the integrated circuit, including the substeps of
(b.1) generating a value which indicates how tightly connected to one another are components connected to the first net, including the following substeps:
(b.1.1) for each component connected to the first net, ascertaining a number of components that can be reached without traversing the first net and by traversing no more than a preselected maximum number of nets in the integrated circuit,
(b.1.2) detecting a total number of components in a union of all components that can be reached from a component connected to the first net without traversing the first net and by traversing no more than a preselected maximum number of nets in the integrated circuit, and
(b.1.3) setting the value equal to the ratio of a sum of all the numbers ascertained in substep (b.1.1) to the total number calculated in substep (b.1.2), and
(b.2) using the value generated in substep (b.1) to predict interconnect capacitance of the first net.
11. A method for use in producing an integrated circuit, the method comprising the steps of:
(a) placing components and connection nets to form the integrated circuit; and,
(b) estimating the interconnect capacitance of a first net in the integrated circuit, including the substeps of
(b.1) generating a value which indicates how tightly connected to one another are components connected to the first net, including the following substeps:
(b.1.1) for each component connected to the first net, determine a fewest number of nets that need to be traversed to reach another component connected to the first net without traversing the first net, and
(b.1.2) setting the value equal to one plus, for each component connected to the first net, an inverse of the fewest number determined in substep, and
(b.2) using the value generated in substep (b.1) to predict interconnect capacitance of the first net.
US08/089,385 1990-12-19 1993-07-09 Method for predicting capacitance of connection nets on an integrated circuit Expired - Fee Related US5295088A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/089,385 US5295088A (en) 1990-12-19 1993-07-09 Method for predicting capacitance of connection nets on an integrated circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63046290A 1990-12-19 1990-12-19
US08/089,385 US5295088A (en) 1990-12-19 1993-07-09 Method for predicting capacitance of connection nets on an integrated circuit

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US63046290A Continuation 1990-12-19 1990-12-19

Publications (1)

Publication Number Publication Date
US5295088A true US5295088A (en) 1994-03-15

Family

ID=24527264

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/089,385 Expired - Fee Related US5295088A (en) 1990-12-19 1993-07-09 Method for predicting capacitance of connection nets on an integrated circuit

Country Status (2)

Country Link
US (1) US5295088A (en)
WO (1) WO1992011657A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473548A (en) * 1992-08-05 1995-12-05 Mitsubishi Denki Kabushiki Kaisha Apparatus for computing power consumption of MOS transistor logic function block
US5506788A (en) * 1994-01-13 1996-04-09 Lsi Logic Corporation Similarity-extraction force-oriented floor planner
US5671148A (en) * 1995-07-11 1997-09-23 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for checking logic circuit
US5761080A (en) * 1995-11-22 1998-06-02 International Business Machines Corporation Method and apparatus for modeling capacitance in an integrated circuit
US5761076A (en) * 1994-04-19 1998-06-02 Hitachi, Ltd. Method for evaluating a driving characteristic of a device for a wiring, based upon lower order coefficients of series expansion form of complex admittance of the wiring
US5923565A (en) * 1997-01-02 1999-07-13 Vlsi Technology, Inc. Apparatus and method for extracting capacitance in the presence of two ground planes
US6182269B1 (en) 1997-08-06 2001-01-30 Lsi Logic Corporation Method and device for fast and accurate parasitic extraction
US6330704B1 (en) 1999-02-09 2001-12-11 Coyote Systems, Inc. Method and apparatus for three dimensional interconnect analysis

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763289A (en) * 1985-12-31 1988-08-09 International Business Machines Corporation Method for the modeling and fault simulation of complementary metal oxide semiconductor circuits
US4815024A (en) * 1987-11-12 1989-03-21 University Of Toronto, Innovations Foundation Simulation apparatus
US5107320A (en) * 1989-08-09 1992-04-21 National Semiconductor Corporation Method and apparatus for improvement of interconnection capacitance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763289A (en) * 1985-12-31 1988-08-09 International Business Machines Corporation Method for the modeling and fault simulation of complementary metal oxide semiconductor circuits
US4815024A (en) * 1987-11-12 1989-03-21 University Of Toronto, Innovations Foundation Simulation apparatus
US5107320A (en) * 1989-08-09 1992-04-21 National Semiconductor Corporation Method and apparatus for improvement of interconnection capacitance

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kortekaas; "On-Chip Quasi-static Floating-gate Capacitance Measurement Method"; IEEE Conf on Microelectronics; Mar. 1990.
Kortekaas; On Chip Quasi static Floating gate Capacitance Measurement Method ; IEEE Conf on Microelectronics; Mar. 1990. *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473548A (en) * 1992-08-05 1995-12-05 Mitsubishi Denki Kabushiki Kaisha Apparatus for computing power consumption of MOS transistor logic function block
US5506788A (en) * 1994-01-13 1996-04-09 Lsi Logic Corporation Similarity-extraction force-oriented floor planner
US5627999A (en) * 1994-01-13 1997-05-06 Lsi Logic Corporation Similarity-extraction force-oriented floor planner
US5808901A (en) * 1994-01-13 1998-09-15 Lsi Logic Corporation Similarity-extraction force-oriented floor planner
US5761076A (en) * 1994-04-19 1998-06-02 Hitachi, Ltd. Method for evaluating a driving characteristic of a device for a wiring, based upon lower order coefficients of series expansion form of complex admittance of the wiring
US5671148A (en) * 1995-07-11 1997-09-23 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for checking logic circuit
US5761080A (en) * 1995-11-22 1998-06-02 International Business Machines Corporation Method and apparatus for modeling capacitance in an integrated circuit
US5923565A (en) * 1997-01-02 1999-07-13 Vlsi Technology, Inc. Apparatus and method for extracting capacitance in the presence of two ground planes
US6182269B1 (en) 1997-08-06 2001-01-30 Lsi Logic Corporation Method and device for fast and accurate parasitic extraction
US6330704B1 (en) 1999-02-09 2001-12-11 Coyote Systems, Inc. Method and apparatus for three dimensional interconnect analysis

Also Published As

Publication number Publication date
WO1992011657A1 (en) 1992-07-09

Similar Documents

Publication Publication Date Title
US6038383A (en) Method and apparatus for determining signal line interconnect widths to ensure electromigration reliability
US5295088A (en) Method for predicting capacitance of connection nets on an integrated circuit
US20050276135A1 (en) Timing analysis method and apparatus
US7051314B2 (en) Method of computer-assisted design of integrated circuit chips, and library of delay time values for computer-assisted design of such chips
JP2001093982A (en) Wiring capacitance calculating method, crosstalk delay calculating method and computer-readable recording medium with data stored therein
US7062731B2 (en) Method of noise analysis and correction of noise violations for an integrated circuit design
US5978572A (en) LSI wire length estimation and area estimation
EP0845810A1 (en) Large-scale-integration circuit device and method of manufacturing same
US6869808B2 (en) Method for evaluating property of integrated circuitry
JP2001155053A (en) Reliability verifying method for semiconductor integrated circuit and cell library data base
US6230302B1 (en) Method and system for performing timing analysis on an integrated circuit design
US5995732A (en) Method and apparatus of verifying reliability of an integrated circuit against electromigration
US6901567B2 (en) Method of performing timing-driven layout
US7114139B2 (en) Device and method for floorplanning semiconductor integrated circuit
JP2002280454A (en) Method for designing semiconductor device
US7096443B2 (en) Method for determining the critical path of an integrated circuit
US7257798B2 (en) Method and system for designing a timing closure of an integrated circuit
US6560761B1 (en) Method of datapath cell placement for bitwise and non-bitwise integrated circuit designs
Cheng et al. Integrating buffer planning with floorplanning for simultaneous multi-objective optimization
JP2739843B2 (en) Automatic layout method for semiconductor device
Liu et al. Layer assignment algorithm for RLC crosstalk minimization
Young et al. A comprehensive metric for evaluating interconnect performance
JPH05243383A (en) Automatic wiring method
JP3120410B2 (en) Vibration detector
JP3426911B2 (en) Semiconductor integrated circuit design method

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20060315