Abstract:
A method and system for reducing the computation complexity and improving accuracy of delay and crosstalk calculation in transmission-lines with frequency-dependent losses. An analysis tool based on restricted coupled-line topologies, simple two-dimensional to three-dimensional RLC matrix conversion, and use of prestored synthesized circuits that accurately capture frequency-dependent loss effects. The CAD tool can handle frequency-dependent resistive and inductive effects for coupled-interconnections on large microprocessor chips with &gt;10K of critical nets. This is done in an interactive manner during the design cycle and allows first path fast product design.

Description:
BACKGROUND OF THE INVENTION 
     The present invention is directed to a method and system for computing delay and crosstalk on lossy transmission-lines with improved efficiency and accuracy. 
     Continued progress in integration levels is making possible the fabrication of large and complex microprocessor chips close to 10 million transistors. Such large dies (close to 20 mm on a side), incorporate a major portion of the system that used to be spread on several chips. Operating clock frequencies are shortly approaching GHz rates with typical signal transitions of 25-50 ps. Critical interconnects such as clock lines, control lines, and data lines between processor and cache can be 1-2 cm in length. The performance of on-chip wiring is becoming a dominant factor in the performance of future systems. 
     Transmission-line properties of on-chip interconnections need to be taken into account due to the long lengths and fast risetimes. The traditional lumped-circuit or even distributed RC representation is no longer adequate, since it results in substantial under-estimation of both crosstalk and delay. On-chip transmission lines have unique characteristics namely, very high capacitive and inductive coupling and resistive losses, and very non-uniform structures. 
     Although the global interconnects represent a small percentage of the total wiring demand, delay on such critical paths is determining the system cycle time. Crosstalk on fast switching wide data busses can create logic failure. Today a typical chip might have only 10-20K global nets of interest but this number will shortly climb to more than 100k connections. Three-dimensional RLC matrix extraction is not generally done because it is computationally too expensive. One such set of two-coupled transmission lines requires 60 hours of computation on an IBM RS/6000 model 590 in order to obtain the frequency-dependant RLC(f) matrix. A distributed RC-circuit representation can underestimate delay by 20-40% while constant-parameter RLC circuit can over predict crosstalk by as much as 20-40% compared to the RLC(f) case. 
     Typical wire routers have only length delay restrictions. Post-routing analysis is generally done on a per-net basis. This analysis involves two-dimensional or some limited three-dimensional extraction and signal propagation delay and crosstalk simulation with subsequent rerouting or circuit design changes. Both delay and crosstalk evaluations do not include inductance or inductive coupling. Often times empirical analytical formulations are used with high degree of inaccuracy. Accurate delay prediction is most critical for the clock lines that need to feed thousands of circuits with equal delay or minimum skew. 
     Crosstalk evaluation is a multi-variable problem that requires waveform simulation since it depends on parameters such as wiring dimensions, driver and receiver circuit size, coupled length, circuit topology (near-end or far-end coupling), interlayer interactions. The non-uniform current return path for the on-chip transmission lines results in frequency-dependent current distribution in the reference conductors (Vdd and GND) with subsequent increase in crosstalk. This frequency-dependence differs for each wiring layer depending on the relative position of the signal lines to the nearest or least resistive power conductors (parallel or orthogonal). Thus each layer in a 5-6 layer stack has to be analyzed differently. A signal path, however, could start on layer M 6  and then continue on M 4  and M 2  as shown in FIG.  1 . FIG. 7 Table shows the calculated R(f) and L(f) matrices for two-adjacent lines in layer M 6  and M 5 . The largest variation with frequency is exhibited by the R 12 (f) terms which represent the current return path resistance in the reference conductors. The L 11 (f) and L 12 (f) terms show much lower rate of change due to the presence of the parallel near-by, in-plane (or two layers away) power conductors. 
     It is possible then to consider these lines as consisting of a concatenation of lines, each piece being in a different layer. A model can be generated for each layer. The inductive and resistive current return path can be defined within a regional radius as shown in FIG.  2 . Moreover, the strongest coupling is generally found to the closest neighbor such that multi-coupled lines can be analyzed as pairs only and crosstalk summed by linear superposition. Finally, due to the very high resistive losses, most circuit simulators have numerical stability problems with the on-chip coupled transmission-lines. Such coupled-lossy lines can be represented by a distributed network consisting of a cascade of lumped-element π-section RLC network. This network then synthesizes the R(f) and L(f) that are calculated with the three-dimensional extractor. It provides a close approximation to the series impedance and shunt admittance over a frequency range of interest. The synthesized network can use either a Foster or Cauer-type low-pass filter topology built out of lumped linear elements (R,L,and C&#39;s) that can easily be implemented in standard CAD tools. The R&#39;s and L&#39;s can be obtained from two-dimensional (2D) calculations and scaled by predetermined constants to obtain the equivalent R&#39;s and L&#39;s from three-dimensional shape calculations, thus considerably reducing computation time. 
     SUMMARY OF THE INVENTION 
     This invention presents a technique for reducing the complexity and improve accuracy of calculation for delay and crosstalk for on-chip interconnections. This method allows a fast frequency-dependent analysis that can be performed for tens of thousands of nets in minutes (1 minute&#39; per net instead of 60 hours per net). The invention uses an analysis tool that relies on pre-calculated RLC matrices, synthesized circuits and device models, all stored in large tables. Based on the net topology obtained from actual product chip layout, the tool transfers the data from these tables into a circuit simulator, evaluates delay and cross-talk and determines performance or design changes needed for the final product. Design cycle for bringing a micro-processor chip to market is thus greatly reduced. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic of a typical wiring signal net S traveling on layers M 2 , M 4 , and M 6  of a six-layer, on-chip structure. 
     FIG. 2 shows three examples, A, B, C of Restricted topologies that the lines of FIG. 1 can be broken into. Type A is a single, shielded line (conductors a, b, c are the shielding Vdd and GND conductors in the current return path). Type B shows two coupled lines H—H in the same layer with the relevant Vdd and GND buses b, d, e, and f. Type C shows two vertically coupled lines V—V surrounded by buses d, g, h, and i. 
     FIG. 3 shows a section of a distributed synthesized circuit for lines of type B in layer M 6 . 
     FIG. 4 shows a section of a distributed synthesized circuit for lines of type C in layers M 6  and M 4 . 
     FIG. 5 shows a section of a distributed synthesized circuit for lines of type B in layer M 5 . 
     FIG. 6 shows a section of a distributed synthesized circuit for lines of type C in layers M 5  and M 3 . 
     FIG. 7 shows two examples of calculated R and L matrices for lines in layers M 6  and M 5 . 
     FIG. 8 shows typical R and L variations from low to high frequency for lines in layers M 5  and M 6 . 
     FIG. 9 plots the calculated and fitted R 12 (f) terms for type C configuration lines. The fitted values are predicted by the synthesized circuits of FIGS. 4 and 6. 
     FIG. 10 is a flow chart of the method for computing delay and crosstalk for lossy transmission lines with improved efficiency and accuracy. 
     FIG. 11 shows an example of the synthesis technique for three-coupled lines. The series impedances Z 11i , Z 22i , and Z 33i  have current dependent voltage sources in series to account for the mutual terms as shown. 
     FIG. 12 shows simulated delay on a typical clock line, with R=19 Ω/cm, 3-mm long. Waveforms are shown for RC, RLC, R m L m C, and RLC(f) circuit representations. RC and RLC cases include the R 12  contribution. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     For the purpose of easily understanding the details of the present invention, it is described in terms of analyzing interconnects on the topmost layers of a six-layer wiring structure. This is exemplary only and not limiting. 
     The general path of a driver-to-receiver interconnection (a net) is shown in FIG. 1 by the signal line S meandering in different layers. This type of irregular net is broken up into constituent parts that have a restricted topology. FIG. 2 shows three such examples, A, B, and C. For a single line, such as a clock line, the signal line in group A is surrounded by Vdd and GND current return buses (conductors) a, b, and c that form a shielded coplanar waveguide configuration. In type B, two coupled lines H—H are traveling together and have in-plane coupling. The position of this pair is known with respect to the buses b, d, e, and f that are parallel to the lines. The line widths, line-to-line separations, and separation to buses b and d can vary, but the buses b, d, e, and f maintain the same dimensions. In configuration C, the situation is similar to B, except the two lines are coupled vertically, V—V. Types A, B, and C can be in any sets of layers. Each layer set will constitute a different configuration. 
     A unique distributed network is synthesized for each of the categories A, B, C, or others. Four examples are shown in FIGS. 3-6. The circuit consists of a cascade of lumped-element π-section RLC network. One such section is shown in FIGS. 3-6. Typically,  10  such sections are used per net. The network provides a good fit to the impedance Z(ω) and shunt admittance Y(ω) of the two-coupled line system. The shunt admittance can be approximated by Y(ω)=jωC(G=0) and Z(ω)=R+jωL, where R, L, and C are 2×2 frequency-dependent matrices that are accurately calculated using a three-dimensional, full-wave, electromagnetic analysis code. 
     The circuit of FIG. 3 includes terminals In  1 , In  2 , Out  1 , Out  2 , Ref in  and Ref out . The circuit elements shown in FIG. 3 are given the designated values, including R dC1  and R dC2 . a 1 -j 1  are variables obtained from 3D Matrix Extraction. R M6 , R M4 , and R 75  are the resistances of elements M 6 , M 4 , and  75  respectively. C 10  is a capacitance value equal to C 11 −C 12 ; and C 20  is a capacitance value equal to C 22 −C 12 . 
     The circuit of FIG. 4, likewise, includes terminals In  1 , In  2 , Out  1 , Out  2 , Ref in  and Ref out . The circuit elements shown in FIG. 4 are given the designated values, including R dC1  and R dC2 . a 3 -n 3  are variables obtained from 3D Matrix Exstraction. u,  2  and w are also obtained from 3D Matrix Extraction. R M6 , R M4  and R 75  are the resistances of elements M 6 , M 4  and  75  respectively C 10  is a capacitance value equal to C 11 −C 12 ; and C 20  is a capacitance value equal to C 22 −C 12 . 
     The circuit of FIG. 5 also includes terminals In  1 , In  2 , Out  1 , Out  2 , Ref in  and Ref out . The circuit elements shown in FIG. 5 are given the designated values, including R dC1  and R dC2 . a-g are variables obtained from 3D Matrix Extraction. m and n also are obtained from 3D Matrix Extraction. R M3  and R M5  are the resistances of elements M 3  and M 5  respectively. C 10  is a capacitance value equal to C 11 −C 12 ; and C 20  is a capacitance value equal to C 22 −C 12 . 
     The circuit of FIG. 6, likewise, includes terminals In  1 , In  2 , Out  1 , Out  2 , Ref in  and Ref out . The circuit elements shown in FIG. 6 are given the designated values, including R dC1  and R dC2 . a 2 -i 2  are variables obtained from 3D Matrix Extraction. r, s and t also are obtained from 3D Matrix Extraction. R M3  and R M5  are the resistances of elements M 3  and M 5  respectively C 10  is a capacitance value equal to C 11 −C 12 ; and C 20  is a capacitance value equal to C 22 −C 12 . 
     A typical result is shown in FIG. 7 for R(f) and L(f) (ω=2πf). Since the capacitance is frequency independent for the frequency range of interest, three-dimensional shape capacitance extractors are built into all commercially available CAD tools such as the Cadence LPE. The calculation is fast since it relies on area-coverage factors stored in tables. The resistance of the current return path, the equivalent R 12  term, can be obtained by a direct summation of the relevant Vdd and GND buses as shown in FIGS. 3-6. This is because current spreading has only a limited extent due to other signal lines that might have currents flowing in opposite directions. Finally, the relevant inductive return path is defined to have the same radius as for resistance and is shown by the shaded conductors in FIGS. 3-6. Since inductance varies logarithmically with distance, the relevant inductive return path is confined to a near-by radius as shown in these examples. 
     Each configuration includes orthogonal wiring and Vdd and GND buses in other layers and vias between layers. It is found, however, that these additional conductors have small influence on the inductance. It is possible then to perform very fast, high frequency, 2D extraction of the L matrix by assuming only the parallel conductors shown in FIGS. 3-6. These matrices differ from the three-dimensional shape, high-frequency, extraction by 8-14%. For each circuit configuration, scaling factors such as o, p, and q in FIG. 3 are obtained for conversion from 2D to 3D values. These factors are the same for each circuit regardless of line widths, separations, or distance to GND and Vdd buses. The L&#39;s are calculated only at infinite frequency. 
     The R and L&#39;s are pre-calculated for large number of line dimensions, for the layers of interest and stored in tables. The C matrices are also obtained form separate tables. 
     FIG. 8 shows examples of the rate of change of the R 11  R 12 , L 11 , and L 12  terms from dc or low frequency (1 MHz) to high frequency (10 GHz or infinite frequency) for lines in layers M 5  and M 6 . The relative change shown in parenthesis is quite different. For example, R 12  increases by only 2.88× for M 5  layer, but by 22.87× for M 6  layer. The configurations in FIGS. 3-6 are selected such that they exhibit the same rate of change for the R and L&#39;s. 
     The equivalent circuit is then synthesized. It consists of several low-pass Foster-type filter elements having the cutoff frequencies selected such that the series impedance of the obtained network provides a good fit to the one calculated over the frequency range of interest. FIG. 9 shows two examples of R 12  calculated and fitted for M 6 -M 4  and M 5 -M 3  configurations shown in FIGS. 4 and 6. The cutoff frequencies for each filter section are given by f ci =R i /2πL i  and in the high-frequency limit, the real part of Z will become R dc +ΣR i  while at dc the imaginary part becomes L ∞ +ΣL i . For each circuit, the R i  and L i  terms are obtained from fitting. These values can be related to the 2D calculated values by a set of constants such as shown in FIG.  3 : a 1 -j 1 . These constants are unique for a circuit group. Moreover, the circuit is only based on the R dc  and the high-frequency inductance values. A complete broadband R and L calculation of the type shown in FIG. 7 is only done once for each circuit group. The table of R and L&#39;s stores only 2D, fast calculated values, for a large range of dimensions within each group. 
     FIG. 10 shows the schematic of the analysis tool. The microprocessor chip logic is designed and the circuits are interconnected using a router tool. A wiring layout is obtained. Critical nets, such as macro-to-macro connections, data buses between central-processor-unit (CPU) to cache memory, long control lines, clock lines, are identified. From layout  100  in FIG. 10) lines can be grouped in pairs  101  (as shown in FIGS. 2-6) and a geometry information  102  obtained (layer, width, separation). The net trace subroutine  103  identifies the sending and receiving end of the wiring. The net is broken up into configurations that are of the type exemplified by FIGS. 2-6. The RLC elements are obtained from tables  104 ,  105 , and  106 . Synthesized circuits are calculated based on variables stored in tables  107 . From the net trace  103  routine the driver and receiver circuits are identified. A simplified linear device model is selected from a table of device models based on transistor sizes  108 . A quiet line can be surrounded by sections of active lines. 
     These coupled sections occur at various parts of the line length. A time mapping routine  109  is developed. The propagation delay from the driver to the coupled section is computed. Simulation is performed for each coupled section based on the synthesized circuits and device information. A convolution of noise amplitude and time of occurrence within the cycle time is performed such that only simultaneously occurring noise voltages are summed  109 . Moreover, only noise that occurs in the critical time window for the processor cycle time is taken into account. Noise that occurs after a latch was set, for example, is not considered important. Simulation can be made with any type of circuit simulator such as Spice, ASX, AWE-based like RICE, or others since the synthesized circuit is using only linear elements. 
     If noise is found to exceed allowable budget, the net is flagged. Rerouting  110  might be attempted to reduce coupled portions. Buffer circuits (repeaters) might be introduced in a long path to reduce coupled length. Driver sizes might be reduced to slow down signal risetime and thus reduce noise amplitude. The entire analysis is then redone till all nets are cleaned up. Redesign is thus possible with very short turn around time. 
     The technique was shown for pairs of coupled lines. It can be extended to n-coupled lines. In a similar fashion, a group configuration is identified and a unique synthesized circuit is obtained that matches the Z(ω) and Y(ω). An example of the n-coupled line implementation is given for a three-coupled line case in FIG.  11 . One section of the distributed network  200  is shown for Line  1 , Line  2 , and Line  3 . Each line series impedance Z(ω)is represented by the Z 11i , Z 22i , or Z 33i  in series with current-dependent voltage sources V 12i , V 13i , V 21i , V 23i , V 31i , V 32i  as shown by  201 .  208  basically shows in detail the expansion of the relation V=ZI where Z is the 3×3 impedance matrix and V and I are the 3×1 voltage and current vectors V 1 , V 2 , V 3 , I 1 , I 2 , I 3 ). The voltage sources account for the mutual terms between lines, for example: V 12i =Z 12i ·I 2  as shown by  202 ,  203 ,  204 ,  205 ,  206 ,  207 , and  208 . The terms Z 11i , Z 22i , and Z 33i  are synthesized in a manner similar to the one shown in FIGS. 3-6 and shown here as a single-pole filter network in  209 . The terms of the type Z 12i  ( 202 - 207 ) are also synthesized by similar Foster-type, low-pass filter networks. The shunt admittance Y(ω) is represented in  209  by the self and mutual capacitances. The same technique is easily extendable to n lines. 
     For each technology family of interconnects (such as 5-layer, 6-layer, 7-layer), a new group of 10-20 equivalent circuits have to be determined once for 10K to 100K nets. Processing time is reduced from 60 hours to 1 minute per net. 
     For lines that are very resistive, R&gt;250 Ω/cm, constant parameter distributed RLC networks can be used. The R dc  and high-frequency L calculated from 2D extraction are needed only and stored tables are again employed. The distributed circuit is simplified to fewer elements and faster simulation times. 
     Delay evaluation can be performed in a very accurate manner with the coupled line synthesized circuits. 
     For the single line delay evaluations, an even simpler technique can be used as described here. This is especially useful for clock lines that are much less resistive (R&lt;50 Ω/cm). Such lines could have configurations as shown in FIG. 2 of type A. Clock lines are generally very long and have custom layout. This means the relative position of the Vdd and GND return buses is well known and controlled. Both R and L of the return path have to be taken into account for accurate delay prediction. Frequency-dependent losses, however, account for only 10-20% inaccuracy. It is then possible to represent these lines with a constant-parameter distributed R m L m C circuit where R m  and L m  are predetermined parameters. 
     3-D shape accurate RLC(f) values are obtained once for several configurations. Simulations are performed with RLC(f) and R m L m C representations where optimal R m L m  are selected. Typical examples used in actual shipped microprocessor products were L m =L at 3.5 GHz and R m =R calculated at 100 MHz. A set of scaling variables can again be stored in tables for a 2D to 3D transformation. An example is shown in FIG. 12 for a six-layer structure with copper metallurgy where L m  was chosen at 1 GHz. The R m L m C distributed circuit delay prediction measured at the midpoint of the propagated swing is within 4% of the accurate simulation. A constant-parameter distributed R m L m C circuit presentation greatly reduces simulation time and improves accuracy over an RLC circuit. A typical clock network has to feed thousands of circuits per branch and there needs to be minimal delay difference (skew) at each branch node throughout the entire area.