In an integrated circuit, the power distribution network delivers currents to all the components in the circuit. The power distribution network may span multiple metal layers in the integrated circuit and may be laid out in a three-dimensional grid pattern. With the higher device densities and faster switching frequencies of today's integrated circuits, especially microprocessors, it is vital to validate the power distribution network design. Today's high performance microprocessors such as digital signal processors place even more demands on the power supply along with imposing much tighter tolerance requirements. These digital signal processors are being designed with lower voltage requirements in order to reduce overall power dissipation. The lower voltages require a power distribution network that is capable of delivering much higher currents. Therefore, it is important to perform accurate simulations of the integrated circuit design to detect AC current bottlenecks. An AC current bottleneck occurs when the impedance of the power distribution network is too high to enable sufficient current flow to meet local device current demands. As a result of AC current bottlenecks, the performance and speed of the integrated circuit may be drastically degraded.
In one embodiment of the disclosure, a method comprises receiving a description of a power distribution network of a circuit, defining at least one DC supernode in the power distribution network, receiving a logical description of the circuit, and determining at least one logic path in the circuit. The method further comprises traversing the at least one logic path in reverse and determining at least one input vector of the at least one logic path. The input vector describes a plurality of nodes in the logic path and a logic transition at an output node occurring in response to a combination of logic transitions at at least one input node in the at least one logic path. The method further comprises assigning a weighting value to each logic transition of each node in the at least one input vector, identifying at least one input vector with maximum contribution to drawing power from the power distribution network as indicated by the assigned weighting, and simulating an AC response of the identified at least one input vector with maximum contribution and identifying at least one logic path generating a peak load to the power distribution network.
In another embodiment of the disclosure, a method of generating a set of vectors for simulation of a circuit comprises receiving a logical description of the circuit, determining at least one logic path in the circuit, and traversing the at least one logic path in reverse and determining at least one input vector of the at least one logic path. The input vector describes the nodes in the logic path and a logic transition at an output node occurring in response to a combination of logic transitions at at least one input node. The method further comprises assigning a weighting value to each transition of each node in the at least one input vector, the weighting value being assigned in consideration of, at least in part, dynamic load, transition timing, and impedance of the power distribution network at the node, and identifying at least one input vector with maximum contribution to drawing power from the power distribution network as indicated by the assigned weighting.
In yet another embodiment of the disclosure, a computer-readable medium having encoded thereon a method comprises receiving a description of a power distribution network of a circuit, defining at least one DC supernode in the power distribution network, receiving a logical description of the circuit, and determining at least one logic path in the circuit. The method further comprises traversing the at least one logic path in reverse and determining a plurality of input vectors of the at least one logic path, where the input vectors each describes a plurality of nodes in the logic path and a logic transition at an output node occurring in response to a combination of logic transitions at at least one input node in the at least one logic path. The method further comprises assigning a weighting value to each logic transition of each node in each input vector, the weighting value being assigned in consideration of, at least in part, dynamic load, transition timing, and impedance of the power distribution network at the node, and identifying a plurality of input vectors with maximum contribution to drawing power from the power distribution network. The method further comprises combining the identified plurality of input vectors for simulation, and simulating an AC response of the identified plurality of input vectors with maximum contribution and identifying at least one logic path generating a peak load to the power distribution network.
A system comprises means for receiving a description of a power distribution network and a logical description of a circuit, means for defining at least one DC supernode in the power distribution network, and means for determining at least one logic path in the circuit. The system further comprises means for traversing the at least one logic path in reverse and determining at least one input vector of the at least one logic path, wherein the input vector describes a plurality of nodes in the logic path and a logic transition at an output node occurring in response to a combination of logic transitions at at least one input node in the at least one logic path. The system further comprises means for assigning a weighting value to each logic transition of each node in the at least one input vector and identifying at least one input vector with maximum contribution to drawing power from the power distribution network as indicated by the assigned weighting, and means for simulating an AC response of the identified at least one input vector with maximum contribution and identifying at least one logic path generating a peak load to the power distribution network.
Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is emphasized that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
The system and method described herein may be used to identify AC current bottlenecks in the power distribution network of an integrated circuit. Once detected, design changes such as reducing the impedance and increasing the effective capacitance of the power distribution network may be made to improve the overall power distribution network design. The peak power demand of the circuit or the worst case estimate of the effective capacitance, effective resistance and load of the power distribution network is made in order to identify the AC current bottlenecks.
To determine the DC super nodes within the power distribution network, the type of load transitions that are under study should be considered. A figure of merit is the ratio of power that is DC vs. AC at the DC super node. The higher the ratio the more accurate the results and generally the larger the size of the AC problem. While the ratio can be adjusted by changing the definition of the DC super nodes to increase throughput at the cost of accuracy, it is typical to define the DC super nodes as a transition from one power distribution network layer to another. For example, the DC super nodes may be defined at the interface between the integrated circuit and the packaging. The DC super nodes may also be located at points between layers of metalization in the integrated circuit. For example, where a C4 or Controlled Collapse Chip Connection (also called flip-chip) will be used, the connection points between the integrated circuit chip and the package pads may be designated as the DC super nodes. In an integrated circuit that will use a lead frame package, the interface between the top two metal layers may be designated as the DC super nodes, for example.
In steps 23, a set of circuit logical network description 12 is received. The circuit logical network description 12 may include data pertaining to the circuit design, such as logic design, physical layout, static timing analysis, packaging and decoupling capacitance data, etc. In step 24, the areas of interest are identified in the integrated circuit. The area of interest is the localized area in the integrated circuit logic that is to be simulated to determine the peak current draw. To increase the accuracy of the simulation, a predetermined portion of circuits in areas bordering the area of interest is also analyzed and simulated. The circuits in the bordering areas may share one or more DC super nodes with circuits in the area of interest and thus may affect or contribute to the power demand of the circuit in the area of interest.
In step 26, logic paths in the area of interest and bordering areas are identified. The paths are the flow of logic from inputs to outputs in the circuit. As each time a logic gate or load switches to implement an operation it creates a dynamic load to the power distribution network. The logic switching of the path is followed to determine the load. The customary method of following logic switching is from input transitions to the new output state. However, in step 26, the logic tree is traversed backwards from the output to the input. The output switching states are traced to the input combination that would cause the change in output states. For clocked logic circuits, the paths may be further divided at the latch points in the circuit to reduce the depth of the logic tree to be traversed. The defined paths fall into one of the six categories of logic paths:
In step 28, the logic paths are traversed to determine the input vectors for each path, and in step 30, the weighting for the input vectors are determined. As there can be more than one set of events that result in an output, the events are weighted to determine the event set that would present the peak load to the power distribution network.
As an illustrative example, an inverter 70 having input A and output B as shown in
A second illustrative example as shown in
As an illustrative example, the weighting, W, for the nodes in the inverter chain (
As a further illustrative example, a logic circuit having a two-input NAND gate, as shown in
In step 32, all the maximum input vectors for the logic paths in the area of interest and bordering areas are combined into one vector in preparation to perform one simulation run. It should be noted that each logic path may generate more than one maximum input vector when more than one input vector are weighted similarly. Further, the logic paths and their input vectors should be examined to determine whether some of the logic paths are mutually exclusive paths, where the timing of the logic paths are such that they will never switch at the same time or within a certain number of time constants of the power distribution network. If the logic paths do not switch within the same time window (which may be set to be three time constants of the power distribution network), then they are orthogonal paths rather than additive paths and should not be combined together for the simulation. Separate simulation runs should be performed in this instance.
Further considerations may be given to the “window” size of the simulation. For example, in
It may be seen from the foregoing that the larger the simulation window and the smaller the overlap results in fewer number of simulation runs and less effort to simulate the power distribution network. Therefore, the window size should be made as large as possible with the smallest amount of overlap to provide acceptable results.
In step 34, AC simulation is performed using the maximum input vectors collected in step 32. The first time the AC simulations are performed, the windows may be centered at the mid-impedance point of the power distribution network for each DC super node. For each subsequent optional iterative AC simulation run, the simulation window boundaries may be selected or adjusted based on a weighted mathematical center of the load in the distribution network given the current profile. DC simulations are performed to determine the maximum DC droop using conventional methods. Conventional simulation tools such as SPICE, PRIMEPOWER, and REDHAWK may be used to perform the AC and DC simulations.
In step 36, certain post-simulation “filtering” may be performed. For example, a filtering may be performed to minimize the artificial edge effects of the simulation windows. The edge effects of windowing may be minimized or eliminated by “filtering” out some of the data in the overlap regions between simulation windows. For example, if the AC simulation windows are 5×5 in size, with an overlap of three (3) DC super nodes, then a portion of the overlap region is discarded. As an example, the area outside of the electrical midpoint of the overlap region for each simulation run may be discarded. In this example, a portion that is 1.5 block wide may be filtered out from the simulation result for each run. Other filter width may be used depending on the specific power distribution network.
In step 38, the system may generate data on the vector or combination of vectors in each simulation run that produced the maximum droop profile. The output may include reports, plots, and other forms of data that enables the engineering team to identify the circuit or logical path(s) that draws the maximum current from the power distribution network. A certain threshold may be set so that only those input vectors that draw more current than the threshold are identified in the report. Modifications may then be made to the circuit design in order to rectify the problem or decisions may be made to tolerate the peak droop because it falls within acceptable ranges.
Although embodiments of the present disclosure have been described in detail, those skilled in the art should understand that they may make various changes, substitutions and alterations herein without departing from the spirit and scope of the present disclosure. Accordingly, all such changes, substitutions and alterations are intended to be included within the scope of the present disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures.
This patent application claims the benefit of Provisional Patent Application No. 60/634,960 filed on Dec. 8, 2004.
Number | Date | Country | |
---|---|---|---|
60634960 | Dec 2004 | US |