1. Field of the Invention
The present invention relates to the manufacturing of integrated circuits, and in particular to a method for designing fan-out nets between a signal source and a plurality of net elements connected to the source.
2. Description and Disadvantages of Prior Art
In modern chip design (VLSI) so-called Steiner trees are used as a prior art architectural means for building above-mentioned fan-out nets, connecting between a signal source and a plurality of signal sinks. Steiner trees offer a network geometry having the shortest wiring for interconnecting between source and sinks. Steiner trees offer a good geometry to avoid shorts and keep the capacity of fan-out nets small. The physical size of electrical circuit features such as wiring, and switching circuit elements is decreasing continuously.
With decreasing feature size, opens become more and more important as functional yield detractors in chip wiring. Yield loss is directly related to the revenue of semiconductor companies. Additionally, the variation of electrical parameters increases with every new technology node due to manufacturing variations. Variations of electrical parameters lead to timing uncertainty and can result in parametric yield losses.
In addition to general shrinking effects, the major yield detraction mechanisms shift from shorts to opens with the change from aluminium wiring to copper wiring. The reason lies in an important change of the manufacturing process: In aluminium technologies one first covers the entire chip with an aluminium layer and then etches unnecessary aluminium, leaving the desired wiring structures. A particle that lands on the chip during the etching process leads to a short. In copper however, the process is different: First the entire chip is covered by a silicon dioxide (SiO2) layer. Then the wiring channels are etched into the SiO2 layer and filled with copper. This process is obviously more sensitive to opens.
A known solution to the problem of opens in chip wiring is the augmentation of Steiner trees as for example published in “Nontree routing for reliability and yield improvement”
Keg, A. B.: Bao Liu; Mandoiu, I. I.; IEEE Transactions of Computer-Aided-Design of Integrated Circuits and Systems; January 2004 Pages: 148-156. Given a traditional routing tree the Khang approach adds additional wiring segments to the tree to build loops. Thus, a so-called “non-tree routing architecture is introduced, wherein a chip would still be functional if a single open in a loop occurs. In the above publication it is shown that this approach works more efficient for high fan-out nets, wherein a single source drives all signal sinks.
In high performance designs, however, there are a large number of high fan-out trees which are implemented as buffer or inverter trees, generally known as repeater trees. This repeater tree implementation decomposes a large fan-out net into a set of smaller nets which propagate the same logical signal or its inverse. The approach proposed by Khang could be used to add redundancy to each of these nets, but the redundancy provided by the fact that each of these nets carries the same signal is not exploited by this approach. For example, a fail in the driving circuit of one of these nets destroys the chip. Thus, the Khang approach is not suited prima facie to be applied in those repeater nets.
Another drawback of the tree augmentation approach according to Khang is that the size of the loops cannot be controlled.
If there is a relatively large loop and if this loop is disconnected somewhere close to the point where the signal is injected into the loop there will emerge a long chain from the loop with a large number of pins connected to it. This is shown for the loop 8 in
It is thus an object of the present invention to provide a design method which makes the above mentioned fan-out nets more robust against opens while keeping the risk due to shorts in an acceptable degree.
This object of the invention is achieved by the features stated in enclosed independent claims. Further advantageous arrangements and embodiments of the invention are set forth in the respective dependent claims. Reference should now be made to the appended claims.
According to the broadest aspect of the invention a method is disclosed for designing fan-out nets in an integrated circuit, wherein the fan-out nets are connecting a signal source and a plurality of active net elements around the source pin in order to provide multiple signals derived from said source, the method characterized by the steps of:
implementing a routing section in a closed structure comprising a plurality of signal receiving pins, wherein the receiving pins connect to further active elements,
implementing on this closed structure a plurality of buffer elements—in a rectangular wiring the buffer elements preferably being located on a Manhattan circle—around the source pin to provide multiple signals derived from said source signal for driving said plurality of active elements, and
locating two buffer elements at a distance from each other along connective wiring greater than a predetermined minimum wiring length in order to keep a short circuit current tolerably small.
Further, of course, an upper limit has to be satisfied for driving said plurality of active net elements, which will be later discussed with reference to
Under “closed structure” a ring-like structure is understood, which is generally not “round” but can comprise straight wiring or curved wiring, and can include or exclude “satellite” pins electrically connected to it via an appendix-like one-way wiring direction, see Appendix of
The timing of a chip that is treated with this technique can be evaluated using static timing analysis. A correct setting of the wiring distance leads to predictable timing even in the case of an open.
With this method it is possible to feed the signal into the loop 8 of
The present invention is illustrated by way of example and is not limited by the shape of the figures of the drawings in which:
With general reference to the figures and with special reference now to
Further, a plurality of buffer elements 16 is connected to a signal source 2 in order to drive the sinks 7 connecting in turn to other receiving circuits (not depicted). Instead of allowing only one driving cell per net as known from above Khang publication, according to the invention now multiple repeater circuits are added driving a loop through all receiving circuits. The signal is distributed over an inner tree 24 to the buffers 16 that drive the outer loop connecting all sinks 7 provided in form of receiving pins. In this case the number of pins connected by the loop becomes larger then in the case of a single net, and the loops can be inserted more efficiently with respect to additional wire length.
A worst case delay that occurs if an open disconnects the loop close to a repeater 16 (buffer) output can be limited by limiting the distance 18, 18′ and number of receiving pins 7 between two of said repeater outputs 16.
In
Applying this technique will lead to increased timing certainty even in the fault case. Further, and with reference still to
The appendix at the bottom of
With reference to
Another important aspect of survivability is that the loop is driven by multiple signal sources. That means even in the case of an open the increase in path delay is small.
Usually clock nets and reset nets have such a high fan-out and are thus a preferred application for the method. Another advantage is that the skew of the final stage is reduced due to the connected driver outputs of previous levels. This application is especially interesting for the design of clock nets where minimal skew is a design objective.
Experimental results also show that the method provides circuits having less delay and being more robust with respect to delay variation compared to the prior art tree routing approach.
With reference to
In a first step 410 a minimum wire length loop is created that connects all receiving pins. This is done applying a “travelling salesman problem” (TSP) heuristic in a prior art circuit design tool.
The next step 420 is to evenly distribute enough repeaters 16 on the loop to drive the load. For the repeaters 11 optimal locations should have to be found. Optimal in this context means “reachable from the driving stage with the shortest wire length possible”. Additionally, the wire length from the driving stage to each receiving input has to be kept balanced in a certain range.
With additional reference to
An upper bound on the wire length can be given with respect to a certain technology. If the difference is kept below 100 μm the skew target is met. A certain capacitance and resistance between the repeaters 16 is important to minimize short circuit currents it the repeaters switch at different times (skew). A certain amount of wire length between the repeater outputs delays the establishment of a short circuit current. As the connection of repeater outputs is a design technique to reduce unintentional skew, the optimal wire length is a result of this trade off. It is dependent on a specific technology and can be obtained by simulation. A feasible range of wire length is 200 um-800 um.
By applying an upper bound on the wire length and the value of input capacitance of the receiving circuits between two inverter outputs the worst case delay can be restricted. The minimum wiring portion length limit and the minimum capacitance limit of the wiring portions can be obtained by simulation.
In an example of copper technology the following parameters should be kept as an orientation for limiting values;
vdd=1.2-1.5V (positive power supply voltage)
T=100° C.
wiring crossection=50*10−15 m2
C/length=168 fF/micrometer
As it is described later a generic test case was set up as depicted in
The next step 430 is to connect the buffers 16 to the driving pin using a tree like structure. There has to be more than one signal path from the signal source to the loop. This approach also works for more than one buffering stage. Assume that the receiving pins in the loop are the inputs of the next inverter stage and deliver their signals to the next loop using a routing tree as wiring network. Note that the loops have to be designed bottom up. First the sinks have to be connected using a loop. Then the buffer stages can be inserted in an optimal way.
If this method is repeated iteratively, a decision 440 yields, if the current stage was the last stage. In the NO-branch the method is repeated one level higher. Otherwise the method will be finished.
With reference to FIGS. 5 to 8 and table 1 the results on a generic test case are described in order to demonstrate the feasibility of the method.
A generic test case was set up to provide some results on the currents flowing from Vdd to Gnd (Ground) and on the additional power dissipation. To model a large global net a number of 34 receiving pins were randomly distributed on a 1000 μm×1000 μm layout area. A TSP heuristic was applied to connect them using a minimum length loop as it is shown in
To connect the signal source 2 to the loop the unit circle in the L1-norm (the vector norm of the L1 space as used in mathematics) was used to determine a set of candidates for repeater positions which can be connected to the signal source with an equal amount of wire length. From that set some positions were searched that lie on the loop and have roughly the equal amount of wire length between them which is done to minimize the short circuit current, as described above. This procedure is shown in
Therefore, every repeater has to drive an average of 3.78 signal sinks. The driver size of the repeaters was determined to achieve a certain slew time at the sinks. Note, that the signal delays with the design method are almost equal from the driver to each receiver.
An analogue simulation technique was used to simulate this test case. The setup thereof was modelled using a linear model for the wires and a transistor level model for the inverters which were used as repeaters. The inverter models are from an IBM 130 nm copper-technology. As circuit simulator the “hSpice” product commercially available from Synopsys was used.
Two experiments were done. First, the worst case short circuit current was to be determined. Two worst case scenarios were examined which are susceptible to the degradation of active devices and wires. In the second experiment the power dissipation was determined to be dependent on a certain distribution of signal arrival times at the inverter inputs.
First, and with reference to
If there are multiple inverters connected at their outputs switching with distributed arrival times at their inputs, the current path can not be determined. Therefore, worst case scenarios were examined to ensure that even in those unrealistic cases the degradation is avoided.
To determine the worst case an upper bound on the skew must be found. Thus, a few assumptions have to be made: For the test case it was assumed that all inverters can be connected to the signal source with an equal amount of wire length. Hence, there is no systematic skew coming from the wiring. An estimation of 450 μm of wiring lengths was assumed for each connection (not depicted for increasing the clarity) of an inverter to the signal source. Parasitic capacitance and resistance values of Rnon=144 ohm, Cnon=105.345 fF were assumed. To calculate the signal delay caused by the wiring the Elmore delay estimate TD,non=(Rdrv+Rnon)Cnon+8RdrvCnon was used. Further, a strong driving inverter with Rdrv=40 ohm was assumed.
Applying these assumptions the nominal signal delay from the signal source to each inverter was calculated to yield TD,non=52 ps. Input to the simulation was an assumed 30% variation of R and C which are used to calculate the corner values for the delay. Evaluating the Elmore delay estimate for the fast and the slow corner values of TD,fast=34 ps and TD,slow=74.9 ps sire obtained.
If one wire varies in the fast corner and another one in the slow corner we will have an upper bound of 40.9 ps on the skew due to wire variation.
The worst case short circuit current for an inverter will occur if the signal arrives early at this inverter and late at all other inverters. Assuming that there is the same wire length from the signal source to each inverter driving the loop the worst case will happen if the path to one inverter lies in the fast corner and the path to all other inverters are situated in the slow corner. To model this situation voltage sources were connected with a ramped output signal with 200 ps slew time to the input of the inverters in the loop. One voltage source was switching early and the inverter connected to it was situated in the fast corner. All other sources were switching with a defined delay and all inverters connected to them were situated in the slots corner. Vdd was 1.8V. To model the receiving load capacitances with 6 fF were connected to the loop. The current waveforms in the inverter are depicted in
(a) 0 ps skew, Ipeak=1.05 mA
(b) Loop disconnected, Ipeak=1.05 mA
(c) 40 ps skew, Ipeak=1.06 mA
(d) 80 ps skew, Ipeak=1.07 mA
(e) 200 ps skews, Ipeak=1.08 mA
In order to show that no short circuit current will flow if there is no skew, the loop was disconnected to separate the early switching circuit from the late switching ones. As
To examine degradation effects on the wires a worst case for the highest currents in a wire was set up. The worst case short circuit current for a wire will occur it the first half of the loop inverters switches early and the second half switches late. The inverters switch clustered which means that all inverters belonging to one of the sets are adjacent in the loop. Therefore, the resulting current will superpose in the wires connecting both sets. To model this situation the set of drivers was separated into one set that switches early and one set that switches with a certain delay. The current was measured in the wires connecting both sets. The simulation results are depicted in
(a) 0 ps skew, Ipeak=340 μA
(b) 40 ps skew, Ipeak=300 μA
(c) 80 ps skew, Ipeak=824 μA
(d) 200 ps skew, Ipeak=1.88 mA
(e) 200 ps skews, Ipeak=1.08 mA
For skews above 200 ps the current is higher then the transistor peak current. In that case the current flow in the wire reaches peak values that are higher than in single driver nets. That is critical with respect to the degradation of wires due to electromigration, which has to be avoided. Skew values above 80 Ds are avoided by limiting the distance of the inverters from the source and using the cascading of loops as described in
Next and with reference to the table of
It should be noted, that this effect may become worse if the wiring to the inverter inputs increases in length for larger nets or multiple inverter stages. This issue will be addressed by the shortening of previous stages as shown in
The present invention can be realized in hardware, software, i.e., the simulation part of the invention), or a combination of hardware and software.
The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.
Computer program means or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following
a) conversion to another language, code or notation;
b) reproduction in a different material form.
Number | Date | Country | Kind |
---|---|---|---|
06119667.1 | Aug 2006 | EP | regional |