1. Field of the Invention
The invention relates generally to the design of integrated circuits, and more particularly to systems and methods for determining electrical characteristics of systems such as power distribution networks using one-dimensional stimulation of the systems in place of conventional three-dimensional simulation.
2. Related Art
Integrated circuits contain many individual electronic components, such as transistors, resistors, capacitors, diodes, and the like, which are arranged and interconnected to form larger components, such as logic gates, memory cells, sense amplifiers, etc. These components form even larger components, such as processor cores, bus controllers, and so on, which are used to build devices such as computers, cell phones, PDAs, etc. These electrical components and devices, however, cannot operate without power. It is therefore necessary, when constructing these components and devices, to provide a power distribution network that can supply power from a source which is an external to the integrated circuit to each of the on-chip components of the integrated circuit.
Typically, a power distribution network in an integrated circuit includes multiple metal layers and multiple layers of vias that interconnect the metal layers. The power distribution network also includes contacts for connection to the external power source, as well as contacts to the components of the integrated circuit. Conventionally, each metal layer includes traces that are oriented in a single direction, and the traces of successive metal layers are oriented in different (perpendicular) directions. Power supplied to the power distribution network at a given contact can therefore be transmitted in essentially any direction by connecting the contact to a first trace which extends in one direction, and then connecting the first trace to a second trace which extends in the other direction.
Since the power distribution network of the integrated circuit has its own inherent electrical characteristics, it will affect the power provided to the components of the integrated circuit. For example, because the power distribution network has resistance, it will dissipate some amount of power, and the voltage provided to the integrated circuit components will be somewhat less than the voltage at the contacts to the external power source. Because the power distribution network affects the power supplied to the on-chip integrated circuit components, it is important to know how the on-chip power is affected in order to ensure that the on-chip components operate properly.
This is typically accomplished by modeling the components of the power distribution network and simulating the transfer of power through the network. As noted above, the power distribution network consists of multiple layers of metal and vias. These layers form a three-dimensional structure, so the power distribution network is conventionally modeled as a three-dimensional structure of electrical components (e.g., resistors.) After the three-dimensional model is constructed, expected values for each of the components in the structure can be plugged into the model, and the behavior of the network is stimulated by computing the overall electrical characteristics of the power distribution network (e.g. the resistance of the network between the power source and various locations on the integrated circuit.)
Because each of the components of the power distribution network can have a range of possible values, it is desirable to simulate the behavior of the network using many different sets of possible component values. Typically, a value for each component is selected using a Monte Carlo methodology, in which the probability that a particular value is weighted according to an expected distribution values. In other words, the values selected for a particular component will more likely be close to a median value than very different from this value. The results of the many different simulations of the three-dimensional power distribution network model are then aggregated (e.g., averaged) to determine the overall electrical characteristics of the network.
While this conventional methodology for determining the electrical characteristics of a power distribution network is very useful in designing integrated circuits, it has a number of drawbacks. For example, because three-dimensional modeling of the power distribution network is typically very complicated, simulating the behavior of the network using a three-dimensional model requires a great deal of computing power. Because this method is computationally intensive, it also requires a great deal of time. For instance, a single simulation of the power distribution network (using a single corresponding set of component values) for a multi-core processor may take 10 minutes. If only a single simulation were required, this would not be burdensome, but because of the range of values for each component, many (e.g., 1000, or even 10,000) simulations must be performed and the corresponding results aggregated in order to arrive at a reasonably accurate estimation of the behavior of the power distribution network. The time required for completion of this many simulations is obviously quite large.
It would therefore be desirable to provide systems and methods for determining the behavior of power distribution networks with accuracy comparable to conventional methods, but with much greater computational efficiency, and in much less time.
One or more of the problems outlined above may be solved by the various embodiments of the invention. Broadly speaking, the invention includes systems and methods for determining electrical characteristics of systems such as power distribution networks using one-dimensional stimulation of the systems in place of conventional three-dimensional simulation.
One embodiment comprises a method for determining a desired characteristic of a power distribution network for an integrated circuit, such as the overall resistance of the network. This method includes defining a one-dimensional model of the power distribution network, performing multiple simulations of the one-dimensional model, including each simulation generating a result for the desired network characteristic, and aggregating the results of the simulations.
In one embodiment, defining the one-dimensional model comprises defining an equation in which the desired characteristic of the power distribution network is a linear function of the characteristic for each of a plurality of layers in the power distribution network. For example, the overall resistance of the power distribution network may be set equal to the sum of a coefficient and a representative component resistance value for each layer of the network. The coefficients may initially be determined by selecting component values and simulating the power distribution network using a conventional three-dimensional model to generate instances of the equation in which the coefficients are the unknowns, and then solving for these coefficients, either exactly or using regression techniques. In each simulation of the one-dimensional model, the values for each layer of the power distribution network may be selected in a pseudorandom fashion according to probability distributions for the respective layer components. These distributions may be narrowed by determining an area affected by each component and averaging the components in the affected area. The results of the simulations may be aggregated to generate a probability distribution for the desired characteristic of the power distribution network.
Another embodiment of the invention may comprise a computer system that is configured to execute a method such as is described above. The computer system may include any suitable type of data processor and a storage medium which contains instructions executable by the data processor to perform the method. Another embodiment may comprise the storage medium which contains the instructions.
Numerous additional embodiments are also possible.
The various embodiments of the present invention may provide a number of advantages over the prior art. For example, the use of a one-dimensional model to simulate the behavior of a power distribution network may require substantially less computing resources and time to generate a probability distribution of the overall network resistance than is necessary when using conventional three-dimensional modeling.
Other objects and advantages of the invention may become apparent upon reading the following detailed description and upon reference to the accompanying drawings.
While the invention is subject to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and the accompanying detailed description. It should be understood that the drawings and detailed description are not intended to limit the invention to the particular embodiments which are described. This disclosure is instead intended to cover all modifications, equivalents and alternatives falling within the scope of the present invention as defined by the appended claims.
One or more embodiments of the invention are described below. It should be noted that these and any other embodiments described below are exemplary and are intended to be illustrative of the invention rather than limiting.
Broadly speaking, the invention includes systems and methods for efficiently and accurately determining electrical characteristics such as resistance of systems such as power distribution networks by simulating the system using one-dimensional models in place of computationally intensive conventional three-dimensional models.
In one embodiment, a method for determining the resistance of a power distribution network makes use of a simple equation that varies linearly with the resistance of each layer in the network. Three-dimensional modeling is used to generate values for the resistance of the entire power distribution network, which are then used to determine coefficients by which the layer resistances are multiplied in the equation. After these coefficients are determined, the equation serves as a one-dimensional model for simulations of the power distribution network resistance using different potential values for the layer resistances.
In this embodiment, the power distribution network is viewed as a set of serially connected resistors, with each resistor representing one of the layers (contacts, metal, vias) of the network. The total resistance of the power distribution network is then the sum of the resistances of each of the layers. This is represented by the equation:
R
network=Σ(Ai*Ri)
where Rnetwork is the resistance of the network, Ri is the resistance of a particular layer in the network such as sheet resistance for wire or via resistance for vias, and Ai is a coefficient by which the resistance Ri is multiplied. Rnetwork is therefore a function of the resistance of each layer. The coefficients Ai scale the resistance of each layer as represented by Ri.
Initially, the coefficients Ai are unknown. In order to determine the values of these coefficients, various potential values of each layer's resistance are plugged into a conventional three-dimensional model, which is then stimulated to determine the total resistance of the power distribution network. This produces an equation in which the resistance values are known, but the coefficient values are unknown. The process of simulating the three-dimensional model is repeated with different resistance values for the layers in order to generate additional equations, each with known resistance values and unknown coefficient values. When enough of these equations have been generated (i.e., as many equations as there are unknown coefficients,) the equations can be used to solve for the coefficients. The values of the coefficients can then be inserted into the original equation, so that the total resistance of the power distribution network is a function only of the layer resistance values.
The equation is then used as a one-dimensional model of the power distribution network. This one-dimensional model is used to perform repeated simulations using the potential resistance values for each of the layers. The one-dimensional model (the equation) is used in the same manner in which the three-dimensional model is conventional used, but each simulation using the one-dimensional model requires far less computational power and far less time than a corresponding simulation using the three-dimensional model. In fact, the use of the one-dimensional model may reduce the computational and time requirements by a factor of between 100 and 1000. Despite the greater efficiency of the one-dimensional model, the results generated using this model are comparable in accuracy to results generated using conventional three-dimensional models.
Before describing the exemplary embodiments of the invention in detail, it will be helpful to examine the structure of the power distribution network which is to be modeled. As noted above, the power distribution network consists of various layers that form and interconnecting network extending from an external power source to the various on-chip components of the integrated circuit. Referring to
Referring to
It can be seen that there are some differences between the various layers shown in
As pointed out above, the characteristics of the power actually provided to components of the integrated circuit are not identical to the characteristics of the power applied by the power source at the external (C4) contacts of the power distribution network because of the electrical characteristics of the power distribution network itself. It is therefore necessary to determine the characteristics of the power distribution network that will affect the power applied to the integrated circuit components. Conventionally, this is accomplished through the use of simulations employing a three-dimensional model of the power distribution network.
Using conventional methods, the power distribution network was modeled very precisely using design tools such as SPICE. These tools allow a user to define the three-dimensional structure of the power distribution network. The user can then input data associated with the individual components of the network (e.g., the resistance of each contact or trace) to define the electrical characteristics of the network at a component level. Then, to determine overall characteristics such as the total resistance of the power distribution network, the user can simulate the behavior of the network (i.e., compute the overall electrical characteristics based upon the component characteristics.) Because of the complexity of the three-dimensional model, the simulation of the power distribution network's behavior, assuming one particular set of values for component characteristics, requires a great deal of computing resources and time. A single simulation can, for instance, take 10 minutes.
A single simulation, however, is not normally sufficient to determine the overall behavior of the power distribution network. As noted above, a particular simulation is based upon a corresponding set of values that are assumed for each component within the network. Because of manufacturing tolerances and various other factors, the actual value of a particular component characteristic may vary among “identical” components. More specifically, the values of these characteristics normally vary according to a particular probability distribution associated with the component. These probability distributions may vary, but an exemplary distribution is depicted in
Referring to
This is accomplished by performing multiple simulations using a Monte Carlo methodology. In other words, the particular component characteristic values for each simulation are selected in a random (or pseudorandom) fashion according to corresponding probability distributions. Thus, a component having a probability distribution similar to that shown in
The results of the simulations are typically aggregated to generate a distribution for the power distribution network which is similar to that of the individual components of the network. In other words, the results of the simulations will vary according to a probability distribution that is characteristic of the power distribution network. This probability distribution may, for example, be similar to the one shown in
The conventional methodology for determining the overall characteristics of the power distribution network (e.g., determining a probability distribution for the overall resistance of the network) can therefore be summarized as shown in
In the embodiments of the present invention, the bulk of the repeated simulations based on the three-dimensional model are replaced by more computationally efficient and less time-consuming simulations of a one-dimensional model. The one-dimensional model for simulating the resistance of the power distribution network is based upon a view of the network as a stack of resistive thin films, as shown in
The resistance of each layer is represented by of the product of a representative resistance and a corresponding coefficient. The representative resistance may, for example, be the resistance of one of the vias when considering a via layer, or the sheet resistance of one of the traces when considering a metal layer. The coefficient corresponding to the representative resistance effectively scales this resistance to correspond to a unit area (e.g., 1 mm2) of the layer. The resistance of the power distribution network can therefore be represented by the equation:
R
network
=A
C4
*R
C4
+A
M9
*R
M9
+A
V8
*R
V8
+ . . . +A
CA
+*R
CA
where Rnetwork is the resistance of the network, R[layer] is the resistance of the corresponding layer, and A[layer] is the coefficient corresponding to the layer resistance R[layer] (the layer identifier, e.g., C4, M9, etc. is substituted here for “[layer]”.) The resistance can alternatively be represented by the equation:
R
network=Σ(Ai*Ri)
where Ai and Ri correspond to layer i, and the summation is over all the layers. The equivalent serially connected resistors are depicted at the right side of
Initially, coefficients Ai are unknown, so this equation (in either of the forms above) cannot be used to determine the resistance of the power distribution network. It is therefore necessary to determine these coefficients so that the equation can be used to simulate the resistance of the power distribution network in place of the conventional simulation based on the three-dimensional model. This is accomplished by identifying resistance values that can be plugged into multiple instances of the equation, and then using these instances of the equation to solve for the coefficients. This will be explained in more detail below.
The first step in this process is to select resistance values to plug into the equation. The resistance value for each layer can be determined from manufacturing data for the components (traces, vias, contacts) that make up the layer. For instance, with respect to a via layer, the nominal resistance of a single via and the number of a vias per-unit area are known. A resistance per-unit area can be determined from this information. The resistance per-unit area can then be plugged into the equation as Ri, where i is the identifier for the corresponding layer. This can be repeated for each layer to determine the corresponding resistance values that will be plugged into the right side of the equation.
It is still necessary, however, to determine Rnetwork, so that this value can be plugged into the left side of the equation, leaving only the coefficients, Ai, as unknowns. In one embodiment, Rnetwork is determined conventionally. That is, the values that were used to determine Ri for each layer are plugged into the three-dimensional model, which is then simulated to generate a value for Rnetwork. This value is then plugged into the equation to produce one instance of the equation in which all the resistance values are known, and all the coefficient values are unknown.
The process of selecting power distribution network component resistance values, calculating layer resistances Ri and simulating the three-dimensional power distribution network to generate a network resistance Rnetwork is then repeated to generate multiple instances of the equation. In each iteration of this process, a different set of resistance values is selected for the network components, so that each instance of the equation will have different resistance values. The set of resistance values for each iteration can be selected in the same manner as is used in the conventional simulation process (i.e., “randomly” selecting values according to the probability distribution of each network component,) although this is not necessary.
The process is repeated a sufficient number of times to generate as many different instances of the equation as there are unknown coefficients in the equation. The equations can then be used to solve for the coefficients Ai exactly using well-known methods. If desired, the number of different instances of the equation can be greater than the number of unknown coefficients, in which case the “best-fit” solution for the coefficients can be determined using linear regression. Tools for this purpose are readily available (e.g., the LINEST function in Microsoft Excel.) After the coefficients have been determined, they can be plugged into the equation, which then defines the power distribution network resistance as a function of each layer's resistance, which can be determined as described above.
The equation thus provides a one-dimensional model for simulation of the resistance of the power distribution network. This one-dimensional model can be used in place of the three-dimensional model which is simulated as described in connection with
The process of determining the power distribution network resistance using simulations of the one-dimensional model is summarized in the flow diagram of
As noted above, the purpose of performing the three-dimensional simulations is to provide overall results for the power distribution network corresponding to the selected component values, so that the one-dimensional model (the equation that varies linearly with the component value for each layer) can be solved to determine the coefficients in the equation corresponding to each layer (635.) The three-dimensional simulation should therefore be performed at least once for each
coefficient. If additional three-dimensional simulations are performed, the results can be used to solve for the coefficients using common regression techniques. After the coefficients for the one-dimensional model have been determined, the model can be used to determine the desired characteristic (e.g., resistance) of the power distribution network by selecting a component value for each layer and solving for the overall power distribution network value.
After the coefficients have been determined for the one-dimensional model, the one-dimensional simulation is initialized (640.) In particular, a counter for the number of one-dimensional simulations is set to 0. Pseudorandom component values are then selected for each of the layers in the power distribution network (645.) A single representative component value is selected for each layer. The one-dimensional model is then simulated, i.e., the equation is solved to determine the overall power distribution network value (650.) The result of the simulation is recorded in the same manner as for the three-dimensional simulation (655,) and the simulation counter (1D_sim_ctr) is incremented (660.) The simulation counter is then compared to a number, N, of desired simulations (665.) If the counter is less than N, additional simulations are performed, each with a new set of pseudorandomly selected representative component values, and the results are recorded. If the counter is greater than or equal to N, the results are finalized (670,) such as by aggregating the individual results to generate a distribution of the resulting power distribution network values.
As mentioned above, the values selected for the various components of the power distribution network are selected in a pseudorandom fashion in accordance with associated probability distributions. Examples of these probability distributions are shown in
When a Monte Carlo methodology is used in the simulation of the power distribution network, a single value is selected for each component in the network according to the associated probability distributions. Identical components may therefore have different values. Once a value has been selected for each component, the power distribution network is modeled (i.e., the value of the equation representing the one-dimensional model is calculated) using the selected values. This results in a corresponding overall value for the power distribution network. After this value has been determined, the simulation process may be repeated, with new values being selected for each of the components, and a corresponding result being generated for the power distribution network as a whole. Ultimately, the values generated by simulating the power distribution network may be aggregated to form a probability distribution for the network itself. A typical probability distribution for the power distribution network itself is shown in
While the one-dimensional simulation of the power distribution network described above produces results with accuracy comparable to conventional three-dimensional methods, additional features can be incorporated to further improve the accuracy of the present one-dimensional methods. One such feature is based upon recognition of the fact that the probability distribution for a group of components in a particular layer, considered together, is more narrow than the probability distribution for a single one of the components.
Referring to
The probability distribution of
The probability distribution of
As described above, the purpose of simulating the power distribution network is to determine an electrical characteristic of the power distribution network such as resistance. The resistance of the power distribution network between the external power source and a particular point on the integrated circuit chip is dependent upon multiple components in each layer of the network, so the probability distribution used to simulate the components should take into account the fact that the average of these components will have a more narrow distribution than the individual components.
If the probability distribution for components in a particular layer of the power distribution network is to be narrowed to represent the average of multiple components, the number of components being averaged must be determined. Because a particular component has a greater impact at points closer to the component than at points which are farther away, the number of components to be averaged should be less than all of the components in the layer. In one embodiment, an effective radius is defined, such that components within the effective radius are averaged. The determination of this effective radius in accordance with one embodiment will be described in more detail below, but it should be noted that other methods may be used to determine the number of components to be averaged.
Referring to
Referring to
In this embodiment, the effective radius for the C4 contact is selected as the radius beyond which the resistance increase due to the 3σ contact is less than about half of the increase nearest this contact, or about 1 unit distance. It should be noted that the particular criteria used to determine the effective radius is somewhat arbitrary, and may be selected based upon various factors, including three-dimensional simulations, empirical data, heuristics, etc. Once the effective radius has been defined, the number of C4 contacts that fall within the effective radius is used to determine the probability distribution of the average resistance value of these contacts (which has a σ value that is reduced by the square root of the number of contacts in the effective radius.) This distribution can then be used in place of the distribution for a single C4 contact in the one-dimensional (and/or three-dimensional) simulations described above.
The determination of the effective radius in the example above was made with respect to the uppermost layer of the power distribution network—the C4 contact layer. The same method can be used to determine effective radii for components in each of the layers of the power distribution network. It should be noted, however, that the impact of determining the effective radius and the resulting narrowed probability distribution for components in a particular layer will vary from one layer to another. The C4 layer was used in the foregoing example because this layer typically provides the greatest contribution to the resistance of the power distribution network. Averaging the components values in this layer will therefore be more significant than averaging the values of components in layers which contribute less resistance and have less impact on the total resistance of the power distribution network. It is therefore contemplated that some embodiments may use the foregoing method to narrow the probability distribution of components in only a few of the layers (e.g., C4, M9, M8,) while other embodiments may do so with respect to all the layers.
The foregoing method for determining a narrowed probability distribution for the components of a power distribution network can be summarized by the flow diagram of
It should be noted that alternative embodiments of the invention may include many variations of the features disclosed above. For example, while the disclosure focuses on an exemplary embodiment in which it is desired to determine the overall resistance of a power distribution network, the same methods can be used to determine other electrical characteristics. Similarly, the disclosed methods can be used to determine the characteristics of systems other than power distribution networks. Many such variations will be apparent to persons of skill in the field of the invention.
It is contemplated that the methods described above will most likely be implemented in a computer system. Embodiments of the invention may therefore include methods as described above, computer systems configured to execute such methods and software programs which contain instructions configured to cause a computer system to execute such methods. The computer systems may include general purpose processors, digital signal processors (DSPs,) controllers, microcontrollers, state machines or other data processors or logic devices configured to execute the described methods. The computer systems may be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The software programs may reside in any computer-readable medium, such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. A storage medium containing program instructions that embody any of the present methods is itself an alternative embodiment of the invention. The storage medium may be coupled to a processor, such that the processor can read information from, and write information to, the storage medium. The storage medium may alternatively be integral to the processor.
Those of skill in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and the like that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. The information and signals may be communicated between components of the disclosed systems using any suitable transport media, including wires, metallic traces, vias, optical fibers, and the like.
Those of skill will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software (including firmware,) or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Those of skill in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The benefits and advantages which may be provided by the present invention have been described above with regard to specific embodiments. These benefits and advantages, and any elements or limitations that may cause them to occur or to become more pronounced are not to be construed as critical, required, or essential features of any or all of the claims. As used herein, the terms “comprises,” “comprising,” or any other variations thereof, are intended to be interpreted as non-exclusively including the elements or limitations which follow those terms. Accordingly, a system, method, or other embodiment that comprises a set of elements is not limited to only those elements, and may include other elements not expressly listed or inherent to the claimed embodiment.
The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein and recited within the following claims.