Abstract:
Methods and apparatus for substrate modeling are disclosed. In one disclosed method, for example, the substrate modeling comprises determining scalable Z parameters associated with at least two substrate contacts, constructing a matrix of the scalable Z parameters for the at least two substrate contacts, and calculating an inverse of the matrix to determine resistance values associated with the at least two substrate contacts. Computer-readable media containing computer-executable instructions for causing a computer system to perform any of the described methods are also disclosed.

Description:
CROSS REFERENCE TO RELATED APPLICATION  
       [0001]    This application claims the benefit of U.S. Provisional Application No. 60/417,518, filed Oct. 9, 2002, and U.S. Provisional Application No. 60/422,145, filed Oct. 28, 2002, both of which are incorporated herein by reference. 
     
    
     
       BACKGROUND  
         [0002]    In modern integrated-circuit design, it is possible to integrate digital, analog, and RF circuitry onto a single chip. As a result of such integration, however, digital circuitry can inject noise through the common substrate that affects the sensitive analog and RF circuitry. This substrate noise coupling can severely degrade the performance of noise-sensitive circuits. Accordingly, substrate-noise-coupling analysis is becoming an important part of the design flow of integrated circuits. Typically, the effects of substrate coupling at low frequencies (e.g., up to 2-3 GHz) can be verified by computing the substrate resistances between all circuit parts that inject noise into the substrate or that are sensitive to noise.  
           [0003]    Some of the most commonly used methods to analyze substrate noise coupling involve costly trial-and-error procedures due to the lack of an efficient substrate-network extractor for practical circuits. Consequently, integrated-circuit designs are often delayed and engineering time increased. To solve this problem, other techniques have been proposed for computing substrate noise coupling.  
           [0004]    For instance, some known techniques involve a detailed numerical analysis of substrate noise coupling. In one approach, a device simulator is used to obtain a full numerical simulation of currents and potentials in the substrate. In this method, the entire substrate is discretized, or meshed, into smaller data points, thereby creating large resistance and capacitance matrices. The mesh definition plays an important role in this technique because it involves a tradeoff between accuracy and computational efficiency. Consequently, this technique is impractical for large circuit designs.  
           [0005]    Another known method for calculating the substrate network is the so-called boundary-element method (“BEM”). The BEM requires meshing only for the contacts and results in a small, but dense, Z matrix. In order to calculate substrate resistances, the inverse Z matrix has to be computed. Dense matrix inversion, however, has a computational complexity of O(N 3 ) where N is the matrix dimension. Consequently, this method is computationally intensive for large circuit designs.  
           [0006]    Another technique (the “preprocessed BEM”), involves first obtaining Z parameters from polynomial curve fitting. This method provides a simpler estimation of Z parameters, but requires models for different geometries and spacings to be computed and stored in a design-tool library. These libraries have to be adapted to each process. Accordingly, the preprocessed BEM is not efficient for large designs.  
           [0007]    An alternate approach to these methods uses a scalable resistance-based model for substrate-resistance extraction. In one such approach, a scalable resistance-based model is used to predict substrate noise coupling between contacts in a heavily doped or lightly doped CMOS process. This scalable model, however, was developed for two contacts using a two-port resistive model, and cannot be used for multiple contacts or account for three-dimensional variations in contact architecture.  
         SUMMARY  
         [0008]    In view of the issues and concerns described above, various substrate modeling methods and apparatus are disclosed. One of the disclosed methods comprises determining scalable Z parameters associated with at least two substrate contacts, constructing a matrix of the scalable Z parameters for the at least two substrate contacts, and calculating an inverse of the matrix to determine resistance values associated with the at least two substrate contacts. The substrate can be a heavily doped substrate or a lightly doped substrate. In some embodiments, the matrix is an N×N matrix, where N is the number of contacts. In other embodiments, the act of determining comprises dividing a first contact into smaller portions (e.g., rectangular or square portions), and determining respective Z parameters between the smaller portions and a second contact. In still other embodiments, three scalable Z parameters are determined for a first contact and a second contact of the at least two contacts. For example, a first of the scalable Z parameters can be a ratio of an open-circuit voltage at the first contact to an input current at the first contact, a second of the scalable Z parameters can be a ratio of an open-circuit voltage at the second contact to an input current at the second contact, and a third of the scalable Z parameters can be a ratio of an open-circuit voltage at the first contact to a source current at the second contact. In other embodiments, at least one of the scalable Z parameters is a function of contact area and contact perimeter, or at least one of the Z parameters is a function of contact geometry and contact separation. In yet another embodiment, the scalable Z parameters comprise a first set of scalable Z parameters associated with resistances between the at least two substrate contacts and a groundplane, and a second set of scalable Z parameters associated with cross-coupling resistances between the at least two substrate contacts. The scalable Z parameters of the first set can be based on a first model equation and the scalable Z parameters of the second set can be based on a second model equation. For example, in one embodiment, the first model equation can be  
         Z   =     1         K   1        Area     +       K   2        Perimeter     +     K   3           ,                         
 
           [0009]    wherein Z is a ratio of an open-circuit voltage to input current for a selected contact with other contacts being open circuits, Area is an area of the selected contact, Perimeter is a perimeter of the selected contact, and K 1 , K 2 , and K 3  are parameters that are dependent on substrate properties and, in one certain embodiment, can be determined by curve fitting based on a simulation. In another embodiment, in which the substrate is a lightly doped substrate, the first model equation is  
         Z   =     1         K   1        Perimeter     +     K   2           ,                         
 
           [0010]    wherein Z is a ratio of an open-circuit voltage to an input current for a selected contact with other contacts being open circuits, Perimeter is a perimeter of the selected contact, and K 1  and K 2  are parameters that are dependent on substrate properties and, in one certain embodiment, can be determined by curve fitting based on a simulation. In still another embodiment, the second model equation for a selected pair of contacts having a fixed relative position y is  
             Z=αe   −βX ,  
           [0011]    wherein Z is a ratio of an open-circuit voltage at a first contact to a source current at a second contact, x is a separation between the first contact and the second contact, a is a value of Z when x is zero, and β is a parameter that is dependent on substrate properties and, in one certain embodiment, can be determined by curve fitting based on a simulation or a measurement. In one alternative of this embodiment, the first contact and the second contact have a same size. In yet another embodiment, the second model equation for a selected pair of contacts having a fixed separation x is  
           
         Z=ay 
         2 
         +by+c,  
       
           [0012]    wherein Z is a ratio of an open-circuit voltage at a first contact to a source current at a second contact, y is a relative position between the first contact and the second contact, and a, b, and c are scalable parameters that substantially depend on contact dimensions and, in one certain embodiment, can be at least partially determined by curve fitting based on a simulation or a measurement. In one alternative of this embodiment, a size of the first contact is different than a size of the second contact. In still another embodiment, the second model equation for a selected pair of contacts is  
             Z=[ay   2   +by+c]e   −β(x−x     a     ) ,  
           [0013]    wherein Z is a ratio of an open-circuit voltage at a first contact to a source current at a second contact, y is a relative position between the first contact and the second contact, a, b, and c are scalable parameters for the substrate that depend on contact dimensions, x is a separation between the first contact and the second contact, x a  is a value of x used in determining a, b, and c, and β is a parameter that is dependent on substrate properties. In a certain embodiment, at least one of the parameters a, b, c or β is determined by curve fitting based on a simulation. In one alternative of this embodiment, a size of the first contact is different than a size of the second contact. In yet another embodiment in which the substrate is a lightly doped substrate, the second model equation for a selected pair of contacts having a fixed relative position y is  
             Z=αK   0 (β x ),  
           [0014]    wherein Z is a ratio of an open-circuit voltage at a first contact to a source current at a second contact, K 0  is a 0th-order Bessel function of the second kind, x is a separation between the first contact and the second contact, and α and β are parameters that are dependent on substrate properties. In another embodiment in which the substrate is lightly doped, the second model equation for a selected pair of contacts predicts a value Z as a function of a separation x between the first contact and the second contact, wherein Z is a ratio of an open-circuit voltage at a first contact to a source current at a second contact, and log(Z) has a linear behavior when x is greater than a certain value and an asymptotic-like behavior when x is less than the certain value.  
           [0015]    Another disclosed method of substrate modeling comprises determining scalable parameters associated with at least two substrate contacts (where at least one of the scalable parameters is scalable with a contact perimeter), constructing a matrix of the scalable parameters for the at least two substrate contacts, and calculating an inverse of the matrix to determine resistance values associated with the at least two substrate contacts. In one embodiment, the scalable parameters are Z parameters. In another embodiment, at least one of the scalable parameters is scalable with a contact separation. The scalable parameters can comprise a first set of scalable parameters associated with resistances between the at least two substrate contacts and a groundplane, and a second set of scalable parameters associated with cross-coupling resistances between the at least two substrate contacts.  
           [0016]    Yet another disclosed method of substrate modeling comprises determining scalable parameters associated with at least three substrate contacts, constructing a matrix of the scalable parameters representative of the at least three substrate contacts, and calculating resistance values associated with the at least three substrate contacts from the matrix. In one embodiment of this method, the scalable parameters are Z parameters.  
           [0017]    Methods for determining a scalable Z parameter for a contact in a substrate, wherein the scalable Z parameter is associated with a resistance between the contact and a groundplane, are also disclosed. The methods comprise modeling the Z parameter as a function of contact area and contact perimeter (the function comprising at least one coefficient that is dependent on properties of the substrate), obtaining a plurality of sample data points for the Z parameter in the substrate (the sample data points being obtained for a range of contact sizes), and determining values of the multiple coefficients such that the function produces a curve that fits the sample data points. In one embodiment, the range of contact sizes is from about 2.4 μm to about 100 μm. In another embodiment, the contacts are square or rectangular. In still another embodiment, at least a portion of the sample data points are obtained from a simulation. In one particular embodiment, the function is  
         Z   =     1         K   1        Area     +       K   2        Perimeter     +     K   3           ,                         
 
           [0018]    wherein Z is a ratio of an open-circuit voltage to input current for the contact with all other contacts in the substrate being open circuits, Area is the contact area, Perimeter is the contact perimeter, and K 1 , K 2 , and K 3  are coefficients that are dependent on the properties of the substrate.  
           [0019]    Methods for determining a scalable Z parameter for a pair of contacts in a substrate, wherein the scalable Z parameter is associated with a cross-coupling resistance between a first contact and a second contact of the pair of contacts, are also disclosed. The methods comprise modeling the Z parameter as a function of a separation x between the first contact and the second contact (the function including multiple coefficients, wherein at least one of the multiple coefficients is dependent on properties of the substrate), obtaining a plurality of sample data points for the Z parameter (the sample data points being obtained for a range of separations x between the first contact and the second contact), and determining values of the multiple coefficients such that the function produces a curve that fits the sample data points. In one embodiment, the first contact and the second contact have a same size. In another embodiment, the range of separations x comprises values of x substantially equal to or greater then 10 μm. In yet another embodiment, the range of separations x is from about 10 μm to about 120 μm. In still another embodiment, at least a portion of the sample data points are obtained from a simulation. In one particular embodiment, the function is  
           
         Z=αe 
         −βx  
       
           [0020]    wherein Z is a ratio of an open-circuit voltage at the first contact to a source current at the second contact, α is a value of Z for x 0 , and β is a parameter that is dependent on the properties of the substrate. In an alternative of this embodiment, a can be determined from  
         α   =     1         K   1        Area     +       K   2        Perimeter     +     K   3           ,                         
 
           [0021]    wherein Area is a combined contact area, Perimeter is a perimeter of the combined contact, and K 1 , K 2 , and K 3  are coefficients that are dependent on the properties of the substrate. In another alternative of this embodiment, K 1 , K 2 , and K 3  are determined by curve fitting a to a plurality of data points obtained for a range of different Area and Perimeter values.  
           [0022]    Other methods for determining a scalable Z parameter for a pair of contacts in a substrate, wherein the scalable Z parameter is associated with a cross-coupling resistance between a first contact and a second contact of the pair of contacts, are also disclosed. The methods comprise modeling the Z parameter as a function of a relative position y between the first contact and the second contact where the first contact has a greater dimension than the second contact along a y axis (the function including multiple coefficients, wherein at least one of the multiple coefficients is scalable with dimensions of the first contact), obtaining a plurality of sample data points for the Z parameter (the sample data points being calculated for a range of positions y of the second contact relative to the first contact), and determining values of the multiple coefficients such that the function produces a curve that fits the sample data points. In one embodiment, the range of positions y is from substantially zero to a length of the first contact along its y axis. In another embodiment, the plurality of data points are obtained for a contact having an area between about 2.4 μm and 100 μm. In still another embodiment, at least a portion of the sample data points are obtained from a simulation. In one particular embodiment, the function is  
           
         Z=ay 
         2 
         +by+c,  
       
           [0023]    wherein Z is a ratio of an open-circuit voltage at the first contact to a source current at the second contact, y is a relative position between the first contact and the second contact, and a, b, and c are scalable coefficients for the substrate that depend on contact dimensions. In an alternative of this embodiment, c is found by  
           
         c=αe 
         −βx 
         
           a  
         
       
           [0024]    wherein a is a value of Z for x 0 , β is a coefficient that is dependent on substrate properties, and x a  is a separation between the first contact and the second contact. In another alternative of this embodiment, the pair of contacts is an original pair of contacts, and a, b, and c are scaleable for a new pair of contacts by a ratio of a new /α, where α new  is a value of α for the new pair of contacts and α is a value of α for the original pair of contacts.  
           [0025]    Still other methods for determining a scalable Z parameter for a pair of contacts in a substrate, wherein the Z parameter is associated with a cross-coupling resistance between a first contact and a second contact of the pair of contacts, are also disclosed. The methods comprise modeling the scalable Z parameter as a function of a separation x between the first contact and the second contact and as a function of a relative position y between the first contact and the second contact where the first contact has a greater dimension than the second contact along a y axis (the function including multiple coefficients, wherein at least one of the multiple coefficients is scalable with dimensions of the first contact and at least one of the multiple coefficients is dependent on substrate properties), obtaining a first set of sample data points for the Z parameter (the first set of sample data points being obtained for a range of relative positions y of the second contact relative to the first contact for a fixed separation x), obtaining a second set of sample data points for the Z parameter (the second set of sample data points being obtained for a range of separations x for a fixed relative position y of the second contact), and determining values of the multiple coefficients such that the function produces a curve that fits the sample data points. In one particular embodiment, the function is  
             Z=[ay   2   +by+c]e   −β(x−x     a     ) ,  
           [0026]    wherein Z is a ratio of the open-circuit voltage at the first contact to the source current at the second contact, y is a relative position between the first contact and the second contact, a, b, and c are scalable parameters for the substrate that depend on contact dimensions, x is a separation between the first contact and the second contact, x a  is a value of x used in determining a, b, and c, and β is a parameter that is dependent on the properties of the substrate.  
           [0027]    Computer-readable medium storing computer-executable instructions for causing a computer system to perform any of the disclosed methods are also disclosed.  
           [0028]    These and other features are set forth below with reference to the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0029]    [0029]FIG. 1 is a block diagram schematically showing an exemplary substrate network having more than two contacts.  
         [0030]    [0030]FIG. 2A is a block diagram showing a resistive network for two exemplary contacts.  
         [0031]    [0031]FIG. 2B is a block diagram showing the resistive network of FIG. 2A with three contacts.  
         [0032]    [0032]FIG. 3 is a block diagram showing a three-contact resistive network using a Z-parameter formulation.  
         [0033]    [0033]FIG. 4 is a block diagram showing the three-contact resistive network of FIG. 3 using a Y-parameter formulation.  
         [0034]    [0034]FIG. 5 is a flowchart of an exemplary method of determining noise coupling in a substrate.  
         [0035]    [0035]FIG. 6 is a block diagram schematically showing a first exemplary heavily doped substrate.  
         [0036]    [0036]FIG. 7 is a graph showing simulated values of Z 11  as a function of a contact width in an exemplary heavily doped substrate.  
         [0037]    [0037]FIG. 8 is a graph showing simulated values of 1/Z 11  as a function of contact width for the exemplary heavily doped substrate of FIG. 7.  
         [0038]    [0038]FIG. 9A is a first image showing current-flow lines from a simulator for an exemplary heavily doped substrate having a single contact.  
         [0039]    [0039]FIG. 9B is a second image showing current-flow lines from a simulator for the heavily doped substrate of FIG. 9A having two contacts with a separation of 5 μm.  
         [0040]    [0040]FIG. 9C is a third image showing current-flow lines from a simulator for the heavily doped substrate of FIG. 9A having two contacts with a separation of 10 μm.  
         [0041]    [0041]FIG. 9D is a fourth image showing current-flow lines from a simulator for the heavily doped substrate of FIG. 9A having two contacts with a separation of 40 μm.  
         [0042]    [0042]FIG. 10 is a logarithmic graph of Z 12  as a function of contact separation showing values calculated by a two-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0043]    [0043]FIG. 11 is a logarithmic graph of Z 12  as a function of contact separation showing values calculated by a two-dimensional simulator and values predicted by an exemplary Z-parameter model for separations of 10 μm and 0.5 μm.  
         [0044]    [0044]FIG. 12 is a block diagram schematically showing a second exemplary heavily doped substrate.  
         [0045]    [0045]FIG. 13 is a graph of 1/Z 11  as a function of contact width showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0046]    [0046]FIG. 14 is a bar graph comparing values of Z 11  predicted by a three-dimensional simulator and an exemplary Z-parameter model.  
         [0047]    [0047]FIG. 15 is a flowchart of an exemplary method for determining a scalable Z 11  parameter for a pair of contacts in a substrate.  
         [0048]    [0048]FIG. 16 is a logarithmic graph of Z 12  as a function of contact separation showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model for separations of 20 μm and 5 μm.  
         [0049]    [0049]FIG. 17 is a block diagram of a pair of contacts illustrating the relationship of a first contact to a second contact along x and y axes.  
         [0050]    [0050]FIG. 18 is a graph of Z 12  as a function of relative position y for the contacts shown in FIG. 17 showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0051]    [0051]FIG. 19A is a block diagram illustrating two exemplary contacts having a separation x of zero and a relative position y of 100 μm.  
         [0052]    [0052]FIG. 19B is a block diagram illustrating the exemplary contacts of FIG. 19A with a relative position y of 80 μm.  
         [0053]    [0053]FIG. 19C is a block diagram illustrating the exemplary contacts of FIG. 19A with a relative position y of 50 μm.  
         [0054]    [0054]FIG. 20A is block diagram illustrating two exemplary contacts of equal size having a separation x of zero and a relative position y of 100 μm.  
         [0055]    [0055]FIG. 20B is a block diagram illustrating the exemplary contacts of FIG. 20A with a relative position of 50 μm.  
         [0056]    [0056]FIG. 21 is a flowchart of an exemplary method for determining a scalable Z 12  parameter for a pair of contacts in a substrate as a function of a separation x between the contacts.  
         [0057]    [0057]FIG. 22 is a flowchart of an exemplary method for determining a scalable Z 12  parameter for a pair of contacts in a substrate as a function of a relative position y of the contacts.  
         [0058]    [0058]FIG. 23 is a logarithmic graph of Z 12  as a function of the separation x and the relative position y showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0059]    [0059]FIG. 24 is a block diagram of an exemplary pair of contacts illustrating the relationship of a first contact to a second contact along x and y axes and showing that the first contact has a complex shape and can be divided into smaller portions.  
         [0060]    [0060]FIG. 25 is a logarithmic graph of Z 12  as a function of the separation y for the pair of contacts shown in FIG. 24 at a separation x of 30 μm showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0061]    [0061]FIG. 26 is a logarithmic graph of Z 12  as a function of the separation y for the pair of contacts shown in FIG. 24 at separations x of 10 μm, 30 μm, and 50 μm showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0062]    [0062]FIG. 27 is a cross section of a three-dimensional plot of Z 12  values for the contacts shown in FIGS. 24 and 29 at various x and y positions.  
         [0063]    [0063]FIG. 28 is a two-dimensional plot along the x and y axes of the three-dimensional plot shown in FIG. 27.  
         [0064]    [0064]FIG. 29 is a block diagram of the exemplary pair of contacts from FIG. 24 illustrating the relationship of the first contact to the second contact in various relative positions on the x and y axes.  
         [0065]    [0065]FIG. 30 is a block diagram of an exemplary pair of contacts where one of the contacts is C-shaped.  
         [0066]    [0066]FIG. 31 is a logarithmic graph of Z 12  as a function of a separation y for the pair of contacts shown in FIG. 30 at separations x of 10 μm, 30 μm, and 45 μm showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0067]    [0067]FIG. 32 is a logarithmic graph of Z 12  as a function of a separation x for the pair of contacts shown in FIG. 30 at a separation y of 30 μm showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0068]    [0068]FIG. 33 is a block diagram of an exemplary pair of contacts where one of the contacts is square.  
         [0069]    [0069]FIG. 34 is a graph of Z 12  as a function of a separation y for the pair of contacts shown in FIG. 33 at a separation x of 40 μm showing values calculated by a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0070]    [0070]FIG. 35 is a cross section of a three-dimensional plot of Z 12  values for the contacts shown in FIG. 33 at various x and y positions.  
         [0071]    [0071]FIG. 36A is a block diagram showing two exemplary contacts as they are subdivided into smaller portions according to a known method.  
         [0072]    [0072]FIG. 36B is a block diagram showing the two exemplary contacts from FIG. 36A as they are used in an exemplary Z-parameter model.  
         [0073]    [0073]FIG. 37A is a block diagram showing an exemplary pair of contacts used to compare a known method with an exemplary Z-parameter model.  
         [0074]    [0074]FIG. 37B is a block diagram showing three exemplary contacts used to compare a known method with an exemplary Z-parameter model.  
         [0075]    [0075]FIG. 38 is a block diagram showing three contacts discretized according to a known method.  
         [0076]    [0076]FIG. 39 is a bar graph showing a comparison of Z 11  measured from a test chip and predicted by an exemplary Z-parameter model.  
         [0077]    [0077]FIG. 40A is a block diagram showing a comparison of a Z 11  value for an exemplary L-shaped contact as measured in a test chip and as predicted by an exemplary Z-parameter model.  
         [0078]    [0078]FIG. 40B is a block diagram showing a comparison of a Z 11  value for an exemplary U-shaped contact as measured in a test chip and as predicted by an exemplary Z-parameter model.  
         [0079]    [0079]FIG. 40C is a block diagram showing a comparison of a Z 11  value for an exemplary square-shaped contact as measured in a test chip and as predicted by an exemplary Z-parameter model.  
         [0080]    [0080]FIG. 41 is a logarithmic graph of Z 12  as a function of a separation x showing values measured on a test chip and for values predicted by an exemplary Z-parameter model.  
         [0081]    [0081]FIG. 42 is a block diagram schematically showing three exemplary pairs of contacts having a constant separation x and different contact sizes.  
         [0082]    [0082]FIG. 43 is a graph of α versus contact dimension for the pairs of contacts shown in FIG. 42 showing values measured on a test chip and values predicted by an exemplary Z-parameter model.  
         [0083]    [0083]FIG. 44 is a block diagram schematically showing an exemplary lightly doped substrate.  
         [0084]    [0084]FIG. 45A is a first image showing current-flow lines from a simulator for an exemplary lightly doped substrate having a channel-stop implant layer.  
         [0085]    [0085]FIG. 45B is a second image showing current-flow lines from a simulator for an exemplary light doped substrate having no channel-stop implant layer.  
         [0086]    [0086]FIG. 46 is a graph of Z 11  as a function of contact dimensions showing values simulated in a two-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0087]    [0087]FIG. 47 is a logarithmic graph of Z 12  as a function of contact separation showing values simulated in a two-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0088]    [0088]FIG. 48 is a bar graph illustrating the dependence of Z 11  on die dimension in an exemplary lightly doped substrate.  
         [0089]    [0089]FIG. 49 is a bar graph illustrating the dependence of Z 11  on die dimension in an exemplary heavily doped substrate.  
         [0090]    [0090]FIG. 50 is a graph of Z 11  as a function of contact dimensions showing values simulated in a three-dimensional simulator and values predicted by an exemplary Z-parameter model.  
         [0091]    [0091]FIG. 51 is a logarithmic graph of Z 12  as a function of contact separation showing values simulated in a three-dimensional simulator.  
         [0092]    [0092]FIG. 52 is a graph of Z 12  as a function of contact separation showing values simulated in a two-dimensional simulator and values predicted by an exemplary Z-parameter model. 
     
    
     DETAILED DESCRIPTION  
       [0093]    Disclosed below are representative methods and apparatus for modeling substrate noise coupling. The disclosed methods should not be construed as limiting in any way. Instead, the present disclosure is directed toward novel and nonobvious features and aspects of the various disclosed embodiments, alone and in various combinations and subcombinations with one another. The methods are not limited to any specific aspects or features, or combinations thereof, nor do the methods require that any one or more specific advantages be present or problems be solved.  
         [0094]    Although the operations of the disclosed methods are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the disclosed flow charts typically do not show the various ways in which the disclosed methods can be used in conjunction with other methods. Additionally, the detailed description sometimes uses terms like “determine” and “provide” to describe the disclosed methods. These terms are high-level abstractions of the actual operations that are performed. The actual operations that correspond to these terms will vary depending on the particular implementation and are readily discernible by one of ordinary skill in the art.  
         [0095]    As more fully described below, the disclosed embodiments can be applied to a wide variety of fabrication processes, including CMOS processes. Further, some of the methods described herein can be implemented in software, stored on a computer-readable medium, and executed on a computer. Some of the disclosed methods, for example, can be implemented in an electronic-design-automation (“EDA”) tool, such as a design and verification tool, which includes a user interface configured to input and output substrate parameters and other design information. Such methods can be executed on a single computer or on a networked computer (e.g., via the Internet, a wide-area network, a local-area network, a client-server network, or other such network). For clarity, only selected aspects of software-based implementations are described. Other details that are well known in the art are omitted. For the same reason, computer hardware is not described in further detail.  
         [0096]    General Description  
         [0097]    [0097]FIG. 1 is a block diagram showing an exemplary substrate  100  having multiple contacts  110 . As can be seen in FIG. 1, the overall substrate-coupling-resistance network is a complex one. A contact  110  has an effective resistance  130  to a backplane conductor  120  as well as an effective cross-coupling resistance  132  to another contact  111 . Two-port resistance-based models are generally unable to calculate resistance networks such as that of FIG. 1. Such models typically do not account for resistance changes associated with more than two contacts. As an example, consider a two-port resistive-network formulation derived for a 3-contact case. FIG. 2A shows simulated resistance values for two identical contacts  210 ,  211  at a separation of 10 μm. As shown in FIG. 2B, the addition of an identical third  212  contact at a 10 μm separation from the contacts  210 ,  211  alters all the resistance values of the network. According to the two-port resistance-based models, the resistance values in FIG. 2B should be identical to the values in FIG. 2A. Therefore, the two-port resistance model is inadequate for networks having more than two contacts.  
         [0098]    To overcome this and other deficiencies, certain embodiments of the disclosed methods use scalable Z parameters that relate a voltage applied to a first contact and an associated current at a second contact. In general, for an arbitrary pair of contacts j and m, an associated Z parameter, denoted as “Z jm ,” is a ratio of an open-circuit voltage at the contact j to the source current at the contact m. In other words, the Z parameter relating contacts j and m is the open-circuit voltage at contact j (V j ) divided by a source current at contact m (I m ), or,  
               Z   jm     =       V   j       I   m               (   1   )                               
 
         [0099]    Generally, the parameter Z jm  does not change due to other contacts when the separation between the additional contacts is greater than a certain value. For example, in certain substrates considered herein, the parameter Z jm  does not change if additional contacts are separated by at least 10 μm. A contact j also has a parameter Z jj  associated with a groundplane. The parameter Z jj  can be defined as a ratio of open-circuit voltage at the contact j to a current at the contact j, with all other contacts considered as open circuits.  
         [0100]    Although Y parameters are related to Z parameters, Y parameters are unsuitable for describing the substrate network. Y parameters are short-circuit parameters. Thus, for every Y-parameter measurement, the substrate network is altered because one or more circuit nodes are grounded. Moreover, a Y-parameter formulation does not take into account cross-coupling resistances between two grounded nodes, and resistances from grounded nodes to the backplane. FIGS. 3 and 4 illustrate the difference between the resistive networks for Z-parameter and Y-parameter formulations for a four-contact example. In FIG. 3, a Z-parameter formulation  310  is shown for an exemplary four-contact network. As can be seen, the Z-parameter formulation  310  includes resistances from each contact to the backplane and cross-coupling resistances between each pair. In FIG. 4, a Y-parameter formulation  410  is shown for the same network. In FIG. 4, resistors R 22 , R 33 , R 44 , R 23  and R 34  are eliminated as they are interconnected grounded nodes.  
         [0101]    [0101]FIG. 5 is a flowchart  500  showing one representative embodiment of a general method for calculating substrate noise coupling in a network having two or more contacts. In process block  510 , scalable parameters (e.g., Z parameters) are determined for two or more contacts in the substrate. For instance, in one exemplary embodiment, Z parameters are calculated for the multiple contacts in the network. In process block  520 , a matrix of the scalable parameters is constructed. In one particular embodiment, the matrix is an N×N matrix, where N is a number of contacts in the network. For example, matrix entries corresponding to two contacts j and m can be included in such an N×N matrix as:  
             Z   =     [         ·       ·       ·       ·       ·       ·       ·       ·           ·         z   jj         ·       ·         z   jm         ·       ·       ·           ·       ·       ·       ·       ·       ·       ·       ·           ·       ·       ·       ·       ·       ·       ·       ·           ·       ·       ·       ·       ·       ·       ·       ·           ·         z   jm         ·       ·         z     m                 m           ·       ·       ·           ·       ·       ·       ·       ·       ·       ·       ·           ·       ·       ·       ·       ·       ·       ·       ·         ]             (   2   )                               
 
         [0102]    In process block  530 , resistance values are determined from the scalable parameter matrix. In one embodiment, for instance, the inverse of the matrix is calculated and used to determine the resistance values. The resulting resistance values are indicative of substrate noise coupling and can be evaluated by a designer or design tool to determine whether any modifications should be made to the design.  
         [0103]    Modeling Substrate Noise Coupling in Heavily Doped Substrates  
         [0104]    In order to explain how multiple, three-dimensional geometries influence the calculation of scalable parameters in a heavily doped substrates, an examination of representative Z-parameter models in two dimensions is helpful. Two-dimensional models for substrate noise coupling based on Z parameters can be developed using two-dimensional device simulators, such as MEDICI, Version 2000.2.0, available from Synopsys Corporation. In general, the use of a simulator provides accurate results, allows a user to define nonhomogenous substrate layers, and provides insight into substrate-coupling mechanisms for different fabrication processes. As described above, simulators are computationally intensive and impractical for large designs. Two-dimensional device simulators typically use process information, such as doping concentrations, layer thicknesses, and the size and separation of the injecting and sensing contacts. Further, certain two-dimensional simulators (e.g., MEDICI) can generate current-flow lines, equipotential lines, and Y or Z parameters from the process information.  
         [0105]    For purposes of illustrating a representative two-dimensional Z-parameter model, reference is made to an exemplary heavily doped substrate process. This substrate process is used for illustrative purposes only and should not be construed as limiting the disclosed technology. Instead, the disclosed principles and methods can be applied to any substrate process. For example, as more fully explained below, the disclosed principles and methods can be extended to lightly doped substrates. FIG. 6 shows a heavily doped substrate  600  comprising a heavily doped p +  channel-stop implant layer  610 , a lightly doped epi layer  612 , and a heavily doped p +  bulk region  614 . The resistivities and thicknesses for these layers are shown in FIG. 6. For purposes of this disclosure, the symbol “u” is sometimes used to indicate micrometers.  
         [0106]    [0106]FIG. 7 shows a graph  700  of Z 11  as a function of contact width w 1  in a range of 0.5 μm to 80 μm. FIG. 8 shows a graph  800  of 1/Z 11  as a function of w 1 . As can be seen by curve  710  in FIG. 7 (based on data from a two-dimensional simulation), an exponential relationship exists between Z 11  and contact width. Similarly, curve  810  in FIG. 8 shows a linear relationship between 1/Z 11  and the contact width. According to one exemplary method, this relationship is modeled using the following the linear equation:  
                 1     Z   11       =     a   +     bw   1         ,           (   3   )                               
 
         [0107]    wherein a and b are process parameters that can be obtained from curve fitting, and w 1  is the contact width. For example, for the exemplary substrate profile shown in FIG. 6, the following values were obtained:  
                   a   =     6.5942   ×     10     -   5                       1   Ω               b   =     3.5092                     1     Ω                 m       .                     (   4   )                               
 
         [0108]    Data points  812  in FIG. 8 show simulated values of 1/Z 11  at selected widths w 1 , whereas curve  810  shows predicted values of 1/Z 11  for an arbitrary width w 1 . As can be seen from FIG. 8, the model of Equation (3) closely approximates the data extracted from the two-dimensional simulation.  
         [0109]    Another aspect of modeling Z 11  is to determine the influence of neighboring contacts on Z 11 . FIGS.  9 A- 9 D show current-flow lines for different separations between two contacts in an exemplary substrate substantially similar to the substrate shown in FIG. 6. The current-flow lines shown in FIGS.  9 A- 9 D provide insight into the relationship between Z 11  and the contact locations. In particular, FIG. 9A shows two-dimensional simulation results for an exemplary single contact, FIG. 9B shows two exemplary contacts at a 5 μm separation, FIG. 9C shows the contacts at a 10 μm separation, and FIG. 9D shows the contacts at a 40 μm separation. For each of these simulations, injector-contact size was w 1 =0.5 μm and sensor-contact size as w 2 =10 μm. From the two-dimensional simulation, the following Z parameter values were obtained: for FIG. 9A, Z 11 =14.79 KΩ; for FIG. 9B, Z 11 =13.05 KΩ; for FIG. 9C, Z 11 =14.18 KΩ; and for FIG. 9D, Z 11 =14.79 KΩ. As can be seen in FIGS.  9 A- 9 D, current distribution is a function of sensor-contact separation. Consequently, values of Z 11  also depend on separation. In FIG. 9D, the current-flow lines (current distribution) are substantially the same as in the single-contact case. Thus, for separations larger than a certain value (in the illustrated substrate, about 10 μm), the injector contact behaves as a single contact, and Z 11  is unaffected by a neighboring contact. For instance, in this example, the value of Z 11  for a selected contact is within about 1% of its isolated value for 20 μm or greater separation from other contacts and is within 10% of the isolated value for separations of 10 μm or more from other contacts. Accordingly, in one exemplary embodiment, the Z 11  model described above is used for contacts separated from other contacts by about 10 μm or larger. In other embodiments, however, the separation for which this Z 11  model is used can be different (because of different substrate characteristics, a different desired accuracy, or for other reasons).  
         [0110]    [0110]FIG. 10 shows a logarithmic graph  1000  for values of Z 12  for various separations between source and sensor contacts. In particular, graph  1000  shows data points  1010  obtained from a two-dimensional simulator. From FIG. 10, it can be seen that Z 12  is an exponential function of separation that can be modeled as, for example:  
           Z   12   =αe   −βx   (5)  
         [0111]    wherein α and β are process parameters obtained from curve fitting. Curve  1012  in FIG. 10 was plotted according to Equation (5) and shows good agreement with data points  1010 .  
         [0112]    [0112]FIG. 11 is a logarithmic graph  1100  of Z 12  as a function of contact separation. In particular, graph  1100  shows data points  1110 ,  1112  that correspond to simulation results for contact widths of 10 μm and 0.5 μm, respectively, and curves  1120 ,  1122  that correspond to values predicted by Equation (5). From FIG. 11, it can be seen that β (the slope of curves  1120 ,  1122 ) is substantially independent of the contact widths. For example, the values of α and β obtained for the exemplary heavily doped substrate shown in FIG. 6 are:  
                   α   =     233                 Ω             β   =     1.0666   ×     10   5                       1   m     .                     (   6   )                               
 
         [0113]    The cross-coupling resistance values predicted by the disclosed Z-parameter model can be verified by comparing the resistance values obtained from the model with simulated values. The two-port Y parameters for the substrate model are given by:  
             Y   =       [           y   11           y   12               y   21           y   22           ]     =         1        Z               [           Z   22           -     Z   12                 -     Z   21             Z   11           ]       =     [             G   11     +     G   12             -     G   12                 -     G   21               G   21     +     G   22             ]                 (   7   )                               
 
         [0114]    Therefore,  
               G   12     =       -     y   12       =       Z   12          Z                    (   8   )                               
 
         [0115]    which gives,  
               R   12     =            Z          Z   12       =          Z          Z   21                 (   9   )                               
 
         [0116]    wherein |Y| is a determinant of the Z matrix. The Y, Z, G and R matrices are symmetric because the resistive network between the contacts is a reciprocal network.  
         [0117]    Table 1 below shows the R 12  values for different separations (x) and contact widths calculated using the Z-parameter model described above and using a two-dimensional simulator.  
                                                                                                         TABLE 1                           Comparison of Z-parameter model and simulation R 12  values            Source   Sensor   R 12     R 12     R 12         Width   Width   (x = 10 μm)   (x = 40 μm)   (x = 100 μm)            (μm)   (μm)   Model   Sim.   Model   Sim.   Model   Sim.                    0.5   0.5   39.2 KΩ   38.7 KΩ   1.08 MΩ   1.04 MΩ   659 MΩ   591 MΩ       0.5   5     40 KΩ   38.6 KΩ   1.08 MΩ   1.04 MΩ   651 MΩ   590 MΩ       0.5   100   43.1 KΩ   38.6 KΩ   1.08 MΩ   1.04 MΩ   649 MΩ   590 MΩ       2   5   40.2 KΩ   38.5 KΩ   1.08 MΩ   1.04 MΩ   649 MΩ   589 MΩ       5   5   40.6 KΩ   38.5 KΩ   1.08 MΩ   1.04 MΩ   647 MΩ   588 MΩ       10   100   41.9 KΩ   38.5 KΩ   1.04 MΩ   1.04 MΩ   628 MΩ   588 MΩ                  
 
         [0118]    Table 1 shows that the largest difference between the resistance values predicted by the Z-parameter-based model and the simulated results is 11.66% for a separation of 10 μm, while for the 40 μm and 100 μm separations, the errors are 3.8% and 11.5%, respectively.  
         [0119]    Although the two-dimensional model is useful to illustrate the relevant substrate-coupling mechanisms, it cannot account for the influence of three-dimensional geometries on substrate noise coupling. A scalable, three-dimensional, Z-parameter model can be produced using a three-dimensional simulator (e.g., MOMENTUM EM, Advanced Design System 1.5, from Agilent Technologies). A typical three-dimensional simulator allows a user to define different contact shapes and produces an N-port, S-parameter output file, wherein N is a number of contacts in the layout.  
         [0120]    Z parameters can be calculated from S parameters in the following manner. The S and Y parameters for a 2-port network are given by:  
         
       b 
       1 
       =S 
       11 
       a 
       1 
       +S 
       12 
       a 
       2  
       i 
       1 
       =Y 
       11 
       V 
       1 
       +Y 
       12 
       V 
       2  
     
           b   2   =S   12 α 1   +S   22   a   2  i 2   =Y   12   V   1   +Y   22   V   2   (10)  
         [0121]    Substituting for a ij  and b ij  in terms of the port voltages and currents in the S-parameter equation:  
                   V   1     -       Z   0          i   1           2          Z   0           =         S   11          (         V   1     +       Z   0          i   1           2          Z   0           )       +       S   12          (         V   2     +       Z   0          i   2           2          Z   0           )                 (   11   )             and                               V   2     -       Z   0          i   2           2          Z   0           =         S   21          (         V   1     +       Z   0          i   1           2          Z   0           )       +         S   22          (         V   2     +       Z   0          i   2           2          Z   0           )       .               (   12   )                               
 
         [0122]    From Equation (11):  
           Z   0   i   1   +S   11   Z   0   i   1   +S   12   Z   0   i   2   =V   1   −S   11   V   1   −S   12   V   2 .  (13)  
         [0123]    From Equation (12):  
           Z   0   i   2   +S   21   Z   0   i   1   +S   22   Z   0   i   2   =V   2   −S   21   V   1   −S   22   V   2 .  (14)  
         [0124]    Then,  
                   Z   0          [             S   11     +   1           S   12               S   21             S   22     +   1           ]       [                      i   1               i   2           ]     =           [           1   -     S   11             -     S   12                 -     S   21             1   -     S   22             ]          [           V   1               V   2           ]       ⇒         Z   0          (     S   +   I     )            [           i   1               i   2           ]         =           (     I   -   S     )          [           V   1               V   2           ]            
     [       i   1       i   2       ]     =         1     Z   0              (     S   +   I     )       -   1              (     I   -   S     )          [       V   1       V   2       ]         =     Y        [       V   1       V   2       ]                     (   15   )                               
 
         [0125]    So:  
             Y   =       1     Z   0              (     S   +   I     )       -   1            (     I   -   S     )               (   16   )                               
 
         [0126]    and  
         Z=Y −1 .  (17)  
         [0127]    For the special case of two contacts, the Z and Y parameters are related to each other as follows:  
                 Z   11     =       Y   22          Y            ,       Z   12     =       -     Y   12            Y            ,       Z   21     =       -     Y   21            Y            ,       Z   22     =       Y   11          Y                    (   18   )                               
 
         [0128]    For purposes of illustrating the three-dimensional model, the substrate shown in FIG. 12 is considered. Substrate  1200  in FIG. 12 is a 0.5 μm MOSIS HP CMOS process. The resistance values used for the examples discussed herein comprise average values for the MOSIS HP CMOS process and differ somewhat from a general heavily doped substrate.  
         [0129]    Data obtained from three-dimensional simulations (e.g., MOMENTUM) indicates that Z 11  is a function of both contact area and contact perimeter. Accordingly, in one exemplary embodiment, the following equation can be used to model Z 11 :  
               Z   11     =     1         K   1        Area     +       K   2        Perimeter     +     K   3                 (   19   )                               
 
         [0130]    where K 1 , K 2  and K 3  are empirically fit parameters, which are discussed more fully below.  
         [0131]    [0131]FIG. 13 shows a graph  1300  of 1/Z 11  as a function of contact width for square contacts. As can be seen by curve  1320  based on Equation (19), 1/Z 11  increases quadratically with contact width. Further, various data points  1310  calculated by a three-dimensional simulator show that the curve  1320  predicted by Equation (19) is accurate. FIG. 14 shows a bar graph  1400  comparing results from the above Z-parameter model (labeled as “model” in the graph  1400 ), simulation results (labeled as “simulation”), and results from measurements made in a test chip (labeled as “measurement”) for a variety of different contact dimensions. FIG. 14 shows that the predicted results using Equation (19) are superior. Minor deviations between the modeled and simulated Z 11  values and the measured values are expected due to the uncertainty in the substrate-doping profiles used in the model and the simulations.  
         [0132]    The dependence of Z 11  on nearby contacts can also be examined for three-dimensional geometries. Three-dimensional simulations (in the illustrated graphs, from MOMENTUM) show that for contact separations larger than a certain value, Z 11  values do not change due to nearby contacts. In particular, simulation results show that for a square 5 μm contact with no surrounding contacts, the Z 11  value is 535 Ω; for a 5 μm contact surrounded at each side by four identical contacts with a separation of 0.5 μm, the value of Z 11  drops to 403 Ω; and for a 5 μm contact surrounded by four identical contacts with a separation of 10 μm, the value of Z 11  is 528 Ω. From these and other simulations, it was determined that for the exemplary substrate shown in FIG. 12, the value of Z 11  converges to a single contact value at a separation x substantially equal to or larger than 10 μm.  
         [0133]    [0133]FIG. 15 is a flowchart  1500  showing one exemplary method of determining a Z 11  parameter for a given contact. At process block  1510 , the Z parameter is modeled as a function of the area and perimeter of the contact, where the function also includes multiple coefficients (or parameters), at least some of which are dependent on the properties of the given substrate. For example, the Z parameter can be modeled according to Equation (19) with the multiple coefficients being K 1 , K 2  and K 3 . At process block  1520 , a plurality of different data points (e.g., ten) are calculated for Z 11  using a single contact (e.g., having a square and/or rectangular geometry). The data points can be obtained, for example, from a three-dimensional simulator or any other suitable method. In one exemplary embodiment, the contact sizes are varied over a range of values. For example, contact sizes can be varied from 2.4 μm to 100 μm, though this range is not limiting in any fashion. At process block  1530 , the values of the multiple coefficients in the function (e.g., K 1 , K 2  and K 3 ) are determined by curve-fitting the function with the sampled data points. For example, in one exemplary embodiment, the values of K 1 , K 2  and K 3  are determined by curve-fitting Equation (19) to the Z 11  data. A variety of known curve-fitting techniques can be used to obtain the relevant values. For the MOSIS HP CMOS process illustrated in FIG. 12, for instance, the following values for K 1 , K 2 , and K 3  were obtained: K 1 =3.1911×10 6  (1/Ωm 2 ); K 2 =47.6177 (1/Ωm); and K 3 =7.0579×10 −4  (1/Ω).  
         [0134]    In contrast to Z 11 , the value of Z 12  is typically a function of the contact geometries and spacing. FIG. 16 is a logarithmic graph  1600  showing the value of Z 12  as a function of separation x. In particular, graph  1600  shows simulated Z 12  values at data points  1610  for 5 μm square contacts and at data points  1620  for 20 μm square contacts. As can be seen in FIG. 16, the values Z 12  have an exponentially decaying behavior with increasing separation x. According to one exemplary embodiment, this behavior can be modeled as:  
           Z   12   =αe   −βx   (20)  
         [0135]    wherein β is a process-dependent parameter, and a is a value of Z 12  at x=0. The value of a generally depends on contact dimensions. At zero separation, the two contacts merge into a single contact. The value of α is equal to the Z 11  value of this single, merged contact. Therefore, the value of α can be calculated using the total area and perimeter of the merged contact. In this model, a introduces the area and perimeter dependence of contacts into the Z 12  model so that the contact cross-coupling resistances depend on the area, perimeter, and spacing of contacts. In contrast, the previous models completely ignore perimeter dependence for cross-coupling resistances.  
         [0136]    From simulations, it has been observed that β is independent of the contact dimensions and is a constant for a given substrate process. For this reason, the value of can be obtained by curve-fitting the value to simulated or measured data. Predicted values from Equation (20) are also shown in FIG. 16. In particular, curve  1630  shows the predicted values for 5 μm contacts, whereas curve  1640  shows the predicted values for 20 μm contacts. As can be seen in FIG. 16, there is good agreement between the simulated values and the predicted values. It can also be seen that β (the slope of the curves  1630  and  1640 ) is independent of contact geometry since the slopes of the curves  1630 ,  1640  for different contact sizes are about the same.  
         [0137]    The ability to model contacts having various shapes and sizes relative to one another is significant, as most circuits do not have uniform, simple contacts. An example of two contacts with different sizes is shown in FIG. 17. In particular, FIG. 17 shows a first contact  1710  separated from a second contact  1720  by a separation x, wherein x is the distance between inner edges of the two contacts, and a relative position y that is defined to be zero when the bottom edges of two contacts are aligned, and increases in the direction of the arrow  1730 . According to the disclosed Z-parameter model, Z 12  between two contacts decreases exponentially with an increase in the separation x, as was illustrated in FIG. 16, wherein both contacts were assumed to have the same length in they direction.  
         [0138]    [0138]FIG. 18 is a graph  1800  showing the value of Z 12  versus relative position y for a fixed separation of 35 μm and a width of 100 μm for the contact  1710  and a width 10 μm for the contact  1720 . As seen in FIG. 18, the value of Z 12  reaches a maximum at y=45 μm, which corresponds to a position at which the center of the smaller contact  1720  coincides with a center of the larger contact  1710  (i.e., when the center coincides with w/2).  
         [0139]    According to one exemplary embodiment, the value of Z 12  can be modeled as a polynomial function of y according to the following equation:  
           Z   12   =ay   2   +by+c   (21)  
         [0140]    wherein coefficients a and b are related to each other since Z 12  is symmetrical with w/2. Accordingly,  
               w   2     =         -   b       2      a       .             (   22   )                               
 
         [0141]    In Equation (21), the value of c is equal to the value of Z 12  at a fixed separation x=x a . The value of c can be found, for example, by:  
           c=Z   12 | x═x     a     =αe   −βx     a   .  (23)  
         [0142]    For Equation (23), x a  is the separation used for curve fitting they dependence of Z 12 . Hence, only one additional parameter is required to model the Z 12  dependence on the relative contact position.  
         [0143]    The coefficients a, b and c are scalable with contact dimensions. Therefore, once the parameters are extracted for a specific contact geometry, they can be scaled for different contact geometries. For instance, FIGS.  19 A- 19 C show two contacts  1910  and  1920  at x a =0 for three different values of y: 100 μm, 80 μm, and 50 μm, respectively. In FIGS.  19 A- 19 C, the first contact  1910  has dimensions of 10 μm×10 μm and the second contact  1920  has dimensions of 10 μm×10 μm. For these three different cases, the maximum deviation in the simulated value of Z 11  is 1.6%. Thus, the value of Z 11  is substantially constant for contacts having a fixed area and perimeter. Because the Z 11 (α) value is independent of y, coefficients a, b, and c are scalable. Further, FIGS.  19 A- 19 C show that the coefficients a, b, and c each have the same dependence on contact dimensions. Thus, the coefficients can be scaled for different geometries using the following relationships:  
                     a   new     =       a   old     ×       α   new     α                 b   new     =       b   old     ×       α   new     α                 c   new     =       c   old     ×       α   new     α                     (   24   )                               
 
         [0144]    where a old  and a new  are equal to the Z 11  value of the merged contacts before and after scaling, respectively.  
         [0145]    In FIGS.  19 A- 19 C, the length of the second contact  1920  is small with respect to the first contact  1910 . By contrast, FIGS.  20 A- 20 B show two equal-sized contacts  2010 , and  2020  for two different y positions. In particular, the first contact  2010  has dimensions of 10 μm×110 μm, and the second contact  2020  has dimensions of 110 μm×10 μm and are shown at y=100 μm and y=500 μm, respectively. As can be seen from the Z 11  values displayed in FIGS.  19 A- 19 C, the value of Z 11  is substantially constant for a fixed area and perimeter. In FIG. 20, the illustrated values have a deviation of 3.3%. FIGS.  20 A- 20 B further verify that the coefficients a, b and c are scalable with contact dimensions.  
         [0146]    [0146]FIGS. 21 and 22 are flowcharts showing two exemplary methods for determining Z 12  as a function of x (FIG. 21) and as a function of y (FIG. 22). As noted above with respect to FIG. 17, Z 12  is a function of both x and y, where x is the separation between the contacts and y is the relative position of the two contacts. As also noted above, Z 12  is the ratio of the open-circuit voltage at the first contact to the input current at the second current, with all other contacts as open circuits. Thus, Z 12  can be written as:  
               Z   12     =         V   1       I   2            |       I   1     =   0       .             (   25   )                               
 
         [0147]    At process block  2110  in FIG. 21, the Z parameter is modeled as a function of the separation x. The function can also include multiple coefficients (or parameter), where at least one of the coefficients is dependent on the properties of the given substrate. For example, the Z parameter can be modeled according to Equation (20):  
           Z   12   =αe   −βx   (20)  
         [0148]    where β is constant for a given substrate and has units of (1/m), and α depends on the contact dimensions and has units of Ω. At process block  2120 , a plurality of different data points (e.g., ten) are calculated for Z 12  using two contacts (e.g., contacts having a square and/or rectangular geometry). The data points can be obtained, for example, from a three-dimensional simulator or any other suitable method. For each of the data points, the sizes of the contacts and the separations between them can be varied. For example, the separation can be varied over a range of values (e.g., from 10 μm to 120 μm) for multiple contact sizes (e.g., in a range from 2.4 μm to 100 μm). At process block  2130 , the values of the multiple coefficients in the function are determined, wherein at least one of the coefficients is determined by curve fitting the function to the sampled data points. In one particular embodiment, for example, the value of α in Equation (20) is determined by solving for the value of the two contacts at zero separation. In particular, the value of α is equal to the Z 11  value of the two contacts when they are merged into a single contact with zero separation. Thus, the value of α can be obtained from Equation (19), which can be modified as follows:  
             α   =     1         K   1        Area     +       K   2        Perim     +     K   3                 (   26   )                               
 
         [0149]    where Area and Perim are the area and the perimeter of the merged contact, respectively. In this particular embodiment, the value of β can be determined by curve fitting Equation (20) above with the data points and the value of α obtained according to Equation (26). A variety of known curve-fitting techniques can be used.  
         [0150]    [0150]FIG. 22 is a flowchart showing an exemplary method for determining Z 12  as a function of y. At process block  2210 , the Z parameter is modeled as a function of the relative position y. The function can further include multiple coefficients (or parameters), where at least one of the coefficients is scalable with the contact dimensions. For example, the Z parameter can be modeled according to Equation (21):  
           Z   12   =ay   2   +by+c   (21)  
         [0151]    where a, b, and c are scalable with the contact dimensions and have units of Ω/m 2 , Ω/m, and Ω, respectively. At process block  2220 , a plurality of different data points (e.g., ten) are calculated for Z 12  using two contacts (e.g., contacts having a square and/or rectangular geometry). The data points can be obtained, for example, from a three-dimensional simulator or any other suitable method. In one particular embodiment, the geometries of the contacts are chosen such that one of the contacts is larger than the other, and the value of y is adjusted for several values from 0 μm to the size of the larger contact for a fixed separation x a . This process can be repeated for contacts having different geometries until the desired number of data points is obtained. Moreover, the geometry of the contacts chosen can also vary. For example, the contact sizes can be in the range from 2.4 μm to 100 μm, though this range is not limiting. At process block  2230 , the values of the multiple coefficients in the function are determined, wherein at least one of the coefficients is determined by curve fitting the function to the sampled data points. In one particular embodiment, the value of c in Equation (21) is determined. The value of c can be obtained using the following relationships:  
           Z   12 |y= 0   =c  and  Z   12 | y=0   =ay   2   +by+c|   y=0   =c   (27)  
         [0152]    Thus,  
           c=Z   12 | y=0   =ae   −βx     a   .  (28)  
         [0153]    The values of a and b in Equation (21) can be determined by curve fitting to the data points obtained in process block  2220  and the value of c. A variety of known curve-fitting techniques can be used.  
         [0154]    In certain embodiments, once the coefficients have been extracted for a specific pair of contacts, new coefficients can be obtained for any contact size. For example, with respect to the model shown in Equation (21), when the contact dimensions change, the new value of a for the contact pair can be calculated by:  
               α   new     =     1         K   1     ×     Area   new       +       K   2     ×     Perim   new       +     K   3                 (   29   )                               
 
         [0155]    where Area new  and Perim new  are the area and the perimeter of the new merged contacts at zero separation, respectively. Likewise, Z 12  for different contact sizes can be calculated by scaling coefficients a, b and c by  
           α   new     α     .                         
 
         [0156]    When x and y change at the same time, Z 12  can be modeled as the product of these two effects according to the following equation:  
           Z   12   =[ay   2   +by+c]e   −β(x−x     a   ).  (30)  
         [0157]    Any of the methods described above for determining a scalable Z parameter can be modified for use with Equation (30).  
         [0158]    [0158]FIG. 23 is a logarithmic graph  2300  showing the value of Z 12  versus the separation x and relative position y as they change simultaneously. In particular, graph  2300  shows two curves  2310 ,  2320  representing the values of Z 12  predicted by a three-dimensional simulator and by Equation (30), respectively. Because the two curves  2310 ,  2320  are in good agreement with one another, they are essentially overlapping in FIG. 23.  
         [0159]    [0159]FIG. 24 shows a first contact  2410  that is partially surrounded by another contact  2420 . As shown in FIG. 24, the number of interacting (i.e., coupling) sides to the first contact  2410  is more than one. Consequently, the contact  2420  can be divided into smaller rectangular portions  2430 A and  2430 B. The coupling of the contact  2410  with portions  2430 A and  2430 B can be calculated separately using the models presented above. In one embodiment, the overall Z 12  between the two contacts is found by superposing the Z 12  values calculated for the smaller portions.  
         [0160]    [0160]FIGS. 25 and 26 are logarithmic graphs  2500  and  2600  showing a comparison between the values of Z 12  and a separation y predicted using Equation (30) and using a three-dimensional simulator for the contact architecture shown in FIG. 24. For both FIGS. 25 and 26, the size of contact  2410  was 10 μm×10 Am and the L-shaped contact  2420  comprised two 10 μm×100 μm rectangles. FIG. 25 shows data points  2510  calculated by a three-dimensional simulator and a curve  2520  predicted by Equation (30) for the architecture shown in FIG. 24 where x 0 =30 μm. Similarly, FIG. 26 shows data points  2610 ,  2612 ,  2614  calculated by a three-dimensional simulator for x 0 =10, 30, and 50 μm, respectively. FIG. 26 also shows curves  2620 ,  2622 ,  2624  predicted by Equation (30) for the same values of x 0 . As can be seen from FIGS. 25 and 26, there is good agreement between Equation (30) and the simulated results.  
         [0161]    [0161]FIG. 27 expands these results into three-dimensions and shows a cross section  2700  of a three-dimensional plot of Z 12  as a function of x and y. FIG. 28 shows the cross section  2700  as a two-dimensional plot  2800  along only the x and y axes. In FIG. 28, the value of the Z 12  increases as the contour lines darken. FIG. 29 is a block diagram of the contact architecture used to obtain FIGS. 27 and 28, and illustrates various aspects of the figures. For example, with reference to FIG. 29, consider the movement of the small square contact  2910  along the contour lines shown in FIG. 28. When the small contact  2910  is close to portion  2930 A, the major component of the resulting coupling will be from the portion  2930 A. This situation is illustrated when the square contact  2910  is located at the point labeled “A” in FIG. 29. By contrast, when the small contact  2910  is at the point labeled “B,” the maximum coupling is due to the portion  2930 B. At the point labeled “C,” the square contact  2910  is equidistant from both the portions  2930 A and  2930 B. Thus, the coupling from both the portions  2930 A,  2930 B is equally significant. Because of the contribution from both portions  2930 A,  2930 B, the Z 12  value is the same as that at point A or B, even though it is not at a minimum distance from either portion  2930 A or  2930 B. As shown in FIG. 28, a symmetry axis  2810  exists along the diagonal of the L-shaped contact  2920  due to the symmetry of the contact shape. These models were also tested on asymmetric shapes and a good agreement was found between simulated values and values predicted by the models.  
         [0162]    [0162]FIG. 30 illustrates an example of three-sided coupling between a square contact  3010  and a U-shaped contact  3020 . FIG. 31 is a logarithmic graph  3100  showing a comparison between the value of Z 12  and a separation y predicted by the Equation (30) and calculated by a three-dimensional simulator for the contact architecture shown in FIG. 30. FIG. 31 shows data points  3110 ,  3112 ,  3114  predicted by a three-dimensional simulator where x 0 =10, 30 and 45 μm, respectively. FIG. 31 also shows curves  3120 ,  3122 ,  3124  predicted by Equation (30) for the same values of x 0 . FIG. 32 is a similar logarithmic graph  3200  showing a comparison between the value of Z 12  and a separation x where y has a value of 40 μm. FIG. 32 shows data points  3210  calculated by a three-dimensional simulator and a curve  3220  predicted by Equation (30) for the architecture shown in FIG. 30. For both FIGS. 31 and 32, the contact  3010  was 10 μm×10 μm and the U-shaped contact  3020  comprised three 10 μm×100 μm rectangles. As can be seen by FIGS. 31 and 32, there is good agreement between Equation (30) and the simulated results.  
         [0163]    [0163]FIG. 33 illustrates an example of four-sided coupling between a square contact  3310  and a surrounding square contact  3320 . FIG. 34 is a graph  3400  showing a comparison between the value of Z 12  and a separation y predicted by Equation (30) and by a three-dimensional simulator for the contact architecture shown in FIG. 33. In particular, FIG. 34 shows data points  3410  that were calculated by a three-dimensional simulator and a curve  3420  predicted by Equation (30) for the architecture shown in FIG. 33. FIG. 35 is a three-dimensional plot of Z 12  for varying x and y values for the architecture shown in FIG. 33. For both FIGS. 34 and 35, the contact  3310  was 10 μm×10 μm and the square-shaped contact  3320  comprised four 10 μm×100 μm rectangles. As can be seen by FIGS. 34 and 35, there is good agreement between Equation (30) and the simulated results.  
         [0164]    Experimental Results  
         [0165]    In this section, a comparison of the accuracy of the Z-parameter models for heavily doped substrate with three-dimensional simulations for a wide variety of contact shapes and spacings is presented. These examples demonstrate that the disclosed embodiments are both accurate and efficient in predicting substrate resistances. In previous numerical-based approaches, contacts are divided into smaller panels and a large resistive network extracted. In these panel-based approaches, charge or current distribution is calculated for equipotential contact surfaces. Because the current distribution is not uniform on the surface, each contact needs to be divided into panels. As a result, the resistive arrays become large and require a significant computational effort. By contrast, the disclosed Z-parameter models can be used directly to generate a compact network representation in an efficient manner.  
         [0166]    [0166]FIG. 36A illustrates a non-scalable approach and shows two contacts  3610 ,  3620  discretized into panels. By contrast, FIG. 36B shows the same contacts  3610 ,  3620  as used in certain exemplary embodiments of the disclosed models. Table 2 is a comparison of the resistance values calculated from an exemplary embodiment of the disclosed models versus the resistance values calculated using simulations. As seen in Table 2, the error between the two less than 5%.  
                                                               R 11 (Ω)   R 22 (Ω)   R 12 (kΩ)                           Model   221   221   21.7           Simulation   232   232   22.2                      
 
       Table 2: Comparison of Simulated and Modeled Resistance Values for FIGS.  36 A and  36 B  
       [0167]    The disclosed, Z-parameter models can also be used for contacts of different shapes. For example, consider contacts  3710  and  3720  shown in FIG. 37A. Table 3 shows the resistance values for the contacts in FIG. 37A with a separation of 40 μm as calculated by an exemplary embodiment of the disclosed models and by simulations. As seen in Table 3, the exemplary Z-parameter model accurately computes the substrate resistances within 5% of the simulated values.  
                                                               R 11 (Ω)   R 22 (Ω)   R 12 (kΩ)                           Model   252   294   10.96           Simulation   264   292   11.29                      
 
       Table 3: Comparison of Simulated and Modeled Resistance Values for FIG.  37 A  
       [0168]    The disclosed, Z-parameter models can also be used for more than two contacts. For example, FIG. 37B shows three contacts  3730 ,  3740 , and  3750 . Table 4 shows the computed resistance values for the contacts in FIG. 37B. As seen in Table 4, an exemplary embodiment of the disclosed models accurately computes the substrates resistances within 8% of the simulated values.  
                                                                                 Element   Model   Simulation                                        R 11     249   Ω   261   Ω           R 22     138   Ω   141   Ω           R 33     109   Ω   118   Ω           R 12     6.9   kΩ   7.3   kΩ           R 13     21.4   kΩ   22.4   kΩ           R 23     14.4   kΩ   14.2   kΩ                      
 
       Table 4: Comparison of Simulated and Modeled Resistance Values for FIG.  37 B  
       [0169]    As can be seen, the traditional approaches divide the contacts into smaller panels before extracting the resistive network for the substrate. With certain embodiments of the Z-parameter models, however, the resistance values can be directly extracted. For example, consider the network shown in FIGS. 36A and 36B. For FIG. 36A, each pair of contacts was discretized into a 20×20 matrix. The resistance values were then determined by inverting this dense matrix, a process that has a complexity of 20 3  if a direct method is used. Using certain embodiments of the disclosed Z-parameter models, however, only the inverse of a 2×2 matrix needs to be calculated. Next, consider the three contact case shown in FIG. 38. Using the known panel-based method, a first contact  3810  is divided into n 1  panels, a second contact  3820  into n 2  panels, and a third contact  3830  into n 3  panels. As a result of this contact discretization, the Z matrix will be a dense matrix of size (n 1 +n 2 +n 3 )×(n 1 +n 2 +n 3 ). By contrast, certain embodiments of the disclosed Z-parameter model have a matrix size of 3×3 for the three contacts.  
         [0170]    In general, the Z matrix for the panel-based approach has a size Z size  of:  
               Z   size     =       (       ∑     i   =   1     K          n   i       )          (       ∑     i   =   1     K          n   i       )               (   31   )                               
 
         [0171]    where K is the number of contacts and n i  is the number of panels for the ith contact. By contrast, the size of the matrix for certain embodiments of the disclosed scalable approach have a size of K×K, which is a substantially smaller matrix. On account of this smaller matrix size, the disclosed Z-parameter model is computationally efficient and can handle a large number of contacts.  
         [0172]    Table 5 shows a comparison of the approaches for the examples given in FIGS. 36, 37, and  38 .  
             Example       Model       Simulation             FIG   .              36           2   ×   2           880   ×   880               FIG   .              37           2   ×   2           395   ×   395               FIG   .              38           3   ×   3           1267   ×   1267                                     
 
       Table 5: Size of Simulated and Modeled Z Matrices for Tables 2-4.  
       [0173]    The disclosed Z-parameter model has been validated on a test chip. The test chip was fabricated by a 0.35 μm CMOS TSMC process through MOSIS. The chip had several substrate test structures. The test structures that were used for validation of the Z-parameter model had several p +  contacts of different shapes and sizes. All the contacts were connected to 60 μm×60 μm DC probe pads. The measurement setup consisted of an HP 4156B semiconductor-parameter analyzer and a CASCADE probe station.  
         [0174]    The test chip had a downbond that made an electrical connection from the package cavity to the bottom of the chip. This downbond was also connected to one of the chip&#39;s pads, making it possible to ground the backplane during the measurements by using a pin. The backplane of the die was contacted to a down-bonding metal plate through the conductive epoxy. The contact between the substrate and the epoxy behaved as a nonlinear element, which had to accounted for in the measurement results. The backplane nonlinearity could be characterized, for example, using the method described in A. Samavedam et al., “A Scalable Substrate Noise Coupling Model for Design of Mixed-Signal ICs,”  IEEE Journal of Solid - State Circuits , vol. 35, pp. 895-903, June 2000.  
         [0175]    [0175]FIG. 39 is a bar graph  3900  showing measured Z 11  values  3910  versus predicted Z 11  values  3920  from an exemplary Z-parameter model for a variety of different-sized rectangular contacts. The curve-fitting parameters (in this case, the parameters from Equation (19)) obtained from the measured Z 11  values were: K 1 =3.9157×10 6  (1/Ωm 2 ), K 2 =55.3087 (1/Ωm), and K 3 =6.9400×10 −4  (1/Ω). By comparison, the curve-fitting parameters obtained from the simulated data and used in the Z-parameter model were: K 1 =3.1911×10 6  (1/Ωm 2 ), K 2 =47.6177 (1/Ωm), and K 3 =7.0579×10 4  (1/Ω).  
         [0176]    The test chip included many different contact geometries in addition to the standard rectangular contacts. Measurement results show that the exemplary Z-parameter model also predicts Z 11  values accurately for the different shapes. For example, FIGS.  40 A- 40 C show an exemplary L-shaped contact, a U-shaped contact, and a square-shaped contact, along with the resulting resistances determined by actual measurements and as predicted by the exemplary model. The area and perimeter for each contact is also shown in FIGS.  40 A- 40 C. As can be seen by the values displayed, the exemplary model agrees with the measurements for all three contacts.  
         [0177]    In order to measure a variety of Z 12  values, an array of contacts with different separations in the test chip was used. For example, eight 2.4 μm×2.4 μm contacts having four different separations were considered. FIG. 41 is a logarithmic graph  4100  displaying the value of Z 12  as a function of separation x between the contacts. In particular, the graph  4100  shows data points  4110  corresponding to the measured values and a curve  4120  corresponding to the predicted values from an exemplary Z-parameter model. The curve-fitting parameters (i.e., the parameters from Equation (20)) obtained from the measured Z 12  values were α=898.15 Ω and β=8.676×10 4  (1/m). By comparison, the value of β obtained from curve-fitting to three-dimensional simulation results for the Z-parameter model was about 8.3×10 4  (1/m). The α value was calculated by considering the two contacts as having zero separation between them and using Equation (19) to determine the value of Z 11  for the merged contact. The resulting α value was 824.37 Ω, which is in good agreement with the measured value of 898.15 Ω.  
         [0178]    The dependence of α on contact dimensions can also be verified through measurements taken on the test chip. FIG. 42 shows three different-sized pairs of contacts having a 10 μm separation. The values of a can be obtained from the ratio of  
         Z   12              -   β     ×   10                 μ                 m                             
 
         [0179]    where β=8.676×10 4  (l/m). FIG. 43 is a graph  4300  showing the value of a versus the dimensions of the contact when the separation x is zero. In particular, the graph  4300  shows data points  4310  obtained from measurements from the test chip and data points  4320  obtained using the exemplary Z-parameter model. FIG. 43 also shows that the value of α is equal to the value of Z 11  when the two contacts are merged.  
         [0180]    Modeling Substrate Noise Coupling in Lightly Doped Substrates  
         [0181]    In this section, the disclosed principles are adapted for use in modeling substrate noise coupling in a lightly doped substrate. For purposes of illustrating the disclosed Z-parameter models, reference is made to two exemplary lightly doped substrates. A first exemplary type of lightly doped substrate is illustrated in FIG. 44 and has two layers: a p +  channel-stop implant  4410  and a uniform lightly doped layer  4412 . The resistivities and thicknesses for these layers are also shown in FIG. 44. A second exemplary type of lightly doped substrate is similar to the first, but does not have the p +  channel-stop implant layer. These substrate processes are used for illustrative purposes only and should not be construed as limiting in any way. Instead, the disclosed principles and methods can be applied to any lightly doped substrate process.  
         [0182]    In order to explain how various three-dimensional geometries influence the calculation of Z parameters for lightly doped substrates, an examination of a two-dimensional model for Z parameters is helpful. FIGS. 45A and 45B show two-dimensional simulated results of current flow from a single contact to a groundplane in the two exemplary substrates discussed above. In particular, FIG. 45A shows a substrate  4500  having a thin p +  channel-stop implant layer followed by a lightly doped layer, and FIG. 45B shows a substrate  4510  having only a homogenous lightly doped layer. (In FIGS. 45A and 45B, a substrate thickness of 20 μm was used instead of 675 μm specified by the process information because of plotting limitations in the two-dimensional simulator.) As can been seen from FIG. 45A, the current-flow lines indicate that the p +  channel-stop implant layer creates a low-resistance path for the current flow. Thus, the injected current first spreads over the surface before it flows to the grounded backplane. In this type of substrate, the resistive path from the contact to the backplane is dependent on the overall chip surface, not just the contact dimensions. By contrast, as can be seen from FIG. 45B, the current does not spread on the surface for a homogeneous lightly doped substrate, and thus Z 11  changes with contact width.  
         [0183]    To further illustrate this point, FIG. 46 is a graph  4600  of Z 11  as a function of the contact width for the lightly doped substrate having a channel-stop implant layer and obtained using a two-dimensional simulator. In particular, data points  4610  show values of Z 11  extracted from simulations. As can be seen from curve  4620 , which is interpolated from the data points  4610 , Z 11  stays constant with contact width. FIG. 47 is a logarithmic graph  4700  of Z 12  as a function of the separation x between an injecting and a sensing contact. As can be seen in FIG. 47, data points  4710  decrease linearly with the separation x. This linear behavior indicates that, in the two-dimensional environment, Z 12  in lightly doped substrates decreases exponentially with the separation as it does in heavily doped substrates. Thus, the data points  4710  from FIG. 47 can be represented as an exponential function of the separation x. For example, a curve fit on the data from FIGS. 46 and 47 shows that Z 12  in lightly doped substrates can be modeled as:  
           Z   12   =αe   −βx   (32)  
         [0184]    where α and β are process-dependent parameters that can be extracted using a simulator. FIG. 47 also shows a curve  4720 , which was modeled using Equation (32), and which shows good agreement with the data points  4710 . FIG. 47 also illustrates that the value of Z 12  changes at a small rate with separation. Consequently, the value of μ is smaller for lightly doped substrates than for heavily doped substrates.  
         [0185]    As shown in FIG. 45A, the p +  channel-stop implant layer in a lightly doped substrate causes current spreading on the chip surface. Consequently, Z 11  can also be a function of the chip area in certain lightly doped substrates. Discontinuities in the channel-stop implant layer due to n-well structures can prevent the current flow on the chip surface. Thus, the effective chip area for a contact can be smaller than the overall chip area. FIG. 48 is a bar graph  4800  illustrating the simulated dependence of Z 11  on die area in lightly doped substrates when the contact size is kept constant at 50 μm×50 μm. By contrast, FIG. 49 is a bar graph  4900  illustrating that there is no dependence of Z 11  on die area in heavily doped substrates.  
         [0186]    One of the shortcomings of a two-dimensional device simulator (e.g., MEDICI) is that only the width of the contacts is taken into account during simulations. In a typical two-dimensional simulator, the third dimension of the contact is assumed to be infinitely long for a given contact width. As was seen in FIG. 49, differences in die area do not create a significant impact for heavily doped substrates. As was seen in FIG. 48, however, chip area can have a significant impact for lightly doped substrates.  
         [0187]    [0187]FIG. 50 is a graph  5000  illustrating the value of Z 11  as a function of contact perimeter for a constant die area. As can be seen by curve  5020 , which passes through simulated data points  5010 , the value of Z 11  does have a dependence on contact size, a result that was not predicted by the two-dimensional simulators.  
         [0188]    A curve fit to the simulated results shows that Z 11  in a lightly doped substrate can be modeled as:  
               Z   11     =       1         K   1        Perimeter     +     K   2         .             (   33   )                               
 
         [0189]    Moreover, in certain embodiments, die-area and contact-area dependence can be incorporated into the Z 11  model.  
         [0190]    Three-dimensional simulations for lightly doped substrates also show a different behavior for Z 12  than that predicted by the two-dimensional simulations. FIG. 51 is a logarithmic graph  5100  showing the value of Z 12  as a function of separation x for a lightly doped substrate. FIG. 51 indicates that Z 12  should be modeled such that log(Z 12 ) is linear for larger separations and has asymptotic-like behavior for separations approaching zero. In one embodiment, for instance, a 0th order modified Bessel function of second kind, K 0 (x), is used to model Z 12 . In this embodiment, the leading term in the asymptotic expansion of K 0 (x) for large x is:  
                 π     2      x                     -   x       .             (   34   )                               
 
         [0191]    The logarithm of Equation (34) is equal to:  
               log        (       K   0          (   x   )       )       =       -   x     +     log        (       π   2       )       -       1   2            log        (   x   )       .                 (   35   )                               
 
         [0192]    And for large x,  
                 log        (   x   )       x        1.           (   36   )                               
 
         [0193]    Hence, in Equation (34), log(x) can be neglected with respect to x and log  
       (       π   2       )                         
 
         [0194]    is a constant term. Therefore, the logarithm of K 0 (x) changes linearly with the separation for large separations. Based on these observations, in one exemplary embodiment, Z 12  in lightly doped substrates can be modeled as:  
           Z   12 ( x )=α K   0 (β x )  (37)  
         [0195]    where α and β are process-dependent parameters. These parameters can be extracted, for example, from a three-dimensional simulator or any other suitable method. FIG. 52 is a graph  5200  showing Z 12  as a function of separation x for a lightly doped substrate. Data points  5210  were found using a three-dimensional simulator, whereas curve  5220  was modeled by Equation (37). As can be seen from FIG. 52, the disclosed model is in good agreement with the simulated results.  
         [0196]    Having illustrated and described the principles of the illustrated embodiments, it will be apparent to those skilled in the art that the embodiments can be modified in arrangement and detail without departing from such principles. For example, the disclosed methods for substrate modeling are not limited to using Z parameters, but can be modified to use other network parameters instead (e.g., S parameters). In view of the many possible embodiments, it will be recognized that the illustrated embodiments include only examples and should not be taken as a limitation on the scope of the invention. Rather, the invention is defined by the following claims. We therefore claim as the invention all such embodiments that come within the scope of these claims.