NAT L !HST OF STAND & TECH R.I.C

AlllDM DESTTB

r

NIST

PUBLICATIONS

NIST SPECIAL PUBLICATION 400-91

U.S. DEPARTMENT OF COMMERCE/Technology Administration

National Institute of Standards and Technology

(1=

A Collection of Computer

Programs for Two-Probe Resistance

(Spreading Resistance) and Four-Probe

Resistance Calculations, RESPAC

and Harry L. BerflHRz
7he National Institute of Standards and Technology was established in 1988 by Congress to "assist industry in the development of technology . . . needed to improve product quality, to modernize

manufacturing processes, to ensure product reliability . . . and to facilitate rapid commercialization ... of

products based on new scientific discoveries."

NIST, originally founded as the National Bureau of Standards in 1901, works to strengthen U.S.

industry's competitiveness; advance science and engineering; and improve public health, safety, and the

environment. One of the agency's basic functions is to develop, maintain, and retain custody of the national

standards of measurement, and provide the means and methods for comparing standards used in science,

engineering, manufacturing, commerce, industry, and education with the standards adopted or recognized

by the Federal Government.

As an agency of the U.S. Commerce Department's Technology Administration, NIST conducts basic

and applied research in the physical sciences and engineering and performs related services. The Institute does generic and precompetitive work on new and advanced technologies. NIST's research facilities are

located at Gaithersburg, MD 20899, and at Boulder, CO 80303. Major technical operating units and their

principal activities are listed below. For more information contact the Public Inquiries Desk, 301-975-3058.

Technology Services

• Manufacturing Technology Centers Program

• Standards Services

• Technology Commercialization

• Measurement Services

• Technology Evaluation and Assessment

• Information Services

Electronics and Electrical Engineering

Laboratory

• Microelectronics

• Law Enforcement Standards

• Electricity

• Semiconductor Electronics

• Electromagnetic Fields'

• Electromagnetic Technology'

Chemical Science and Technology

Laboratory

• Biotechnology

• Chemical Engineering'

• Chemical Kinetics and Thermodynamics

• Inorganic Analytical Research

• Organic Analytical Research

• Process Measurements

• Surface and Microanalysis Science

• Thermophysics^

Physics Laboratory

• Electron and Optical Physics

• Atomic Physics

• Molecular Physics

• Radiometric Physics

• Quantum Metrology

• Ionizing Radiation

• Time and Frequency'

• Quantum Physics'

Manufacturing Engineering Laboratory

• Precision Engineering

• Automated Production Technology

• Robot Systems

• Factory Automation

• Fabrication Technology

Materials Science and Engineering

Laboratory

• Intelligent Processing of Materials

• Ceramics

• Materials Reliability'

• Polymers

• Metallurgy

• Reactor Radiation

Building and Fire Research Laboratory

• Structures

• Building Materials

• Building Environment

• Fire Science and Engineering

• Fire Measurement and Research

Computer Systems Laboratory

• Information Systems Engineering

• Systems and Software Technology

• Computer Security

• Systems and Network Architecture

• Advanced Systems

Computing and Applied Mathematics

Laboratory

• Applied and Computational Mathematics^

• Statistical Engineering^

• Scientific Computing Environments^

• Computer Services^

• Computer Systems and Communications^

• Information Systems

'At Boulder, CO 80303. ^Some elements at Boulder, CO 80303.
Semiconductor Measurement Technology:

A Collection of Computer

Programs for Two-Probe Resistance

(Spreading Resistance) and Four-Probe

Resistance Calculations, RESPAC

John Albers

Semiconductor Electronics Division

Electronics and Electrical Engineering Laboratory

National Institute of Standards and Technology

Gaithersburg, MD 20899

and

Harry L. Berkowitz

Electronics Technology and Devices Laboratory

Fort Monmouth, NJ 07703

June 1993

U.S. DEPARTMENT OF COMMERCE, Ronald H. Brown, Secretary

NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY, Arati Prabhakar, Director
National Institute of Standards and Technology Special Publication 400-91

Natl. Inst. Stand. Technol. Spec. Publ. 400-91, 144 pages (June 1993)

CODEN: NSPUE2

U.S. GOVERNMENT PRINTING OFFICE

WASHINGTON: 1993

For sale by the Superintendent of Documents, U.S. Government Printing Office, Washington, DC 20402-9325
Semiconductor Measurement Technology:

A Collection of Computer Programs for

Two-Probe Resistance (Spreading Resistance)

and Four-Probe Resistance Calculations, RESPAC

Table of Contents

Page

Abstract 1 Introduction 2

History of the Schumann- Gardner Multilayer Laplace Equation 3

Effects of Probe Current Density 15

Calibration Data and the Probe Radius 16

Effects of Finite Layer Thickness 18

Atomic Densities and Carrier Densities 18

Status of Spreading Resistance Analysis 24

Discussion of the Programs 24

Calculation of the Two-Probe Resistance from the Resistivity 26

REGENTR 26

RGENGL 31

RGENBL 36

RGENVAR 41

Calculation of the Resistivity from the Two-Probe Resistance 46

BL 47

GL .51

VAR 55

Calculation of the Four-Probe Resistance from the Resistivity 59

PROBE24 59

FOURCAL 62

SHAZAM 65

AvailabiHty of RESPAC Software Package 68

Acknowledgments 68

References 69

Appendix A - RGENTR Listing 72

Appendix B - RGENGL Listing 80

Appendix C - RGENBL Listing 88

Appendix D - RGENVAR Listing 93

Appendix E - BL Listing 100

Appendix F - GL Listing 105

Appendix G - VAR Listing 113

Appendix H - PROBE24 Listing 121

Appendix I - FOURCAL Listing 127

Appendix J - SHAZAM Listing 136

iii
List of Figures

Page

1. Schematic representation of the multilayer geometry used in the Schumann and

Gardner miiltilayer analysis 6

2. Graphical representation of the three forms of the probe current density .... 8

3. The resistivity profile and the calculated spreading resistance for a Gaussian

implant-type structure 13

4. Geometry of the beveled material in which the semiconductor equations are solved by means of a finite element method 20

5. Carrier and atonoic distributions for a 15-/im Gaussian structure with

an opposite conductivity-type substrate 21

6. Carrier and atomic distributions for a 1.5-fim Gaussian structure with

an opposite conductivity-type substrate 22

7. Carrier and atomic distributions for a 0.25-/im Gaussian structure with

an opposite conductivity-type substrate 23

List of Tables

Page

1. Annotated input data file (rgentr.in) for RGENTR program 28

2. Annotated output data file (rgentr.out) for RGENTR program 29

3. Annotated log file (rgentr.log) for RGENTR program 30

4. Annotated input data file (rgengl.in) for RGENGL program 33

5. Annotated output data file (rgengl.out) for RGENGL program 34

6. Annotated log file (rgengl.log) for RGENGL program 35

7. Annotated input data file (rgenbl.in) for RGENBL program . 38

8. Annotated output data file (rgenbl.out) for RGENBL program 39

9. Annotated log file (rgenbl.log) for RGENBL program 40

10. Annotated input data file (rgenvar.in) for RGENVAR program 43

11. Annotated output data file (rgenvar.out) for RGENVAR program 44

12. Annotated log file (rgenvar.log) for RGENVAR program . 45

13. Annotated input data file (bl.in) for BL program 48

14. Annotated output data file (bl.out) for BL program 49

15. Annotated log file (bl.log) for BL program 50

16. Annotated input data file (gl.in) for GL program 52

17. Annotated output data file (gl.out) for GL program 53

18. Annotated log file (gl.log) for GL program 54

19. Annotated input data file (var.in) for VAR program 56

20. Annotated output data file (var.out) for VAR program 57

21. Annotated log file (var.log) for VAR program 58

iv
List of Tables, Cont'd.

Page

22. Annotated input data file (probe24.in) for PROBE24 program 60

23. Annotated log file (probe24.log) for PROBE24 program 61

24. Annotated input data file (fourcal.in) for FOURCAL program 63

25. Annotated log file (fourcal.log) for FOURCAL program 64

26. Annotated input data file (shazam.in) for SHAZAM program 66

27. Annotated log file (shazam.log) for SHAZAM program 67

V

Semiconductor Measurement Technology:

A Collection of Computer Programs for

Two-Probe Resistance (Spreading Resistance)

and Four-Probe Resistance Calculations, RESPAC

John Albers

Semiconductor Electronics Division

National Institute of Standards and Technology

Gaithersburg, MD 20899

Harry L. Berkowitz^

Electronics Technology and Devices Laboratory

Fort Monmouth, NJ 07703

Abstract

This report presents and describes a number of FORTRAN programs which may be used to

perform two-probe resistance (spreading resistance) and four-probe resistance calculations

for vertically nonuniform resistivity structures. These programs fall into three general

categories. They are: 1) programs for calculating the two-probe resistance (spreading

resistance) from the resistivity profile, 2) programs for calculating the resistivity profile

from the two-probe resistance (the inverse of 1), and 3) programs for calculating the fourprobe resistance from the resistivity profile. Programs in the first and third category are

useful for understanding the effects of resistivity variations on the two-probe resistance

(spreading resistance) and the four-probe resistance. Programs in the second category are

useful for extracting the resistivity profile from spreading resistance data (either measured

or calculated).

All of the programs are based upon the Schumann and Gardner solution of the multilayer

Laplace equation. As such, local charge neutrality is assumed. The limitations of this

assumption are described in the text.

The first part of this report consists of an outline of the derivation of the Schumann and

Gardner multilayer Laplace equations. In addition, there is a discussion of the evolution

and simplification of this model which has taken place over the past 2 decades. This part of

the report is intended to provide the reader with a background so as to make optimal use of

the computer programs. The second part of the report contains a discussion of the structure

and inner workings of each of the programs. Special attention is paid to the aspects which

make the individual programs different from others in the same category. In addition,

sample input data used in the programs and the corresponding output data calculated by

the programs are also presented. The final parts of the report (the appendices) contain

annotated, internally documented listings of the FORTRAN source codes.

t Present Address: Solid State Measurements, 110 Technology Drive, Pittsburgh, PA

15275

1
In all, there are ten programs contained in the RESPAC package. The FORTRAN source code (total of about 123 kbytes) and sample input and output data files are available

in ASCII format using a number of transfer vehicles. These include: standard 8-track

magnetic tape (ASCII, density = 1600, record = 80, block = 1600), 5.25-in. (360-kbyte and

1.2-Mbyte) DOS-formatted floppy disks, and using electronic mail over the Internet. This

package is self-contained and is straightforward to run once the FORTRAN is compiled and

linked by the user-supplied software. The sample input and output data files are included so that the user can check the programs for proper operation as well as to become acquainted

with the setup and use of the codes.

Key words: correction factor; FORTRAN; four-point resistance; Laplace's equation; multilayer analysis; Poisson's equation; probe radius; probe separation; profiles; resistivity;

semiconductor devices; semiconductor materials; sheet resistance; spreading resistance;

two-point resistance.

INTRODUCTION

The last 2 decades have witnessed the growth and development of a number of atomic

and electrical techniques which have been used in the profiling of semiconductor device

structures. These developments have tried to keep cadence with the trend in semiconductor

technology towards submicrometer devices. The push made by VLSI technology into

the submicrometer regime has placed increased demands upon the ability to adequately

measure and interpret dopant profiles. The acquisition and analysis of one- dimensional

(vertical) profiles form the basis for present research and commercial development. The

two-dimensional extension of these techniques has proven to be a formidable problem.

The Secondary Ion Mass Spectrometry (SIMS) technique [1] has become a forefront tool for

micrometer and submicrometer chemical analysis, in general, and for the depth-dependent

atomic profiling of semiconductor structures, in particular. Other atomic techniques used

for submicrometer profiling include the Rutherford Back Scattering (RBS) [2] and Neutron

Depth Profiling (NDP) [3]. All of these techniques provide for the indirect measure of

the atomic profile. The primary importance of dopants in semiconductors is through

the enhancement or diminishing of the electrical conduction. Consequently, a complete

picture of the processing of a semiconductor structure requires that the atomic profile be

supplemented with the corresponding electrical profile.

In the area of electrical profiling, two-probe spreading resistance [4] and capacitance-voltage

[5] are probably the most widely used techniques. Capacitance-voltage is limited by a total

carrier concentration above which avalanche breakdown takes place. In addition, fourprobe resistance is a useful tool. However, it is limited by the fact that vertical profiling

is cumbersome and diflicult with this method. Hall measurements [6] also provide useful

information, but are also hindered as a vertical profiling technique.

The intelligent use of the spreading resistance technique for micrometer and submicrometer structures requires an understanding of the models which have been developed over the

2
past two decades for the interpretation of the data. This is important as the technique does

not provide the carrier profile directly. Rather, the resistivity profile is indirectly obtained

from the analysis of the depth-dependent spreading resistance data. This requires a physical model of the measurement in order to connect the data and the underlying resistivity

structure. The conversion of the resistivity profile to a carrier density profile takes place

through a resistivity-carrier density relation. In addition, the carrier density profile which

is obtained from the resistivity profile need not be in one-to-one correspondence with the

atomic density. Consequently, it is important to understand the basic model of spreading

resistance insofar as its assumptions and possible limitations are concerned. This is especially the case as a ntrmber of analysis schemes or algorithms have appeared over the past

decade. While they may appear to be quite different, many of them are related to the same

basic model. Their differences are mostly due to ways of handling probe current densities,

calibration data, and the evaluation of integrals which appear in the relation between the

spreading resistance and the resistivity. The purpose of this report is to discuss a number

of these algorithms and to present FORTRAN programs based upon them. The intent

is to provide a common basis for the interpretation of spreading resistance data. This is motivated in part by the experience of the first author in providing "model" spreading re- sistance data for an ASTM F.l effort to compare spreading resistance profiles. The public

availability of the RESPAC codes shovdd lead to a common ground for the discussion and

interpretation of spreading resistance data.

This report is divided into three parts. The first conteiins a history of the multilayer

Laplace equation model which relates the two- and four-probe resistance to the underlying

resistivity structure. This history is not exhaustive but is intended to provide the reader

with an indication of the changes and improvements which have taken place over the years

since the original calculations of Schumann and Gardner. In addition, the incorporation of

several forms of the probe current density, the possible determination of the probe radius

and its relation to calibration data, and the effects of the assumption of finite thickness,

uniform resistivity "layers" are also considered. The second part of this report contains

discussions of the FORTRAN codes developed from the various models discussed in the

first part. These codes are contained in the appendices which make up the third portion

of this report.

Certain commercial equipment, instruments, or materials are identified in this report in

order to specify the procedure adequately. Such identification does not imply recommendation or endorsement by the National Institute of Standards and Technology, nor does

it imply that the materials or equipment identified are necessarily the best available for

the purpose. In spite of the authors' experiences that the programs perform correctly on

every set of data which has been tried, there can be no assurance that the program will

perform equally well on all (possibly anomalous) data. Therefore, both the authors and

NIST assume no liability for possible losses resulting from the use of these programs.

HISTORY OF THE SCHUMANN-GARDNER MULTILAYER LAPLACE EQUATION

The primary purpose of the theory of two- and four-probe resistance is to provide a simple

3
and yet complete model which relates the resistance to the details of the resistivity structure. As is seen in this section, the present theory provides for a well-defined procedure

for obtaining the spreading resistance from the resistivity. The reverse or inverse process

of obtaining the resistivity from the spreading resistance requires the solution of what is known mathematically as the inverse problem. Simply stated, it is necessary to determine

part of an integrand of an integral from the numerical value of the integral. In general,

there is no mathematical method for uniquely determining the solution to this problem.

The solution to this problem in the case of spreading resistance analysis has tested the

ingenuity of numerical analysis.

Over the past two decades, there have been a number of advances which have taken place

in the theoretical analysis of two- and four-probe resistance. The starting point of this

history is the multilayer Laplace equation analysis of Schumann and Gardner [7,8]. The

reader is referred to the book by Koefoed [9] for a comprehensive discussion of Laplace's

equation, its solution in cylindrical coordinates, and the multilayer approach applied to

geoelectric resistance measurements. The derivation of the recursion relation (discussed

later in this report) is also presented in considerable detail by Koefoed. It should be noted

that the mathematical description of spreading resistance and geoelectric resistance are exactly the same even though the length scales are vastly different.

The multilayer solution of the Laplace equation provides for the calculation of the resistance

on the top surface of a nonuniform resistivity structure. The structure is viewed as being

planar and made up of a number of "layers," each of uniform resistivity. For the case of

two-probe measurements made on a beveled sample, the results of the planar calculations

are used under the assumption that the bevel does not alter the results. As the probes

move down the bevel, the definition of the surface changes to that which is presently in

contact with the probes. The material which is uphill, so to speak, is neglected. The

fundamental assumption of the multilayer analysis is that Laplace's equation is satisfied

in each of the "layers" in the material.

There are a number of assumptions which are clearly spelled out and discussed in [7] . It is important to emphasize that Schumann and Gardner were very careful to point out what

they thought to be limitations of the model.

First, consider the case of a single uniform layer. The solution to this problem provides a

solution which is assumed to describe the potential in each of the "layers." The problem

is set up in cylindrical coordinates to emulate the symmetry of a single circular contact on

the top surface of the material. The potential is assumed to be independent of the angular

variable in this coordinate system. The Laplace equation may then be written as

where V[r,z) is the potential, r is the radial coordinate, and z is the depth coordinate.

This equation may be solved by means of separation of variables, with the result that a

4
particular solution is

V{r,z) = exp{-Xz)Jo{Xr) + exp( +A2) Jo(Ar), (2)

where Jo(At') is the Bessel function and A"^ is the separation of variables constant. The

boundary condition on the r part of the solution is that V(r, z) approaches zero as r tends

to infinity. This is satisfied by the above for all values of A. Then, the general solution is an integral of the partictdar solution with a weighting factor and is of the form

V{r,z) = |(1 + ^(A)) exp(-A2) + V(A) exp(+Az)} Jo(Ar)(/A, (3)

where the weighting functions, ^(A) and are determined from the z-dependent boundary conditions. The above is the general solution of Laplace's equation in cylindrical

coordinates for a single layer.

For the case of an n-layer structure (pictured in fig. 1), Laplace's equation is assumed to

be vahd in each of the layers. The single-layer solution as given by eq (3) then provides

the basis for the solution in each of the layers. The solution in the i-th layer may then be

written as

Vi{r, z) =

{

(1 -f OiiX)) exp{-Xz) + Vi(A) exp(+Az)} Jo(Ar)(fA. (4)

The boundary conditions used to solve the system of equations (determine {di{X)} and

{i/'i(A)}, i = l,...,n) are provided by conditions on the top surface, the intermediate

interfaces, and the bottom surface. On the top surface, current flow takes place only

through the probe which is modeled as a circular plate of radius a. Then the top surface

boundary condition is expressed as

1 ^^"('•'^)=J(.), (5)

Pn dz

where J{r) is the current density. The original Schumann and Gardner calculation makes

use of the current density for the case of a semi-infinite slab in the form

j(^) = I

I/27ra(a2 - r^)^/^ ifr<aand2 = 0

(g) \0 iir > a and z = 0

Several other forms of the current density can be used. In particular, the uniform current

density in the form

J(r) = I -^/^^^ if r < a and z — 0

^ ~ \ 0 if r > a and z = 0

'

would describe the current flow for the case of a layer over a highly conductive layer. On

the other hand, the ring delta function form of the current density,

J{r) = {I/2'Kr)8{r - a), (8)

5
r Pn Vn |d

Pn-1 Vn-1

1

1

1

1

• P2 V2

Pi Vi

Figure 1. Schematic representation of the multilayer geometry used in the Schumann and

Gardner multilayer analysis. In this figure, r and z are the radial and depth coordinate

in the cylindrical coordinate system, d is the thickness of the layers and pi and Vi are the

resistivity and potential in the i-th. layer.

6
where 6{r — a) is the Dirac delta function, would describe the current flow for a conducting

layer over a highly resistive layer. These three forms of the probe current density are pictured in figure 2.

Berkowitz and Lux [10] have discussed how the above forms of the probe current density

enter into the final correction factor equations. It should be noted that the above current

densities have different patterns but all have the same total current, i.e.,

I / J{r)ddrdr = I. (9)

Jo Jo

It might be argued that the "real" current density would be some linear combination of

those given by eqs (6 through 8). This is the basis of the variational calculation which is discussed later in this section. For the present time, the probe current density given by eq

(6) is used, and the changes introduced by the use of other current densities are presented.

Returning to the boundary conditions, on the bottom surface, the potential is assumed to

be well behaved and, more specifically, is assumed to approach zero, i.e.,

lim Vi{r,z) = 0. (10)

z —oo

At the interfaces between the layers, the potentials and the current densities are assumed

to be continuous. These are expressed as

Vi{r,z) = Vi_,{r,z), (11)

and

l dVi{r,z) _ 1 dVi_,{r,z)

^ Pi dz pi_-^ dz

where the functions and their derivatives are to be evaluated at the interfacial boundaries.

For the case of an n-layer structure, the substitution of eq (4) into the boundary conditions

given by eqs (5), (10), (11), and (12) gives rise to a set of 2n equations in 2n unknowns

({^i(A)}, {ipiiX)}, i — l,...,n). This simplifies by one equation as 9n{^) = V'n('^)- The

analytic solution of this system of equations requires the use of the Cramer's rule of linear

algebra. Clearly, this can become rather tedious especially since the expansion coefficients are functions of the continuous variable, A. Schumann and Gardner worked out the system

of equations for the cases up to z = 3. However, it is possible to show that the potential

on the top surface of the n-layer structure may be written as

27va Jq a

where the kernel function, An{X) = 1 + 2^„(A), depends upon the resistivities and thick- nesses of the "layers" in the multilayer structure (through the solution of the above system

7
Figure 2. Graphical representation of the three forms of the probe current density. The

Schumann and Gardner density is represented in (a), the uniform density in (b) and the

ring delta function density in (c).

8
of simultaneous equations). It is this potential which is of prime importance as the measurement is made on the top surface of the material. Equation (13) represents the potential

at a distance r from a single probe. The spreading resistance for a two-probe configuration

is defined as the voltage difference between the probes divided by the current, AV/I. In

order to obtain an expression for the spreading resistance, two things must be done. First,

the potential must be averaged over the area of the probe since the probe is not sensitive to

the details of the potential, but rather the average potential. Second, the voltage diff'erence

between the two probes is calculated assuming that the second probe does not perturb the

potential due to the first probe. This is known as superposition and leads to the result

that the two-probe spreading resistance on the top surface of an n-layer structure may be

written as

where C„ is the correction factor given by

where 5 is the separation between the probes. The Bessel function term, Ji(Aa), arises

from BJi averaging of the potential over the area of the probe.

There are three distinct terms in the integrand of the correction factor integral, with each

representing diff"erent parts of the problem. First, there is the kernel function, A„(A),

which depends upon the resistivities and thicknesses of the layers in the multilayer structure. The second part of the integral, (Ji(Aa)/Aa — Jo(A5)/2) relates to the two-probe

configuration with the probes separated by a distance S. Finally, the term sin(Aa)/A arises

from the probe current density (from eq (6)) passing through the probes. In terms of the

uniform current density (eq (7)) and the ring delta function current density (eq (8)), the

corresponding correction factors would be given by

and

c-=1j;"a„(A){:MM_M},j„(a.ha, (17)

respectively. These forms of the correction factor integral have been discussed by Berkowitz

and Lux [10].

Within the confines of the assumptions presented by Schumann and Gardner, eqs (l4) and

(15) represent a relation between the spreading resistance and the resistivity. This relation

is not a simple one as the determination of the resistivity from the spreading resistance,

({i2i} —> {pi},i = 1, -"jTi), requires the inversion of the correction factor integral. For the

sake of simplicity and brevity, the notation ({/?,} —> {Ri\,i = l,...,n) is used to indicate

the calculation of the n spreading resistance values from the n values of the resistivity.

9
while the notation {{Ri} {/^i}?^ ^ l,...,n) is used to indicate the inverse process, i.e.,

the determination of the n values of the resistivity from the n spreading resistance values.

The former requires single evaluations of the correction factor integral, whereas the latter

require inversions of the correction factor integral. There were, in addition, two difficulties

associated with the implementation of these equations. First, the determination of the

kernel function for a large number of layers required the use of a mainframe computer [11]

to carry out the numerical matrix algebra (determination of the set of functions {Oi{X)},

{V'i(A)}, i = l,'...,n by numerical evaluation of Cramer's rule). Power-law interpolation

[12] techniques were of limited utility due to the large requirement of CPU (still on a mainframe). Also, the partitioning of the [2n by 2n) matrix problem into a smaller set of

(2 by 2) matrices had been presented but lias not been carried beyond this point [13]. The

second problem in the implementation of the correction factor equation has to do with the

evaluation of the integral. The last two parts of the integral described above are oscillatory,

and a direct evaluation of the integral requires the use of at least a minicomputer.

The first breakthrough in the evaluation of eq (15) effectively removed the numerical

difficulty associated with matrix inversion. This was hinted at in the geophysical literature

[14] and worked out in detail using the theory of determinants in Koefoed's book [9]. The

application of these techniques to the spreading resistance problem culminated with the

introduction of a recursion relation by Choo et al. [15]. The utility of a recursion relation

is that the kernel for an n-layer structure can be easily generated from the kernel of an

(n — 1) layer structure by means of an algebraic relation. In particular, if the kernel is known for the (n — 1) layer case, then the kernel for the n layer case is given by

/9„ +a;(A)/9„_iA„_i(A)

where

1 + exp(— 2Aaj

and d is the layer thickness. In practice, the recursion relation is begun with the one-layer

case from which the two-layer kernel is generated. This sequence is repeated until the nlayer kernel is determined. This method was used in reference [15] with a great reduction

in computation time.

At this particular time, the one major problem which remained was the evaluation of

the integral in the correction factor equation. D'Avanzo et al. [16] made use of a prestored partial integral technique which usually required the use of a minicomputer in its

implementation. The focal point of this technique was to use a cubic spline approximation

for the kernel of the correction factor integral, i.e.,

A{X) = aiX^ +^iX^ +jiX + A{Xi). (20)

Then the correction factor integral with the Schumann and Gardner infinite slab current

density is given by

-Y.\^i AV(A)(fA + /3i / X^f{X)dX

10
'^\f{X)dX+ SiJ^ '^'/(A)dA}, (21)

where the upper integration limit, Am, is chosen to ensure the convergence of the integrals,

and the function, /(A), is the remaining part of the correction factor integral, i.e.,

/(A) (

•^^^^''^ »^o(A5) \

sin(Aa)

1^ Aa 2 J A

In practice, the integrand of the correction factor goes to zero when A is at most on

the order of 100. Then, the {Aj values are chosen as logarithmically equispaced on the

interval, 0 < A < 100. The integrals in eq (21) are evaluated for specific choices of the

probe radius and probe spacing by means of a program called SPINT, and the results of

the partial integrals are stored in array form. These arrays need be calculated only once for

each value of a and 5. The evaluation of the correction factor integral and the extraction

of the resistivity from the spreading resistance required the evaluation of the set of 280 (4

by 70) spline coefficients ({a*}, {Ti}, {^i})- This is carried out in the program called

SPRED. Both of these programs are described and listed in reference [16]. They require

the use of a minicomputer to carry out the calculation.

At about the same time, Choo et aJ. [17] introduced an integration scheme based upon

the Gauss-Laguerre quadrature. They use the uniform current density form of the cor- rection factor integral as given by eq (16). The general philosophy behind quadrature

techniques of evaluating integrals is the search for a set of integration points and weights,

{xk},{wk},{k = 1,...,N) such that an integral may be evaluated as a finite sum in the

form

,6 N

f{x)dx = ^i(;ifc/(xfc). (23)

fc=i

It should be clear that knowing the set of integration points and weights vastly simplifies

the evaluation of the integral. This simpUfication may render the integration amenable

to evaluation on a microcomputer system. For the case at hand, the Gauss-Laguerre

quadrature makes use of the first 33 roots and weights obtained from the 128th order

Laguerre polynomial. For the case of the uniform current density, the correction factor

may be evaluated as the weighted finite sum,

C„=^f:^vl'\^-^-^^\^^A„{X,], (24)

I Afca 2 J Afc A:=l

where the weights (w^^) and integration points (aAjfc) are listed in reference [17].

While the above is formulated for the case of the uniform current density, the Schumann

and Gardner current density as well as the ring delta function current densities may also

be used. It is important to note that the Gauss-Laguerre technique can be used to carry

out the calculation {{pi} {Ri},i = 1,...,ti). The inverse calculation, {{Ri} -> {pi},i =

l,...,7i), reqmres a convergence or bounding criterion.

11
From a completely different point of view, Dickey [18] presented a technique known as the local slope method for the calculation {{Ri} {Pi}:^ — 1,...,^)- This method does

not require the evaluation of the correction factor integral but rather makes use of a

heuristically derived algebraic relation between the correction factor and the local depth

derivative of the spreading resistance.

Starting with the trapezoidal Rhomberg integration technique employed by D'Avanzo et

ai. [16], Albers [19] generated model spreading resistance data, {{pi} —* {-^t}?^ = l?---?^)?

for a number of resistivity structures. In these calculations, the Schumann and Gardner

current density was used with given values of the probe radius and the probe spacing.

This technique may be used to carry out this calculation for all three forms of the probe

current density. These model spreading resistance data were then used in the D'Avanzo

et al. SPINT-SPRED codes as well as the Dickey local slope method to determine the

{{Ri} {pi}ii — l5"-,7i) results for each algorithm. It was found that the SPINTSPRED codes solved the inversion problem to within 1 percent. The local slope method

gave very reasonable semiquantitative results. These are discussed in detail in reference

[19]. While it has been shown that the local slope equations cannot be derived from the

multilayer equations [20], the speed and quality of the results make it a reasonable program

to use. A typical resistivity structure and the model spreading resistance data generated according

to the work of reference [19] are contained in figure 3. There are several things to note from

the figure. First, the spreading resistance does arise from a simple scaling of the resistivity.

The mapping from the resistivity to the spreading resistance is complex. For example, from

the surface down to about 0.2 /xm, the resistivity undergoes about a two-order-of-magnitude

decrease, whereas the spreading resistance shows only a small decrease. This arises from

the fact that the spreading resistance senses the entire resistivity structure. The second

point of interest is that the total variation of the resistivity is often large compared with

the corresponding variation of the spreading resistance. In practice, small changes in the

spreading resistance mirror large changes in the resistivity. This makes the interpretation

of spreading resistance particularly sensitive to the presence of noise in the data.

Berkowitz and Lux [21] have carried out an investigation which has shown that it is possible

to evaluate the spreading resistance correction factor using a 22-point scheme. The central

point of this analysis is the replacement of the correction factor integral by an approximate

form as

where L — 1.12292/5. The choice of the truncated lower limit of integration is dictated by

the form of the functions for the case of both insulating and conducting boundaries. The

key point is that the approximate integral can be divided into four domains in each of which

the Newton-Cotes integration method may be used. The evaluation of the approximate

12
RESISTIVITY AND TNO-PROBE RESISTANCE

DEPTH (MICROMETERS)

Figure 3. The resistivity profile and the calculated spreading resistance for a Gaussian

implant type structure. This figure is intended to illustrate two important features. First,

the variation of the resistivity is always larger than that of the spreading resistance. Second,

the mapping from resistivity to spreading resistance is more than just a scaling.

13
integral in eq (25) is then performed by means of a finite sum as

22 Cn = Y,'^kM^k), (26)

k=l

where the weights, are different from those used in the Gauss-Laguerre technique.

Comparison of the correction factor calculated by means of eq (26) and the more extensive technique discussed by Albers [19] shows that the two agree to within better than 1 percent. Equation (26) provides a quick way of carrying out the {{pi} {-^i}?^ = 1? ...,n)

calculation. Berkowitz and Lux have used the above Newton-Cotes technique to carry out

the ({i2i} —> {pi},i = 1, •',n) calculation. This makes use of a bounding procedure on the

kernel of the integral. This bounding procedure reduces the time required to accurately

invert the correction factor integral and is based upon the realization that the recursion

relation for the kernel function could be expressed as tanh(Arf> +p ^ ' p„ + p„-iA„_i(A)tanh(Ad) ^ '

For the cases of insiilating or conducting boundaries, the kernel function is bounded by the

hyperbolic functions, coth and tanh, respectively. This provides for two bounding envelopes

between which the kernel must lie. Calculation of {{pi} {Ri}ii ' 1? ••',n) using eq (26)

followed by the {{Ri} {Pi},i = 1? ...,ti) calculation using eq (26) in conjunction with the

bounding procedure shows that the original resistivities can be obtained to within less than

1 percent. This bounding procedure is extremely general. It may be used in conjunction

with the Gauss-Laguerre technique for the {{Ri} =^ l,...,n) calculation.

All of the above techniques make use of a single form of the probe current density. Choo et

al. [22] have presented a calculation of the spreading resistance correction factor based on

a variational technique. This makes use of the uniform current density and the Schumann

and Gardner semi-infinite slab current densities as a "basis set," and the amount of each

current is varied according to a variational principle. The spreading resistance obtained

from this variational method is RI = ^C7n, (28)

where

where Ki and K2 are given by

^"-^

K,+K2l2 ' ^^^^

The integrals Ji , ^2 5 -^3 are f.„(A){^f^}^.A, (3.)

14
I2 ^

J^^

A4X)^^^^^\dX, (33)

The integrals I3S and 72 s are

and

^25 =

Choo at aJ. [23] have made use of the Berkowitz-Lux approximation [21] to simplify the

integrals in eqs (35) and (36) as

^35 = rM^)i^>^ (3.)

2S= rA^{X)(^^ydX. (38)

Jl \ Xa /

It should be noted that the integrals given by eqs (32), (33), and (34) contain all of the

information which is needed to evaluate eqs (28) and (29). This follows from the fact

that the approximate integrals given by eqs (37) and (38) are contained in the corre- sponding I3 and I2 integrals. The various integrals (/i, I2, and I3) may be evaluated

by means of a segmented Newton- Cotes method similar to that used by Berkowitz and

Lux. The coordinates and weights are listed in reference [23]. These equations can be

implemented in order to carry out the {{pi} {-^t}?* = l,...,n) calculation. The inverse

procedure, {{Ri} {pi}:^ — l?---?^)? can be carried out by means of a generalization of

the Berkowitz-Lux bounding technique where the bounding by the hyperbolic functions

is needed for all three of the integrals involved. This analysis shows that the original

resistivities can be recovered to within 1 percent.

EFFECTS OF PROBE CURRENT DENSITY

As can be seen from the above discussion, there are three primary current densities which

can be used in the calculation of the spreading resistance correction factor. The Schumann

and Gardner form seems appropriate to the case of a semi-infinite slab and the uniform

current density should be adequate for the case of a layer over a highly conductive layer,

while the ring delta function seems appropriate for the case of a layer over a highly resistive

layer. The model data calculations presented by Albers [19] (using the trapezoidal Romberg

integration scheme) can easily be generalized in order to use any one of the three current

densities. The Gauss-Laguerre quadrature [17] may also be used with any one of the

above current densities. The Berkowitz-Lux calculations [21] (originally specialized to the

15
uniform current density but, in principle, extendable to the other two current densities)

as well as the variational technique employing the Berkowitz-Lux approximate integral

[23] can also be used to calculate the spreading resistance from the resistivity. For several

structures, the various techniques were used to carry out the {{pi} {Ri},i = l,...,n)

calculation. The calculated spreading resistance data obtained from typical diffusion and

implant structures show that the differences are typically on the order of 10 to 20 percent.

This is in keeping with the results discussed in reference [10].

CALIBRATION DATA AND THE PROBE RADIUS

Having looked at the effects of the probe current density on the results of spreading resistance calculations, it is important to understand that there is a parameter in eqs (14) and

(15) which must be measured or at least estimated. This is the probe radius, a. The results

of the {{pi} —^ {-^i}?^ = l,...,n) calculation and the inverse {{Ri} —> {pi},i — l,...,n)

calculation are sensitive to the choice of a. One possible way of measuring the probe radius

was originally proposed by Dickey [18] as part of a conjecture relating spreading resistance

and sheet resistance. In particular, an image calculation of the spreading resistance on the

top of an isolated layer of thickness, <, and resistivity, /?, yields the result

{p/7vt)ln{S/a) = (/>/7r<){ln(5) -ln(a)}. (39)

As the sheet resistance, TZ, of this layer is given by 7?. = p/t, this wotdd suggest that the

spreading resistance may be linear in the logarithm of the probe spacing with a slope related

to the sheet resistance and an intercept related to the probe radius. For junction-isolated

boron diffusions with junction depths up to 4.3 /xm. Dickey showed that there was good

agreement between the sheet resistance measured by the standard four-probe technique

and determined from the R versus In(S') analysis. This agreement provided justification

for the proposed relation between the spreading resistance and the sheet resistance but

did not give any indication of the validity of the relation of the intercept of the R versus

ln(5) analysis with the probe radius. The values obtained by Dickey were certainly of the

expected size.

In a series of investigations to study the validity of the proposed relation between the

spreading resistance and the sheet resistance (as well as the possibiHty of determining the

probe radius), Albers [24,25] used the {{pi} {Ri},i = l,...,n) calculation for a number

of resistivity structures, probe current densities, a fixed value of the probe radius, and a

series of values of the probe separation. The resistivity structures could be used to calculate

the sheet resistance directly, and the probe radius was a known input quantity. The model

spreading resistance data were used in linear regression analysis in ln(5) according to eq

(39) and the slope and intercept correlated with the sheet resistance and the probe radius.

The regression analysis of the model spreading resistance data indicated that the relation

between the spreading resistance and the sheet resistance was of general validity, but that

the probe radius was not generally obtainable from the regression analysis. Hence, some

other technique seemed to be required to determine this quantity.

One possibility was to adopt the point of view that the probe radius is a function of

the resistivity. This is hinted at by the form of the calibration data obtained on various

16
resistivity bulk samples. This point of view was incorporated into the Dickey local slope

analysis of boron implant data used in the comparison of spreading resistance, SIMS, and

CV profiles by Ehrstein at al. [26]. The local slope analysis is ideally suited to this as the

updating of the probe radius takes place in the algebraic equation relating the correction

factor and the local slope. All of the other algorithms and integration schemes would be

hampered by the updating of the probe radius which would necessitate the reevaluation

of the sampling points and the integration weights.

Piessens et al. [27] have discussed a technique based upon Chebyshev polynomial methods

for the evaluation of the Schumann and Gardner equations in the case of a resistivitydependent probe radius. This technique requires a minicomputer system in the evaluation of the resistivity from the spreading resistance. The basis of the assumption of a

resistivity-dependent probe radius is the level of agreement obtained by Ehrstein et al. [26]

in comparing profiles obtained from spreading resistance, SIMS, and CV. As is seen later

in this part of the report, there are a number of reasons why carrier and atomic profiles

do not have to agree. Indeed, the use of a resistivity-dependent probe radius appears to

allow for one more degree of freedom for every data point taken.

The point of view adopted by Albers and Berkowitz [28,29] is that the probe radius is a

single parameter which can best be evaluated by optimizing the agreement between the

four-probe resistance obtained from the resistivity profile and measured on the top surface

of the structure. The multilayer expression for the in-line four-probe resistance, Z„(5),

has been derived in the form [28]

Zn{S) =

2pnJ^ ^„(A){jo(A5)- Jo(2A5)}j,(Aa)dA, (40)

where Xi/(Aa) is the Hankel transform of the generalized probe-current density normalized

to unit current [10], and u is an index which refers to the specific form of the current

density. It was shown that the four-probe resistance could always be obtedned from the

spreading resistance

Z„(5) = i2„(25) - Rn{S). (41)

The four-probe resistance was shown to be: (i) independent of the probe radius and the

probe-current density, and (ii) simply related to the sheet resistance, T^n, when the distance to an insulating boundary is small compared with the probe spacing. The former

observation provided the basis for a calibration procedure for determining the value of

the probe radius to be used in spreading resistance profile analysis. This is discussed in

detail in reference [28]. The evaluation of the four-probe resistance integral was found to

be simpHfied by the alternative form given by [29]

.l/S

^„(5) = ^

/ An{X)dX. (42)

J1/2S

In the above form, the four-probe resistance can easily be calculated using the NewtonCotes method of evaluation,

8 Zr^iS) = ^

ln(2) Vw,,iXiAr.{Xi), (43)

TT i-Q

17
where Aj = 2*/®/25(0 < i < 8),W9,i = Ci/8, and where C,- are the Newton-Cotes weighting factors. This procedure allows for the variation of the resistivity profile under the

requirement that the measured and calculated four-probe resistances agree within given

limits.

The general relation between the four-probe resistance and the two-probe resistance as given by eq (41) was derived from the general definitions of these functions. The simplified

form for the four-probe resistance integral contained in eq (42) arose from a consideration

of the integral contained in eq (40). These two equations have been verified experimentally [30] by means of data obtained from lithographically deposited contacts as weU as conventional pressure contacts,

EFFECTS OF FINITE LAYER THICKNESS

The original Schumann and Gardner derivation assumed that the material may be viewed

as a series of uniform resistivity layers. These authors realized the possible limitation

of this assumption as they showed how the correction factor depended upon the number

of layers used in the calculation. This same observation was studied in more detail by

Choo et al. [15] by means of the recursion relation presented in eq (18). In order to offset

some of the possible difficulties associated with the finite thickness of the "layers," Choo

et al. [31] introduced an exponential model in which each of the layers was assumed to

have an exponentially varying resistivity. This piecewise exponential was to be a more

realistic representation of the continuously varying resistivity. The differences between the

correction factor calculated by means of a finite layer picture and a continuum picture were also considered by Albers [32]. Beginning with the recursion relation, he showed how

a nonlinear, inhomogeneous differential equation could be rigorously derived for the kernel

of the spreading resistance correction factor integral in the limit as the layer thicknesses

approach zero. This equation may be transformed to a Riccatti equation which can be

solved analytically for an exponentially varying resistivity. When the correction factor

calculated from this technique was compared with that obtained from the finite layer

picture, it was shown that finite-layer analysis will underestimate the correction factor for

the case of a low-resistivity layer over a high-resistivity layer. Over the past 10 years, the

beveling techniques which have evolved have allowed for the preparation of very shallow

bevels. These shallow bevels have pushed the measurements into the region where the

finite layer thickness approximation is reasonably good.

ATOMIC DENSITIES AND CARRIER DENSITIES

In this section of the report, attention is focused on the calculation of carrier densities from

atomic densities for planar and beveled structures. The purpose is to provide insight into

the validity of the use of the multilayer Laplace equation which assumes chaxge neutrality

in each of the "layers" in the material. In terms of the difference between carrier densities and atomic densities along the bevel cut into the material for spreading resistance

profile analysis, Hu [33] has presented a calculation based upon the solution of Poisson's

equation for a number of profile types into substrates of the opposite conductivity type.

18
i.e., junction-isolated structures. Using a finite difference solution method, he finds that

electrical junctions may be much shallower than metallurgical junctions for structures of

the Gaussian and exponential type. As the deviation between carrier densities and atomic

densities has also been observed for same conductivity-type substrates, Albers et al. [34]

have approached the problem from the point of view of the solution of the semiconductor

equations using an adaptive finite-element method discussed by Blue and Wilson [35,36].

They find that the deviation of the carrier densities from the atomic densities occurs for

both same- and opposite-conductivity type substrates.

Consider the structure presented in figure 4. This consists of an n-type region and a ptype region. A portion of the material is removed producing the beveled surface. The

variables of interest to the problem are the electrostatic potential and the electron and

hole densities which arise from the atomic donor and acceptor concentrations. From a computational point of view, it is more convenient to formulate the problem in terms of

the electrostatic potential and the electron and hole quasi-Fermi levels which are related to

the corresponding densities. The model which shall be used to describe the system is based

on the basic semiconductor equations [37,38] (steady-state, time-independent):

V-{kVV) = --{p-n + N), (44)

Co V.(/x„nV(^n) = (45)

V.(/ippV<^p) = -i2, (46)

where k is the dielectric constant, V is the electrostatic potential, q is the electronic charge,

eo is the permittivity of free space, N is the net ionized impurity density, N — \Nd — ^a\,

Nd is the atomic donor density, Na is the atomic acceptor density, /x„ and fip are the

electron and hole mobilities, respectively, and and are the electron and hole quasiFermi levels, respectively. The Shockley- Read-Hall recombination is given by:

R = {Pn-nh

(47)

r„o(n + ni) + Tpo{p + Pi

)

where rii is the intrinsic carrier density. The electron density, n, and the hole density,

p, are related to the electrostatic potential and the corresponding quasi-Fermi levels (for

Boltzmann statistics) by:

n = ni exp(g(y - (f>u)/kT), (48)

p = niexp{q{^p-V)/kT). (49)

The solutions of eqs (44), (45), and (46) are obtained by means of an adaptive finiteelement technique. The reader is referred to references [35] and [36] for a more detailed

discussion of the solution method and strategies.

For the purpose of investigating the validity of the use of the multilayer Laplace equation,

figures 5 through 7 contain the results of the calculations for the cases of Gaussian diffusion type structures ranging in junction depths from 15 /xm down to 0.25 fim. These

19
Figure 4. Geometry of the beveled material in which the semiconductor equations are solved by means of a finite element method.

20
8 10 12

DEPTH (Mm)

14 16 18

Figure 5. Carrier and atomic distributions for a 15-fxm Gaussian structure with an opposite conductivity-type substrate. The surface concentration is 1.5 x 10^°cm~^, and the

background concentration is 1.5 X lO'^^cm"^. The net impurity concentration is denoted

by the soHd curve, the long dashed curve represents the electron density, and the short

dashed curve represents the hole density.

21
1020

i

\—

r

1—I—

r

1—I I I 1—I—

r

0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2

DEPTH (Mm)

Figure 6. Carrier and atomic distributions for a 1.5-/zm Gaussian structure with an opposite conductivity-type substrate. The surface concentration is 1.5 x 10"^^cm~^, and the

background concentration is 1.5 X 10"'^cm~^. The net impurity concentration is denoted

by the solid curve, the long dashed curve represents the electron density, and the short

dashed curve represents the hole density.

22
0 0.1 0.2 0.3 0.4 0.5 0.6

DEPTH (pm)

Figure 7. Carrier and atomic distributions for a 0.25-/im Gaussian structure with an

opposite conductivity-type substrate. The surface concentration is 1.5 x 10"'^cm~^, and

the background concentration is 1.5 x lO'^^cm"^ . The net impurity concentration is denoted

by the solid curve, the long dashed curve represents the electron density, and the short

dashed curve represents the hole density.

23
figures contain the net ionized impurity (atomic) density, the electron and hole densities

calculated for a planar material, and the electron and hole densities calculated along the

bevel. Figures 5, 6, and 7 contain the results for opposite-conductivity type substrates

for a 15-/im, 1.5-/zm, and 0.25-/xm Gaussian, respectively. In all three cases, the surface

concentration is 1.5 x 10"^° cm~^, and the substrate concentration is 1.5 X 10^^ cm~'. These

deviations represent regions where there is a nonzero charge. This charge separation is due

to the repulsion of the mobile carriers in the restraining field due to the immobile ionized

impurities. In the regions where there is no deviation, the net local charge is zero. It

is extremely important to keep in mind that these represent a best-case scenario where

damage, defects, incomplete activation, etc., have not come into play.

STATUS OF SPREADING RESISTANCE ANALYSIS

The calculation of the spreading resistance correction factor using the Schumann and

Gardner multilayer Laplace equation has progressed to the point where the calculation of

the spreading resistance from the resistivity and the inverse calculation can be performed

on microcomputer systems. The interpretation of the probe radius can be done by using a

resistivity-dependent probe radius model or by comparing the interpreted profiles in terms

of the four-probe resistance. The FORTRAN codes presented in this report provide for

the practical ability to perform these calculations. They represent the fruits of the labor of

many researchers over the past twenty years. However, there is a question of the validity

of the use of the mtdtilayer Laplace equations for the case of shallow layers where the net

local charge is nonzero. The user should always be aware of this.

Spreading resistance data can certainly be measured in submicrometer regions, but the

interpretation of the data in terms of the multilayer analysis Laplace needs to be very

carefully investigated. From a conceptual point of view, it might be argued that the measured data should be related to the physical description provided by the Poisson equation.

However, Poisson's equation has not yielded to the simple mathematical structure which

the Laplace equation has.

The resolution of this problem for the interpretation of spreading resistance data on shallow VLSI structures requires the investigation of the solution of the Laplace and Pojsson

equations. The solutions of these two equations shotdd provide an estimate of the differ- ences between the actual carrier distribution and that determined from the Schumann and

Gardner analysis. The answer to this problem is actively being pursued by researchers all over the globe.

DISCUSSION OF THE PROGRAMS

The purpose of this portion of the report is to discuss some of the aspects of the various

programs and to present examples of the results of the calculations performed by these

programs. The reader should keep in mind that the programs listed in the appendices hs-ve

extensive internal documentation in regard to the background information, input dat^, and

the running logic of the programs. The reader who is familiar with FORTRAN should find

24
these programs easy to follow and use. This section is intended to supplement the internal

documentation by presenting the information outside of the framework of the FORTRAN

source code and to discuss typical input and output data.

There are three major subsections of this portion of the report. These are concerned with:

1) programs for calculating the two-probe resistance from the resistivity, 2) programs for

calculating the resistivity from the two-probe resistance, and 3) programs for calculating

the four-probe resistance from the resistivity. From the discussion of the history of the

Schvunann and Gardner solution of the multilayer Laplace equation, it should be clear that a conceptually and mathematically efficient representation of the kernel of the integral,

An{X), is given by eqs (18) and (19) or (27). This same kernel is involved in all twoprobe and four-probe integrals contained in this report. Hence, the discussion of the

various programs primarily focuses upon various techniques for numerically evaluating the

integrals involved or for carrying out efficient inversions of these integrals.

A special note is in order concerning the units used in the calculations. The resistances

(two-probe and four-probe) are in ohms and the resistivities are in ohm-cm. All lengths

(probe radius, probe spacing, and depths) are in micrometers.

It is also important to note the numerical format of the various output data files. In

particular, the format used for the construction of the output data is of a general nature.

It has been written to accommodate a wide range of numerical values without loss of

generality or data. This was motivated by the fact that datum may be lost on output if

it exceeds the format of the write statement. In order to circumvent this, some data may

appear to have more significant figures than might be reasonable or needed. This will be

invariably the case if the user decides to use the free-field write option of FORTRAN77.

This circumvents the loss of data which is always possible when writing in a fixed-field

format. The user should keep this in mind when looking at the output. The user should

round the output following accepted rules for this purpose.

25
CALCULATION OF THE TWO-PROBE RESISTANCE FROM THE RESISTIVITY

The first group of programs is used to calculate the spreading resistance from the resistivity. Hence, the programs presented in this section represent various methods for evaluating

the correction factor integral. In order to familiarize the reader with each of these four programs, they are discussed individually along with sample input and output data. The four

programs included in this section are: RGENTR, RGENBL, RGENGL, and RGENVAR.

RGENTR

The RGENTR (Resistance GENeration Trapezoidal Romberg) program calculates the twoprobe spreading resistance from eqs (14) to (17).

J. _AV_Pn^

I Za

where C„ is the correction factor for the Schumann and Gardner form of the current density

given by

In terms of the uniform current density and the ring delta function current density, the

corresponding correction factors would be given by

and

For the purposes of illustration, the discussion of the code will focus upon the use of the

Schumann and Gardner current density. The same program and logic flow follow directly

for the uniform current and the ring delta current densities.

The integral is approximated to be over a finite interval as

The correction factor integral is calculated between the limits of xl and xu (both input

data) by means of a trapezoidal Romberg integration technique. This particular integration

scheme was used previously by D'Avanzo et al. [16] in order to calculate the array of partial

integrals used in their SPINT-SPRED programs. It was also used by Albers [19] to generate

model date for the comparison of correction factor algorithms.

RGENTR reads the input data from logical device 10 (forOlO) which can be referenced to a data file through an assign statement in the run sequence (see the examples in the tape

files). These data must include the following:

26
npt number oi data points m the structure. Total number

pomts IS num=npt+l (include substrate point)

of

aa probe radius (micrometers)

sep separation between the probes (micrometers)

delth

lit" 1 / • J \ depth increment (micrometers)

ibbc backsurface boundary condition (none=l, conducting^=2, insulating=3)

subrho substrate resistivity (f2-cm)

1 J. 1 subtn substrate thickness (rmcrometers)

rho array of resistivity values (fi-cm)

icur form of the current density

(Schumann Gardner=l, Choo uniform—2, ring delta= 3)

xl lower limit of correction factor integral (usually zero)

xu upper limit of correction factor integral

To run the program for a structure directly on a backsurface boundary, take the last point

in the structure as the substrate and set subth=delth and subrho=rho(l).

The trapezoidal Romberg integration scheme is carried out at each depth increment until

convergence is achieved to within 0.005 percent. This convergence criterion has been found

to give good results with a nominal use of CPU time on a minicomputer system.

The parts of the program are as follows:

rgentr the main program

intgrl(f,a,b,atemp,iflag) the subroutine which carries out the integration of the function

f from the limits of a to b until the predefined convergence

is attained

tpint(x) a double precision function which represents the integrand of

the two-probe resistance integral and includes the kernel and

the choice of a probe current density

alam(x) a double precision function which constructs the kernel function

according to the recursion relation

dbjO(x) a double precision function which uses a polynomial approximation to generate the Jq Bessel function

dbjl(x) a double precision function which uses a polynomial approximation to generate the Ji Bessel function

The input data is read from forOlO. The calculation is performed and the output data are written to forOll and for006. In the example presented here, rgentr.in contains the data to

be read in forOlO, rgentr. out contains the data written to forOll, and rgentr.log contains

the data written to for006. The rgentr.log file also contains information as to the CPU

time used on a VAX 11/785 system. Many workstations, such as SUN and SPARK2, are much faster. Many PCs, especially those operating with 386 or 486 CPU chips and with

coprocessor chips, will probably run at about VAX speeds or faster.

27
Table 1. Annotated input data file (rgentr.in) for RGENTR program

50 NPT-number of points in structure. Total is NPT + 1 2.0 AA-probe radius in micrometers

50.0 SEP- probe separation in micrometers

0.015 DELTH-depth increment in micrometers

1 IBBC - back boundary condition (none=l, cond=2, i ns=3)

126.5 SUBRHO-substrate resistivity in ohm*cm =RH0(1)

0.015 SUBTH-substrate thickness in micrometers

1.542 RH0(NPT+1) surface resistivity in ohm*cm

0.6933 RHO(NPT)

0.3442 RHO(NPT-l)

0.19

0.1159

0.0769

0.0543

0.0401

0.0307

0.0242

0.0196

0.0165

0.0144

0.0131

0.0125

0.0124

0.013

0.0141

0.0161 . 0.019

0.0233

0.0294

0.0382

0.0514

0.0721

0.1074

0.1732

0.3081

0.6095

1.334

3.18

8.036

20.4

46.62

82.75

109.7

121.4

125.1

126.1

126.4

126.4

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5 RH0(2)

2 ICUR-probe current density (S&G=1 , un i f =2, r i ng=3)

0.0 XL-lower limit of integral (usually zero)

10.0 XU-upper limit of integral (usually 20/AA)

28
Table 2. Annotated output data file (rgentr.out) for RGENTR program

u

QO

11 7 770QF+0'?

o 71 fi597P*n?

A'* 7 o 7 ccq4Cj.09 OOOHu+w^

7 t;fwviP_0'7 7 fifUl OV^X^^w^ F+O'? Q rMWiP-no 7t 1 ni;<v>P_ni 7

1

ft n?i ftF+09

1 acooF-fll fio

11 0o

1 ccnOP-OI OOWL^ WX 27aQF+09

X ft(WlP-01 OwVA^ t wX 1X 0049F+03

1X wX 1X 1090E+03

o XwWL. vX 1X 9598E+03

9500F-01 1 4501 P+03

4000F-01 1X 7238E+03

«;«>f>0F-0'i 2 1024E+03

7000E-01 2 6367E+03

8500F-01 3 3921 E+03

W/VA/L. wX 4 4808E+03

3 1500E-01 5 0718E+03

3 3000E-01 8 4566E+03

3 4500E-01 1 2140E+04

3 6000E-01 1 8008E+04

3 7500E-01 2 7658E+04

3 9000E-01 4 3787E+04

4 0500E-01 7 0412E*04

4 2000E-01 1X 1173E+05 X X f w^~Ww

4 3500E-01 1X 6792E+05

4.50OOE-01 2 2925E+05

4 650OE-01 2 7909E+05

4 8000E-01 3 0907E-f05

4 9500E-01 3w 9358E+05 £www^~W

5 lOOOE-01 w 9984E+05

5 2500E-01

5 4000E-01 w

5 5500E-01

5 7000E-01

5 8500E-01

6 OOOOE-01

6 1500E-01 o 00*TwU.*V/w 6 3000E-01 3 .3340E-»-05 6 4500E-01 3 .3340E+05

6 .6000E-01 3 .3340E+05

6 .7500E-01 3 .3340E*05

6 . 9000E-01 3 .3340E+05

7 .0500E-01 3 .3340E+05

7 .2000E-01 3 .3340E+05

7 .3500E-01 3 .3340E+05

7 .5000E-01 3 .3340E>05

2 .000000000000000

50.00000000000000

total number of points calculated

depth and spreading resistance

1 . 5000000000000000E-02

probe radius in micrometers

probe separation in micrometers

depth increment in micrometers

29
Table 3. Annotated log file (rgentr.log) for RGENTR program

CALCULATION OF SPREADING RESISTANCE FROM THE RESISTIVITY

USING THE TRAPEZOIDAL ROMBERG INTEGRATION METHOD

CHOO UNIFORM CURRENT DENSITY=2*DBJ1 (AX) /X

NO BOUNDARY (INFINITE SLAB) CONDITION USED IN CALCUUTION

XL XU

0.000000 10.000000

RADIUS SEP DELTH

2.000000 50.000000 0.015000

SUBRH0=1 . 26500E+02 ; SUBTHICK=1 . 50000E-02

DEPTH (U) RHO CORR-FAC RSP VOLTAGE

0 .OOOOOE+00 1 .54200E+00 2 . 10660E-01 8 . 12093E+02 2 .90961E+O0

1 . 50000E-02 6 .93300E-01 4 .48340E-01 7 .77086E+02 2 .89047E+00

3 .OOOOOE-02 3 .44200E-01 8 .85841E-01 7 .62266E+02 2 .88211E+00

4 . 50000E-02 1 .90000E-01 1 .59287E+00 7 .56615E+02 2 .87887E+00

6 .OOOOOE-02 1 .15900E-01 2 .61030E+00 7 .56335E+02 2 .87871E+00

7 .50000E-02 7 .69000E-02 3 .95534E+00 7 .60413E+02 2 .88105E+00

9 .OOOOOE-02 5 .43000E-02 5 .66467E+00 7 .68979E+02 2 .88591E+00

1 .05000E-01 4 .OlOOOE-02 7 .80842E+00 7 .82794E+02 2 .89365E+00

1 .20000E-01 3 .07000E-02 1 .04648E+01 8 .03177E+02 2 .90481E+00

1 .35000E-01 2 .42000E-02 1 .37529E+01 8 .32049E+02 2 .92015E+00

1 .50000E-01 1 . 96000E-02 1 .78009E+01 8 .72242E+02 2 .94064E+00

1 .65000E-01 1 .65000E-02 2 .24942E+01 9 .27885E+02 2 .96749E+00

1 .80000E-01 1 .44000E-02 2 .78957E+01 1 .00424E+03 3 .00184E+00

1 .95000E-01 1 .31000E-02 3 .38629E+01 1 . 10901E+03 3 .04493E+00

2 . lOOOOE-01 1 .25000E-02 4 .00908E+01 1 .25284E+03 3 .09789E+00

2 .25000E-01 1 .24000E-02 4 .67762E+01 1 .45006E+03 3 .16139E+00

2 .40000E-01 1 .300O0E-02 5 .30387E+01 1 .72376E+03 3 .23648E+00

2 .55000E-01 1 .41000E-02 5 .96436E+01 2 . 10244E+03 3 .32272E+00

2 . 70000E-01 1 .61000E-02 6 .55089E+01 2 .63673E*03 3 .42107E+00

2 .850OOE-01 1 .9OOOOE-02 7 .14131E+01 3 .39212E+03 3 .53047E+00

3 .OOOOOE-01 2 .33000E-02 7 .69232E+01 4 .48078E+03 3 .65135E+00

3 . 15000E-01 2 .94000E-02 8 .26096E+01 6 .07181E+03 3 .78332E+00

3 .30000E-01 3 .820OOE-02 8 .85510E+01 8 .45662E+03 3 ,92720E+00

3 .45000E-01 5 .14000E-02 9 .44741E+01 1 .21399E+04 4 .08422E+00

3 . 60000E-01 7,.210O0E-02 9..99057E+01 1,.80080E+04 4,.25547E+00

3 .75000E-01 1,,07400E-01 1..03009E+02 2 .76578E+04 4,,44182E+00

3..90000E-01 1,.73200E-01 1,.01125E+02 4 .37873E+04 4,,64135E+00

4,.05000E-01 3,.08100E-01 9..14151E+01 7,.04124E+04 4..84765E+00

4..20000E-01 6,,09500E-01 7.,33241E+01 1.,11728E+05 5..04816E+00

4,,35000E-01 1,,33400E+00 5,,03497E+01 1,,67916E+05 5,,22509E+0O

4,,50000E-01 3.,18000E+00 2..88370E+01 2,,29255E+05 5.,36032E+00

4,,65000E-01 8..03600E+00 1..38921E+01 2..79093E+05 5.,44575E+00

4..80000E-01 2,,04000E+01 6.,06019E+00 3.,09070E+05 5.,49006E+00

4..95000E-01 4.,66200E+01 2,.77631E+00 3.,23579E+05 5. 50998E+00

5,,10000E-01 8..27500E+01 1.,59440E+00 3,,2984lE+05 5.,51830E+00

5.,25000E-01 1,,09700E+02 1.,21158E*00 3,,32274E+05 5. 52150E+00

5.,40000E-01 1,.21400E+02 1.,09747E+00 3. 33081E+05 5. 52255E+00

5..55000E-01 1..25100E+02 1.,06575E+00 3.,33314E+05 5.,52285E+00

5.,70000E-01 1.,26100E+02 1. 05750E+00 3. 33377E+05 5.,52294E+00

5.,85000E-01 1.,26400E+02 1.,05505E+00 3. 33395E+05 5. 52296E+00

6., OOOOOE-01 1.,26400E+02 1.,05506E+00 3. 33400E+05 5. 52296E+00

6,,15000E-01 1.,26500E*02 1. 05424E+00 3. 33404E+05 5. 52297E+00

6..30000E-01 1..26500E+02 1. 05424E+00 3. 33404E+05 5. 52297E+00

6.,45000E-01 1,,26500E+02 1. 05424E+00 3. 33404E+05 5. 52297E+00

6..60000E-01 1,,26500E+02 1. 05424E+00 3.,33404E+05 5. 52297E+00

6,,75000E-01 1,,26500E+02 1.,05424E+00 3.,33404E+05 5. 52297E+00

6.,90000E-01 1..26500E+02 1. 05424E+00 3. 33404E+05 5. 52297E+00

7. 05000E-01 1. 26500E+02 1. 05424E+00 3. 33404E+05 5. 52297E+00

7. 20000E-01 1. 26500E+02 1. 05424E+00 3. 33404E+05 5. 52297E+00

7. 35000E-01 1. 26500E+02 1. 05424E*00 3. 33404Ef05 5. 52297E+00

7. 50000E-01 1. 26500E+02 1. 05424E+00 3. 33404 E+05 5. 52297E+00

CPU time: 00:05:07.72 - this is CPU time for VAX 11/785

30
RGENGL

The RGENGL (Resistance GENeration Gauss Laguerre) program calculates the two-probe

spreading resistance from eqs (14) to (17). These are presented in the text as well as in

the previous section where RGENTR was discussed. The original work of Choo et al. [17] makes use of the uniform current density form of the correction factor integral. The

Schumann and Gardner current density as well as the ring delta function forms may also

be treated by this method. The discussion presented here makes use of the uniform current

density. The central point of the method is to evaluate the correction factor integral by

means of an integration scheme based upon the Gauss-Laguerre quadrature. As noted

in the text, quadrature techniques for evaluating integrals are based on knowing a set of

integration points and weights, {zife}, {twfc}, (A; = 1,...,7V) such that an integral may be

evaluated as a finite sum in the form

.b N

/ f{x)dx ^^Wkf{xk).

The calculation of the correction factor integral is carried out by using a 33-point GaussLaguerre method,

where the weights {wf!) and integration points (Ajfca) are listed in reference [17] and are used in RGENGL. These are fixed weights and points which are entered through DATA

statements. As the points are fixed by the roots of the polynomial and not by the behavior

of the integrand, this technique is of limited value as it may not accurately reproduce the

probe-spacing dependence of the integrand. It (and the inverse program, GL) is presented

here as it represents one of the first attempts to evaluate the integrals and provides the user with the opportunity to run the programs and test the particular quadrature.

RGENGL reads in the input data from logical device 10 (forOlO). These data include the

following:

npt number of data points in the structure. Total number of

points is num=npt+l (include substrate point) aa probe radius (micrometers)

sep separation between the probes (micrometers)

delth depth increment (micrometers)

ibbc backsurface boundary condition

(none=l, conducting=2, insulating=3)

subrho substrate resistivity (fX-cm)

subth substrate thickness (micrometers)

31
rho array of resistivity values (n-cm)

icur form of the current density

(Schumann Gardner=l, Choo uniform=:2, ring delta=3)

To run the program for a structure directly on a backsurface boundary, take the last point

in the structure as the substrate and set subth=delth and subrho=rho(l).

The parts of the program are as follows:

rgengl the main program which carries out the sums for the particular

structure (the kernel function is constructed by the recursion relation

inside the main program)

dbjO(x) a double precision function which uses a polynomial approximation

to construct the Jq Bessel function

dbjl(x) a double precision function which uses a polynomial approximation

to construct the J\ Bessel function

After the calculation is finished, the output is written to logical devices for006 and forOll.

The output may then be assigned to files for storage. Typical results are presented in the

subsequent listings of the two files rgengl.log and rgengl.out. The CPU required is typically

several seconds on a VAX 11/785. This is down from minutes for RGENTR. Herein lies

the very attractive feature of quadrature techniques.

32
Table 4. Annotated input data file (rgengl.in) for RGENGL program

50 NPT-number of points in structure. Total is NPT + 1 2.0 AA-probe radius in micrometers

50.0 SEP- probe separation in micrometers

0.015 DELTH-depth increment in micrometers

1 IBBC - back boundary condition (none=l, cond=2, ins=3)

126.5 SUBRHO-substrate resistivity in ohm*cm =RH0(1)

0.015 SUBTH-substrate thickness in micrometers

1.542 RH0(NPT+1) surface resistivity in ohm^cm

0 . 6933 RHO (NPT)

0.3442 RHO(NPT-l)

0.19

0.1159

0.0769

0.0543

0.0401

0.0307

0.0242

0.0196

0.0165

0.0144

0.0131

0.0125

0.0124

0.013

0.0141

0.0161

0.019

0.0233

0.0294

0.0382

0.0514

0.0721

0.1074

0.1732

0.3081

0 . 6095

1 . 334

3.18

8.036

20.4

46.62

82.75

109.7

121.4

125.1

126.1

126.4

126.4

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5 RHO (2) 2 ICUR-probe current density (S&G=l,unif=2,ring=3)

33
Table 5. Annotated output data file (rgengl.out) for RGENGL program

51

0 .000 ao 0 .015 oo n7fli Pino

0.030 7 n 71 n . V/DU 7 n ,\J 1 o 7 n OQrt 71 QP1 OPj.n9

yj 1 nis . ±\JD oo n 1 or\ oo qqc9Pj.no n oo n XO\J Q

1XOD o

n 1 nu i. 90 i. 1 Ri nPifi^

1

11

1 0 255 0

0 270 9

0 285 oO t;99^P*n^

0 300 1

0 315 cO 0 330 Qo

7Q9(:p . nq

0 345 J. 0 360 1

fl7fiOPj.r>A

0 375 o

£. 0 390

0 405 71 Ai 71 Pj.nA

0.420 1

i. 1 SAAPj.Di;

0 435 1 7QntcPj.nc:

0 450 O£. Atc^i Pj.nt; 0 465 QQrw^Pj.r>is yyuvt+uo

0 480 o

Ti 91 Pj.nK

0 495

0 510

0 525 q CC1 qPj.ni;

0 540 q e;7/v^Pa.nt; o / mjc+vo

0 555 q K79«cPj.ni;

0 570 q t;7^9Pj.nt;

0 585 q 0 600 q 0 615 q 0 630 oq 0 645 3 5735E*05

0 660 3 5735E+05

0 675 3. 5735E+05

0. 690 3. 5735E+05

0. 705 3. 5735E+05

0. 720 3. 5735E+05

0. 735 3. 5735E+05

0. 750 3. 5735E+05

total number of points calculated

depth and spreading resistance

2.000000000000000

50.00000000000000

1 . 50O0OOOOOOO0OOOOE-02

2

probe radius in micrometers

probe separation in micrometers

depth increment in micrometers

current density (SG=1, un i f=2, r i ng=3)

34
Table 6. Annotated log file (rgengl.log) for RGENGL program

CALCULATION OF THE SPREADING RESISTANCE FROM THE RESISTIVITY

USING THE 33-POINT GAUSS-LAGUERRE SCHEME

NO BOUNDARY AT 0.765 UM. SUBSTRATE AT 0.7S0UM

CHOO UNIFORM CURRENT DENSITY

AA= 2.000 SEP= 50.0 DELTH= 0.015 SUBTH= 1.500E-02 SUBRHO= 1.265E+02 #PT= 50

DEPTH RHO INTEGRAL CORR.FAC RSP VOL

0 .000 1 . 5420EfOO 8 .6128E-02 2 . 1932E-01 8 .4549E+02 2 .9271E+00

0 .015 6 .9330E-01 1 .8302E-01 4 .6607E-01 8 .0781E+02 2 . 9073E+00

0 .030 3 .4420E-01 3 .6136E-01 9 . 2020E-01 7 .9183E+02 2 .8986E+00

0 .045 1 . 9000E-01 6 .4954E-01 1 .6540E+0O 7 . 8567E+02 2 .8952E-t-00 0 .060 1 .1590E-01 1 .0642E+00 2 .7100Et-00 7 .8522E+02 2 .8950E+00

0.075 7 .6900E-02 1 .6124E+00 4 .1059E+00 7 .8936E+02 2 .8973E+00

0 .090 5 .4300E-02 2 . 3090E+00 5 .8798E+00 7 .9819E+02 2 .9021E+00

0 .105 4 .OlOOE-02 3 .1827E+00 8 .1046E+00 8 .1249E+02 2 .9098E+00

0 .120 3 .0700E-02 4 .2653E+00 1 .0861E+01 8 .3362E+02 2 .9210E+00

0 135 2 .4200E-02 5 .6053E+00 1 .4274E+01 8 .6356E+02 2 .9363E+00

0 .150 1 .9600E-02 7 .2551E+00 1 . 8475E+01 9 .0527E+02 2 .9568E+00

0 165 1 . 6500E-02 9 .1680E+00 2 .3346E-.-01 9 .6303E+02 2 .9836E+00

0 180 1 .4400E-02 1 . 1370E+01 2 .8952E+01 1 .0423E+03 3 .0180E+00

0 195 1 .3100E-02 1 .3802E+01 3 .5146E+01 1 . 1510E+03 3 0611E+00

0 210 1 .2500E-02 1 .6341E+01 4 .1611E+01 1 .3003E+03 3 1141E+00

0 225 1 .2400E-02 1 .9066E+01 4 8551 Ef01 1 .5051E+03 3 1776E+00

0 240 1 .3000E-02 2 1620E+01 5 5054E+01 1 7893E+03 3 2527E+0O

0 255 1 4100E-02 2 4314E+01 6 1915E+01 2 1825E+03 3 3390E+00

0 270 1 6100E-02 2 6708E+01 6 8011E+01 2 7374E+03 3 4373E+00

0 285 1 9000E-02 2 9120E+01 7 4153E+01 3 5223E+03 3 5468E+00

0 300 2 3300E-02 3 1375E+01 7 9895E+01 4 6539E+03 3 6678E+00

0 315 2 9400E-02 3 3708E+01 8 5836E+01 6 3090E+03 3 8000E+00

0 330 3 8200E-02 3 6155E+01 9 2068E+01 8 7925E+03 3 9441E+00

0 345 5 140OE-02 3 8611E+01 9 8321E+01 1 2634E+04 A 1015E+00

0 360 7 2100E-02 4 0891E+01 1 0413E+02 1 8769E+04 4 2734E+00

0 375 1 0740E-01 4 2255E+01 1 0760E+02 2 8891E+04 4 4608E+00

0 390 1 7320E-01 4 1624E+01 1 0599E+02 4 5895E+04 4 6618E+00

0 405 3 0810E-01 3 7815E+01 9 6295E+01 7 4171E+04 4 8702E+00

0 420 6 0950E-01 3 0523E+01 7 7727E+01 1 1844E+05 5 0735E+00

0 435 1 3340E+OO 2 1084E+01 5 3689E+01 1 7905E+05 5 2530E+00

0. 450 3 1800E+00 1 2117E+01 3 0856E+01 2 4531E+05 5 3897E+00

0 465 8 0360E+00 5 8445E+0O 1 4883E+01 2 9900E+05 5 4757E+00

0 480 2 0400E+01 2 5503E+00 6 4943E+00 3 3121E+05 5 5201E+00

0 495 4 6620E+01 1 1685E+00 2 9755EfOO 3 4679E+05 5 5401 E+00

0 510 8 2750E+01 6 7106E-01 1 7088E+0O 3 5352E+05 5 5484E+00

0 525 1 0970E+02 5 0995E-01 1 2986E+0O 3 5613E+05 5 5516E+00

0. 540 1 2140E+02 4 6192E-01 1 1763E+00 3 570OE+05 5 5527E+00

0 555 1 2510E+02 4 4857E-01 1 1423E+00 3 5725E+05 5 5530E+00

0 570 1 2610E+02 4 4510E-01 1 1334E+00 3 5732E+05 5 5531E+00

0 585 1 2640E+02 4 4407E-01 1 1308E+0O 3 5734E+05 5 5531E+00

0 600 1 2640E+02 4 4408E-01 1 1308Ef00 3 5734E>05 5 5531E+00

0 615 1 2650E*02 4 4373E-01 1 1299Ef00 3 5735E+05 5 5531E+00

0 630 1 2650E+02 4 4373E-01 1 1299E+00 3 5735E+05 5 5531E+00

0 645 1 2650E+02 4 4373E-01 1 1299E+00 3 5735E+05 5 5531E+00

0 660 1 2650E+02 4 4373E-01 1 1299E+00 3 5735E+05 5 5531E+00

0 675 1 2650E+02 4 4373E-01 1 1299E+00 3 5735E+05 5 5531E+00

0 690 1 2650E+02 4 4373E-01 1 1299E-.-00 3 5735E+05 5 5531E+00

0 705 1 2650E+02 4 4373E-01 1 1299E+00 3 5735E+05 5 5531 E+00

0 720 1 2650E+02 4 4373E-01 1 1299E*00 3 5735E+05 5 5531E+00

0 735 1 2650E+02 4 4373E-01 1 1299E+00 3 5735E+05 5 5531E+00

0 750 1 2650E*02 4 4373E-01 1 1299E+00 3 5735E+05 5 5531E+00

CPU time: 00:00:06. 89 - this CPU time is fo r VAX 11/785

35
RGENBL

The RGENBL (Resistance GENeration Berkowitz Lux) program calculates the two-probe

spreading resistance starting with eqs (14) to (17). Whereas RGENTR carried out the integration by successive spHtting of the subintervals and RGENGL carried out the integration

by using fixed sampHng points, the RGENBL program makes use of two essential features.

The first is to approximate the correction factor integral by removing the probe-spacingdependent Bessel function and to replace its effect by a truncated S-dependent lower limit

of integration. In particular, this approximation of the correction factor integral takes the

form as

where L — 1.12292/5. The choice of the truncated lower limit of integration is dictated

by the form of the functions for the case of both insulating and conducting boundaries.

The second feature of the technique is that the approximate integral can be divided into

four domains in each of which the Newton- Cotes integration method may be used. The

evaluation of the above approximate integral is then performed by means of a finite sum

as

22

k=l

where the weights, ty^', are different from those used in the Gauss-Laguerre technique.

The first eight sampling points for this method are dependent upon the probe spacing.

The remaining points are fixed. It is the dependence of the first eight sampling points on

the probe spacing that allows the technique to have numerical simplicity (of the RGENGL

code) and yet reproduce the results of the RGENTR code (with the uniform current

density) to within a percent.

RGENBL reads the input data from logical device forOlO. This can be referenced to a data file through an assign statement. For the purposes of illustration, the input data file,

rgenbl.in, is used here. The structure of the input data file is as follows:

npt number of data points in structure (excluding substrate) aa probe radius (micrometers)

sep separation between the probes (micrometers)

delth depth increment (micrometers)

ibbc backsurface boundary condition (none=l, conducting=2, insulating=3)

subrho substrate resistivity (f2-cm)

subth substrate thickness (micrometers)

rho array of resistivity values (0-cm)

36
To run the program for a structure directly on a backsurface boundary, take the last point

in the structure as the substrate and set subth=delth and subrho=rho(l).

The probe current density is not entered as input data as the analysis is performed with the

uniform current density. Application of the technique for the Schumann and Gardner or the ring density requires the analysis of the S-dependence of the integrand. Such analysis

(not performed here) should provide the correct representation of the appropriate weights

and sampUng points.

The RGENBL code consists of just the main program. This contains the fixed points

and weights through DATA statements and calculates the S-dependent points from the

input. Upon calctdating the integrals and the spreading resistance, output is directed to

the logical devices for006 and forOll. The file rgenbl.in contains the input for the sample

run, whereas rgenbl.log and rgenbl.out contain the corresponding output. Typical CPU

times are on the order of seconds on a VAX 11/785.

37
Table 7. Annotated input data file (rgenbl.in) for RGENBL program

50 NPT-number of points in structure. Total is NPT 1 2.0 AA-probe radius in micrometers

50.0 SEP- probe separation in micrometers

0.015 DELTH-depth increment in micrometers

1 IBBC - back boundary condition (none=l, cond=2, ins=3)

126.5 SUBRHO-substrate resistivity in ohm*cm =RH0(1)

0.015 SUBTH-substrate thickness in micrometers

1.542 RH0(NPT+1) surface resistivity in ohm*cm

0.6933 RHO(NPT)

0.3442 RHO(NPT-l)

0.19

0.1159

0.0769

0.0543

0.0401

0.0307

0.0242

0.0196

0.0165

0.0144

0.0131

0.0125

0.0124

0.013 . 0.0141

0.0161

0.019

0.0233

0.0294

0.0382 , . 0.0514

0.0721

0.1074

0.1732

0.3081

0 . 6095

1.334

3.18

8.036

20.4

46.62

82.75

109.7

121.4

125.1

126.1

126.4

126.4

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5 RH0(2)

38
Table 8. Annotated output data file (rgenbl .out) for RGENBL program

51 n ooo 00 1XOXZC^V/Z m 9F*09

A\J 7 7Q1 ftF*09

Ci\J 7 0070U^\/Z nw 7 ooxoc^vz CQi •3F*n9 n 71 Oil ';77fiF*09 OC^wZ

o V/ r w 71 fil 0 X flOF4.09 OwC^vZ o\J 71 703fiF*n9

AKl 1 AK 7 RA^ oHxyc+uz QFj.09

1 on 00 04fiOF*09

A 00 A 00 7'^R9F*09 / OOZC^wZ

Au 100 Q 9Qfi1 Z9QX F*09 U+vZ

Au1X 0Ofi9F*n3 V,A./UZ^^ VO

AV1X 111 XXX 9F+n3 ^^TVO

A\J1X 9^t?4F+03 ZOOH vO

Au 1X *tOOZC*vO

A\J1X 797flF*n3

AU ZOO 0

z

1XU07ftF*0^ / Ou+Uo

AW 970 0z fi440F*0^

A\J ZOO 0 4094F+03

AW ^00 •t M i700t* vO

AV 010 cD nQ39F*0^

A\J OOw ^70 00 4ft7nF+03

Aw1X 91 aOF+04

AV1X 0 9 7680E+04

0 4 3791 F+04

AV AO"? 7 01 ';QF+04

Aw A90 *tZw 1X 1 1 99F+0'5

0 •too 1X fi71 6F+05

0 *tOv/ 9 98^0F+05

AV 4fi^ 9 7fi04F+0^

A\J 4 fin "30 Oft09F+05 AV

30 99';QF+0'5 A\J 0 XV 30 9891 F+05

0 3 3139E+05

0w 3991 F+05 nv 3944F+0R t*T L.~ W\J n

30 000 Q o 0\j\J 3 n\j 010

nu oou

3 0 645 3 3254E+05

0 660 3 3254E+05

0 675 3 3254E+05

0 690 3 3254E+05

0 705 3 3254E+05

0 .720 3 .3254E+05

0 .735 3 .3254E+05

0 .750 3 .3254E+05

total number of points calculated

depth and spreading resistance

2.000000000000000

50.00000000000000

1 . 50OO0O0O0O0O0OO0E-02

probe radius in micrometers

probe separation in micrometers

depth incrrement in micrometers

39
Table 9. Annotated log file (rgenbl.log) for RGENBL program

CALCULATION OF SPREADING RESISTANCE FROM THE RESISTIVITY

BERKOWITZ-LUX APPROXIMATE INTEGRAL WITH THE UNIFORM CURRENT DENSITY

NO BOUNDARY AT 0.765 UM. SUBSTRATE AT 0.750 UM

RADIUS=2.0000 SEP= 50.0 DELTH= 0.015 SUBTH=1 . 500E-02 SUBRH0=1 .265E+02 #PTS=50

DEPTH RHO INTEGRAL CORR.FAC RSP VOL

0 .000 1 .5420E+00 8 .3034E-02 2 .1144E-01 8 .1512E+02 2 .9112E+00

0 .015 6 .9330E-01 1 .7654E-01 4 .4955E-01 7 .7918E+02 2 .8916E+00

0 .030 3 .4420E-01 3 .4864E-01 8 .8781E-01 7 .6396E*02 2 .8831E+00

0 .045 1 .9000E-01 6 .2677E-01 1 .5961E+00 7 .5813E+02 2 .8797E+00

0 .060 1 .1590E-01 1 .0270E+00 2 .6152E+00 7 .5776E+02 2 .8795E+00

0 .075 7 .6900E-02 1 .556lE-i-00 3 .9626E+00 7 .6180E+02 2 .8818E+00

0 .090 5 .4300E-02 2 .2285E+00 5 .6748E+00 7 .7036E+02 2 .8867E+00

0 .105 4 .OlOOE-02 3 .0718E+00 7 .8223E>00 7 .8419E-K02 2 .8944E+00

0 120 3 .0700E-02 4 .1168E+00 1 .0483E+01 8 .0460E+02 2 .9056E+00

0 135 2 .4200E-02 5 .4104E+00 1 .3777E+01 8 .3353E+02 2 .9209E+00

0 150 1 .9600E-02 7 .0030E+00 1 .7833E+01 8 .7382E+02 2 .9414E+00

0 165 1 .6500E-02 3 .8498E+00 2 .2536E+01 9 .2961E+02 2 .9683E*00

0 180 1 .4400E-02 1 .0975E+01 2 . 7949E+01 1 .0O62E+03 3 .0027E+00

0 195 1 .3100E-02 1 .3324E+01 3 .3930E-f01 1 .1112E+03 3 .0458E+00

0 210 1 2500E-02 1 5776E+01 4 .0174E+01 1 .2554E+03 3 0988E+00

0 225 1 2400E-02 1 8409E+01 4 .6878E+01 1 4532E+03 3 1623E+00

0 240 1 3000E-02 2 0877E+01 5 .3163E+01 1 .7278E+03 3 2375E+00

0 255 1 4100E-02 2 3481 E+01 5 .9795E+01 2 1078E+03 3 3238Et-00

0 270 1 610OE-02 2 5796E+01 6 .5690E+01 2 6440E+03 3 4223E+00

0 285 1 9000E-02 2 8129E+01 7 1629E+01 3 4024E+03 3 5318E+00

0 300 2 3300E-02 3 0307E+01 7 7176E+01 4 4955E+03 3 6528E+00

0 315 2 9400E-02 3 2555E+01 8 2900E+01 6 0932E+03 3 7848E+00

0 330 3 8200E-02 3 4899E+01 8 8869E+01 8 4870E+03 3 9288E+00

0 345 5 1400E-02 3 7223E+01 9 4788E+01 1 2180E+04 4 0857E+00

0 360 7 2100E-02 3 9330E+01 1 0015E+02 1 8053E+04 4 2565E+00

0 375 1 0740E-01 4 0484E+01 1 0309E+02 2 7680E+04 4 4422E+00

0 390 1 7320E-01 3 9652E+01 1 0097E+02 4 3721 E+04 4 6407E+00

0 405 3 0810E-01 3 5769E+01 9 1085E+01 7 0159E+04 4 8461E+00

0 420 6 0950E-01 2 8664E+01 7 2992E+01 1 1122E+05 5 0462E+00

0 435 1 3340E+00 1 9684E+01 5 0124E+01 1 6716E+05 5 2231E+00

0 450 3 1800E+00 1 1277E+01 2 8717E+01 2 2830E+05 5 3585E+00

0 465 8 0360E+00 5 4349E+00 1 3840E+01 2 7804E+05 5 4441E+00

0 480 2 0400E+01 2 3718E+00 6 0396E+00 3 0802E+05 5 4886E+00

0 495 4 6620E+01 1 0869E+0O 2 7678E+00 3 2259E+05 5 5086E+00

0 510 8 2750E+01 6 2436E-01 1 5899E+0O 3 2891 E+05 5 5171E+00

0 525 1 0970E+02 4 7451E-01 1 2083E+00 3 3139E+05 5 5203E+00

0 540 1 2140E+02 4 2984E-01 1 0946E+00 3 3221E+05 5 5214E+00

0 555 1 2510E+02 4 1743E-01 1 0630E+00 3 3244E+05 5 5217E+00

0 570 1 2610E+02 4 1420E-01 1 0547E+00 3 3251E+05 5 5218E+00

0 585 1 2640E+02 4 1324E-01 1 0523E+00 3 3253E+05 5 5218E+00

0 600 1 2640E+02 4 1324E-01 1 0523E+00 3 3253E+05 5 5218E-fOO

0 615 1 2650E+02 4 1292E-01 1 0515E+00 3 3254E+05 5 5218E+00

0 630 1 2650E+02 4 1292E-01 1 0515E+00 3 3254E+05 5 5218E+00

0 645 1 2650E+02 4 1292E-01 1 0515E+00 3 3254E+05 5 5218E+00

0 660 1 2650E+02 4 1292E-01 1 0515E^00 3 3254E+05 5 5218E+00

0 675 1 2650E+02 4 1292E-01 1 0515E+00 3 3254E+05 5 5218E+00

0 690 1 2650E+02 4 1292E-01 1 0515E+00 3 3254E+05 5 5218E+00

0 705 1 2650E+02 4 1292E-01 1 0515E+00 3 3254E+05 5. 5218E+00

0 720 1 2650E+02 4 1292E-01 1 0515E+00 3 3254E+05 5. 5218E+00

0 735 1 2650E+02 4 1292E-01 1 0515E+00 3. 3254E+05 5. 5218E*00

0 750 1 2650E+02 4 1292E-01 1 0515E+0O 3. 3254E+05 5. 5218E+00

CPU time: 00:00:07.21 - this is CPU time for VAX 11/785

40
RGENVAR

The program RGENVAR (Resistance GENeration VARiational) is based upon the simplified implementation of the variation scheme discussed by Choo et al. [22,23]. There are three aspects of this calculation and the code which are of interest. First, the calculation

does not make use of a single-probe current density, but rather makes use of a "mix" of the

uniform current density and the Schumann and Gardner semi-infinite slab current densities. These provide a "basis set," where the amount of each current is varied according to a variational principle. The spreading resistance obtained from this variational method is

where

where Ki and K2 are given by

^^ 4 Kihs + K2I2

" TT Ki+K2/2 '

l2-h/2

i^l =

K2 -

Ii/2-h

hh-ir

The integrals /i , /2 5 -^3 are

sin(Aa) Ji (Aa)

Finally, the integrals I^a and l2a are

and

hs

sin(Aa) \ pi(Aa)

Aa J V Aa

pi(Aa)

Aa 1 V Aa

The second and third aspects of this calculation are appropriate generalizations of the

RGENBL analysis to this problem. In particular, the Berkowitz-Lux approximation [21]

is used to simplify the integrals (and to remove the S-dependent Bessel function with an

S-dependent lower limit of integration) as

t3«

41
It should be noted that the integrals, /i, I2, and I3, contain all of the information which

is needed to evaluate the correction factor and the spreading resistance. This follows from

the fact that the approximate integrals, and I28 are contained in the corresponding

J3 and I2 integrals. The third aspect of the calculation is the evaluation of the various

integrals (/j, /2, and I3) by means of a segmented Newton-Cotes method similar to that

used by Berkowitz and Lux. The coordinates and weights of the fixed points as well as the form of the S-dependent points are listed and discussed in reference [23]. These are incorporated in RGENVAR through DATA statements and the appropriate computations.

RGENVAR reads the input data from the logical device forOlO. These include:

n number of resistivity, spreading resistance values aa probe radius (micrometers)

sep probe separation (micrometers)

delth sublayer thickness (micrometers)

ibbc boundary condition (none=l, conducting=2, insulation=3)

subrho substrate resistivity (12-cm)

subth substrate thickness (micrometers)

rho(i) i-th resistivity relative to the surface (0-cm)

As originally formulated, the integration scheme is not able to handle an insulating boundary. In the present implementation, this has been circumvented by starting the integration one point away from the singularity at the origin when there is an insulating boundary.

This has been found to lead to very good results with no loss of generality.

To run the program for a structure directly on a backsurface boundary, take the last point

in the structure as the substrate and set subth=delth and subrho=rho(l).

The file rgenvar.in contains the input data to be read in forOlO. The files rgenvar.log and

rgenvar.out contain the output data written to for006 and forOll. The computation also

takes several CPU seconds much like RGENGL and RGENBL.

42
Table 10. Annotated input data file (rgenvar.in) for RGENVAR program

50 NPT-number of points in structure. Total is NPT 1 2.0 AA-probe radius in micrometers

50.0 SEP- probe separation in micrometers

0.015 DELTH-depth increment in micrometers

1 IBBC - back boundary condition (none=l, cond=2, i ns=3)

126.5 SUBRHO-substrate resistivity in ohm*cm =RH0(1)

0.015 SUBTH-substrate thickness in micrometers

1.542 RH0(NPT+1) surface resistivity in ohm*cm

0.6933 RHO(NPT)

0.3442 RHO(NPT-l)

0.19

0.1159

0.0769

0.0543

0.0401

0.0307

0.0242

0.0196

0.0165

0.0144

0.0131

0.0125

0.0124

0.013

0.0141

0.0161

0.019

0.0233

0.0294

0.0382

0.0514

0.0721

0.1074

0.1732

0.3081

0.6095

1.334

3.18

8.036

20.4

46.62

82.75

109.7

121.4

125.1

126.1

126.4

126.4

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5 RH0(2)

43
Table 11. Annotated output data file (rgenvar .out) for RGENVAR program

51

0 .000 8 .0688E+02

0 .015 7 .6620E+02

0 .030 7 .4523E+02

0 .045 7 .3371E+02

0 060 7 .2839E+02

0 075 7 .2830E+02

0 090 7 .3334E*02

0 105 7 .4399E+02

0 120 7 .6136E+02

0 135 7 .8711E+02

0 150 8 2382E+02

0 165 8 7534E+02

0 180 9 4651E+02

0 195 1 0445E+03

0 210 1 1794E+03

0 225 1 3646E+03

0 240 1 6217E+03

0 255 1 9775E+03

0 270 2 4795E+03

0 285 3 1891E+03

0 300 4 2110E+03

0 315 5 7027E+03

0 330 7 9339E+03

0 345 1 1367E+04

0 360 1 6804E+04

0 375 2 5663E+04

0 390 4 0285E+04

0 405 6 4054E+04

0 420 1 0034E+05

0 435 1 4903E+05

0 450 2 0237E1-05

0 465 2 4762E+05

0 480 2 7753E+05

0 495 2 9401 E+05

0 510 3 0209E+05

0 525 3 0550E+05

0 540 3 0667E+05

0 555 3 0701E+05

0 570 3 0710E+05

0 585 3 0713E+05

0 600 3 0713E+05

0 615 3 0714E+05

0 630 3 0714E+05

0 645 3 0714E+05

0 660 3 0714E+05

0. 675 3 0714E+05

0. 690 3 0714E+05

0. 705 3 0714E+05

0. 720 3 0714E+05

0. 735 3 0714E+05

0. 750 3 0714E+05

total number of points calculated

depth and spreading resistance

2.000000000000000

50.00000000000000

1 . 5000000000000000E-02

probe radius in micrometers

probe separation in micrometers

depth increment in micrometers

44
Table 12. Annotated log file (rgenvar.log) for RGENVAR program

CALCULATION OF SPREADING RESISTANCE FROM THE RESISTIVITY

USING CHOO ET AL VARIATIONAL TECHNIQUE-BL

NO BOUNDARY AT 0.765 UM. SUBSTRATE AT 0.750 UM

RADIUS=2.0000 SEP= 50.0 DELTH= 0.015 SUBTH=1 . 500E-02 SUBRH0=1 .265E+02 #PTS=50

DEPTH RHO CORR.FAC RSP VOL

0 .000 1 .5420E+00 2 .0931E-01 8 .0688E+02 2 .9068E+00

0 .015 6 .9330E-01 4 .4206E-01 7 .6620E+02 2 . 8843E+00

0 .030 3 .4420E-01 8 .6604E-01 7 .4523E+02 2 .8723E+00

0 .045 1 . 9000E-01 1 .5446E+00 7 .3371E+02 2 .8655E+00

0 .060 1 . 1590E-01 2 .5139E+00 7 .2839E+02 2 .8624E+00

0 .075 7 . 6900E-02 3 .7883E+00 7 .2830E+02 2 . 8623E-f00

0 .090 5 .4300t-02 5 .4021E+00 7 .3334E+02 2 .8653E+00

0 . 105 4 .OlOOc-02 7 .4214E+00 7

A OOOC 00 .4399E+02 2 .8716E+00

0 .120 3 .0700c-02 9 . 9200E+00 7

^ 0 ^ c 00 .6136E+02 2 .8816E+00

0 .135 2 . 420OE-02 1 .3010E+01 7

ft^^ ^ C 00

. 8711E+02 2 .8960E+00

0 . 150 1 . 960OE-02 1 . 6813E+01 8 OOOOC AA

. 2382E+02 2 .9158E+0O

0 . 165 1 . 6500E-02 2

^ OOAC a^

. 1220E+01 8

^ r 0 J c AO

. 7534E+02 2 .9422E+00

0 . 180 1 . 4400t-02 2 ^AAOC A1. 6292C+01 A

9

J C C 1 C AO

. 4o51b+02 2

A"T^^ C 00

. 9761E+00

0 . 195 1 . 3100t-02 3

1 O A J C A1

. 1894E+01 1 A J A CC . AO .0445b+03 3

O^ ftOC o_o .0189E+00

0 .210 1 or/vMT /NO. 2500t-02 3 nJ -1 c Ai. 7741E+01 1

•1 A J C AO

. 1794h+03 3 A^^ "TC 00 0717E+00

0 225 1

OJ/\/\C AO 4

J Ai O C Al

. 4018c+01 1

0 C J C C . AO

. 3o4oh+03 03

^ OCAC AA 1350E+00

0 .240 1 O AAAC AO . 3(XX)h-02 4

A O A ft C A^

. 9898E+01 1 o217t+03 3

0^ 00c o_o .2100E+00

0 255 1

A 1 AAC AO .410OD-02 5

^ AAO C A1

. 6098E+01 1 AT'^CC AO. 9775t+03 3 OA^^ C AO 2961E+00

0 270 1 C

1

AAC AO . olOOt-02 6

1 AOC A1 1602E+01 2 A^ncC . AO 3 00 A A C AA 3944E+00

0 285 1 AA/\AC AO 6

T 1 O ft C A^ 7138C+01 oo

1 Odl

C

. AO 3 CAO^C OA 5037E+00

0 300 2 OOAAC AO 33OOC-02 7 OOAOC A1 2292h+01 4

01 1 AC . AO 2110t+03 03

C r% A A C AA o244t+0O

0 315 2

AilAAC AA 7

T C O O C A1 7588t+01 5 7A07C I AO 03

"7 C ^ 1 C AA 7561E+00

0 330 3 OOAAC AO 8

OA^"7C A1 3077t+01 7

/ AO 0 AC . AO 03 OAACC . A

A

8995h+00

0 345 5

1 >( AAC AO 8

O J oaC A1 8460C+01 1

1 OC7C . A>l lob / t+04 4 A C C C AA 0556E+00

0 360 7 01 AAC AO 2100t-02 9

O OA C C A ^ 3225E+01 1

C 0 A C . A4 D804t+04 4 00 C il C AO 2254E+00

0 375 1

A*7 J AC A1 0740E-01 9 5578E+01 2r c c 0 C A il 5Do3t+04 4 JAAOC OA 4093E+00

0 390 1 "TOOAC A1 7320t.-01 9

*5 AO ^ C A1 3036E+01 4 AO 0 C C . A 4 0285t+04 4 OAC^ C AA 6051E+00

0 405 3 A O 1 AC Al 0810h-01 8 3161E+01 0

it AC A C . Ail 40o4t+04 4

OAtf cC AA 8065E+00

0 420 6 AAtTAC A1 0950h-01 6

er ft J A C A^ 5849E+01 1 AAO A C . AC 5 AA^ CC A

A

0015E+00

0 435 1 O O 4 AC . AA 3340t+0(J 4

A ^ A ^ C A1 4686E+01 1

il AAO C . AC 5

^ ^OOC A

A

1733E+00

0 450 3

1 OAAC AA 1800h+00 2 5455E+01 2 A007C . AC 0237t+05 5 3061E+00

0 465 8 AO^OC OA 0360E+00 1 O O O C o^ 2326E+01 2

J T ^ 0 C A CT 4762E+05 5

oooftC 00 3938E+0O

0 480 2 A A AAC A^ 0400C+01 5 4417E+00 2

7*7 ET 0 C AC 7753t+05 5

A JOOC 00 4433E+00

0 495 4

OAC A1 6620E+01 2 5226E+00 2A J A 1 C AC 9401E+05 5

J 0 J C 00 4684E+00

0 510 8 OTf AC A1 2750c*01 1 4603E+00 3 AOAAC AC 0209t+05 5

A rtO^ C 00 4801E+00

0 525 1 AATOC AO 0970E+02 1 1139E+00 3 A C C AC AC 0550h+05 5 jococ 00 4850E+00

0 540 1 o^ JoC oo 2140E+02 1 0104E+00 3 A^^TC AC 0667E+05 5 4867E+00

0. 555 1 2510E+02 9 8165E-01 3 0701E+05 5 4872E+00

0. 570 1 2610E+02 9 7415E-01 3

/^"T^ oC oc 0710E+05 5 4873E+00

0 585 1 2640E+02 9 7192E-01 3 0713E+05 5 4873E+0O

0 600 1 2640Et-02 9 7194E-01 3 0713E+05 5 4873E+00

0 615 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

0. 630 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

0. 645 1 2650Ef02 9 7120E-01 3 0714E+05 5 4873E+00

0 660 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

0. 675 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

0. 690 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+0O

0. 705 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

0. 720 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

0. 735 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

0. 750 1 2650E+02 9 7120E-01 3 0714E+05 5 4873E+00

CPU time: 00:00:07.49 - this is CPU time for VAX 11/785

45
CALCULATION OF THE RESISTIVITY FROM THE TWO-PROBE RESISTANCE

The second group of programs is used to calculate the resistivity from the spreading re- sistance. The three programs included in this section are: BL, GL, and VAR. These are related to the programs RGENBL, RGENGL, and RGENVAR which were discussed in

the previous section. For example, the calculation of the spreading resistance from the

resistivity is carried out with RGENBL, then the inversion or calculation of the resistivity

from the spreading resistance is accomplished with the program BL. All three inversion

programs have very similar architecture and program logic. The program BL is discussed

first because of historical reasons. It was the first program to make use of a bounding

procedure in order to carry out the spreading resistance correction factor integral inversion. The procedure is used until the calculated spreading resistance agrees to within given

limits with the input spreading resistance. This bounding procedure is extremely general

and is not dependent upon the quadrature method for evaluating the correction factor

integral. Hence, it is easily used in a straightforward way in the Gauss-Laguerre program,

GL, and is readily generalized in the variational program, VAR, where several forms of the

current density necessitate the application of the bounding procedure to several integrals.

It is of interest to note that there are a number of other programs which can be used to

calculate the resistivity from the spreading resistance. These include the SPINT-SPRED

programs presented by D'Avanzo et aJ. [16] and the LOCAL SLOPE program presented

by Dickey [18]. Both of the programs have been discussed and documented in the appropriate references. The SPINT-SPRED programs represent the inversion of the spreading

resistance following the calculation of the integrals involved in the RGENTR program.

The use of a earlier version of RGENTR in the discussion of the SPINT-SPRED and the

LOCAL SLOPE programs has been discussed elsewhere [19].

46
BL

The BL (Berkowitz-Lux) program is based upon the Berkowitz-Lux approximation for the

correction factor integral. This is discussed and used in the RGENBL program. The program calculates the resistivity by varying the resistivity needed to obtain a predetermined

level of agreement between the input spreading resistance and the calculated spreading

resistance. In this, the bounding procedure is very important. This is based upon the

observation that the hyperbolic functions, tanh and coth, provide the limits of the form

of the kernel of the correction factor integral for the cases of conducting and insulating

boundaries. The correct kernel must then lie between these two extremes which then provide bounding envelopes for the kernel function. This assists the code in the seeking of

the best value of the resistivity for a given value of the spreading resistance.

The BL program reads the input data from forOll (bl.in is the example). The data in this

file are in the following form.

npt number of two-probe resistance and resistivity values

depth(i) rsp(i) i-th value of depth, in micrometers (relative to surface)

and i-th value of two-probe resistance (relative to surface) aa probe radius (micrometers)

sep probe separation (micrometers)

delth sublayer thickness (micrometers)

The BL program uses the approximate correction factor, the 22-point Newton-Cotes quadrature, and the bounding procedure to calculate the resistivity from the spreading resistance.

Once finished, it writes onto for012 and for006. Examples of these files are contained in

bl.out and bl.log. Notice that the CPU needed to carry out the inversion is on the order

of seconds. This puts it into the time frame of real-time analysis which is possible on a PC-based system.

47
Table 13. Annotated input data file (bl.in) for BL program

This is the output data file (rgenbl.out) from RGENBL program.

51

0 .000 8 .1512E+02

0 .015 7 .7918E+02

0 .030 7 .6396E*02

0 .045 7 .5813E+02

0 .060 7 .5776E+02

0 .075 7 .6180E*02

0 .090 7 .7036E+02

0 .105 7 .8419E-i-02 0 .120 8 .0460E+02

0 .135 8 .3353E+02

0 .150 8 .7382E+02

0 .165 9 .2961E+02

0 .180 1 .0062E+03

0 .195 1 .1112E+03

0 .210 1 .2554E+03

0 225 1 4532E+03

0 240 1 7278E+03

0 255 2 1078E+03

0 270 2 6440E+03

0 285 3 4024E+03

0 300 4 4955E+03

0 315 6 0932E+03

0 330 8 4870E+03

0 345 1 2180E+04

0 360 1 8053E+04

0 375 2 7680E+04

0 390 4 3721 E+04

0 405 7 0159E+04

0 420 1 1122E+05

0 435 1 6716E+05

0 450 2 2830E+05

0 465 2 7804E+05

0 480 3 0802E+05

0 495 3 2259E+05

0 510 3 2891E+05

0 525 3 3139E+05

0 540 3 3221E+05

0 555 3 3244Ei-05

0 570 3 3251E+05

0 585 3 3253E+05

0 600 3 3253E+05

0 615 3 3254E+05

0 630 3 3254E+05

0 645 3 3254E+05

0 660 3 3254E+05

0 675 3 3254E+05

0 690 3 3254E+05

0 705 3 3254E+05

0 720 3 3254E+05

0 735 3 3254E+05

0. 750 3 3254E+05

2.000000000000000

50.00000000000000

1 . 5000000000000000E-02

NPT-number of spreading resistance values

DEPTH (1) RSP(l)

DEPTH (2) RSP(2)

DEPTH (3) RSP(3)

DEPTH (NPT) RSP(NPT)

AA-probe radius in micrometers

SEP-probe separation in micrometers

DELTH-depth increment (layer thickness)

48
Table 14. Annotated output data file (bl.out) for BL program

51 n . WAJ 1 u 0 OKI P_r>i nU . U<3U O aaqc ai AU 1 . J>U^C~VX

Au . vOU 1 . xouc~ux A 71 . AQ1 oyxc-uz P_no

A cO . A^i nOXC'U^ P-no

A 1 nis lUO An . fti vXZC~UZ oP-no

A 1 on "iO A\J 1 o AW 1lOU 1 AU 11 AU 1 flA 1 P AO

AU lad 1 qiAP AO

A •51 n 11 A 11 9AAP A9

A ZnU 11 7nr>P A9

AU OCR i. A^(\C r\o

. 4XUC-UZ

A\J1I

fil OXvC~UZ nP_n9

A zoo 1

J. AU

o A Q1 C GAAP A9

AU oOU q fl91 P A9

A co AKJ 7 91 ^P_n9

AU 1 AW 11 7'?9P_f>1 A\J ao Aw o noiX F-01 U. vX n 1X ^•^fiP+OO AV

ao 1 snF*fV) A oo

n'^t;p4.no A\J o£. IT^OPj-DI UO 7L.^\./X Aw

A

*t 0*tZU*wX t;49F+ni A\J Oo 99c;P*ni AV./ 1X A X 9fi7pAn9 AV ooo 1X 9R4P*n9

A\J X A\J 1X 9fi^P*n9

Ct\J uw 1X AV fil 1X A\J 1X zooc^wz

Aw . D*tO 1X 0. 660 1 265E+02

0. 675 1 265E+02

0. 690 1 265E+02

0. 705 1 265E+02

0. 720 1 265E+02

0. 735 1 265E+02

0. 750 1 265E+02

number of corrected points

depth (micrometers) and resistivity (ohm*cm)

49
Table 15. Annotated log file (bl . log) for BL program

CALCULATION OF THE RESISTIVITY FROM THE SPREADING RESISTANCE

USING THE BERKOWITZ-LUX APPROXIMATE INTEGRAL

RADIUS= 2.0 SEP= 50.0 DELTH= 0.015 f PTS= 51

R5- 0.412922 R6:= 0.003736 R7= 115 .745620

NPT DEPTH RMEAS 1-RCAL/R RHO OCliO TTFR

1 0 .000 8 .151E+02 -9 .882E-05 1 .545E+00 9 . 1xoxc+ux ft9P*ni 9X 9 0 .015 7 .792E+02 -5 .763E-05 6 .951E-01 AH . 090u+wX 7QftF*ni 9X o 0 .030 7 .640E+02 -3 .414E-05 3 .449E-01 7f 9ftfiPj.ni 9X

AH 0 .045 7 .581E+02 -2 .080E-05 1 .904E-01 oo fti 7Pj.ni 9X O 0 .060 7 .578E-f02 -1 .301E-05 1 . 160E-01 Qo . n9i V/XXC+VX F4.n1 9X 0 .075 7 .618E+02 -8 .485E-06 7 .691E-02 9X 7 0 090 7 .704E+02 -5 .816E-06 5 .431E-02 A*T 9X

oo 0 105 7 .842E+02 -4 .177E-06 4 .012E-02 7o . fil U X 1X P+ni C+wX 9X

q 0 120 8 .046E+02 -3 . 173E-06 3 .070E-02 9 74fiF+ni 9X 10 0 135 8 .335E+02 -2 .580E-06 2 .420E-02 9 1 lOF+01 9X

1 1 X X 0 150 8 .738E+02 -2 . 189E-06 1 .960E-02 1

±, 9X 0 165 9 .296E+02 -2 .044E-06 1 .649E-02 1X ^01 F+ni 9X 0 180 1 006E+03 -2 .087E-06 1 .441E-02 1X n«^9P*ni 9X

1X*TA 0 195 1 lllE+03 -2 .250E-06 1 310E-02 oo fi7i F+nn 9X

1 c X9 0 210 1 255E+03 -2 .762E-06 1 250E-02 7 797F+nn 9X

X u 0 225 1 453E+03 -3 .235E-06 1 240E-02 o 9RnF+nn 9X

1X 7/ 0 240 1 728E+03 -4 600E-06 1 300E-02 co t;7QF*nn 9X

1xoft 0 255 2 108E+03 -5 .931E-06 1 410E-02 A

*T Q9fip4.nn !7XO^+V/V 9X

X ij 0 270 2 644E+03 -9 154E-06 1 610E-02 A*T 4ft7F+nn 9X

OCi 0 285 3 402E+03 -1 389E-05 1 900E-02 4 in F+00 9X

91 0 300 4 496E+03 -2 436E-05 2 330E-02 3 813E+00 9

0 315 6 093E+03 -4 523E-05 2 940E-02 7k> 547E+00 9X 9^ 0 330 8 487E+03 -8 382E-05 3 821E-02 7 OwO 9X 94 0 345 1 218E+04 -1 473E-04 5 141E-02 7w 9X

9*? 0 360 1 805E+04 -1 694E-04 7 213E-02 9 9X

9fi 0 375 2 768E+04 2 557E-04 1 074E-01 9 7fi7P+0n 9X 97 0 390 4 372E+04 4 929E-06 1 732E-01 9 79f5F+nO 07

9ft xo 0 405 7 016E+C4 6 893E-05 3 081E-01 9 ft7nF4.nn 07 9Q 0 420 1 112E+05 4 325E-04 6 091E-01 7 1 74p4.nn 70

0 435 1 672E+05 -6 103E-04 1 336E+00 A ni nFj,nn *f ox 0 450 2 283E+05 8 160E-07 3 180E+00 co QAfiPj-nn o OZ 0 465 2 780E+05 1 llOE-06 8 035E+00 1

nfii^Pj.ni rO CO 0 480 3 080E+05 2 862E-06 2 039E+01 9 inyt+Ux c0 o4 0 495 3 226E+05 7 309E-04 4 542E+01 O ooit+Ui QQ1 Fj.ni 00 oo 0 510 3 289E+05 1 206E-04 8 225E+01 cO 9ftiiPj.ni 0 oo 0 525 3 314E+05 1 709E-05 1 098E+02 cO

fi9ftFj.ni q0

77 0 540 3 322E+05 -6 751E-04 1 263E+02 cofiKnFj.ni ODUt+Ui

. QO 0 555 3 324E+05 -2 054E-04 1 264E+02 o fiKnFj.ni ODUC+UX

7Q 0 570 3 325E+05 -5 860E-05 1 265E+02 co KKnFj.ni OOUt+Ui

0 585 3 325E+05 5 080E-07 1 265E+02 o

KKnFj.ni

Hi 0 600 3 325E+05 -2 954E-05 1 265E+02 ro KKnPj.ni

49 0 615 3 325E+05 0 OOOE+00 1 265E+02 o KKnFj.ni

43 0 630 3 325E+05 2 776E-17 1 265E+02 5 660E+01

44 0 645 3 325E+05 0 OOOE+00 1 265E+02 5 660E+01

45 0 660 3 325E+05 2 776E-17 1 265E+02 5 660E+01

46 0 675 3 325E+05 0 OOOE+00 1 265E+02 5 660E+01

47 0 690 3 325E+05 2 776E-17 1 265E+02 5 660E+01

48 0 705 3 325E+05 0 OOOE+00 1 265E+02 5 660E+01

49 0 720 3 325E+05 2 776E-17 1 265E+02 5 660E+01

50 0 735 3 325E+05 0 OOOE+00 1 265E+02 5 660E+01

51 0 750 3 325E+05 0 OOOE+00 1 265E+02 0 OOOE+00 0

CPU time : 00:00:06.69 - this is CPU time for VAX 11/785

50
GL

The GL (Gauss-Laguerre) program is based upon the Gauss-Laguerre quadrature for calculating the correction factor integral. This is discussed and used in the RGENGL program.

The present implementation of this program makes use of the same bounding procedure

used in the BL code.

The GL program reads the input data from forOll (gl.in is an example). The data in this

file are in the following form.

npt number of two-probe resistance and resistivity values

depth(i) rsp(i) i-th value of depth relative to surface and

i-th value of two-probe resistance relative to surface aa probe radius (micrometers)

sep probe separation (micrometers)

delth sublayer thickness (micrometers)

icur current density (Schumann Gardner=l, Choo uniform=2,

ring delta=3) .

The code, like the RGENGL code, consists of the main program, GL, along with the two

double precision functions, dbjO(x) and dbjl(x), needed to construct the Bessel functions

involved in the calculations.

The GL program uses the Gauss-Laguerre quadrature and the bounding procedure to

calctdate the resistivity from the spreading resistance. Once finished, it writes onto for012

and for006. Examples of these files are contained in gl.out and gl.log. Like BL, the CPU

needed to carry out the inversion is on the order of seconds. The limitation of the paired

set of programs, RGENGL and GL, is that the use of the fixed sampling points may not

adequately represent the S-dependence of the integral and may consequently give results

which are inaccurate relative to RGENTR.

51
Table 16. Annotated input data file (gl.in) for GL program

This is output data file (rgeng! .out) from RGENGl program.

51

0 .000 8 .4549E+02

0 .015 8 .0781E+02

0 .030 7 .9183E+02

0 .045 7 . 8567E+02

0 .060 7 .8522E+02

0 .075 7 .8936E+02

0 090 7 .9819E+02

0 105 8 .1249E+02

0 120 8 3362E+02

0 135 8 6356E+02

0 150 9 0527E+02

0 165 9 6303E+02

0 180 1 0423E+03

0 195 1 1510E+03

0 210 1 3003E+03

0 225 1 5051 E+03

0 240 1 7893E+03

0 255 2 1825E+03

0 270 2 7374E+03

0 285 3 5223E+03

0 300 4 6539E+03

0 315 6 3090E+03

0 330 8 7925E+03

0 345 1 2634E+04

0 360 1 8769E+04

0 375 2 8891E+04

0 390 4 5895E+04

0 405 7 4171E+04

0 420 1 1844E+05

0 435 1 7905E+05

0 450 2 4531E+05

0 465 2 9900E+05

0 480 3 3121E+05

0 495 3 4679E-t-05 0 510 3 5352E+05

0 525 3 5613E+05

0 540 3 570OE+05

0 555 3 5725E+05

0 570 3 5732E+05

0 585 3 5734E+05

0 600 3 5734E+05

0 615 3 5735E+05

0 630 3 5735E+05

0 645 3 5735E+05

0 660 3 5735E+05

0 675 3 5735E+05

0 690 3 5735E+05

0 705 3 5735E+05

0 720 3 5735E+05

0 735 3 5735E+05

0 750 3 5735E+05

2.000000000000000

50.00000000000000

1 . 5000000000000000E-02

2

NPT-number of spreading resistance values

DEPTH (1) RSP(l)

DEPTH (2) RSP(2)

DEPTH (3) RSP(3)

DEPTH (NPT) RSP(NPT)

AA-probe radius in micrometers

SEP-probe separation in micrometers

DELTH-depth increment (layer thickness)

ICUR-probe current density (S&G=1, un i f =2, r i ng=3)

52
Table 17. Annotated output data file (gl .out) for GL program

51 number of points

0.000 1.543E+00 depth (micrometers) and resistivity (ohm*cm)

0.015 6.940E-01

0.030 3.446E-01

0.045 1.902E-01

0.060 1.159E-01

0.075 7.692E-02

0.090 5.431E-02

0.105 4.010E-02

0.120 3.071E-02

0.135 2.420E-02

0.150 1.960E-02

0.165 1.650E-02

0.180 1.441E-02

0.195 1.310E-02

0.210 1.250E-02

0.225 1.240E-02

0.240 1.300E-02

0.255 1.410E-02

0.270 1.610E-02

0.285 1.900E-02

0.300 2.330E-02

0.315 2.941E-02

0.330 3.822E-02

0.345 5.142E-02

0.360 7.213E-02

0.375 1.074E-01

0.390 1.732E-01

0.405 3.081E-01

0.420 6.092E-01

0.435 1.336E+0O

0.450 3.180E+0O

0.465 8.038E+00

0.480 2.040E+01

0.495 4.560E+01

0.510 8.249E+01

0.525 1.097E+02

0.540 1.263E+02

0.555 1.264E+02

0.570 1.265E+02

0.585 1.265E+02

0.600 1.265E+02

0.615 1.265E+02

0.630 1.265E+02

0.645 1.265E*02

0.660 1.265E+02

0.675 1.265E+02

0.590 1.265E+02

0.705 1.265E+02

0.720 1.265E+02

0.735 1.265E+02

0.750 1.265E+02

53
Table 18. Annotated log file (gl.log) for GL program

CALCUUTION OF THE RESISTIVITY FROM THE SPREADING RESISTANCE

USING THE CHOO ET AL GAUSS-UGUERRE QUADRATURE

CHOO UNIFORM CURRENT DENSITY

RADIUS= 2.0 SEP= 50.0 DELTH= 0.015 # PTS= 51

R5= 0.443730 R6.= 0.003903 R7= 119 .978679

NPT DEPTH RMEAS 1-RCAL/R RHO SENS ITER

1 0 .000 8 . 455E+02 -3 .794E-05 1 .543E+00 2 . 172E+01 2 2 0 .015 8 .078E+02 -2 .407E-05 6 .940E-01 4 . 380E+01 2

3 0 .030 7 .918E+02 -1 .552E-05 3 .446E-01 7 .259E+01 2 4 0 .045 7 .857E+02 -1 .022E-05 1 .902E-01 8 .792E+01 2

5 0 .060 7 .852E+02 -6 .917E-06 1 .159E-01 8 . OlOE+01 2

6 0 .075 7 .894E+02 -4 .963E-06 7 .692E-02 6 . 328E+01 2

7 0 .090 7 .982E+02 -3 .854E-06 5 .431E-02 4 . 789E+01 2

8 0 .105 8 .125E+02 -3 .258E-06 4 .OlOE-02 3 . 610E+01 2

9 0 120 8 .336E+02 -3 .070E-06 3 .071E-02 2 . 747E+01 2

10 0 135 8 .636E+02 -3 .183E-06 2 .420E-02 2 .lllc+01 2 11 0 150 9 .053E+02 -3 .440E-06 1 .960E-02 1 .o41h+01 2 12 0 165 9 .630E+02 -3 .988E-06 1 650E-02 1 302C+01 2 13 0 180 1 .042E+03 -4 .799E-06 1 .441E-02 1 052E+01 2 14 0 195 1 .151E+03 -5 .773E-06 1 .310E-02 8 674E+00 2 15 0 210 1 .300E+03 -7 .528E-06 1 250E-02 7 329E+00 2 16 0 225 1 .505E+03 -9 .049E-06 1 .240E-02 6 284E+00 2

17 0 240 1 789E+03 -1 .286E-05 1 .3OOE-02 5 543E+00 2

18 0 255 2 .183E+03 -1 .610E-05 1 410E-02 4 929E+00 2 19 0 270 2 737E+03 -2 .367E-05 1 610E-02 4 485E+00 2 20 0 285 3 522E+03 -3 .348E-05 1 900E-02 4 112E+00 2 21 0 300 4 . 654E+03 -5 .371E-05 2 . 330E-02 3 813E+00 2

22 0 315 6 . 309E+03 -8 .934E-05 2 941E-02 3 544E+00 2 23 0 330 8 .793E+03 -1 .461E-04 3 822E-02 3 295E+00 2

24 0 345 1 263E+04 -2 .275E-04 5 . 142E-02 3 071E+00 2 25 0 360 1 877E+04 -2 .447E-04 7 213E-02 2 875E+00 2

26 0 375 2 889E+04 2.097E-04 1 .074E-01 2 734E+00 2

27 0 390 4 590E+04 4 .046E-06 1 732E-01 2 688E+00 3

28 0 405 7 417E+04 5 .862E-05 3 081E-01 2 787E+00 3

29 0 420 1 184E+05 3 782E-04 6 092E-01 3 127E+00 3

30 0 435 1 791E+05 -5 .083E-04 1 336E+00 3 959E+00 4 31 0 450 2 453E+05 5 .649E-07 3 180E+00 5 905E+00 5 32 0 465 2 990E+05 7 .286E-07 8 038E+00 1 064E+01 5

33 0 480 3 312E+05 1 .448E-06 2 040E+01 2 157E+01 5 34 0 495 3 468E+05 5 .899E-04 4 560E+01 3 931E+01 3

35 0 510 3 535E+05 9 708E-05 8 249E+01 5 381E+01 3

36 0 525 3 561E+05 1 454E-05 1 097E+02 5 746E+01 3

37 0 540 3 570E+05 -6 836E-04 1 263E+02 5 787E+01 1 38 0 555 3 573E+05 -1 912E-04 1 264E+02 5 787E+01

39 0 570 3 573E+05 -5 455E-05 1 265E+02 5 787E+01

40 0 585 3 573E+05 4 669E-07 1 265E+02 5 787E+01

41 0 600 3 573E+05 -2 750E-05 1 265E+02 5 787E+01

42 0 615 3 574E+05 0 OOOE+00 1 265E+02 5 787E+01

43 0 630 3 574E+05 -2 776E-17 1 265E+02 5 787E+01

44 0 645 3 574E+05 O.OOOE+00 1 265E+02 5 787E+01

45 0 660 3 574E+05 -2 776E-17 1 265E+02 5. 787E+01

46 0 675 3 574E+05 0 OOOE+00 1 265E+02 5. 787E+01

47 0. 690 3 574E+05 -2 776E-17 1 265E+02 5. 787E+01

48 0 705 3 574E+05 0 OOOE+00 1 265E+02 5. 787E+01

49 0. 720 3 574E+05 -2 776E-17 1 265E+02 5. 787E+01

50 0. 735 3. 574E+05 0 OOOE+00 1. 265E+02 5. 787E+01

51 0. 750 3. 574E+05 0 OOOE+00 1. 265E+02 0. OOOE+00 0

CPU time: 00:00:07.14 - this is CPU time for VAX 11/785

54
VAR

The VAR (VARiational) program is based upon the variational technique for calculating

the correction factor integral. This is discussed and used in the RGENVAR program.

The present implementation of this program makes use of the bounding procedure used in

the BL code. As there are several integrals involved (conning from the mixing of the two

current forms), the bounding procedure must be generalized to include all of the integrals.

The VAR program reads the input data from forOll (var.in is an example). The data in

this file are in the following form.

npt number of two-probe resistance and resistivity values

depth(i) rsp(i) i-th value of depth (relative to surface)

ajid i-th value of two-probe resistance (relative to surface)

aa probe radius (micrometers)

sep probe separation (micrometers)

delth sublayer thickness (micrometers)

The code, like the RGENVAR code, consists of just the main program, VAR. This program

uses the variational generalization of the Berkowitz-Lux approximation for the integrals,

the extended Newton-Cotes quadrature, and the above-mentioned generalization of the

bounding procedure to calculate the resistivity from the spreading resistance. Once fin- ished, it writes onto for012 and for006. Examples of these files are contained in var.out and

var.log. Like BL, the CPU needed to carry out the inversion is on the order of seconds.

55
Table 19. Annotated input data file (van. in) for VAR program

This is output data file (rgenvar .out) from RGENVAR program.

51

0 .000 8 . 0688E+02

0 015 7 . 6620C+02

0 .030 7 .4523C+02

0 045 7 .3371b*02

0 060 7 . 2839E+02

0 075 7 . 2830C+02

0 090 7 3334C+02

0 105 7 4399E+02

0 120 7 6136C+02

0 135 1 8711C+02

0 150 8

rt-^ rtrtC . Art 2382C+02

0 165 8 7534C+02

0 180 9

J er ^ C Art 4651c+02

0 195 1 A J J r C A'^ 0445E+03

0 210 1 1794E+03

0 225 1

^ J ^ ^ AO 3646E+03

0 240 1

^•rtl TfCT A** 6217E+03

0 255 1 A^^F^ AO 9775E+03

0 270 2 J^A^^ AO 4795E+03

0 285 3 1891E+03

0 300 4 2110E+03

0 315 5 7027 E+03

0 330 7

AO O A f* AO 9339E+03

0 345 1 1367E+04

0 360 1 6804 E+04

0 375 2 5663E+04

0 390 4 0285E+04

0 405 6 4054 E+04

0 420 1 0034E+05

0 435 1 4903E+05

0 450 2 0237E*05

0 465 2 4762E+05

0 480 2 7753E+05

0 495 2 9401E+05

0 510 3 0209E+05

0 525 3 0550E+05

0 540 3 0667E+05

0 555 3.0701E+05

0 570 3.0710E+05

0 585 3.0713E+05

0 600 3 0713E+05

0 615 3 0714E+05

0 630 3 0714E+05

0 645 3 0714E+05

0 660 3 0714E+05

0 675 3 0714E+05

0. 690 3 0714E+05

0. 705 3.0714E+05

0. 720 3 0714E+05

0. 735 3 0714E+05

0. 750 3. 0714E+05

2.000000000000000

50.00000000000000

1 . 5000000000000000E-02

NPT-number of spreading resistance values

DEPTH (1) RSP(l)

DEPTH (2) RSP(2)

DEPTH (3) RSP(3)

DEPTH (NPT) RSP(NPT)

AA-probe radius in micrometers

SEP-probe separation in micrometers

DELTH-depth increment (layer thickness)

56
Table 20. Annotated output data file (var.out) for VAR program

51

0 OOOE+00 1 536E+00

1 50OE-02 6 835E-01

3 OOOE-02 3 563E-01

4 50OE-02 1 873E-01

6 OOOE-02 1 llOE-01

7 500E-02 7 565E-02

9 OOOE-02 5 400E-02

1 050E-01 4 OOOE-02

1 200E-01 3 067E-02

1 350E-01 2 419E-02

1 500E-01 1 960E-02

1 650E-01 1 650E-02

1 800E-01 1 440E-02

1 950E-01 1 310E-02

2 lOOE-01 1 250E-02

2 250E-01 1 240E-02

2 400E-01 1 3OOE-02

2 550E-01 1 410E-02

2 700E-01 1 610E-02

2 850E-01 1 900E-02

3 OOOE-01 2 330E-02

3 150E-01 2 940E-02

3 300E-01 3 820E-02

3 450E-01 5 140E-02

3 600E-01 7 220E-02

3 750E-01 1 072E-01

3 900E-01 1 732E-01

4 050E-01 3 079E-01

4 200E-01 6 084E-01

4 350E-01 1 333E+00

4 500E-01 3 177E*00

4 650E-01 8 018Ei-00

4 800E-01 2 014E+01

4 950E-01 4 650E+01

5 lOOE-01 8 210E*01

5 250E-01 1 .088E+02

5 400E-01 1 216E*02

5 550E-01 1 .264E+02

5 700E-01 1 .265E+02

5 .850E-01 1 .265E+02

6 .OOOE-01 1 .265E+02

6 .150E-01 1 .265E+02

6 .300E-01 1 .265E+02

6 . 450E-01 1 .265E+02

6 .600E-01 1 .265E+02

6 .750E-01 1 .265E+02

6 .900E-01 1 .265E+02

7 .050E-01 1 .265E+02

7 .200E-01 1 .265E+02

7 .350E-01 1 .265E+02

7 .500E-01 1 .265E+02

number of points

depth (micrometers) and resistivity (ohm*cm)

57
Table 21. Annotated log file (var.log) for VAR program

CALCULATION OF THE RESISTIVITY FROM SPREADING RESISTANCE

USING CHOO ET AL VARIATIONAL TECHNIQUE-BL

AA= 0.000 SEP= 25.000 DELTH= 0.00750 NPT= 51

R5= 0 7628E-.-00 R6= 0 .7473E-02 R7== 0.2314E+03

NPT DEPTH RMEAS 1-RCAL/R RHO TTFR

11 0 .OOOE+00 8.069E+02 1 .472E-04 1 .536E+00 O o 1 .500E-02 / 5 .933E-04 6 .835E-01 o 3 .OOOE-02 7

/ -9 .894E-04 3 .563E-01 At

A 4 .500E-02 7 5 .037E-05 1 .873E-01 Co

co 6 .OOOE-02 7 8 .414E-04 1 .llOE-01 oo

o 7 .500E-02 -J1 OflQCj-AO 3 .534E-04 7 .565E-02 oo 7i 9 .OOOE-02 •J1 . ooot+U/ 1 .571E-04 5 .400E-02 o

oo 1 .050E-01 7 7 .414E-05 4 .OOOE-02 •>o

Q9 1 .200E-01 7 . R1DX'tC+V/^ APiOO 3 .881E-05 3.067E-02 "io 10 1 .350E-01 7 ft71 PirtO . O 1 XC*\J^i 2 .187E-05 o 419F-09 o

11 1 .500E-01 oo 1 . 193E-05 1 960E-02 3

1 .650E-01 oo . f OOQ^W^ 7 .087E-06 1 650E-02 3

13 1 .800E-01 Q 4 .265E-06 1 .440E-02 3

14 1 .950E-01 1X . V*TOtTv/0 2 .452E-06 1 . 310E-02 3

IS 2 .lOOE-01 1X 1 7QF*n'^ 1 .613E-06 1 . 250E-02 3

16XV 2 .250E-01 1X 8 .666E-07 1 . 240E-02 3

17X f 2 .400E-01 1X fiooCj.n? . O^jlC'tWO 6 .332E-07 1 300E-02 3 xo 2 .550E-01 X . if 1 OC+vO 3 .445E-07 1 .410E-02 3

19X 9 2 .700E-01 o AftnF*n? 2 .576E-07 1 .610E-02 3

90 2 .850E-01 •3o . 1XO^^TvO ftOF+O^ 1 .759E-07 1 900E-02 3

91^X 3 .OOOE-01 A*» . 91^X 1XC^^WO F+O'^ 1 .600E-07 2 330E-02 3

99 3 .150E-01 Cw 1 .669E-07 2 . 940E-02 3

3 .300E-01 7s . jo*tt*vyo 1 .904E-07 3 . 820E-02 3

94 3 .450E-01 1X 1 '^7F+n4 2 112E-07 5 140E-02 3

95 3 600E-01 1X -7 855E-04 7f 990E-09 2

96 3 750E-01 o^ 9 868E-04 1X \J 1 At. V/X 2 27 3 900E-01 4 029E+04 1 204E-05 1X 3

98 4 050E-01 6 405E+04 1 208E-04 oo 3

29A9 4 200E-01 1 003E+05 6 416E-04 6 084E-01 3

30 4 350E-01 1 490E+05 5 601E-07 1 333E+00 5 31WX 4 500E-01 2 024E+05 4 395E-06 3 177E+00 5 32wA 4 650E-01 2 476E+05 4 609E-05 8 018E+00 5 33 4 800E-01 2 775E+05 7 224E-04 2 014E>01 5

34 4 950E-01 2 940E+05 5 300E-05 4 650E+01 7 35 5 lOOE-01 3 021E+05 2 038E-04 8 210E+01 5 5 250E-01 3 055E+05 2 889E-04 1 088E+02 O 5 400E-01 3 067E+05 3 746E-05 1 216E+02 oo oo 5 550E-01 3 070E+05 -2 818E-04 1 264E+02

Os7 5 700E-01 3 071E+05 -9 420E-05 1 265E+02

Art 5 850E-01 3 071E+05 7 280E-07 1 265E+02

6 OOOE-01 3 071E+05 -3 161E-05 1 265E+02

42 6 150E-01 3.071E+05 -2 776E-17 1 265E+02

43 6 300E-01 3 071E+05 -2 776E-17 1 265E+02

44 6 450E-01 3 071E+05 -2 776E-17 1 265E+02

45 6 600E-01 3 071E+05 -2 776E-17 1 265E+02

46 6 750E-01 3 07lEf05 -2 776E-17 1 265E+02

47 6 900E-01 3 071E+05 -2 776E-17 1 265E+02

48 7 050E-01 3 071E+05 -2 776E-17 1 265E+02

49 7 200E-01 3 071E+05 -2 776E-17 1 265E+02

50 7 350E-01 3 071E+05 -2 776E-17 1 265E+02

51 7 500E-01 3 071E+05 0 OOOE+00 1 265E+02 0

CPU time: 00:00:07.12 - this is CPU time for VAX 11/785

58
CALCULATION OF THE FOUR-PROBE RESISTANCE FROM THE RESISTIVITY

The third and final group of programs is used to calculate the four-probe resistance from the

resistivity. The three programs included in this section are: PROBE24, FOURCAL, and

SHAZAM. PROBE24 and FOURCAL are included for the calculation of the four-probe

resistance by means of fixed point and trapezoidal Romberg techniques, respectively. On

the other hand, SHAZAM is based upon an approximate form of the four-probe resistance

integral which can be fairly easily calculated using a Newton-Cotes quadrature.

PROBE24

The miiltilayer expression for the in-line four-probe resistance, Z„(5), has been derived in

the form [28]

ZniS) = 2p„ A„(A){jo(A5) - Jo(2A5)}x,(Aa)(fA,

where Xi/(Aa) is the Hankel transform of the generalized probe-current density normalized

to unit current [10], and u is an index which refers to the specific form of the current

density.

The PROBE24 code calculates the four-probe resistance from the resistivity using a 1250-

or 10000-point sum to replace the above integral. In its present form, PROBE24 makes

use of the uniform current density. As discussed in the FORTRAN source code, this can be changed with no difficulty. However, the results of the previous work [28,29] indicate

that the four-probe resistance is independent of both the current density and the probe

radius. Hence, the current density need not be altered.

The program reads the input data from for005. Probe24.in contains an example of the

data file in the form containing the following information.

npt number of data points

sep separation between the probes (micrometers)

delth depth increment (micrometers) aa probe radius (micrometers)

subrho substrate resistivity (fi-cm)

subth substrate thickness (micrometers)

ibbc backsurface boundary condition (none=l, conducting=2, insul

rho array of resistivity values (fi-cm)

nmany number of integration points to be used (either 1250 or 10000)

The PROBE24 code consists of the main program along with the double precision functions

dbjO(x) and dbjl(x) which are used to construct the Bessel functions which appear in the

integral. The kernel function is evaluated directly inside the program. Once the calculation

has been completed, the output data are written to for006, forOll, for012, forOlS. Not

all of the information contained in these files may be of interest. The user may wish to

comment out the lines involving writing to logical devices 11, 12, and 13.

59
Table 22. Annotated input data file (probe24.in) for PR0BE24 program

2.0 AA - probe radius in micrometers

50.0 SEP - probe separation in micrometers

0.015 DELTH - depth increment in micrometers

50 NPT - number of points

0.015 SUBT - substrate thickness in micrometers

126.5 SUTRHO - substrate resistivity in ohm*cm

1 IBBC - substrate boundary condition (none=l,con=2, i ns=3)

1.542 RH0(NPT+1)

0.6933 RHO(NPT)

0.3442

0.19

0.1159

0.0769

0.0543

0.0401

0.0307

0.0242

0.0196

0.0165

0.0144

0.0131

0.0125

0.0124

0.013

0.0141

0.0161

0.019

0.0233

0.0294

0.0382

0.0514

0.0721

0.1074

0.1732

0.3081

0.6095

1.334

3.18

8.036

20.4

46.62

82.75

109.7

121.4

125.1

126.1

126.4

126.4

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

1250 NMANY - number of integration points

60
Table 23. Annotated log file (probe24.log) for PR0BE24 program

FOUR-PROBE RESISTANCE CALCUUTIONS USING THE

BERKOWITZ NWANY= 1250 POINT INTEGRATOR

STRUCTURE OVER UNIFORM LAYER (SUBRHO , SUBTH)

ALL OVER (N0NE=1,C0N=2,INS=3) 1

AA SEP DELTH SUBTH SUBRHO

2.00 50.0 0.015 1.50E-02 1.27E*02

DEPTH (UM)

O.OOOOE+00

l.SOOOE-02

3.0000E-02

4.50OOE-02

6.0000E-02

7.50O0E-02

9.0000E-02

1.0500E-01

1 . 2000E-01

1.3500E-01

1.5000E-01

1.6500E-01

1.8000E-01

1.9500E-01

2.1000E-01

2.2500E-01

2.4000E-01

2.5500E-01

2.70OOE-01

2.8500E-01

3.0000E-01

3.1500E-01

3.3000E-01

3.450OE-01

3.6000E-01

3.7500E-01

3.9000E-01

4.0500E-01

4.2000E-01

4.3500E-01

4.5000E-01

4 . 6500E-01

4.8000E-01

4.9500E-01

5.1000E-01

5.2500E-01

5.4000E-01

5.5500E-01

5.7000E-01

5.8500E-01

6.0000E-01

6.1500E-01

6.30OOE-01

6.450OE-01

6 . 6000E-01

6 . 7500E-01

6 . 9000E-01

7.050OE-01

7.2000E-01

7.3500E-01

7.50OOE-01

RHO

1 . 5420E+00

6.9330E-01

3.4420E-01

1 . 9000E-01

1.1590E-01

7.6900E-02

5.4300E-02

4.0100E-02

3.0700E-02

2.4200E-02

1.9600E-02

1.650OE-02

1.4400E-02

1.310OE-02

1.2500E-02

1.240OE-02

1.3000E-02

1.4100E-02

1.6100E-02

1 . 9000E-02

2.3300E-02

2.9400E-02

3.8200E-02

5 . 1400E-02

7.2100E-02

1.0740E-01

1.7320E-01

3.0810E-01

6.0950E-01

1.3340E+00

3.1800E+00

8.0360E+0O

2.0400E+01

4.6620E+01

8.2750E+01

1.0970E+02

1.2140E+02

1.2510E+02

1.2610E+02

1.2640E+02

1.2640E+02

1.2650E+02

1.2650E+02

1.2650E+02

1.2650E+02

1.2650E+02

1 .2650E+02

1.2650E+02

1 . 26S0E+02

1.2650E>02

1.2650E+02

FOUR-PROBE

1.4397E+02

1.4406E+02

1.4426E+02

1.4468E+02

1.4543E+02

1.4668E+02

1.4861E+02

1.5143E*02

1.5542E+02

1 . 6096E+02

1 . 6858E+02

1.7906E+02

1.9333E+02

2.1276Ef02

2.3919E+02

2.7499E+02

3.2388E*02

3.9004E+02

4.8062E+02

6.0349E-K02

7 . 7069E+02

9.9631E+02

1 . 2986E+03

1 . 6960E+03

2.1961E+03

2 . 7738E+03

3.3372E+03

3.7498E+03

3.9502E*03

4.0121E+03

4.0255E+03

4.0281E+03

4.0289E+03

4.0294E+03

4.0298E+03

4.0300E+03

4.0301E+03

4.0301E+03

4.0301E+03

4.0301E+03

4.0301E+03

4.0301E*03

4.0301E+03

4.0301E+03

4.0301E*03

4.0301E+03

4.0301E+03

4.0301E+03

4.0301E+03

4.0301E+03

4.0301E+03

DERIVATIVE

6.6443E+02

6.6206E+02

6.6176E+02

6.6307E+02

6.6623E+02

6.7183E+02

6.8063E+02

6.9358E+02

7.1199E+02

7.3761E+02

7.7291E+02

8.2148E+02

8.8776E+02

9.7822E+02

1.1016E+03

1.2695E*03

1.5000E+03

1.8143E+03

2.2491E+03

2.8469E+03

3.6759E+03

4.8234E+03

6.4145E+03

8.6069E+03

1.1548E+04

1.5248E+04

1.9285E+04

2.2663E+04

2.4545E+04

2.5212E+04

2 . 5442E-f04

2.5663E+04

2.6010E+04

2.6410E+04

2.6704E+04

2.6849E+04

2.6902E+04

2.6917E+04

2.6921E*04

2.6922E+04

2.6923E+04

2.6923E+04

2.6923E+04

2.6923E+04

2.6923E+04

2.6923E+04

2.6923Ef04

2.6923E+04

2 . 6923E+04

2.6923E+04

2.6923E+04

SHEET

6.7505E+02

6.7549E+02

6.7648E+02

6.7848E+02

6.8213E*02

6.8821E+02

6.9757E+02

7.1128E+02

7.3072E+02

7.5778E*02

7.9512E+02

8.4664E*02

9.1724E+02

1.0141E+03

1 . 1474E+03

1.3306E+03

1.5858E+03

1.9410E+03

2.4460E+03

3.1680E+03

4.2246E+03

5.8028E+03

8.2434E+03

1.2189E+04

1.8918E*04

3.1196E+04

5.5282E+04

1.0606E+05

2 . 1930E*05

4.7645E+05

1.0263E+06

1.9892E*06

3.1640E+06

4 . 1232E+06

4.7539E+06

5.2022E+06

5.6006E+06

6.0170E+06

6.4848E+06

7.0269E+06

7.6661E+06

8.4333E+06

9.3704E+06

1.0542E*07

1.2048E+07

1.4056E+07

1.6867E+07

2.1083E+07

2.8111E+07

4.2167E+07

8.4333E+07

CPU time: 00:00:11.87 - this is CPU time for VAX 11/785

61
FOURCAL

The FOURCAL code makes use of the trapezoidal Romberg numerical integration to evaluate the integral in the four-probe resistance,

Z„(5) =

2p„j^ ^„(A)|jo(A5)- Jo(2AS)}j,(Aa)(fA.

This technique has been discussed previously in the RGENTR program.

FOURCAL performs the calculation for any of the three forms of the probe current density. Calculations using FOURCAL were originally employed to show that the four-probe

resistance is independent of the probe current density and the probe radius. The program

reads the input data from forOOS. Fourcal.in contains an example of the data file in the

form containing the following information.

npt number of data points aa probe radius (micrometers)

sep separation between the probes (micrometers)

delth depth increment (micrometers)

ibbc backsurface boundary condition (none =1, conducting =2, insulating =3)

subrho substrate resistivity (fl-cm)

subth substrate thickness (micrometers)

rho array of resistivity values (O-cm)

icur current density (Schumann Gardner=l, Choo uniform=2, ring delta=3)

xl lower limit of integration (usually zero)

xu upper limit of integration (from 10 on up)

To run the program for a structure directly on a backsurface boundary, take the last point

in the structure as the substrate and set subth=delth and subrho=rho(l).

The FORTRAN source code consists of the following parts:

fourcal the main program

intgrl(f,a,b,atemp,iflag) the subroutine which carries out the numerical integration

fpint(x) the double precision function which constructs the integrand

of the four-probe resistance integral

deint(x) the double precision function which constructs the integrand

of the logarithmic derivative function (related to the

Dickey conjecture)

alam(x) the double precision function which constructs the kernel

of the integral by means of the recursion relation

dbjO(x) and dbjl(x) the two double precision functions generate the two Bessel

functions, Jq and Ji

Once the calculation has been completed, the output data are written to forOOG, forOll,

for012, forOlS. Not all of the information contained in these files may be of interest. The

user may wish to comment out the lines involving writing to logical devices 11, 12, and 13.

62
Table 24. Annotated input data file (fourcal.in) for FOURCAL program

50

2.0

50.0

0.015

1126.5

0.015

1.542

0.6933

0.3442

0.1900

0.1159

0.0769

0.0543

0.0401

0.0307

0.0242

0.0196

0.0165

0.0144

0.0131

0.0125

0.0124

0.013

0.0141

0.0161

0.019

0.0233

0.0294

0.0382

0.0514

0.0721

0.1074

0.1732

0.3081

0.6095

1.334

3.18

8.036

20.4

46.62

82.75

109.7

121.4

125.1

126.1

126.4

126.4

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

20.0

10.0

NFT - number of points in the structure

AA - probe radius in micrometers

SEP - probe separation in micrometers

DELTH - depth increment in micrometers

IBBC - boundary condition (none=l , cond=2, i ns=3)

SUBRHO - substrate resistivity in ohm*cm

SUBTH - substrate thickness in micrometers

RH0(NPT+1)

RHO (NPT)

RHO(NPT-l)

ICUR - current density (S&G=1, unif=2, ring=3)

XL - lower limit of integral (usually zero)

XU - upper limit of integral

63
Table 25. Annotated log file (fourcal.log) for FOURCAL prog

CHOO UNIFORM CURRENT DENSITY=2*DBJl (AX) /X

NO BOUNDARY CONDITION USED IN CALCULATION

XL= 0.000000; XU= 10.000000

RADIUS= 2.000000; SEP= 50.000000; DELTH= 0.015000

SUBRH0=1 . 26500E+02 ; SUBTHICK=1 . 50000E-02

DEPTH (U) RHO FOUR-PROBE DERIV SHEET

O.OOOE+00 1 .542E+00 1 .437E+02 6 . 686E+02 6 .7S0E+02

1 .500E-02 6 .933E-01 1 .438E-f02 6 . 638Et-02 6 .755E+02

3 .OOOE-02 3.442E-01 1 . 440E+02 6 .625E+02 6 .765E+02

4 .500E-02 1 .900E-01 1 .444E+02 6 .633E+02 6 .785E+02

6 .OOOE-02 1 .159E-01 1 451E+02 6 .662E+02 6 .821E+02

7 .500E-02 7 .690E-02 1 .464E+02 6 .716E+02 6 .882E+02

9 .OOOE-02 5.430E-02 1 .483E+02 6 . 803E+02 6 .976E+02

1 .050E-01 4 .OlOE-02 1 .511E+02 6 . 932E+02 7 .113E+02

1 .200E-01 3 .070E-02 1 .551E+02 7 .115E+02 7 . 307E+02

1 .350E-01 2 .420E-02 1 . 606E+02 7 .370E+02 7 .578E+02

1 .500E-01 1 .960E-02 1 . 682E+02 7 .723E+02 7 .951E+02

1 .650E-01 1 .650E-02 1 .786E+02 8 . 207E+02 8 .466E+02

1 .800E-01 1 .440E~02 1 . 928E+02 8 .869E+02 9 .172E+02

1 .950E-01 1 .310E-02 2 . 122E+02 9 .772E+02 1 .014E+03

2 .lOOE-01 1 .250E~02 2 .385E+02 1 . lOOE+03 1 . 147E+03

2.250E-01 1 .240E-02 2 .742E+02 1 . 268E+03 1 .331E+03

2.400E-01 1 .300E-02 3 . 228E+02 1 .498E+03 1 586E*03

2 .550E-01 1 410E-02 3 .887E+02 1 .812E+03 1 941E+03

2 700E-01 1 610E-02 4 .789E+02 2 .246E+03 2 446E+03

2 850E-01 1 900E-02 6 .013E+02 2 .843E+03 3 158E+03

3 OOOE-01 2 330E-02 7 680E+02 3 671E+03 4 225E+03

3 150E-01 2 940E-02 9 933E+02 4 818E+03 5 803E+03

3 300E-01 3 820E-02 1 295E+03 6 409E+03 8 243E+03

3 450E-01 5 140E-02 1 693E+03 8 602E+03 1 219E+04

3 600E-01 7 210E-02 2 195E+03 1 155E+04 1 892E+04

3 750E-01 1 074E-01 2 773E+03 1 525E+04 3 120E+04

3 900E-01 1 732E-01 3 338E+03 1 929E+04 5 528E+04

4 050E-01 3 081E-01 3 750E+03 2 268E+04 1 061E+05

4 200E-01 6 095E-01 3 950E+03 wwwW ' WW 2 457E+04 2 193E+05

4 350E-01 1 334E+00 4 012E+03 WX ^ WW 2 527E+04 4 765E+05 1 WWl^^WW 4 500E-01 3 180E+00 4 025E+03 W wk>~ ww 2 558E+04 WWW » W" 1 026E+06 W^Wbs^ Ww

4 650E-01 8.036E+00 4 028E+03 W^WIix.~ WW 2 596E+04 1 989E+06 w W */ 1^ • WW 4 800E-01 2.040E+01 4 OoaF+03 W^WW~WW 2 660E+04 3 164E+06 X WT UTM~wW 4 950E-01 4 662E+01 A•? 2 734E+04 4 123E+06

5 lOOE-01 8 275E+01 A

*T 2 789E+04 4 7*;4F+nfi 5 250E-01 1 097E+02 4 2 815F+04 O i wl^~ w^ 5w ^w^L.~ wW

5 400E-01 1 214E+02 4 W&.W W~WW 2 825E+04 wi^w L-~ w^ 5w 601 Ww X F+06 I— ~ wV

5 550E-01 1 251E+02 4 028E+03 2 828E+04 5 017E+06

5 700E-01 1 261E+02 4 028E+03 2 829E+04 6 485E+06

5 850E-01 1 264E+02 4 028E+03 2 829E+04 7. 027E+06

6 OOOE-01 1 264E+02 4 028E+03 2 829E+04 7 666E+06

6 150E-01 1 265E+02 4 028E+03 2 829E+04 8 433E+06

6 300E-01 1 265E+02 4 028E+03 2 829E+04 9. 370E+06

6 450E-01 1 265E+02 4 028E+03 2. 829E+04 1. 054E+07

6 600E-01 1 265E+02 4 028E+03 2 829E+04 1. 205E+07

6 750E-01 1 265E+02 4 028E+03 2 829E^04 1. 406E+07

6 900E-01 1 265E+02 4 028E+03 2 829E+04 1. 687E+07

7 050E-01 1 265Ef02 4 028E+03 2 829E+04 2. 108E+07

7 200E-01 1 265E+02 4 028E+03 2. 829E+04 2. 811E+07

7 350E-01 1 265E+02 4 028E+03 2. 829E+04 4. 217E1-07

7 500E-01 1 265E+02 4 028E+03 2. 829Ef04 8. 433E+07

CPU time: 00:31:25.85 - this is CPU time for VAX 11/785

64
SHAZAM

Using the PROBE24 and FOURCAL programs, extensive numerical investigations have

shown that the four-probe resistance is: (i) independent of the probe radius and the probecurrent density, and (ii) simply related to the sheet resistance, TZnj when the distance to an insTilating boundary is small compared with the probe spacing. The evaluation of the

four-probe resistance integral was found to be simplified by the alternative form given by

Z„(5) = ^

/ Ar.{X)d\. ^ Jl/2S

In the above form, the four-probe resistance can easily be calculated using the NewtonCotes method of evaluation,

8 Z^S) = ^ln(2)y;^9,,AiA„(A0,

where Aj = 2*/®/25(0 < i < 8),W9,i — C'i/S, and where Ci are the Newton-Cotes weighting

factors.

The SHAZAM code carries out the above calculation of the four-probe resistance using

the approximate four-probe integral and the nine-point Newton- Cotes quadrature. The

program reads the input data from for009. Shazam.in contains an example of the data file in the form containing the following information.

n number of resistivity, sheet resistance values

sep probe separation (micrometers)

delth sublayer thickness (micrometers)

ibbc boundary condition (none=0; conducting=l; insulating=2)

subrho substrate resistivity (O-cm)

subt substrate thickness (micrometers)

rho(i) i-tb resistivity relative to the surface

Once the calciilation has been completed, the output data are written to for006, forOll,

for012. Not aJl of the information contained in these files may be of interest.

65
Table 26. Annotated input. data file (shazam.in) for SHAZAM program

50.0 SEP - probe separation in micrometers

0.015 DELTH - depth increment in micrometers

50 N - number of points

126.5 SUBRHO - substrate resistivity in ohm*cm

0.015 SUBT - substrate thickness in micrometers

1 IBBC - boundary condition (none-l,con-2, i ns-3)

1.542 RH0(NPT*1)

0.6933 RHO(NPT)

0.3442 RHO(NPT-l)

0.19

0.1159

0.0769

0.0543

0.0401

0.0307

0.0242

0.0196

0.0165

0.0144

0.0131

0.0125

0.0124

0.013

0.0141

0.0161

0.019

0.0233

0.0294

0.0382

0.0514

0.0721

0.1074

0.1732

0.3081

0.6095

1.334

3.18

8.036

20.4

46.62

82.75

109.7

121.4

125.1

126.1

126.4

126.4

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

126.5

66
Table 27. Annotated log file (shazam.log) for SHAZAM program

FOUR-PROBE RESISTANCE CALCULATED BY SIMPLIFIED INTEGRAL

ALSO CALCULATED IS THE EDUCATED GUESS OF THE LN(S) DERIVATIVE FORM

NO BOUNDARY AT 0.765 UM. SUBSTRATE AT 0.750 UM

SEP= 50. DELTH= 0.015 SUBTH=1 . 500E-02 SUBRH0=1 .265E+02

LOWER LIMIT= 0.01000000 UPPER LIMIT= 0.02000000

DEPTH rvnu FOUR-PROBE DERIVATIVE

0 000 X 1 4347E+02 4 2657E-02

0 015 co aoOUC—Lil 1 4355E+02 9 4924E-02

0 030 3 AAo^\P-^\^ 1 4374E+02 1 9146E-01

0 045 11 orvYiP yVAAJu—mwl 1 4415E+02 3 4783E-01

0 060 1

i. xoyuc-ui 1 4490E+02 5 7320E-01

0 075 7 1 4614E+02 8 7138E-01

0 090 c3 1 4805E+02 1 .2504E-^00

0 105 AH . mUXVA^C~U^ rv>P_no 1 .5085E+02 1 .7255E+0O

0 120 3

1 .5481E+02 2 .3137E+00

0 135 O AO(V\P 09 1 .6030E+02 3 .0407E+00

0 150 1 Qfi(VlP_ft9 1 6786E+02 3 .9338E+00

0 165 1 fif;(V)P_n9 1 .7824E+02 4 .9659E+00

0 180 1, ''UVJC— 1 .9237E+02 6 .1480E+00

0 195 11 2 .1159E+02 7 .4446E+00

0 210 11 9t;(ViP_n9 2 .3769E+02 8 .7827E+00

0 225 11 9A(V1P_n9 2 .7299E+02 1 .0197E+01

0 240 1i 3 .2105E+02 1 .1483E+01

0 255 1 3 8586E+02 1 .2790E+01

0 270 1

. fil OXvVU onF-n9wZ 4 7411E+02 1 .3860E+01

0 285 1

i. QOOOF-0'? 5 .9290E+02 1 .4827E+01

0 300 9 7 5279E+02 1 .5548E+01

0 315 9 6519E+02 1 .6070E+01

0 330 o OZ 1 2436E+03 1 6297E+01

0 345 c

1 5994E+03 1 6030E+01

0 360 7f 91ZXV-AJU onF-n9wZ 2 0331E+03 1 5046E+01

0 375 1X V / *TV/t VX 2 5231E*03 1 3045E+01

0 390 1X / O^Vy^ VX 3 0135E+03 1 0O57E+01

0 405 •3o wOXVC wX 3 4296E+03 6 6577E+00

0 420 R\j 3 7199E+03 3 7388E-00

0 435 1X 3 8870E+03 1 8097E+00

0 450 3 1 ftOOF+OO 3 9685E+03 7 8036E-01

0 465 0o 4 0038E+03 3 1246E-01

0 480 o4. vHvyvu* vx 4 0179E+03 1 2366E-01

0 495 A*T fifi9f)F*ni 4 0233E+03 5 4210E-02

0 510 Oo 97c;nF*m z. f OuC+UX 4 0255E+03 3 0562E-02

0 525 11 4 0263E+03 2 3060E-02

0 540 1I 91 4nPj.n9 4 0265E+03 2 0839E-02

0 555 X

9t;i np4.n9 4 0266E+03 2 0224E-02

0 570 1X 9610F+09 4 0266E+03 2 0063E-02

0 585 1 2640E+02 4 0266E+03 2 0016E-02

0 600 1 2640E+02 4 0266E+03 2 0016E-02

0 615 1 2650E+02 4 0266E+03 2 OOOOE-02

0 630 1 2650E+02 4 0266E+03 2 OOOOE-02

0 645 1 2650E+02 4 0266E+03 2 OOOOE-02

0 660 1 2650E+02 4 0266E+03 2 OOOOE-02

0 675 1 2650E*02 4 0266E+03 2 OOOOE-02

0 690 1 2650E*02 4 0266E+03 2 OOOOE-02

0 705 1 2650E+02 4 0266E+03 2 OOOOE-02

0 720 1 2650E+02 4 0266E+03 2 OOOOE-02

0 735 1 2650E+02 4 0266E+03 2 OOOOE-02

0 750 1 2650E+02 4 0266E+03 2 OOOOE-02

CPU time: 00:00:06.69 - this is CPU time for VAX 11/785

67
AVAILABILITY OF RESPAC SOFTWARE PACKAGE

The source codes for the RESPAC software package are written in FORTRAN?? and have

been run on a VAX ll/?85 minicomputer system. These codes should run on other systems

with little, if any, need for modification.

In all, there are ten programs contained in the RESPAC software package. The FORTRAN?? source code (total of about 123 kbytes) and sample input and output data files are available in ASCII format using a number of transfer vehicles. These include: standard 8-track magnetic tape (ASCII, density = 1600, Record = 80, block = 1600), 5.25-in.

(360-kbyte and 1.2-Mbyte) DOS-formatted floppy disks, and using electronic mail over the

Internet. This package is self-contained and is straightforward to run once the FORTRAN

is compiled and linked by the user-supplied software. The sample input and output data

files are included so that the user can check the programs for proper operation as well as

\ to become acquainted with the setup and use of the codes.

For more information or to receive a copy of the code and the report, please contact:

John Albers

NIST, Bldg. 225, Room B-310

Gaithersburg, MD USA 20899

" Telephone: l-301-9?5-20?5

FAX Number: 1-301-948-4081

Netmail (Internet) address: Albers@sed.eeel.nist.gov

In requesting a copy of the RESPAC software package, please specify the transfer mode

and include an 8-track tape or a DOS-formatted floppy disk. Requests over Internet will

be answered by return e-mail in ASCII mode,

ACKNOWLEDGMENTS

Over the years, the authors have had the opportunity and privilege of communication

and/or collaboration with a number of people in the fields of atomic and electrical profiling, spreading resistance measurements and modeling, and numerical simulation and analysis. The authors would like to thank all these people for their interest and input. These

include: Jim Blue (NIST); David Dickey (Solecon Labs); Greg Downing, Jim Ehrstein,

and Joe Kopanski (NIST); Bob Lux (Fort Monmouth); Bob Mazur (Solid State Measurements); Dave Myers (NIST and Sandia); Charles Wilson (NIST); and Bob Wilson (Hughes

Research).

Finally, the authors wish to thank E. Jane Walters for her care and patience in the preparation of the report.

68
REFERENCES

[1] Zinner, E., Sputter Depth Profiling of Microelectronic Structures, Journal of the Electrochemical Society 130, 199-222 (1983).

[2] Chu, W. K., Mayer, J. W., and Nicolet, M. A., Backscattering Spectroscopy (Acaderoic Press, 1978).

[3] Downing, R. G., Maki, J. T., and Fleming, R. F., Application of Neutron Depth

Profiling to Microelectronic Materials Processing, pp. 163-180, in ACS Symposium

Series 295, Microelectronics Processing: Inorganic Materials Characterization, Casper,

L. A., Ed., American Chemical Society, Washington, DC, 1986.

[4] Ehrstein, J. R., Two Probe (Spreading Resistance) Measurements for Evaluation of

Semiconductor Materials and Devices, in Nondestructive Evaluation of Sen^conductor

Materials and Devices, J. N. Zemel, Ed. (Plenum Press, New York, 1979), pp. 1-66.

[5] Wilson, R. G., and Jamba, D. M., Semiconductor Measurement Technology: Differential Capacitance-Voltage Profiling of Schottky Barrier Diodes for Measuring Implanted

Depth Distributions in Silicon, NBS Special Publication 400-71 (February 1982).

[6] Putley, E. H., The Hall Effect and Related Phenomena (Butterworth & Co., Ltd.,

London, I960).

[7] Schumann, P. A., and Gardner, E. E., Application of Multilayer Potential Distribution

to Spreading Resistance Correction Factors, Journal of the Electrochemical Society

116, 87-91 (1969).

[8] Gardner, E. E., and Schumann, P. A., Spreading Resistance Correction Factors, SolidState Electronics 12, 371-375 (1969).

[9] Koefoed, O., The Application of the Kernel Function in Interpretation of Geoelectrical

Resistivity Measurements (Gebriider Borntraeger, Berlin-Stuttgart, 1968).

[10] Berkowitz, H. L., and Lux, R. A., Errors in Resistivities Calculated by Multilayer

Analysis of Spreading Resistance, Journal of the Electrochemical Society 126, 1479-

1482 (1979).

[11] Yeh, T. H., and Kokhani, K. H., Multilayer Theory of Correction Factors for SpreadingResistance Measurements, Journal of the Electrochemical Society 116, 1461-1464

(1969).

[12] Hu, S. M., Calculation of Spreading Resistance Correction Factors, Solid-State Electronics 15, 809-817 (1972).

[13] lida, Y., Abe, H., and Kondo, M., Impurity Profile Measurements of Thin Epitaxial

69
Silicon Wafer by Multilayer Spreading Resistance Analysis, Journal of the Electrochemical Society 124, 1118-1122 (1977).

[14] Sunde, E. D., Earth Conduction Effects in Transmission Systems (Dover, New York,

1968).

[15] Choo, S. C, Leong, M. S., and Kuan, K. L., On the Calculation of Spreading Resistance Correction Factors, Solid-State Electronics 19, 561-565 (1976).

[16] D'Avanzo, D. C, Rung, R. D., Gat, A., and Button, R. W., High Speed Implementation and Experimental Evaluation of Multilayer Spreading Resistance Analysis,

Journal of the Electrochemical Society 125, 1170-1176 (1978).

[17] Choo, S. C, Leong, M. S., Hong, H. L., Li, L., and Tan, L. S., Spreading Resistance

Calculations by the Use of Gauss-Laguerre Quadrature, Solid-State Electronics 21,

769-774 (1978).

[18] Dickey, D. H., and Ehrstein, J. R., Semiconductor Measurement Technology: Spreading Resistance Analysis for Silicon Layers with Nonuniform Resistivity, NBS Special

Publication 400-48 (May 1979).

[19] Albers, J., Comparison of Spreading Resistance Correction Factor Algorithms Using

Model Data, Solid-State Electronics 23, 1197-1205 (1980).

[20] Albers, J., The Relation Between the Correction Factor and the Local Slope in Spreading Resistance, Journal of the Electrochemical Society 130, 2076-2080 (1983).

[21] Berkowitz, H. L., and Lux, R. A., An Efficient Integration Technique for Use in the

Multilayer Analysis of Spreading Resistance Profiles, Journal of the Electrochemical

Society 128, 1137-1141 (1981).

[22] Choo, S. C, Leong, M. S., and Tan, L. S., Spreading Resistance Calculations by the

Variational Method, Solid-State Electronics 24, 557-562 (1981).

[23] Choo, S. C, Leong, M. S., and Sim, J. H., An Efficient Numerical Scheme for Spreading Resistance Calculations Based on the Variational Method, Solid-State Electronics

26, 723-730 (1983).

[24] Albers, J., Probe Spacing Experiment Simulation and the Relation Between Spreading

Resistance and Sheet Resistance, Journal of the Electrochemical Society 129, 599-605

(1982).

[25] Albers, J., Spreading Resistance Probe Spacing Experiment Simulations: Effects of

Probe Current Density and Layer Thickness, Journal of the Electrochenaical Society

129, 2788-2795 (1982).

[26] Ehrstein, J. R., Albers, J., Wilson, R. G., and Comas, J., Comparison of Spreading

70
Resistance with C-V and SIMS Profiles for Submicron Layers in Silicon, Extended

Abstracts The Electrochemical Society, 80-1, 496-498 (1980).

[27] Piessens, R., Vandervorst, W. B., and Maes, H. E., Incorporation of a Resistivity

Dependent Contact Radius in an Accurate Integration Algorithm for Spreading Resistance Calculations, Journal of the Electrochemical Society 130, 468-474 (1983).

[28] Albers, J., and Berkowitz, H. L., The Relation Between Two-Probe and Four-Probe

Resistances on Nonuniform Structures, Journal of the Electrochemical Society 131,

392-398 (1984).

[29] Albers, J., and Berkowitz, H. L., An Alternative Approach to the Calculation of FourProbe Resistances on Nonuniform Structures, Journal of the Electrochemical Society

132, 2453-2456 (1985).

[30] Kopanski, J. J., Albers, J. Carver, G. P., and Ehrstein, J. R., Verification of the

Relation Between Two-Probe and Four-Probe Resistances as Measured on Silicon

Wafers, Journal of the Electrochemical Society 137, 3935-3941 (1990).

[31] Choo, S. C, and Leong, M. S., A Multilayer Exponential Model for Spreading Resistance Calculations, Solid-State Electronics 22, 405-415 (1979).

[32] Albers, J., Continuum Formulation of Spreading Resistance Correction Factors, Journal of the Electrochemical Society 127, 2259-2263 (1980).

[33] Hu, S. M., Between Carrier Distributions and Dopant Atomic Distribution in Beveled

SiHcon Substrates, Journal of Applied Physics 53, 1499-1510 (1982).

[34] Albers, J., Wilson, C. L., and Blue, J. L., Effect of Surface Beveling on Carrier Profiles,

Extended Abstracts of the Electrochemical Society 83-1, 641-642 (1983).

[35] Blue, J. L., and Wilson, C. L., Two-Dimensional Analysis of Semiconductor Devices

Using General-Pvirpose Interactive PDE Software, IEEE Transactions on Electron

Devices ED-30, 1056-1070 (1983).

[36] Blue, J. L., and Wilson, C. L., Two-Dimensional Analysis of Semiconductor Devices

Using General-Purpose Interactive PDE Software, SIAM Journal Scientific Statistical

Computing 4, 462-484 (1983).

[37] Kurata, M., Numerical Analysis for Semiconductor Devices (Lexington Books, Lexington, Mass., 1982).

[38] Selberherr, S., Analysis and Simulation of Semiconductor Devices (Springer-Verlag,

New York, 1984).

71
APPENDIX A — RGENTR LISTING

C RGENTR VERSION 1.0

C

C THIS PROGRAM CALCULATES THE DEPTH-DEPENDENT TWO-PROBE (SPREADING)

C RESISTANCE FROM THE DEPTH-DEPENDENT RESISTIVITY USING THE SCHUMANN AND

C GARDNER SOLUTION OF THE MULTILAYER LAPLACE EQUATION.

C THE CORRECTION FACTOR INTEGRAL IS CALCULATED OVER THE INTERVAL FROM

C XL TO XU BY MEANS OF A TRAPEZOIDAL ROMBERG METHOD USED ORIGINALLY BY

C D'AVANZO ET AL. IN THEIR "SPINT" PROGRAM FOR CALCULATING THE ARRAY OF

C PARTIAL INTEGRALS.

C

C REFERENCES: THE TRAPEZOIDAL ROMBERG METHOD WAS USED BY D'AVANZO ET AL.

C FOR CALCULATING THE CORRECTION FACTOR INTEGRAL FOR THE

C PURPOSE OF SPREADING RESISTANCE PROFILE ANALYSIS. THIS

C IS DESCRIBED IN THE REPORT "SPREADING RESISTANCE FOR

C IMPURITY PROFILES" BY DONALD C. D'AVANZO, ROBERT D. RUNG,

C AND ROBERT W. DUTTON, TECHNICAL REPORT NO. 5013-2 (FEBRUARY

C 1977), STANFORD UNIVERSITY, STANFORD, CALIFORNIA. THIS IS

C ALSO DESCRIBED IN THE PAPER "HIGH SPEED IMPLEMENTATION AND

C EXPERIMENTAL EVALUATION OF MULTILAYER SPREADING RESISTANCE

C ANALYSIS" BY DONALD C. D'AVANZO, ROBERT D. RUNG, ARNON GAT,

C AND ROBERT W. DUTTON, JOURNAL OF THE ELECTROCHEMICAL SOCIETY,

C VOL. 125, PP. 1170-1176 (1978).

C THE CALCULATION OF THE SPREADING RESISTANCE FROM THE

C RESISTIVITY USING THE TRAPEZOIDAL ROMBERG MEHTOD IS DISCUSSED

C IN THE PAPER "COMPARISON OF SPREADING RESISTANCE CORRECTION

C FACTOR ALGORITHMS USING MODEL DATA" BY JOHN ALBERS,

C SOLID-STATE ELECTRONICS, VOL. 23, PP. 1197-1205 (1980).

C

C THE CALCULATION MAY BE CARRIED OUT FOR THE CHOO ET AL. UNIFORM CURRENT

C DENSITY, THE SCHUMANN AND GARDNER CURRENT DENSITY, OR THE RING DELTA

C FUNCTION CURRENT DENSITY.

C

C THE PROGRAM READS (FROM FOROlO) THE NUMBER OF POINTS IN THE STRUCTURE,

C THE PROBE RADIUS, THE PROBE SEPARATION, DEPTH INCREMENT (IN MICROMETERS),

C THE SUBSTRATE RESISTIVITY, SUBSTRATE THICKNESS, THE BACKSURFACE BOUNDARY

C CONDITION, THE RESISTIVIES OF THE STRUCTURE (FROM THE TOP SURFACE), THE

C PROBE CURRENT DENSITY, AND THE LOWER AND UPPER LIMITS OF INTEGRATION.

C

C THE CORRECTION FACTOR AND THE TWO-PROBE (SPREADING) RESISTANCE

C ARE CALCULATED FROM THE CALCULATED CORRECTION FACTOR INTEGRAL.

C

C THE OUTPUT LIST INCLUDES THE VALUES OF ALL OF THE PERTINENT VARIABLES

C AS WELL AS THE RESULTS OF THE CALCULATION.

C

C IN ADDITION, SELECTED DATA MAY SENT TO OTHER FILES FOR STORAGE,

C PLOTTING, OR FURTHER ANALYSIS.

C

72
APPENDIX A — RGENTR LISTING

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

EXTERNAL TPINT

DIMENSION RHO (300) , CF (300) , RSP (300) , DEPTH (300) , VOL (300)

COMMON DELTH , AA , SEP , XL , XU , RHO , NUMl , ICUR , IBBC , SUBRHO , SUBTH

DATA PI/3.141592654D0/

C****** ********************

cC INPUT SECTION—

C THE FOLLOWING VARIABLES ARE READ BY THE PROGRAM FROM FOROlO

C NPT NUMBER OF DATA POINTS IN THE STRUCTURE. TOTAL NUMBER OF

C POINTS IS NUM=NPT+1 (INCLUDE SUBSTRATE POINT)

C AA PROBE RADIUS (MICROMETERS)

C SEP SEPARATION BETWEEN THE PROBES (MICROMETERS)

C DELTH—DEPTH INCREMENT (MICROMETERS)

C IBBC—BACKSURFACE BOUNDARY CONDITION

C (N0NE=1, C0ND=2, INS=3)

C SUBRHO-SUBSTRATE RESISTIVITY (OHM*CM)

C SUBTH—SUBSTRATE THICKNESS (MICROMETERS)

C RHO ARRAY OF RESISTIVITY VALUES (OHM*CM)

C ICUR—FORM OF THE CURRENT DENSITY

C (SCHUMANN GARDNER=1, CHOO UNIF0RM=2, RING DELTA =3)

C XL LOWER LIMIT OF CORRECTION FACTOR INTEGRAL (USUALLY ZERO)

C XU UPPER LIMIT OF CORRECTION FACTOR INTEGRAL

C

C TO RUN THE PROGRAM FOR A STRUCTURE DIRECTLY ON A BACKSURFACE BOUNDARY,

C TAKE THE LAST POINT IN THE STRUCTURE AS THE SUBSTRATE AND SET

C SUBTH=DELTH AND SUBRHO=RHO (1)

C

C READ THE TOTAL NUMBER OF POINTS OR SUBLAYERS IN STRUCTURE.

READ (10,*) NPT

NUM=NPT+1

C READ THE EFFECTIVE ELECTRICAL PROBE RADIUS

READ (10,*) AA

C READ THE SEPARATION BETWEEN THE PROBES

READ (10,*) SEP

C READ THE DISTANCE BETWEEN POINTS OR THE SUBLAYER THICKNESS.

READ (10,*) DELTH

C READ THE BOUNDARY CONDITION (N0NE=1, C0ND=2, INS=3)

READ (10,*) IBBC

C READ THE SUBSTRATE RESISTIVITY

READ (10,*) SUBRHO

C READ THE SUBSTRATE THICKNESS

READ (10,*) SUBTH

73
APPENDIX A — RGENTR LISTING

C NEXT LOOP READS THE RESISTIVITIES FROM THE

C SURFACE TO THE SUBSTRATE.

DO 10 I=NUM,2,-1

READ (10,*) RHO(I)

10 CONTINUE

RH0(1)=SUBRH0

C READ THE FORM OF THE CURRENT DENSITY

C (SCHUMANN GARDNER=1, CHOO UNIF=2, RING=3)

READ (10,*) ICUR

C READ THE LOWER LIMIT OF INTEGRATION (USUALLY ZERO)

READ (10,*) XL

C READ THE UPPER LIMIT OF INTEGRATION (20/AA USUALLY GOOD FOR XU)

READ (10,*) XU

C**************************************************************************

cC THE 1200 DO LOOP IS THE MAJOR LOOP WHICH CALCULATES THE CORRECTION

C FACTOR INTEGRALS (OVER THE INTERVAL FROM XL TO XU) FROM THE SUBSTRATE

C (NUM1=NUM) TO THE SURFACE (NUM1=1) BY INCREMENTING NUMl BY -1.

C THE RELEVANT INFORMATION IS PASSED THROUGH AND CONTAINED IN THE

C COMMON STATEMENT IN THE MAIN PROGRAM AND THE SUBROUTINES.

C IFLAG IS SET EQUAL TO ZERO AS XL IS USUALLY ZERO AND THE INTEGRAND

C IS ZERO AT XL=0. HOWEVER, THE CURRENT DENSITY FUNCTIONS MAY GIVE

C ARTIFICIAL SINGULARITIES AT THE ORIGIN. FOR EXAMPLE, THE SCHUMANN

C AND GARDNER CURRENT DENSITY FUNCTION, SIN(X)/X, GOES TO ZERO AS X

C GOES TO ZERO BUT THE COMPUTER WOULD SIGNAL AN OVERFLOW DUE TO THE

C 1/X. THIS IS REMOVED BY THE SETTING OF IFLAG=0.

C

C*********>f<*******************************************************i|i*****ifc**

DO 1200 NUM1=1,NUM

IFLAG=0

CALL INTGRL(TPINT,XL,XU,CF(NUM1), IFLAG)

CF (NUMl) =4 . ODO*CF (NUMl) /PI

RSP (NUMl) =CF (NUMl) *RHO (NUMl) / (2 . 0D-4*AA)

DEPTH (NUMl) =DELTH* (NUM-NUMl)

VOL (NUMl) =DLOG10 (RSP (NUMl)

)

1200 CONTINUE

74
APPENDIX A — RGENTR LISTING

WRITE (6,7777)

7777 FORMAT (IHl)

WRITE (6,1300)

1300 FORMAT (2X, 'CALCULATION OF SPREADING RESISTANCE FROM THE

1 RESISTIVITY ',/,2X,

2 'USING THE TRAPEZOIDAL ROMBERG INTEGRATION METHOD')

GO TO (1400, 1420, 1440), ICUR

1400 WRITE (6, 1410)

1410 FORMAT (2X, 'SCHUMANN AND GARDNER CURRENT DENSITY=SIN(AX) /X')

GO TO 1453

1420 WRITE (6,1430)

1430 FORMAT (2X, 'CHOO UNIFORM CURRENT DENSITY=2*DBJ1 (AX)/X')

GO TO 1453

1440 WRITE (6,1450)

1450 FORMAT (2X, 'RING CURRENT DENSITY=A*DBJO(AX) ')

1453 GO TO (1455,1465,1475), IBBC

1455 WRITE (6,1460)

1460 FORMAT (2X, 'NO BOUNDARY (INFINITE SLAB) CONDITION USED

1 IN CALCULATION',/)

GO TO 1500

1465 WRITE (6,1470)

1470 FORMAT (2X, 'PERFECTLY CONDUCTING BOUNDARY A1=TANH (LD) ' , /)

GO TO 1500

1475 WRITE (6,1480)

1480 FORMAT (2X, 'PERFECTLY INSULATING BOUNDARY A1=C0TH (LD) ' , /)

1500 WRITE (6,1550)

1550 FORMAT (2X,' XL XU')

WRITE (6,1600) XL,XU

1600 F0RMAT(2X,2(F11.6,1X))

WRITE (6,1700)

1700 FORMAT (2X, ' RADIUS SEP DELTH')

WRITE (6,2200) AA, SEP, DELTH

2200 FORMAT (1X,3(F11 .6, IX))

WRITE (6,2250) SUBRHO,SUBTH

2250 F0RMAT(2X, 'SUBRH0=',1PE11.5,'; SUBTHICK=' ,1PE11 .5)

WRITE (6,2300)

2300 FORMAT (2X ,' DEPTH (U) ', 8X ,' RHO ', 5X ,

' CORR-FAC ' , 8X

,

1 'RSP',7X, 'VOLTAGE')

WRITE (11,*)NUM

DO 2500 I=NUM,1,-1

WRITE (6 , 2400) DEPTH (I) , RHO (I) , CF (I) , RSP (I) , VOL (I)

2400 F0RMAT(1X,6(1PE11.5,1X))

WRITE (11 , 2405) DEPTH (I) , RSP (I)

2405 F0RMAT(1X,2(1PE12.4,1X))

2500 CONTINUE

WRITE (11,*)AA

WRITE (11,*) SEP

WRITE (11,*) DELTH

STOP

END

C*****END OF THE MAIN PROGRAM PART OF RGENTR*******************************

75
APPENDIX A ~ RGENTR LISTING

SUBROUTINE INTGRL (F , A , B , ATEMP , IFLAG)

cC D'AVANZO'S ET AL. TRAPEZOIDAL ROMBERG INTEGRATION SUBROUTINE.

C THIS ROUTINE NUMERICALLY INTEGRATES F BETWEEN THE LIMITS A AND B

C USING THE TRAPEZOIDAL AND ROMBERG METHODS AND RETURNS THE INTEGRAL

C FROM A TO B IN ATEMP AND ACCUMULATES THE RESULTS OF SEVERAL

C SUCCESSIVE CALLS IN ACC.

C IF IFLAG=0 THEN F(0) IS SET TO 0 (THIS OBVIATES OVERFLOW PROBLEMS

C DUE TO FUNCTIONS LIKE SIN(X)/X

C

c IMPLICIT DOUBLE PRECISION (A"H,0-Z)

EXTERNAL F

DOUBLE PRECISION AI(30,30) ,MI,A,B,H,ACC,ATEMP,FO,F,C0NV

c DIMENSION AI(30,30)

CONV=5.0D-5

J=30

M=l

K=l

FO=O.DO

IF ((A.NE.O.DO).OR.(IFLAG.Eq.l)) FO=F(A)

AI (M , K) = . 5D0* (B-A) * (FO+F (B)

)

DO 30 1=1,

J

MI=O.ODO

H=(B-A)/(2.0D0**(M-1))

LPCNT=2**(M-1)

DO 10 N=1,LPCNT

MI=MI+F (A+ (N*H- . 5D0*H)

)

10 CONTINUE

MI=MI*H

AI (M+1 , K) = . 5D0* (AI (M , K) +MI)

MPONE = M+1

DO 20 K=l, MPONE

AI (M+1 , K+1) = ( (4 . 0D0**K) *AI (M+1 , K) -AI (M, K) ) /

(4 . 0D0**K-1 . DO)

20 CONTINUE

ATEMP=AI(M+1,M+1)

IF (I.LE.6) GO TO 60

C STOP INTEGRATING WHEN INTEGRAL CONVERGES TO WITHIN CONV (.00555)

IF (DABS (ATEMP-AI(M,M)) /DABS (ATEMP) .GT. CONV) GO TO 60

53 ACC=ACC+ATEMP

RETURN

60 M=M+1 . K=l

30 CONTINUE

RETURN

END

C*****END OF INTGRL SUBROUTINE*********************************************

76
APPENDIX A — RGENTR LISTING

DOUBLE PRECISION FUNCTION TPINT(X)

c

C TPINT IS THE INTEGRAND OF THE SCHUMANN AND GARDNER MULTILAYER

C LAPLACE EXPRESSION FOR TWO-PROBE RESISTANCE INTEGRAL WITH A CHOICE

C OF ONE OF SEVERAL FORMS OF THE PROBE CURRENT DENSITY.

C LINE 10 CONTAINS THE PROBE-TO-PROBE CONTRIBUTION WHILE THE CHOICE

C OF THE PROBE CURRENT DENSITY IS PROVIDED ON THE FOLLOWING LINES:

C 100-THE SCHUMANN AND GARDNER (INFINITE SLAB) CURRENT DENSITY

C 200-THE CHOO ET AL. UNIFORM CURRENT DENSITY

C 300-THE RING DELTA FUNCTION CURRENT DENSITY

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RH0(3OO)

C DOUBLE PRECISION X,DBJO,DBJ1,AA,SEP,ALAM,DELTH,RHO(300) ,XL,XU

C DOUBLE PRECISION BESINT,SUBRHO,SUBTH

COMMON DELTH , AA , SEP , XL , XU , RHO , NUMl , ICUR , IBBC , SUBRHO , SUBTH

10 PRTPR= (DBJl (AA*X) / (AA*X) -DBJO (SEP*X) /2 . DO)

GO TO (100,200,300),ICUR

100 TPINT=ALAM(X)*PRTPR*DSIN(X*AA)/X

RETURN

200 TPINT=ALAM(X)*PRTPR*2.D0*DBJ1(AA*X)/X

RETURN

300 TPINT=ALAM(X)*PRTPR*AA*DBJO(AA*X)

RETURN

END

C*****END OF FTPINT DOUBLE PRECISION FUNCTION******************************

DOUBLE PRECISION FUNCTION ALAM(X)

C*****************************)^********************************************

c

C THIS FUNCTION CALCULATES THE VALUE OF THE RESISTIVITY DEPENDENT

C PORTION OF THE VARIOUS INTEGRALS USING THE RECURSION RELATION OF

C CHOO ET AL. AND EXTENDED BY BERKOWITZ AND LUX.

C

C REFERENCES: "ON THE CALCULATION OF SPREADING RESISTANCE CORRECTION

C FACTORS" BY S. C. CHOO, M. S. LEONG AND K. L. KUAN,

C SOLID-STATE ELECTRONICS, VOL. 19, PP. 561-565 (1976).

C "AN EFFICIENT INTEGRATION TECHNIQUE FOR USE IN THE

C MULTILAYER ANALYSIS OF SPREADING RESISTANCE PROFILES"

C BY H. L. BERKOWITZ AND R. A. LUX, JOURNAL OF THE

C ELECTROCHEMICAL SOCIETY, VOL. 128, PP. 1137-1141 (1981).

C

C************************ **************************************************

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RHO(300)

COMMON DELTH , AA , SEP , XL , XU , RHO , NUMl , ICUR , IBBC , SUBRHO , SUBTH

DTXSB=DTANH (X*SUBTH)

DTXDL=DTANH (X* DELTH)

ALAM=1.0D0

IF (IBBC.EQ.2) ALAM=DTXSB

IF (IBBC.EQ.3) ALAM=1.0D0/DTXSB

IF (NUMl.EQ.l) GO TO 110

DO 100 1=2, NUMl

ALAM= (DTXDL*RHO (I) +RHO (I-l) *ALAM) / (RHO (I) +RHO (I-l) *ALAM*DTXDL)

77
APPENDIX A — RGENTR LISTING

100 CONTINUE

110 RETURN

END

C*****END OF ALAM DOUBLE PRECISION FUNCTION*************************!*******

DOUBLE PRECISION FUNCTION DBJO(X)

C************)fi*************************************************************

c

C POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJO

C

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.1 IS USED FOR X < 3

C AND EQUATION 9.4.3 IS USED FOR X > 3

C

c**************************************************************************

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F0,THETA

C DOUBLE PRECISION Al, A2,A3,A4,A5,A6,A7

C DOUBLE PRECISION B1,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA Al/1 . OOOOOOODO/ , A2/-2 . 2499997D0/ , A3/1 . 2656208D0/

DATA A4/-0 . 3163866D0/ , A5/0 . 0444479D0/ , A6/-0 . 0039444D0/

DATA A7/0.0002100D0/

DATA Bl/ . 79788456D0/ , B2/- . 00000077D0/ , B3/- . 00552740D0/

DATA B4/- . 00009512D0/ , B5/ . 00137237D0/ , B6/- . 00072805D0/

DATA B7/.00014476D0/

DATA C1/-.78539816D0/,C2/-.04166397D0/,C3/-.00003954D0/

DATA C4/ . 00262573D0/ , C5/- . 00054125D0/ , C6/- . 00029333D0/

DATA C7/.00013558D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.0D0

DBJO= ( ( ( ( (A7*X2+A6) *X2+A5) *X2+A4) *X2+A3) X2+A2) *X2+A1

RETURN

10 CONTINUE

X1=3.D0/X

F0= ( ( ( ( (B7*X1+B6) *X1+B5) *X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) *X1+C1

DBJO=FO*DC0S (THETA) /DSQRT (X)

RETURN

END

C*****END OF DBJO DOUBLE PRECISION FUNCTION********************************

78
APPENDIX A — RGENTR LISTING

DOUBLE PRECISION FUNCTION DBJl(X)

c

C POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJl

C

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.4 IS USED FOR X < 3

C AND EQUATION 9.4.6 IS USED FOR X > 3

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F1,THETA

C DOUBLE PRECISION Al, A2,A3, A4,A5, A6,A7

C DOUBLE PRECISION B1,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA Al/0 . 500000D0/ , A2/- . 56249985D0/ , A3/ . 21093573D0/

DATA A4/- . 03954289D0/ , A5/ . 00443319D0/ , A6/- . 00031761D0/

DATA A7/. 00001 109D0/

DATA Bl / . 79788456D0/ , B2/ . 00000156D0/ , B3/ . 01659667D0/

DATA B4 / . 00017105D0/ , B5/- . 00249511D0/ , B6/ . 00113653D0/

DATA B7/-.00020033D0/

DATA C1/-2 . 35619449D0/ , C2/ . 12499612D0/ , C3/ . 00005650D0/

DATA C4/- . 00637879D0/ , C5/ . 0OO74348D0/ , C6/ . 00079824D0/

DATA C7/-.00029166D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.D0

DBJ1=X* ( ( ( ( ( (A7*X2+A6) *X2+A5) *X2+A4) X2+A3) *X2+A2) *X2+A1)

RETURN

10 X1=3.0D0/X

Fl=:( ( ( ( (B7*X1+B6) *X1+B5) *X1+B4) X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) X1+C3) *X1+C2) Xl+Cl

DBJ1=F1*DC0S(THETA)/DSQRT(X)

RETURN

END

C*****END OF DBJl DOUBLE PRECISION FUNCTION & END OF RGENTR VI. 0 PROGRAM****

79
APPENDIX B — RGENGL LISTING

C RGENGL VERSION 1.0

C

C THIS PROGRAM CALCULATES THE DEPTH-DEPENDENT, TWO-PROBE (SPREADING)

C RESISTANCE FROM THE DEPTH-DEPENDENT RESISTIVITY USING THE SCHUMANN AND

C GARDNER SOLUTION OF THE MULTILAYER LAPLACE EQUATION.

C THE CORRECTION FACTOR INTEGRAL IS CALCULATED BY USING THE CHOO ET AL.

C 33-POINT INTEGRATION METHOD BASED UPON THE GAUSS-LAGUERRE QUADRATURE.

C THE 33 SAMPLING POINTS AND WEIGHTS ARE INITIALIZED BY DATA

C STATEMENTS.

C THE FINAL SET OF 33 WEIGHTS USED IN THE CALCULATIONS ARE CALCULATED

C FROM THE INITIAL SET OF WEIGHTS AND THE PROBE CURRENT DENSITY.

C THE DISCUSSION OF THE 33-POINT GAUSS-LAGUERRE QUADRATURE MAY BE

C FOUND IN THE REFERENCE.

C

C REFERENCE: "SPREADING RESISTANCE CALCULATIONS BY THE GAUSS-LAGUERRE

C QUADRATURE," BY S. C. CHOO, M. S. LEONG, H. L. HONG,

C L. LE AND L. S. TAN

C SOLID 'state ELECTRONICS VOL 21, PP. 769-774, 1978.

C

C THE CURRENT DENSITIES WHICH MAY BE USED ARE THE SCHUMANN AND GARDNER,

C THE CHOO ET AL. UNIFORM CURRENT DENSITY, AND THE RING DELTA FUNCTION

C CURRENT DENSITY.

C

C THE PROGRAM READS (FROM FOROlO) THE PROBE RADIUS, PROBE SEPARATION,

C DEPTH INCREMENT, THE BACKSURFACE BOUNDARY CONDITION, THE SUBSTRATE

C RESISTIVITY, SUBSTRATE THICKNESS, THE RESISTIVITY ARRAY (FROM THE

C TOP SURFACE), AND THE PROBE CURRENT DENSITY.

C

C THE CORRECTION FACTOR AND THE TWO-PROBE (SPREADING) RESISTANCE

C ARE CALCULATED FROM THE CALCULATED CORRECTION FACTOR INTEGRAL.

C

C THE OUTPUT LIST INCLUDES THE VALUES OF ALL OF THE PERTINENT VARIABLES

C AS WELL AS THE RESULTS OF THE CALCULATION.

C

C IN ADDITION, SELECTED DATA MAY SENT TO OTHER FILES FOR STORAGE,

C PLOTTING, OR FURTHER ANALYSIS.

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION T (33) , W (33) , A (2 , 33) , RHO (500) , RSP (500) , DEPTH (500)

DIMENSION CF (500), VOL (500)

DOUBLE PRECISION KA(33) ,L(33) ,INTGRL(500)

80
APPENDIX B — RGENGL LISTING

c

C THE SET OF 33 FIXED SAMPLING POINTS, KA(I), AND THE INITIAL SET OF

C WEIGHTS, W(I), 1=1,33, ARE ENTERED THROUGH THE DATA STATEMENTS

C

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

KA(1)

KA(3)

KA(5)

KA(7)

KA(9)

KA(11

KA(13

KA(15

KA(17

KA(19

KA(21

KA(23

KA(25

KA(27

KA(29

KA(31

KA(33

(1)/

(3)/

(5)/

(7)/

(9)/

(11)

(13)

(15)

(17)

(19)

(21)

(23)

(25)

(27)

(29)

(31)

(33)

. 011251388D0/ , KA (2) / . 059284741D0/

. 145707967D0/ , KA (4) / . 270553179D0/

. 433841408D0/ , KA (6) / . 635597666D0/

. 875852385D0/ , KA (8) /1 . 154641702D0/

1 . 472007563D0/ , KA (10) /I . 827997778D0/

/2 . 222666072D0/ , KA (12) /2 . 65607213D0/

/3 . 128281655D0/ , KA (14) /3 . 63936642D0/

/4 . 18940433D0/ , KA (16) /4 . 778479488D0/

/5 . 406682272D0/ , KA (18) /6 . 074109403D0/

/6 . 78086404D0/ , KA (20) /7 . 527055861D0/

/8 . 312801165D0/ , KA (22) /9 . 138222971D0/

/lO . 003451129D0/ , KA (24) /lO . 908622439D0/

/II . 853880769D0/ , KA (26) /12 . 839377192D0/

/13 . 865270123D0/ , KA (28) /14 . 931725465D0/

/16 . 038916768D0/ , KA (30) /17 . 187025392D0/

/18 . 376240681D0/ , KA (32) /19 . 606760148D0/

/20.878789667D0/

028874906D0/ , W (2) / . 067219473D0/

. 10563085D0/ , W (4) / . 14406297D0/

. 18251763D0/ , W (6) / . 22099994D0/

. 25951551D0/ , W (8) / . 2980701D0/

. 33666957D0/ , W (10) / . 3753198D0/

/ . 41402672D0/ , W (12) / . 45279633D0/

/ . 49163467D0/ , W (14) / . 53054783D0/

/ . 56954199D0/ , W (16) / . 60862338D0/

/ . 6477983D0/ , W (18) / . 69707314D0/

/ . 7264544D0/ , W (20) / . 7659486D0/

/ . 80556248D0/ , W (22) / . 84530276D0/

/ . 88517632D0/ , W (24) / . 9251902D0/

/ . 96535161D0/ , W (26) /I . 00566765D0/

/I . 04614585D0/ , W (28) /I . 08679375D0/

/I . 12761908D0/ , W (30) /I . 16862972D0/

/I . 20983377D0/ , W (32) /I . 25123946D0/

/I . 2928553D0/ , PI/3 . 14159265D0/

81
APPENDIX B --- RGENGL LISTING

c

C INPUT SECTION—THE FOLLOWING VARIABLES ARE READ FROM FOROlO

C N -NUMBER OF POINTS (TOTAL NUMBER IS N+1)

C AA PROBE RADIUS (MICROMETERS)

C SEP PROBE SEPARATION (MICROMETERS)

C DELTH—SUBLAYER THICKNESS (MICROMETERS)

C IBBC—BOUNDARY CONDITION (N0NE=1, C0NDUCTING=2, INSULATING=3)

C SUBRHO-SUBSTRATE RESISTIVITY (OHM*CM)

C SUBTH—SUBSTRATE THICKNESS (MICROMETERS)

C RHO( ) -RESISTIVITY ARRAY (OHM*CM)

C ICUR—CURRENT DENSITY (S&G=1, CHOO UNIF0RM=2, RING DELTA=3)

C

C TO RUN THE PROGRAM FOR A STRUCTURE DIRECTLY ON A BACKSURFACE BOUNDARY,

C TAKE THE LAST POINT IN THE STRUCTURE AS THE SUBSTRATE AND SET

C SUBTH=DELTH AND SUBRHO=RHO (1)

.

C

C READ THE NUMBER OF DATA POINTS IN THE STRUCTURE (EXCLUSIVE OF SUBSTRATE)

READ (10,*) N

C READ THE PROBE RADIUS (MICROMETERS)

READ (10,*) AA

C READ THE PROBE SEPARATION (MICROMETERS)

READ (10,*) SEP

C READ THE DEPTH INCREMENT (MICROMETERS)

READ (10,*) DELTH

C READ THE BACKSURFACE BOUNDARY CONDITION (N0NE=1, C0ND=2, INS=:3)

READ (10,*) IBBC

C READ THE SUBSTRATE RESISTIVITY (OHM*CM)

READ (10,*) SUBRHO

C READ THE SUBSTRATE THICKNESS (MICROMETERS)

READ (10,*) SUBTH

C READ THE RESISTIVITIES (OHM*CM) OF THE STRUCTURE

DO 10 1=1,

N

READ (10,*) RHO(I)

10 CONTINUE

RH0(N+1)=SUBRH0

C READ THE PROBE CURRENT DENSITY

C (SCHUMANN AND GARDNER=1, CHOO UNIF0RM=2, RING DELTA=3)

READ (10,*) ICUR

DO 11 1=1, N+1

DEPTH(I)=DELTH*(I-1)

11 CONTINUE

82
APPENDIX B — RGENGL LISTING

WRITE (6, 7777)

7777 FORMAT (IHl)

WRITE (6, 12)

12 FORMAT (2X, 'CALCULATION OF THE SPREADING RESISTANCE FROM THE

1 RESISTIVITY ',/,2X, 'USING THE 33-POINT GAUSS-LAGUERRE SCHEME')

GO TO (15,20,25), IBBC

15 WRITE (6,17) SUBTH+N+DELTH , N*DELTH

17 F0RMAT(2X, 'NO BOUNDARY AT',F10.3,' UM. SUBSTRATE AT' ,F8.3, 'UM')

GO TO 29

20 WRITE (6,21) SUBTH+N*DELTH , N*DELTH

21 FORMAT (2X, 'CONDUCTING BOUNDARY AT',F10.3,' UM. SUBSTRATE AT',

1 F8.3,' UM')

GO TO 29

25 WRITE (6 , 26) SUBTH+N*DELTH , N*DELTH

26 FORMAT (2X, 'INSULATING BOUNDARY AT',F10.3,' UM. SUBSTRATE AT',

1 F8.3,' UM')

29 CONTINUE

GO TO (30,40,50), ICUR

30 WRITE (6, 35)

35 FORMAT (2X, 'SCHUMANN AND GARDNER CURRENT DENSITY')

GO TO 60

40 WRITE (6, 45)

45 FORMAT (2X, 'CHOO UNIFORM CURRENT DENSITY')

GO TO 60

50 WRITE (6, 55)

55 FORMAT (2X, 'RING DELTA FUNCTION CURRENT DENSITY')

60 WRITE (6 , 65) AA , SEP , DELTH , SUBTH , SUBRHO ,

N

65 FORMAT (2X, 'AA=',F6. 3, ' SEP=',F7.1,' DELTH=' ,F6.3, ' SUBTH=',

1 1PE11.3,' SUBRH0=',1PE11.3, ' #PT=',I3)

DO 70 1=1,33

L(I)=KA(I)/AA

T(I)=DTANH(L(I)*DELTH)

70 CONTINUE

83
APPENDIX B -- RGENGL LISTING

Qiti^fiif4i4!^f^t*ilf:if^f*ifilf*itiilft ****** ************

cC THE BACKSURFACE BOUNDARY CONDITION (N0NE=1, C0ND=2, INS=3) IS

C INCORPORATED IN THE CALCULATION OF THE KERNEL FUNCTION FOR THE FIRST

C POINT IN THE CALCULATION, THE SUBSTRATE POINT. FOR THE INFINITE

C SLAB BOUNDARY CONDITION, THE KERNEL FUNCTION IS UNITY. FOR THE

C CONDUCTING BOUNDARY CONDITION, THE KERNEL FUNCTION IS THE TANH FUNCTION.

C FOR THE INSULATING BOUNDARY CONDITION, THE KERNEL IS THE COTH FUNCTION.

C THESE THREE FORMS FOLLOW FROM THE FORM OF THE KERNEL FUNCTION PRESENTED

e IN THE REFERENCE.

C

DO 80 1=1,33

R1=L(I)*SUBTH

A(1,I)=1.0D0

A(2,I)=1.0D0

IF (IBBC.Eq.2) A(1,I)=DTANH(R1)

IF (IBBC.EQ.3) A(1,I)=1.0D0/DTANH(R1)

80 CONTINUE

Qitf3ti:tiHi^:^iiii4i ******* *************************************************** ********

c

C THE FINAL SET OF WEIGHTS, W(I) (1=1,33) ARE NOW CONSTRUCTED FROM THE

C INITIAL SET OF WEIGHTS AND THE TWO-PROBE CONFIGURATION FUNCTION (IN

C LINE 90) AND THE FORM OF THE CURRENT DENSITY FUNCTION (IN THE

C APPROPRIATE NEXT LINE DEPENDING UPON THE VALUE OF ICUR)

.

C

Qi^i^l^ili^l7^l]^i^l^l^l^t^l^l^liii^l^^^ilii**^l*************************** **************************

DO 100 1=1,33

90 W (I) =W (I) * (DBJl (KA (I) ) /KA (I) **2-DBJO (KA (I) *SEP/AA) /

(2 . DO*KA (I) )

)

IF (ICUR.EQ.l) W(I)=W(I)*DSIN(KA(I))/2.D0

IF (ICUR.ER.2) W(I)=W(I)*DBJ1(KA(I))

IF (ICUR.EQ.3) W(I)=W(I)*KA(I)*DBJ0(KA(I))/2.D0

100 CONTINUE

C*><<**>|c*;|i*!(ti<ci(cifci|tifii|ii|()(:]|c>j:i(i](ci<c)|ci|c:tc>iii|(9fci(ci|ci|t:|ci<ii|i]|c:|i%gtii|ii(^ cC THE NEXT GROUP OF LINES CONTAIN THE CALCULATION OF THE CORRECTION

C FACTOR INTEGRAL FOR THE SUBSTRATE POINT. THE CORRECTION FACTOR, THE

C SPREADING RESISTANCE, AND THE VOLTAGE ARE ALSO CALCULATED.

C

R2=0.0D0

DO 200 1=1,33

R2=R2+W(I)*A(1,I)

200 CONTINUE

INTGRL(N+1)=R2

CF(N+1)=(8.0D0*R2)/PI

RSP (N+1) =RHO (N+1) CF (N+1) *1D4/ (2 . ODO*AA)

VOL (N+1) =DLOG10 (RSP (N+1)

)

84
APPENDIX B ~ RGENGL LISTING

c

C THE 500 LOOP IS THE MAJOR LOOP WHICH CONTAINS THE CALCULATION OF THE

C CORRECTION FACTOR INTEGRAL FOR THE N-POINT LAYERED STRUCTURE STARTING

C FROM THE DEEPEST POINT TO THE TOP SURFACE. THE CORRECTION FACTOR,

C THE SPREADING RESISTANCE, AND THE VOLTAGE ARE ALSO CALCULATED.

C

Q^^i^*t***i>titfiif***** **********************

DO 500 KK=N,1,"1

R2=0.0D0

R3=RH0(KK+1)/RH0(KK)

DO 250 1=1,33

A (2 , 1) = (R3*A (1 , 1) +T (I) ) / (1 . ODO+T (I) *A (1 , 1) *R3)

250 CONTINUE

DO 275 1=1,33

R2=R2+W(I)*A(2,I)

275 CONTINUE

INTGRL(KK)=R2

CF (KK) = (8 . ODO*INTGRL (KK) ) /PI

RSP (KK) =RHO (KK) CF (KK) *1D4/ (2 . ODO*AA)

VOL(KK)=DLOG10(RSP(KK))

DO 350 1=1,33

A(1,I)=A(2,I)

350 CONTINUE

500 CONTINUE

QltHt^Jt^J^T^^********************************************************************

C

C END OF CALCULATIONS AND BEGINNING OF OUTPUT SECTION

C

WRITE (6, 550)

550 FORMAT (/ , 3X ,

' DEPTH ', 6X ,

' RHO ', 6X ,

' INTEGRAL '

, 4X ,' CORR . FAC '

, 6X

,

1 'RSP', 8X, 'VOL')

WRITE(11,*)N+1

DO 600 1=1, N+1

WRITE (6 , 650) DEPTH (I) , RHO (I) , INTGRL (I) , CF (I) , RSP (I) , VOL (I)

650 F0RMAT(F8.3,5(1PE12.4))

WRITE (11 , 675) DEPTH (I) , RSP (I)

675 F0RMAT(2X,F7.3,2X,1PE12.4)

600 CONTINUE

WRITE (11, )AA

WRITE (11,*) SEP

WRITE(11,*)DELTH

WRITE (11, *)ICUR

STOP

END

C*****END OF MAIN PROGRAM PART OF RGENGL***********************************

85
APPENDIX B — RGENGL LISTING

DOUBLE PRECISION FUNCTION DBJO(X)

cC POLYNOMIAL APPROXIMAHON TO THE BESSEL FUNCTION BJO

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.1 IS USED FOR X < 3

C EQUATION 9.4.3 IS USED FOR X > 3

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F0,THETA

C DOUBLE PRECISION A1,A2,A3,A4,A5,A6,A7

C DOUBLE PRECISION B1,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA Al/1 . OOOOOOODO/ , A2/-2 . 2499997D0/ , A3/1 . 2656208D0/

DATA A4/-0 . 3163866D0/ , A5/0 . 0444479D0/ , A6/-0 . 0039444D0/

DATA A7/0.0002100D0/

DATA Bl/ . 79788456D0/ , B2/- . 00000077D0/ , B3/- . 00552740D0/

DATA B4/-.00OO9512D0/,B5/.0O137237D0/,B6/-.CXX)72805D0/

DATA B7/.00014476D0/

DATA CI/- . 78539816D0/ , C2/- . 04166397D0/ , C3/- . CXXX)3954D0/

DATA C4/ . 00262573D0/ , C5/- . 00054125D0/ , C6/- . 00029333D0/

DATA C7/.00013558D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.0D0

' DBJ0= ( ( ( ( (A7*X2+A6) *X2+A5) X2+A4) *X2+A3) *X2+A2) *X2+A1

RETURN

10 CONTINUE

X1=3.D0/X

F0= ( ( ( ( (B7*X1+B6) *X1+B5) *X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7+X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) *X1+C1

DBJO=FO*DC0S (THETA) /DSQRT (X)

RETURN

END

C*****END OF DBJO DOUBLE PRECISION FUNCTION********************************

86
APPENDIX B — RGENGL LISTING

DOUBLE PRECISION FUNCTION DBJl(X)

cC POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJl

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.4 IS USED FOR X < 3

C AND EQUATION 9.4.6 IS USED FOR X > 3

C

Q 4it ** ************************************* IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F1,THETA

C DOUBLE PRECISION A1,A2,A3, A4,A5, A6, A7

C DOUBLE PRECISION Bl,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION Cl,C2,C3,C4,C5,C6,C7

DATA Al/0 . 500000D0/ , A2/- . 56249985D0/ , A3/ . 21093573D0/

DATA A4/- . 03954289D0/ , A5/ . 00443319D0/ , A6/- . 00031761D0/

DATA A7/. 00001 109D0/

DATA Bl / . 79788456D0/ , B2/ . 00000156D0/ , B3/ . 01659667D0/

DATA B4/ . 00017105D0/ , B5/- . 00249511D0/ , B6/ . 00113653D0/

DATA B7/-.00020033D0/

DATA C1/-2 . 35619449D0/ , C2/ . 12499612D0/ , C3/ . 00005650D0/

DATA C4/- . 00637879D0/ , C5/ . 00074348D0/ , C6/ . 00079824D0/

DATA C7/-.00029166D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.D0

DBJ1=X* ( ( ( ( ( (A7+X2+A6) *X2+A5) *X2+A4) *X2+A3) *X2+A2) *X2+A1)

RETURN

10 X1=3.0D0/X

Fl= ( ( ( ( (B7*X1+B6) *X1+B5) *X1+B4) X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) *X1+C1

DBJ1=F1*DC0S(THETA)/DSQRT(X)

RETURN

END

C*****END OF DBJl DOUBLE PRECISION FUNCTION & END OF RGENGL VI. 0 PROGRAM*****

87
APPENDIX C — RGENBL LISTING

Q^iif^i^iif4f:tf if :^^^^^,^f*^,^i^t*^lt ******************

C RGENBL VERSION 1.0

C

C THIS PROGRAM CALCULATES THE DEPTH-DEPENDENT, TWO-PROBE (SPREADING)

C RESISTANCE FROM THE DEPTH-DEPENDENT RESISTIVITY USING THE SCHUMANN AND

C GARDNER SOLUTION OF THE MULTILAYER LAPLACE EQUATION.

C THE CORRECTION FACTOR INTEGRAL IS CALCULATED BY USING THE BERKOWITZ AND

C LUX APPROXIMATE INTEGRAL AND THEIR 22-POINT INTEGRATION METHOD BASED

C UPON THE NE\ArrON-COTES QUADRATURE.

C

C REFERENCE: "AN EFFICIENT INTEGRATION TECHNIQUE FOR USE IN THE

C MULTILAYER ANALYSIS OF SPREADING RESISTANCE PROFILES",

C BY H. L. BERKOWITZ AND R. A. LUX, JOURNAL OF THE

C ELECTROCHEMICAL SOCIETY, VOL 128, PP. 1137-1141 (1981).

C

C THE SET OF SAMPLING POINTS AND WEIGHTS ARE SPECIALIZED TO THE CHOO

C ET AL. UNIFORM CURRENT DENSITY (ALTHOUGH THE SETS OF SAMPLING POINTS

C AND WEIGHTS MAY BE CONSTRUCTED FOR THE SCHUMANN AND GARDENER CURRENT

C DENSITY OR THE RING DELTA FUNCTION CURRENT DENSITY BY FOLLOWING THE

C REASONING PRESENTED IN THE REFERENCE).

C

C THE PROGRAM READS (FROM FOROlO) THE NUMBER OF POINTS IN THE STRUCTURE,

C THE PROBE RADIUS, THE PROBE SEPARATION, THE DEPTH INCREMENT, THE

C BACKSURFACE BOUNDARY CONDITION, THE SUBSTRATE RESISTIVITY, THE

C SUBSTRATE THICKNESS, AND THE RESISTIVITY ARRAY (FROM THE TOP SURFACE)

.

C

C THE CORRECTION FACTOR AND THE TWO-PROBE (SPREADING) RESISTANCE

C ARE CALCULATED FROM THE CALCULATED CORRECTION FACTOR INTEGRAL.

C

C THE OUTPUT LIST INCLUDES THE VALUES OF ALL OF THE PERTINENT VARIABLES

C AS WELL AS THE RESULTS OF THE CALCULATION.

C

C IN ADDITION, SELECTED DATA MAY SENT TO OTHER FILES FOR STORAGE,

C PLOTTING OR FURTHER ANALYSIS.

C

Q*i^l^l^l*^l^l**^l^l^l^l*^l:^l^i*^l*^l^f^l:^l^l^l^l^i^l^t^l^***^l*******itl ^l** ************************

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RSP (500) , RHO (500) , DEPTH (500) , CF (500) , VOL (500)

DIMENSION A (2 , 22) , C (9) , W (22) , T (22)

DOUBLE PRECISION LAMDA(22) ,KA(22) , INGRL(500)

88
APPENDIX C ~ RGENBL LISTING

c

C THE SET OF FIXED (PROBE-SPACING INDEPENDENT) SAMPLING POINTS, KA(I),

C AND WEIGHTS, W(I), (1=9,..., 22) ARE ENTERED BY THE DATA STATEMENTS.

C THE 9 POINT NEWTON-COTES COEFFICIENTS ARE ENTERED BY DATA STATEMENTS.

C

DATA KA (9) /O . IDO/ , KA (10) /0 . 177828D0/ , KA (11) /0 . 316228D0/

DATA KA (12) /O . 562341D0/ , KA (13) /I . ODO/ , KA (14) /I . 70793D0/

DATA KA (15) /2 . 41586D0/ , KA (16) /3 . 12378D0/ , KA (17) /5 . 23853D0/

DATA KA (18) /8 . 48093D0/ , KA (19) /II . 6681D0/ , KA (20) /14 . 829D0/

DATA KA (21) /17 . 9861D0/ , KA (22) /39 . 3D0/ , PI/3 . 14159265D0/

DATA W (9) /O . 00446607D0/ , W (10) /O . 0361 IDO/ , W (11) /O . 0236709D0/

DATA W (12) /O . 106292D0/ , W (13) /O . 0773292D0/ , W (14) /O . 115397D0/

DATA W (15) /O . 0172741D0/ , W (16) /O . 0087751D0/ , W (17) /O . 00668606D0/

DATA W (18) /O . 00163407D0/ , W (19) /O . 000628701D0/ , W (20) /O . 0003062D0/

DATA W (21) /O . 0001717D0/ , W (22) /O . 000412D0/

DATA C (1) /O . 0348854D0/ , C (2) /O . 20769D0/ , C (3) /-O . 0327337D0/

DATA C(4)/0.370229D0/,C(5)/-0.160141D0/

C(6)=C(4)

C(7)=C(3)

C(8)=C(2)

C(9)=C(1)

c

C INPUT SECTION—THE FOLLOWING VARIABLES ARE READ BY THE PROGRAM

C NPT NUMBER OF DATA POINTS IN STRUCTURE (EXCLUDING SUBSTRATE)

C AA PROBE RADIUS (MICROMETERS)

C SEP SEPARATION BETWEEN THE PROBES (MICROMETERS)

C DELTH—DEPTH INCREMENT (MICROMETERS)

C IBBC—BACKSURFACE BOUNDARY CONDITION (N0NE=1,C0ND=2,INS=3)

C SUBRHO -SUBSTRATE RESISTIVITY (OHM*CM)

C SUBTH—SUBSTRATE THICKNESS (MICROMETERS)

C RHO ARRAY OF RESISTIVITY VALUES (OHM*CM)

C

C TO RUN THE PROGRAM FOR A STRUCTURE DIRECTLY ON A BACKSURFACE BOUNDARY,

C TAKE THE LAST POINT IN THE STRUCTURE AS THE SUBSTRATE AND SET

C SUBTH=DELTH AND SUBRH0=RH0(1)

.

C

C READ THE NUMBER OF POINTS IN THE STRUCTURE (EXCLUSIVE OF SUBSTRATE)

READ (10,*) N

C READ THE PROBE RADIUS (MICROMETERS)

READ (10,*) AA

C READ THE PROBE SPACING (MICROMETERS)

READ (10,*) SEP

C READ THE DEPTH INCREMENT (MICROMETERS)

READ (10,*) DELTH

C READ THE BACK SURFACE BOUNDARY CONDITION (N0NE=1, C0ND=2, INS=3)

READ (10,*) IBBC

C READ THE SUBSTRATE RESITIVITY (OHM*CM)

READ (10,*) SUBRHO

C READ THE SUBSTRATE THICKNESS (MICROMETERS)

READ (10,*) SUBTH

C READ THE N DEPTH-DEPENDENT VALUES OF THE STRUCTURE RESISTIVITY (OHM*CM)

89
\

APPENDIX C — RGENBL LISTING

DO 70 1=1,

N

READ (10,*) RHO(I)

70 CONTINUE

RH0(N+1)=SUBRH0

WRITE (6, 7777)

7777 FORMAT (IHl)

WRITE (6, 80)

80 FORMAT (2X, 'CALCULATION OF SPREADING RESISTANCE FROM THE

1 RESISTIVITY ',/, 2X, 'BERKOWITZ-LUX APPROXIMATE INTEGRAL WITH

2 THE UNIFORM CURRENT DENSITY')

GO TO (90, 100, 110), IBBC

90 WRITE (6 , 95) SUBTH+N*DELTH , N*DELTH

95 FORMAT (2X ,

' NO BOUNDARY AT '

, FIO . 3

,

' UM . SUBSTRATE AT ', F8 . 3

,

' UM '

)

GO TO 120

100 WRITE(6,105)SUBTH+N*DELTH,N*DELTH

105 FORMAT (2X, 'CONDUCTING BOUNDARY AT', FIO. 3,' UM. SUBSTRATE AT',

1 F8.3,' UM')

GO TO 120

110 WRITE(6,115)SUBTH+N*DELTH,N*DELTH

115 FORMAT (2X, 'INSULATING BOUNDARY AT', FIO. 3,' UM. SUBSTRATE AT',

1 F8.3,' UM')

120 WRITE (6 , 130) AA , SEP , DELTH , SUBTH , SUBRHO ,

N

130 FORMAT (2X, 'RADIUS=' ,F6.4,2X, 'SEP=' ,F6.1,2X, 'DELTH=' , F7 .3,2X,

1 'SUBTH=',1PE9.3,2X, 'SUBRH0=',1PE9.3, ' # PTS= ',13)

DO 140 1=1, N+1

DEPTH(I)=DELTH*(I-1)

140 CONTINUE

Q=l . 12292D0* (AA/SEP)

QQ=DLOG(0.1/Q)

C

C HERE THE SAMPLING POINTS, KA (I), AND WEIGHTS, W(I), FOR THE FIRST

C NINE POINTS (WHICH DEPEND UPON THE PROBE SPACING) ARE CALCULATED.

C

DO 150 1=1,8

KA (I) =Q* (0 . IDO/Q) ** ( (I-l . 0) /8 . 0)

150 CONTINUE

DO 155 1=1,22

LAMDA(I)=KA(I)/AA

155 CONTINUE

DO 160 1=1,8

W (I) =0 . 25D0*qQ*KA (I) *C (I)

160 CONTINUE

W (9) =W (9) +0 . 249376D0*QGl*KA (9) *C (9)

DO 180 1=1,22

R1=LAMDA(I)*DELTH

T(I)=DTANH(R1)

180 CONTINUE

90
APPENDIX C — RGENBL LISTING

cC THE BACKSURFACE BOUNDARY CONDITION (N0NE=1, C0ND=2, INS=3) IS

C INCORPORATED IN THE CALCULATION OF THE KERNEL FUNCTION FOR THE FIRST

C POINT IN THE CALCULATION, THE SUBSTRATE POINT.

C FOR THE INFINITE SLAB BOUNDARY CONDITION, THE KERNEL FUNCTION IS UNITY.

C FOR THE CONDUCTING BOUNDARY CONDITION, THE KERNEL FUNCTION IS THE TANH

C FUNCTION

.

C FOR THE INSULATING BOUNDARY CONDITION, THE KERNEL FUNCTION IS THE COTH

C FUNCTION

.

C THESE THREE FORMS FOLLOW FROM THE FORM OF THE KERNEL FUNCTION PRESENTED

C IN THE REFERENCE.

C

DO 190 1=1,22

R1=LAMDA(I)*SUBTH

A(1,I)=1.0D0

A(2,I)=1.0D0

IF(IBBC.EQ.2) A(1,I)=DTANH(R1)

IF (IBBC . EQ . 3) A (1 , 1) =1 . ODO/DTANH (Rl)

190 CONTINUE

c

C THE NEXT GROUP OF LINES CONTAIN THE CALCULATION OF THE CORRECTION

C FACTOR INTEGRAL FOR THE SUBSTRATE POINT. THE CORRECTION FACTOR, THE

C SPREADING RESISTANCE, AND THE VOLTAGE ARE ALSO CALCULATED.

C

R2=0.0D0

DO 200 1=1,22

R2=R2+W(I)*A(1,I)

200 CONTINUE

INGRL(N+1)=R2

CF(N+1) = (8.0D0*R2)/PI

RSP (N+1) =RHO (N+1) *CF (N+1) *1 . 0D4/ (2 . ODO*AA)

VOL (N+1) =DLOG10 (RSP (N+1)

)

91
APPENDIX C -- RGENBL LISTING

c

C THE 500 LOOP IS THE MAJOR LOOP WHICH CONTAINS THE CALCULATION OF THE

C CORRECTION FACTOR INTEGRAL FOR THE N-POINT LAYERED STRUCTURE STARTING

C FROM THE DEEPEST POINT TO THE TOP SURFACE. THE CORRECTION FACTOR,

C THE SPREADING RESISTANCE, AND THE VOLTAGE ARE ALSO CALCULATED.

C

DO 500 KK=N,1,-1

R2=0.0D0

R3=RH0(KK+1)/RH0(KK)

DO 250 1=1,22

A (2 , 1) = (R3*A (1 , 1) +T (I) ) / (1 . ODO+T (I) * A (1 , 1) *R3)

250 CONTINUE

DO 275 1=1,22

R2=R2+W(I)*A(2,I)

275 CONTINUE

INGRL(KK)=R2

CF (KK) = (8 . 0*INGRL (KK) ) /PI

RSP (KK) =RHO (KK) *CF (KK) *1 . D4/ (2 . DO*AA)

VOL (KK) =DLOG10 (RSP (KK)

)

DO 350 1=1,22

A(1,I)=A(2,I)

350 CONTINUE

500 CONTINUE

C

C END OF CALCULATIONS AND BEGINNING OF OUTPUT SECTION

C

WRITE (6, 550)

550 FORMAT (/,3X, ' DEPTH ',6X, 'RH0',6X, 'INTEGRAL' ,4X, 'CORR.FAC ,6X,

1 'RSP', 6X, 'VOL')

WRITE(11,*)N+1

WRITE(13,*)N+1

DO 600 1=1, N+1

WRITE (6 , 650) DEPTH (I) , RHO (I) , INGRL (I) , CF (I) , RSP (I) , VOL (I)

650 F0RMAT(F8.3,5(1PE12.4))

WRITE (11, 675) DEPTH (I) , RSP (I)

WRITE (13 , 675) DEPTH (I) , RHO (I)

675 F0RMAT(2X,F7.3,2X,1PE12.4)

600 CONTINUE

WRITE (11,*)AA

WRITE (11,*) SEP

WRITE (11,*)DELTH

STOP

END

92
APPENDIX D — RGENVAR LISTING

C RGENVAR VERSION 1.0

C

C THIS PROGRAM CALCULATES THE DEPTH-DEPENDENT, TWO-PROBE (SPREADING)

C RESISTANCE FROM THE DEPTH-DEPENDENT RESISTIVITY USING THE SCHUMANN AND

C GARDNER SOLUTION OF THE MULTILAYER LAPLACE EQUATION.

C

C THE CALCULATIONS ARE BASED UPON THE VARIATIONAL METHOD DEVELOPED BY

C CHOO AND COWORKERS. THIS MAKES USE OF A VARIATIONALLY DETERMINED

C MIXING OF THE SCHUMANN AND GARDNER CURRENT DENSITY AND THE CHOO ET AL.

C UNIFORM CURRENT DENSITY.

C

C THE CALCULATION OF THE VARIOUS INTEGRALS IS CARRIED OUT BY AN

C ADAPTATION OF THE BERKOWITZ-LUX APPROXIMATE INTERGAL CONCEPT AS WELL

C AS A SEGMENTED NEWTON-COTES QUADRATURE.

C

C REFERENCES: "SPREADING RESISTANCE CALCULATIONS BY THE VARIATIONAL

C METHOD," BY S. C. CHOO, M. S. LEONG, AND L. S. TAN,

C SOLID STATE ELECTRONICS, VOL. 24, PP. 557-562, 1981.

C "AN EFFICIENT NUMERICAL SCHEME FOR SPREADING RESISTANCE

C CALCULATIONS BASED ON THE VARIATIONAL METHOD," BY

C S. C. CHOO, M. S. LEONG, AND J. H. SIM,

C SOLID STATE ELECTRONICS, VOL. 26, PP. 723-730, 1983.

C

C THE PROGRAM READS (FROM FOROlO) THE PROBE RADIUS, PROBE SEPARATION,

C DEPTH INCREMENT, THE BACKSURFACE BOUNDARY CONDITION, THE SUBSTRATE

C RESISTIVITY, SUBSTRATE THICKNESS, AND THE RESISTIVITY ARRAY (FROM

C THE TOP SURFACE)

.

C

C THE CORRECTION FACTOR AND THE TWO-PROBE (SPREADING) RESISTANCE

C ARE CALCULATED FROM THE CALCULATED CORRECTION FACTOR INTEGRAL.

C

C THE OUTPUT LIST INCLUDES THE VALUES OF ALL OF THE PERTINENT VARIABLES

C AS WELL AS THE RESULTS OF THE CALCULATION.

C

C IN ADDITION, SELECTED DATA MAY SENT TO OTHER FILES FOR STORAGE,

C PLOTTING OR FURTHER ANALYSIS.

C

C*********************************************************************^

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RSP (500) , RHO (500) , DEPTH (500) , CF (500) , VOL (500)

DIMENSION A(2,55) ,CN9(9) ,W(3,55) ,T(55)

DOUBLE PRECISION KA(55) ,L,K1,K2

DOUBLE PRECISION 11(500) ,12(500) ,13(500) ,I2S (500) ,I3S (500)

C**********************************************************************^

cC THE SET OF PROBE-SPACING INDEPENDENT SAMPLING POINTS, KA(I), (1=27,55)

C AND WEIGHTS, W(J,I), (J=l,3 1=27,55) ARE ENTERED HERE BY MEANS OF

C DATA STATEMENTS. THE NEWTON-COTES COEFFICIENTS ARE ALSO ENTERED

C HERE IN DATA STATEMENTS.

C

c************************************************************* *******

93
APPENDIX D — RGENVAR LISTING

DATA KA (27) /0 . 12D0/ , KA (28) /0 . 203885D0/ , KA (29) /0 . 346410D0/

DATA KA (30) /O . 588566D0/ , KA (31) /I . ODO/ , KA (32) /I . 53540D0/

DATA KA (33) /2 . 07080D0/ , KA (34) /2 . 60619D0/ , KA (35) /3 . 14159D0/

DATA KA (36) /3 . 31412D0/ , KA (37) /3 . 48665D0/ , KA (38) /3 . 65917D0/

DATA KA (39) /3 . 83171D0/ , KA (40) /6 . 28319D0/ , KA (41) /7 . 01558D0/

DATA KA (42) /9 . 42478D0/ , KA (43) /lO . 1735D0/ , KA (44) /12 . 5664D0/

DATA KA (45) /13 . 3237D0/ , KA (46) /15 . 7080D0/ , KA (47) /16 . 4701D0/

DATA KA (48) /18 . 8496D0/ , KA (49) /19 . 6159D0/ , KA (50) /39 . 24D0/

DATA KA (51) /49 . 87D0/ , KA (52) /56 . 32D0/ , KA (53) /311 . ODO/

DATA KA (54) /983 . 5D0/ , KA (55) /llOO . ODO/ , W (1 , 27) /I . 96943D-2/

DATA W (2 , 27) /4 . 92949D-3/ , W (3 , 27) /9 . 85305D-3/

DATA W (1 , 28) /I . 51585D-1/ , W(2 , 28) /3 . 80282D-2/

DATA W (3 , 28) /7 . 59243D-2/ , W (1 , 29) /9 . 40755D-2/

DATA W (2 , 29) /2 . 37573D-2/ , W (3 , 29) /4 . 72756D-2/

DATA W (1 , 30) /3 . 94777D-1/ , W (2 , 30) /I . 01659D-1/

DATA W(3,30)/2.00331D-1/,W(1,31)/2.34711D-1/

DATA W (2 , 31) /6 . 41889D-2/ , W (3 , 31) /I . 22743D-1/

DATA W (1 , 32) /3 . 22596D-1/ , W (2 , 32) /I . 022480-1/

DATA W(3,32)/1.81618D-l/,W(l,33)/5.12837D-2/

DATA W (2 , 33) /2 . 17231D-2/ , W (3 , 33) /3 . 33773D-2/

DATA W (1 , 34) /2 . 91802D-2/ , W (2 , 34) /2 . 46688D-2/

DATA W (3 , 34) /2 . 68298D-2/ , W (1 , 35) /4 . 03186D-2/

DATA W (2 , 35) /I . 80765D-3/ , W (3 , 35) /-9 . 61334D-4/

DATA W (1 , 36) /O . ODO/ , W (2 , 36) /I . 03120D-3/

DATA W (3 , 36) /O . ODO/ , W (1 , 37) /O . ODO/

DATA W (2 , 37) /I . 54721D-4/ , W (3 , 37) /O . ODO/

DATA W(l,38)/0.0D0/,W(2,38)/9.17871D-5/

DATA W(3,38)/0.0D0/,W(1,39)/0.0D0/

DATA W (2 , 39) /3 . 84395D-3/ , W (3 , 39) /9 . 19809D-3/

DATA W (1 , 40) /4 . 73102D-2/ , W (2 , 40) /O . ODO/

DATA W (3 , 40) /8 . 01205D-3/ , W (1 , 41) /O . ODO/

DATA W (2 , 41) /3 . 91858D-3/ , W (3 , 41) /2 . 52148D-3/

DATA W (1 , 42) /I . 90479D-2/ , W (2 , 42) /O . ODO/

DATA W (3 , 42) /2 . 32728D-3/ , W (1 , 43) /O . ODO/

DATA W (2 , 43) /I . 08897D-3/ , W (3 , 43) /I . 08692D-3/

DATA W (1 , 44) /I . 03669D-2/ , W (2 , 44) /O . ODO/

DATA W (3 , 44) /I . 02754D-3/ , W (1 , 45) /O . ODO/

DATA W(2,45)/4.57291D-4/,W(3,45)/5.80787D-4/

DATA W (1 , 46) /6 . 53592D-3/ , W (2 , 46) /O . ODO/

DATA W (3 , 46) /5 . 56264D-4/ , W (1 , 47) /O . ODO/

DATA W (2 , 47) /2 . 25498D-4/ , W (3 , 47) /3 . 52250D-4/

DATA W (1 , 48) /8 . 71084D-3/ , W (2 , 48) /O . ODO/

DATA W (3 , 48) /3 . 40149D-4/ , W (1 , 49) /O . ODO/

DATA W (2 , 49) /8 . 28909D-5/ , W (3 , 49) /3 . 09148D-4/

DATA W (1 , 50) /O . ODO/ , W (2 , 50) /4 . 12225D-4/

DATA W (3 , 50) /O . ODO/ ,W(l,51)/0. ODO/ , PI/3 . 14159265D0/

DATA W (2 , 51) /O . ODO/ , W (3 , 51) /I . 92433D-3/

DATA W (1 , 52) /I . 78441D-2/ , W (2 , 52) /O . ODO/ , W (3 , 52) /O . ODO/

DATA W (1 , 53) /9 . 02512D-4/ , W (2 , 53) /O . ODO/ , W (3 , 53) /O . ODO/

DATA W (1 , 54) /I . 52804D-3/ , W (2 , 54) /O . ODO/ , W (3 , 54) /O . ODO/

DATA W (1 , 55) /O . ODO/ , W (2 , 55) /O . ODO/ , W (3 , 55) /9 . 40768D-6/

94
APPENDIX D ~ RGENVAR LISTING

C09=4. 0/14175. ODO

CN9(l)=C09*989.ODO

CN9(2)=C09*5888.ODO

CN9(3)=-C09*928.ODO

CN9 (4)=C09*lO496.ODO

CN9(5)=-C09*454O.ODO

CN9(6)=CN9(4)

CN9(7)=CN9(3)

CN9(8)=CN9(2)

CN9(9)=CN9(1)

C

C INPUT SECTION—DEFINITION OF SYMBOLS

C N = NUMBER OF RESISTIVITY, SPREADING RESISTANCE VALUES

C AA = PROBE RADIUS (MICROMETERS)

C SEP = PROBE SEPARATION (MICROMETERS)

C DELTH = SUBLAYER THICKNESS (MICROMETERS)

C IBBC = BOUNDARY CONDITION (N0NE=1, C0NDUCTING=2, INSULATI0N=3)

C SUBRHO = SUBSTRATE RESISTIVITY (OHM*CM)

C SUBTH = SUBSTRATE THICKNESS (MICROMETERS)

C RHO (I) = I-TH RESISTIVITY RELATIVE TO THE SURFACE

C

C AS ORIGINALLY FORMULATED THE INTEGRATION SCHEME OF CHOO ET AL. IS NOT

C ABLE TO HANDLE AN INSULATING BOUNDARY. WE HAVE CIRCUMVENTED

C THIS PROBLEM BY STARTING THE INTEGRATION ONE POINT AWAY FROM THE

C SINGULARITY AT THE ORIGIN WHEN THERE IS AN INSULATING BOUNDARY.

C WE HAVE FOUND THAT THIS LEADS TO VERY GOOD RESULTS WITH NO LOSS

C OF GENERALITY.

C

C TO RUN THE PROGRAM FOR A STRUCTURE DIRECTLY ON A BACKSURFACE BOUNDARY

C TAKE THE LAST POINT IN THE STRUCTURE AS THE SUBSTRATE AND SET

C SUBTH=DELTH AND SUBRHO=RHO (1)

C

C********************************************************************^

C READ THE NUMBER OF DATA POINTS IN THE STRUCTURE (EXCLUSIVE OF SUBSTRATE)

READ (10,*) N

C READ THE PROBE RADIUS (MICROMETERS)

READ (10,*) AA

C READ THE PROBE SPACING (MICROMETERS)

READ (10,*) SEP

C READ THE DEPTH INCREMENT (MICROMETERS)

READ (10,*) DELTH

C READ THE BACK SURFACE BOUNDARY CONDITION (N0NE=1, C0ND=2, INS=3)

READ (10,*) IBBC

C READ THE SUBSTRATE RESISTIVITY (0HM*CM)

READ (10,*) SUBRHO

C READ THE SUBSTRATE THICKNESS (MICROMETERS)

READ (10,*) SUBTH

C READ THE RESISTIVITIES (OHM*CM) OF THE STRUCTURE

DO 70 1=1,

READ (10,*) RHO (I)

70 CONTINUE

95
APPENDIX D -- RGENVAR LISTING

RH0(N+1)=SUBRH0

L=l . 122918967D0* (AA/SEP)

WRITE (6,7777)

7777 FORMAT (IHl)

WRITE (6, 80)

80 FORMAT (2X, 'CALCULATION OF SPREADING RESISTANCE FROM THE

1 RESISTIVITY ',/,2X, 'USING CHOO ET AL VARIATIONAL TECHNIQUE-BL')

GO TO (90,100,110), IBBC

90 WRITE (6 , 95) SUBTH+N*DELTH , N+DELTH

95 FORMAT (2X ,' NO BOUNDARY AT '

, FIO . 3

,

' UM . SUBSTRATE AT ', F8 . 3

,

' UM '

)

GO TO 120

100 WRITE (6 , 105) SUBTH+N*DELTH , N*DELTH

105 FORMAT (2X, 'CONDUCTING BOUNDARY AT', FIO. 3,' UM. SUBSTRATE AT',

1 F8.3,' UM')

GO TO 120

110 WRITE(6,115)SUBTH+N*DELTH,N*DELTH

115 FORMAT (2X, 'INSULATING BOUNDARY AT', FIO. 3,' UM. SUBSTRATE AT',

1 F8.3,' UM')

120 WRITE (6 , 130) AA , SEP , DELTH , SUBTH , SUBRHO ,

N

130 FORMAT (2X, 'RADIUS=' ,F6.4,2X, 'SEP=' ,F6.1,2X, 'DELTH=' ,F7.3,2X,

1 'SUBTH=',1PE9.3,2X, 'SUBRH0=',1PE9.3, ' # PTS= ',13)

DO 140 1=1, N+1

DEPTH(I)=DELTH*(I-1)

140 CONTINUE

cC BEGIN CONSTRUCTION OF SAMPLING POINTS AND WEIGHTS

C REMEMBER TO ADD WEIGHTS AT BOUNDARY OF SAMPLING REGIONS.

C THE REGION DESIGNATIONS FOLLOW THE NOTATION OF THE SECOND REFERENCE.

C

C

C REGION A (0<=KA<=lD-5) (1=1,9)

C

DO 142 1=1,9

KA(I)=1.D-5*(I-1)/8.D0

W(1,I)=1.D-5*CN9(I)/8.D0

W(2,I)=W(1,I)/4.D0

W(3,I)=W(1,I)/2.D0

142 CONTINUE

WEND1=W(1,9)

WEND2=W(2,9)

WEND3=W(3,9)

96
APPENDIX D ~ RGENVAR LISTING

cC REGION B (1D-5<=KA<=L) (1=9,17)

C

DO 144 1=9,17

KA (I) =1 . D-5* (L*l . D5) ** ( (1-9 .)/8.)

W(l , I) =CN9 (1-8) *KA (I) *DLOG (L*l . D5) /8

.

W(2,I)=W(1,I)/4.D0

W(3,I)=W(1,I)/2.D0

144 CONTINUE

W(1,9)=W(1,9)+WEND1

W(2,9)=W(2,9)+WEND2

W(3,9)=W(3,9)+WEND3

cC REGION C (L<=KA<=.12) (1=18,26)

C

DO 146 1=18,26

KA (I) =L* (0 . 12D0/L) ** ( (1-18 . ) /8 .

)

W (1 , I) =CN9 (1-17) *KA (I) *DLOG (0 . 12/L) /8

.

W(2,I)=W(1,I)/4.D0

W(3,I)=W(1,I)/2.D0

146 CONTINUE

cC REGION D, E, AND F

C THE VALUES OF THE KA(I) AND W(I) HAVE BEEN ENTERED BY THE

C DATA STATEMENTS AT THE BEGINNING OF THE PROGRAM

C

11=1 IF(IBBC.EQ.2) 11=2

DO 180 1=11,55

R1=KA(I)*DELTH/AA

T(I)=DTANH(R1)

180 CONTINUE

DO 190 1=11,55

R1=KA(I)*SUBTH/AA

A(1,I)=1.0D0

A(2,I)=1.0D0

IF(IBBC.EQ.2) A(1,I)=DTANH(R1)

IF (IBBC . EQ . 3) A (1 , I) =1 . ODO/DTANH (Rl)

190 CONTINUE

RI1=0.0D0

RI2=0.0D0

RI3=0.0D0

DO 200 1=18,55

RI1=RI1+W(1,I)*A(1,I)

RI2=RI2+W(2,I)*A(1,I)

RI3=RI3+W(3,I)*A(1,I)

97
APPENDIX D — RGENVAR LISTING

200 CONTINUE

I2S(N+1)=RI2

I3S(N+1)=RI3

DO 210 1=11,17

RI1=RI1+W(1,I)*A(1,I)

RI2=RI2+W(2,I)*A(1,I)

RI3=RI3+W(3,I)*A(1,I)

210 CONTINUE

I1(N+1)=RI1

I2(N+1)=RI2

I3(N+1)=RI3

DEN= (II (N+1) *I2 (N+1) -13 (N+1) *I3 (N+1)

)

Kl= (12 (N+1) -0 . 5D0*I3 (N+1) ) /DEN

K2= (0 . 5D0*I1 (N+1) -13 (N+1) ) /DEN

CFDEN=4 . ODO/ (PI* (Kl+0 . 5D0*K2)

)

CF (N+1) =CFDEN* (K1*I3S (N+1) +K2*I2S (N+1)

)

RSP(N+1)=RHO(N+1)*CF(N+1)*1.D4/(2.0DO*AA)

VOL (N+1) =DLOG10 (RSP (N+1) )

C

C LAYERED STRUCTURE CALCULATION

C

DO 500 KK=N,1,-1

RI1=0.0D0

RI2=0.0D0

' RI3=0.0D0

R3=RHO(KK+1)/RHO(KK)

DO 250 1=11,55

A (2 , 1) = (R3*A (1 , 1) +T (I) ) / (1 . ODO+T (I) *A (1 , 1) *R3)

250 CONTINUE

DO 275 1=18,55

RI1=RI1+W(1,I)*A(2,I)

RI2=RI2+W(2,I)*A(2,I)

RI3=RI3+W(3,I)*A(2,I)

275 CONTINUE

I2S(KK)=RI2

I3S(KK)=RI3

DO 280 1=11,17

RI1=RI1+W(1,I)*A(2,I)

RI2=RI2+W(2,I)*A(2,I)

RI3=RI3+W(3,I)*A(2,I)

280 CONTINUE

I1(KK)=RI1

I2(KK)=RI2

I3(KK)=RI3

DEN= (II (KK) *I2 (KK) -13 (KK) +13 (KK)

)

Kl= (12 (KK) -0 . 5D0*I3 (KK) ) /DEN

K2= (0 . 5D0*I1 (KK) -13 (KK) ) /DEN

CFDEN=4 . ODO/ (PI* (Kl+0 . 5D0*K2) ) CF (KK) =CFDEN* (K1*I3S (KK) +K2*I2S (KK)

)

RSP (KK) =RHO (KK) CF (KK) +1 . D4/ (2 . ODO*AA)

VOL (KK) =DLOG10 (RSP (KK)

)

DO 350 1=11,55

A(1,I)=A(2,I)

98
APPENDIX D — RGENVAR LISTING

350 CONTINUE

500 CONTINUE

C END OF CALCULATIONS AND BEGINNING OF OUTPUT SECTION

WRITE (6, 550)

550 FORMAT (/,3X, 'DEPTH', 6X, 'RH0',6X, 'CORR.FAC ,6X, 'RSP',6X, 'VOL')

WRITE(11,*)N+1

DO 600 1=1, N+1

WRITE (6 , 650) DEPTH (I) , RHO (I) , CF (I) , RSP (I) , VOL (I)

650 F0RMAT(F8.3,5(1PE12.4))

WRITE(11 , 675) DEPTH (I) , RSP (I)

675 F0RMAT(2X,F7.3,2X,1PE12.4)

600 CONTINUE

WRITE (11, *)AA

WRITE (11,*) SEP

WRITE (11,*)DELTH

STOP

END

C*****END OF RGENVAR VI. 0 PROGRAM*****************************************

99
APPENDIX E — BL LISTING

C**************)tc***)tc*)|c)fc)|c:|i)ic:(c**)|c)ic*]|E]<i)|c«i|c]|E*)|c]ic)ic:|c:fc)ic)|c*)|!)K

C BL VERSION 1.0

c

C THIS PROGRAM CALCULATES THE RESISTIVITY PROFILE FROM THE

C SPREADING RESISTANCE BY USING: 1) THE BERKOWITZ-LUX APPROXIMATE

C INTEGRAL, 2) THE 22-POINT INTEGRATION SCHEME BASED UPON THE

C NEWTON-COTES TECHNIQUE, AND 3) A BOUNDING PROCEDURE WHICH

C SIMPLIFIES THE INVERSION OF THE CORRECTION FACTOR INTEGRAL.

C THIS PROGRAM INVERTS THE CALCULATION PERFORMED IN RGENBL VERSION 1.0

C

C THIS PROGRAM CALCULATES THE DEPTH-DEPENDENT RESISTIVITY FROM THE

C DEPTH-DEPENDENT TWO-PROBE (SPREADING) RESISTANCE USING THE SCHUMANN AND

C GARDNER SOLUTION OF THE MULTILAYER LAPLACE EQUATION.

C THE CORRECTION FACTOR INTEGRAL IS CALCULATED BY USING THE BERKOWITZ AND

C LUX APPROXIMATE INTEGRAL AND THEIR 22-POINT INTEGRATION METHOD BASED

C UPON THE NEWTON-COTES QUADRATURE.

C AS THE EXTRACTION OF THE RESISTIVITY FROM THE SPREADING RESISTANCE

C INVOLVES THE SOLUTION OF THE INVERSION PROBLEM, THE CODE MAKES USE

C OF AN ITERATION METHOD BASED UPON A BOUNDING PROCEDURE FIRST USED BY

C BERKOWITZ AND LUX.

C

C THE SET OF SAMPLING POINTS AND WEIGHTS ARE SPECIALIZED TO THE CHOO

C ET AL. UNIFORM CURRENT DENSITY (ALTHOUGH THE SETS OF SAMPLING POINTS

C AND WEIGHTS MAY BE CONSTRUCTED FOR THE SCHUMANN AND GARDENER CURRENT

C DENSITY OR THE RING DELTA FUNCTION CURRENT DENSITY BY FOLLOWING THE

C REASONING PRESENTED IN THE REFERENCE)

.

C -

C REFERENCE: "AN EFFICIENT INTEGRATION TECHNIQUE FOR USE IN THE

C MULTILAYER ANALYSIS OF SPREADING RESISTANCE PROFILES",

C BY H. L. BERKOWITZ AND R. A. LUX, JOURNAL OF THE

C ELECTROCHEMICAL SOCIETY, VOL 128, PP. 1137-1141 (1981).

C

C THE PROGRAM READS (FROM FOROlO) THE PROBE RADIUS, PROBE SEPARATION,

C DEPTH INCREMENT, THE BACKSURFACE BOUNDARY CONDITION, THE SUBSTRATE

C RESISTIVITY, THE SUBSTRATE THICKNESS, AND THE RESISTIVITY ARRAY

C (FROM THE TOP SURFACE)

C

C THE CORRECTION FACTOR AND THE TWO-PROBE (SPREADING) RESISTANCE

C ARE CALCULATED FROM THE CALCULATED CORRECTION FACTOR INTEGRAL.

C

C THE OUTPUT LIST INCLUDES THE VALUES OF ALL OF THE PERTINENT VARIABLES

C AS WELL AS THE RESULTS OF THE CALCULATION.

C

C IN ADDITION, SELECTED DATA MAY SENT TO OTHER FILES FOR STORAGE,

C PLOTTING, OR FURTHER ANALYSIS.

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RSP (500) , RHO (500) , DEPTH (500) , CF (500) , VOL (500)

DIMENSION A(2,22),COND(500),B(22),SDIF(500),SENS(500)

DIMENSION C (9), W (22), T (22), ITER (500)

DOUBLE PRECISION KA(22) , INGRL(500)

100
APPENDIX E — BL LISTING

C

C HERE THE FIXED VALUES OF THE SAMPLING POINTS (KA) AND WEIGHTS (W)

C ARE ENTERED BY DATA STATEMENTS. THE REMAINING SAMPLING POINTS

C AND WEIGHTS (THE FIRST 8) ARE CALCULATED FROM AA AND SEP.

C THE COEFFICIENTS FOR THE NINE-POINT NEWTON COTES SCHEME ARE ALSO

C ENTERED HERE BY MEANS OF DATA STATEMENTS.

C

DATA KA(9)/0.1D0/,KA(10)/0.177828D0/,KA(11)/0.316228D0/

DATA KA (12) /0 . 562341D0/ , KA (13) /I . ODO/ , KA (14) /1 . 70793D0/

DATA KA (15) /2 . 41586D0/ , KA (16) /3 . 12378D0/ , KA (17) /5 . 23853D0/

DATA KA (18) /8 . 48093D0/ , KA (19) /II . 6681D0/ , KA (20) /14 . 829D0/

DATA KA (21) /17 . 9861D0/ , KA (22) /39 . 3D0/ , PI/3 . 14159265D0/

DATA W (9) /O . 00446607D0/ , W (10) /O . 03611D0/ , W (1 1) /O . 0236709D0/

DATA W (12) /O . 106292D0/ , W (13) /O . 0773292D0/ , W (14) /O . 115397D0/

DATA W (15) /O . 0172741D0/ , W (16) /O . 0087751D0/ , W (17) /O . 00668606D0/

DATA W (18) /O . 00163407D0/ , W (19) /O . 000628701D0/ , W (20) /O . 0003062D0/

DATA W (21) /O . 0001717D0/ , W (22) /O . 000412D0/

DATA C (1) /O . 0348854D0/C (2) /O . 20769D0/ , C (3) /-O . 0327337D0/

DATA C (4) /O . 370229D0/ , C (5) /-O . 160141D0/

C(6)=C(4)

C(7)=C(3)

C(8)=C(2)

C(9)=C(1)

C

C BEGINNING OF INPUT SECTION: DEFINITION OF SYMBOLS

C

C NPT = NUMBER OF TWO-PROBE RESISTANCE & RESISTIVITY VALUES

C DEPTH (I) = I-TH VALUE OF DEPTH (RELATIVE TO SURFACE)

C RSP(I) = I-TH VALUE OF TWO-PROBE RESISTANCE (RELATIVE TO SURFACE)

C AA = PROBE RADIUS (MICROMETERS)

C SEP = PROBE SEPARATION (MICROMETERS)

C DELTH = SUBLAYER THICKNESS (MICROMETERS)

C

C READ THE NUMBER OF TWO-PROBE RESISTANCE VALUES

READ (11,*) NPT

C READ THE DEPTH, TWO-PROBE RESISTANCES FROM THE SURFACE

DO 70 1=1, NPT

READ (11 , ) DEPTH (I) , RSP (I)

70 CONTINUE

C READ THE PROBE RADIUS (MICROMETERS)

READ(11,*)AA

C READ THE PROBE SEPARATION (MICROMETERS)

READ (11,*) SEP

C READ THE DEPTH INCREMENT (MICROMETERS)

READ (11,*) DELTH

SUBRSP=RSP(NPT)

101
APPENDIX E — BL LISTING

WRITE (6,7777)

7777 FORMAT (IHl)

WRITE (6, 80)

80 FORMAT (2X, 'CALCULATION OF THE RESITIVITY FROM THE SPREADING

1 RESISTANCE',/,' USING THE BERKOWITZ-LUX APPROXIMATE INTEGRAL')

120 WRITE (6 , 130) AA , SEP , DELTH , NPT

130 FORMAT (2X ,' RADIUS= '

, F6 . 1 , 2X ,' SEP= ', F6 . 1 , 2X , ' DELTH= '

, F7 . 3 , 2X

,

1 ' # PTS=',I3)

AA=AA*lD-4

SEP=SEP*lD-4

DELTH=DELTH*lD-4

SEP=SEP/AA

DELTH=DELTH/AA

Rl=l . 12292D0* (1 . DO/SEP)

R2=DLOG(0.1/R1)

R3=DEXP(R2/8.)

C

C HERE THE SAMPLING POINTS, KA (I), AND WEIGHTS, W(I), FOR THE FIRST

C NINE POINTS (WHICH DEPEND UPON THE PROBE SPACING) ARE CALCULATED.

C THESE DEPEND UPON THE PROBE SPACING THROUGH THE BERKOWITZ-LUX

C APPROXIMATE FORM OF THE CORRECTION FACTOR INTEGRAL

C

DO 140 1=8,1,-1

KA(I)=KA(I+1)/R3

140 CONTINUE

DO 150 1=1,8

W (I) = . 25D0*R2*KA (I) *C (I)

150 CONTINUE

W (9) =W (9) + . 249376D0*R2*KA (9) *C (9)

DO 155 1=1,22

R4=KA(I)*DELTH

T(I)=DTANH(R4)

155 CONTINUE

R5=0.0D0

R6=0.0D0

R7=0.0D0

102
APPENDIX E ~ BL LISTING

c

C THE INFINITE SLAB, CONDUCTING BOUNDARY, AND INSULATING BOUNDARY

C FORMS ARE CONSTRUCTED HERE FOR USE IN THE BOUNDING PROCEDURE

C USED TO INVERT THE CORRECTION FACTOR INTEGRAL.

C

DO 160 1=1,22

R5=R5+W(I)

R6=R6+W(I)*T(I)

R7=R7+W(I)/T(I)

160 CONTINUE

WRITE(6,165)R5,R6,R7

165 FORMAT (2X, 'R5=',F11. 6, ' R6=',F11.6,' R7=' ,F11 .6,/)

R8=1.27324D0/AA

R9=R8/SUBRSP*R5

SDIF(NPT)=O.ODO

C0ND(NPT)=R9

RHO(NPT)=1.0DO/R9

ITER(NPT)=0

SENS(NPT)=O.ODO

DO 170 1=1,22

B(I)=1.0D0

170 CONTINUE

DO 190 1=1,2

DO 180 K=l,22

A(I,K)=1.0D0

180 CONTINUE

190 CONTINUE

DO 1000 K=NPT-1,1,-1

ITER(K)=0

R10=0.D0

R11=R8/RSP(K)/C0ND(K+1)

R12=RSP(K+1)/RSP(K)

R13=R12

GOTO 1450

1060 CONV=DABS (1 . 0D0-R14*R11/R12)

IF (CONV.LT.lD-3) GO TO 1200

IF (RlO.EQ.l.) R15=0.0D0

R16=R15

R15=R12

R17=(R14-R6) / (R7-R14) /R12

R18=R7*R17*R11-1.0

R13=DABS (R18) +DSQRT(R18*R18+4*R17*R11*R6)

IF (R18.GT.0.0) R13=R13/2.0/R17

IF (R18.LT.0.0) R13=2.0*R11*R6/R13

VAR1=(R15-R13) * (R15-R16)

IF (VARI.LE.0.0) GO TO 1170

VAR2=R10-2 . JIDINT (RlO/2 .

)

IF (VAR2.EQ.0.0) R13=(R15*R15-R13*R16) / (2+R15-R13-R16)

1170 R12=R13

GO TO 1450

1200 R19=R11*R14*C0ND(K+1)

R20=0.0

103
APPENDIX E ~ BL LISTING

DO 200 1=1,22

SEP=A (1 , 1) * (1 . 0-T (I) *T (I) ) DELTH= (R12*T (I) *A (1 , 1) +1 . 0) **2

R20=W(I) *SEP/DELTH+R20

A(1,I)=A(2,I)

200 CONTINUE

SENS(K)=1.0/(1.0-R20*R13/R14)

C0ND(K)=R19

RHO(K)=1.0/R19

SDIF (K) =R14*R8/R13/C0ND (K+1)

SDIF (K) =1 . 0-SDIF (K) /RSP (K)

ITER(K)=R10

1000 CONTINUE

1001 FORMAT (2X, 13 , 2X, F7 . 3 , 2X, 4 (IPEll . 3) , 3X, 15)

1002 FORMAT (4X, 'NPT',4X, 'DEPTH', 5X, 'RMEAS',6X, '1-RCAL/R' ,4X, 'RH0',8X

1 , 'SENS', 6X, 'ITER',/)

1003 FORMAT (2X,F7. 3, 2X,1PE1 1.3)

1004 FORMAT (2X,1PE11. 4)

WRITE (6, 1002)

WRITE (12, *)NPT

DO 1020 1=1, NPT

WRITE (6 , 1001) I , DEPTH (I) , RSP (I) , SDIF (I) , RHO (I) , SENS (I) , ITER (I)

WRITE (12 , 1003) DEPTH (I) , RHO (I)

1020 CONTINUE

STOP

cC THE LINES BELOW ARE USED AS PART OF THE INVERSION PROCEDURE BASED

C UPON THE BOUNDING METHOD.

C

1450 DO 1475 1=1,22

A(2, 1) = (R12*A(1 , 1) +T(I)) / (1 .0+T(I) A(l , I) *R12)

B(I)=A(2,I)

1475 CONTINUE

R14=0.0

DO 1480 1=1,22

R14=R14+W(I)*B(I)

1480 CONTINUE

R10=R10+1.

GO TO 1060

END

C*****END OF THE BL VERSION 1.0 PROGRAM*************************************

104
APPENDIX F — GL LISTING

C GL VERSION 1.0

C

C THIS PROGRAM CALCULATES RESISTIVITY FROM SPREADING RESISTANCE.

C THE CALCULATION MAKES USE OF THE 33-POINT GAUSS-LAGUERRE

C EVALUATION OF THE CORRECTION FACTOR INTEGRAL ALONG WITH THE

C BERKOWITZ-LUX BOUNDING METHOD.

C THIS PROGRAM IS THE INVERSE OF THE RGENGL VERSION 1.0 PROGRAM

C

C THIS PROGRAM CALCULATES THE DEPTH-DEPENDENT RESISTIVITY FROM THE

C TWO-PROBE (SPREADING) RESISTANCE USING THE SCHUMANN AND GARDNER

C SOLUTION OF THE MULTILAYER LAPLACE EQUATION.

C

C THE CORRECTION FACTOR INTEGRAL IS CALCULATED BY USING THE CHOO ET AL.

C 33-POINT INTEGRATION METHOD BASED UPON THE GAUSS-LAGUERRE QUADRATURE.

C THE BERKOWITZ AND LUX BOUNDING METHOD IS USED TO CARRY OUT THE

C INVERSION OF THE CORRECTION FACTOR INTEGRAL.

C THE 33 SAMPLING POINTS AND WEIGHTS ARE INITIALIZED BY DATA

C STATEMENTS

.

C THE FINAL SET OF 33 WEIGHTS USED IN THE CALCULATIONS IS CALCULATED

C FROM THE INITIAL SET OF WEIGHTS AND THE PROBE CURRENT DENSITY.

C

C THE CURRENT DENSITIES WHICH MAY BE USED ARE THE SCHUMANN AND GARDNER,

C THE CHOO ET AL. UNIFORM CURRENT DENSITY, AND THE RING DELTA FUNCTION

C CURRENT DENSITY.

C THE DISCUSSION OF THE 33-POINT GAUSS-LAGUERRE QUADRATURE MAY BE

C FOUND IN THE REFERENCE.

C

C REFERENCE: "SPREADING RESISTANCE CALCULATIONS BY THE GAUSS-LAGUERRE

C QUADRATURE," BY S. C. CHOO, M. S. LEONG, H. L. HONG,

C L. LE, AND L. S. TAN,

C SOLID STATE ELECTRONICS VOL 21, PP. 769-774, 1978.

C

C THE PROGRAM READS (FROM FOROlO) THE PROBE RADIUS, PROBE SEPARATION,

C DEPTH INCREMENT, THE BACKSURFACE BOUNDARY CONDITION, THE SUBSTRATE

C RESISTIVITY, SUBSTRATE THICKNESS, THE RESISTIVITY ARRAY (FROM THE

C TOP SURFACE), AND THE PROBE CURRENT DENSITY.

C

C THE CORRECTION FACTOR AND THE TWO-PROBE (SPREADING) RESISTANCE

C ARE CALCULATED FROM THE CALCULATED CORRECTION FACTOR INTEGRAL.

C

C THE OUTPUT LIST INCLUDES THE VALUES OF ALL OF THE PERTINENT VARIABLES

C AS WELL AS THE RESULTS OF THE CALCULATION.

C

C IN ADDITION, SELECTED DATA MAY SENT TO OTHER FILES FOR STORAGE,

C PLOTTING, OR FURTHER ANALYSIS.

C

c********************************************************************

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION T (33) , W (33) , A (2 , 33) , RHO (500) , RSP (500) , DEPTH (500)

DIMENSION CF (500) , VOL (500) , COND (500) , B (33) , SDIF (500) , SENS (500)

DIMENSION ITER (500)

DOUBLE PRECISION KA(33)

105
APPENDIX F — GL LISTING

THE SET OF 33 FIXED SAMPLING POINTS, KA(I), AND THE INITIAL SET OF

WEIGHTS, W(I), 1=1,33, ARE ENTERED THROUGH THE DATA STATEMENTS.

THESE ARE THE FIRST 33 POINTS AND WEIGHTS OF THE GAUSS-LAGUERRE

METHOD OBTAINED FROM A 128-ORDER LAGUERRE POLYNOMIAL

C>k******)fc**)|c)fc)t(:|()|i:|c:|t)|c)|c)|c«)tc)|c4c)(t)|e««]|c>|t]|(i|i]tii|ii<e]|i)fi*)|i]ti]fii|(]^ c

c

c

cc

c

DATA KA(1)/.011251388D0/,KA(2)/.059284741D0/

DATA KA(3)/.145707967D0/,KA(4)/.270553179D0/

DATA KA (5) / . 433841408D0/ , KA (6) / . 635597666D0/

DATA KA (7) / . 875852385D0/ , KA (8) /1 . 154641702D0/

DATA KA(9)/1.472007563D0/,KA(10)/1.827997778D0/

DATA KA(11)/2.222666072D0/,KA(12)/2.65607213D0/

DATA KA (13) /3 . 128281655D0/ , KA (14) /3 . 63936642D0/

DATA KA(15)/4.18940433D0/,KA(16)/4.778479488D0/

DATA KA(17)/5.406682272D0/,KA(18)/6.074109403D0/

DATA KA (19) /6 . 78086404D0/ , KA (20) /7 . 527055861D0/

DATA KA(21)/8.312801165D0/,KA(22)/9.138222971D0/

DATA KA(23)/10.003451129D0/,KA(24)/10.908622439D0/

DATA KA(25)/11.853880769D0/,KA(26)/12.839377192D0/

DATA KA (27) /13 . 865270123D0/ , KA (28) /14 . 931725465D0/

DATA KA(29)/16.038916768D0/,KA(30)/17.187025392D0/

DATA KA(31)/18.376240681D0/,KA(32)/19.606760148D0/

DATA KA(33)/20.878789667D0/

DATA W (1) / . 028874906D0/ , W (2) / . 067219473D0/

DATA W(3)/.10563085D0/,W(4)/.14406297D0/

DATA W (5) / . 18251763D0/ , W (6) / . 22099994D0/

DATA W(7)/.25951551D0/,W(8)/.2980701D0/

DATA W(9)/.33666957D0/,W(10)/.3753198D0/

DATA W(11)/.41402672D0/,W(12)/.45279633D0/

DATA W (13) / . 49163467D0/ , W (14) / . 53054783D0/

DATA W(15)/.56954199D0/,W(16)/.60862338D0/

DATA W (17) / . 6477983D0/ , W (18) / . 69707314D0/

DATA W(19)/.7264544D0/,W(20)/.7659486D0/

DATA W(21)/.80556248D0/,W(22)/.84530276D0/

DATA W(23)/.88517632D0/,W(24)/.9251902D0/

DATA W (25) / . 96535161D0/ , W (26) /I . 00566765D0/

DATA W (27) /I . 04614585D0/ , W (28) /I . 08679375D0/

DATA W(29)/1.12761908D0/,W(30)/1.16862972D0/

DATA W(31)/1.20983377D0/,W(32)/1.25123946D0/

DATA W(33)/1.2928553D0/,PI/3.14159265D0/

106
APPENDIX F GL LISTING

c

C BEGINNING OF INPUT SECTION: DEFINITION OF SYMBOLS

C

C NPT = NUMBER OF RESISTIVITY, SPREADING RESISTANCE VALUES

C DEPTH (I) = DEPTH RELATIVE TO SURFACE (MICROMETERS)

C RSP(I) = TWO-PROBE RESISTANCE RELATIVE TO SURFACE (OHMS)

C AA = PROBE RADIUS (MICROMETERS)

C SEP = PROBE SEPARATION (MICROMETERS)

C DELTH = SUBLAYER THICKNESS (MICROMETERS)

C ICUR = CURRENT DENSITY (S&G=1, CHOO UNIF0RM=2, RING DELTA=3)

C

C READ THE NUMBER OF POINTS IN THE STRUCTURE

READ (11,*) NPT

C READ THE DEPTH AND TWO-PROBE RESISTANCE VALUES RELATIVE TO SURFACE

DO 10 1=1, NPT

READ (11,*) DEPTH (I), RSP (I)

10 CONTINUE

C READ THE ELECTRICAL PROBE RADIUS (MICROMETERS)

READ(11,*)AA

C READ THE SEPARATION BETWEEN THE PROBES (MICROMETERS)

READ (11,*) SEP

C READ THE DEPTH INCREMENT (MICROMETERS)

READ (11,*) DELTH

C READ THE PROBE CURRENT DENSITY (S&G=1, CHOO UNIF0RM=2, RING DELTA=3)

READ (11,*) ICUR

WRITE (6,7777)

7777 FORMAT (IHl)

WRITE (6, 20)

20 FORMAT (2X, 'CALCULATION OF THE RESITIVITY FROM THE SPREADING

1 RESISTANCE ',/,2X,

2 'USING THE CHOO ET AL GAUSS-LAGUERRE QUADRATURE')

GO TO (30, 40, 50), ICUR

30 WRITE (6, 35)

35 FORMAT (2X, 'SCHUMANN AND GARDNER CURRENT DENSITY')

GO TO 60

40 WRITE (6, 45)

45 FORMAT (2X, 'CHOO UNIFORM CURRENT DENSITY')

GO TO 60

50 WRITE (6, 55)

55 FORMAT (2X, 'RING DELTA FUNCTION CURRENT DENSITY')

60 WRITE (6, 65) AA, SEP, DELTH, NPT

65 FORMAT (2X , ' RADIUS= ' , F6 . 1

, 2X ,

' SEP= ' , F6 . 1 , 2X ,

' DELTH= '

, F7 . 3 , 2X

,

1

' # PTS=',I3)

107
APPENDIX F =- GL LISTING

C

C THE FINAL SET OF WEIGHTS, W(I) (1=1,33) ARE NOW CONSTRUCTED FROM THE

C INITIAL SET OF WEIGHTS AND THE TWO-PROBE CONFIGURATION FUNCTION (IN

C LINE 90) AND THE FORM OF THE CURRENT DENSITY FUNCTION (IN THE

C APPROPRIATE NEXT LINE DEPENDING UPON THE VALUE OF ICUR)

.

C

DO 70 1=1,33

T (I) =DTANH (DELTH*KA (I) /AA)

: A(1,I)=1.0D0

A(2,I)=1.0D0

90 W (I) =W (I) * (DBJl (KA (I) ) /KA (I) **2-DBJ0 (KA (I) SEP/AA) /

(2 . DO*KA (I) )

)

IF (ICUR.EQ.l) W(I)=W(I)*DSIN(KA(I))/2.D0

IF (ICUR.ER.2) W(I)=W(I)*DBJ1(KA(I))

IF (ICUR.EQ.3) W(I)=W(I)*KA(I)*DBJ0(KA(I))/2.D0

70 CONTINUE

sit ^jc sjc s(c sfc ]|t sjc 3(t ift jft ift ](c sfc ]fc ifc )|c )fc sfc ){c ifc sjc sfi ifc jfc ifc 3^ jfc ifi i(c ijc sfc ifc ifc ifc ]{( ifc sfc ijt ){c sfc i|c ijt )(( i|c ifc )(c ifc )|c ifc ifc sfc i|c ifc ifc sfc sfc 3^6 ifc sfc jjc jfc sjt jfc sfc )fc sfc sjc sfc sfc sfc sfc sfc sfc C

C THE NEXT GROUP OF LINES CONTAIN THE CALCULATION OF THE CORRECTION

C FACTOR INTEGRAL FOR THE SUBSTRATE POINT. THE CORRECTION FACTOR, THE

C SPREADING RESISTANCE, AND THE VOLTAGE ARE ALSO CALCULATED.

C

R5=0.0

R6=0.0

R7=0.0

DO 80 1=1,33

R5=R5+W(I)

R6=R6+W(I)*T(I)

R7=R7+W(I)/T(I)

80 CONTINUE

WRITE(6,165)R5,R6,R7

165 F0RMAT(2X, 'R5=',F11.6/ R6=',F11.6,' R7=' ,F11 .6,/)

R8=1.27324D4/AA

R9=R8/RSP(NPT)*R5

SDIF(NPT)=0.0

C0ND(NPT)=R9

RH0(NPT)=l.O/R9

ITER(NPT)=0

SENS (NPT) =0.0

DO 170 1=1,33

B(I)=1.0

170 CONTINUE

108
APPENDIX F — GL LISTING

DO 1000 K=NPT-1,1,-1

ITER(K)=0

R10=0.

R11=R8/RSP (K) /COND (K+1)

R12=RSP(K+1)/RSP(K)

R13=R12

GOTO 1450

1060 CONV=DABS(1.0-R14*R11/R12)

IF (CONV.LT.lD-3) GO TO 1200

IF (RIO. HQ. 1.) R15=0.0

R16=R15

R15=R12

R17=: (R14-R6) / (R7-R14) /R12

R18=R7*R17*R11-1.0

R13=DABS (R18) +DSQRT(R18*R18+4*R17*R11*R6)

IF (R18.GT.0.0) R13=R13/2.0/R17

IF (R18.lt. 0.0) R13=2.0*R11*R6/R13

VAR1= (R15-R13) * (R15-R16)

IF (VARI.LE.0.0) GO TO 1170

VAR2=R10-2.*JIDINT(R10/2.)

IF (VAR2.E(i.0.0) R13=(R15*R15-R13*R16)/(2*R15-R13-R16)

1170 R12=R13

GO TO 1450

1200 R19=R11*R14*C0ND(K+1)

R20=0.0

DO 200 1=1,33

SEP=A (1 , 1) * (1 . 0-T (I) *T (I) ) DELTH= (R12*T (I) *A (1 , 1) +1 . 0) 2

R20=W(I) SEP/DELTH+R20

A(1,I)=A(2,I)

200 CONTINUE

SENS (K) =1 . 0/ (1 . 0-R20*R13/R14)

C0ND(K)=R19

RHO(K)=1.0/R19

SDIF(K)=R14*R8/R13/C0ND(K+1)

SDIF (K) =1 . 0-SDIF (K) /RSP (K)

ITER(K)=R10

1000 CONTINUE

1001 FORMAT (2X , 13 , 2X , F7 . 3 , 2X , 4 (IPEll . 3) , 3X , 15)

1002 FORMAT (4X, 'NPT',4X, 'DEPTH', 5X, *RMEAS',6X, '1-RCAL/R' ,4X, 'RH0',8X

1 , 'SENS', 6X, 'ITER',/)

1003 F0RMAT(2X,F7.3,2X,1PE11.3)

1004 FORMAT (2X,1PE11. 4)

WRITE (6, 1002)

WRITE (12, *)NPT

DO 1020 1=1, NPT

WRITE (6 , 1001) I , DEPTH (I) , RSP (I) , SDIF (I) , RHO (I) , SENS (I) , ITER (I)

WRITE (12 , 1003) DEPTH (I) , RHO (I)

1020 CONTINUE

STOP

109
APPENDIX F — GL LISTING

Qiii*^f:i{fi{f#^t:|f ****************************

cC THE REMAINING LINES ARE PART OF THE INVERSION METHOD BASED UPON THE

C BERKOWITZ AND LUX BOUNDING TECHNIQUE.

C

1450 DO 1475 1=1,33

A(2,I) = (R12*A(1,I)+T(I))/(1.0+T(I)*A(1,I)*R12)

B(I)=A(2,I)

1475 CONTINUE

R14=0.0

DO 1480 1=1,33

R14=R14+W(I)*B(I)

1480 CONTINUE

R10=R10+1

.

GO TO 1060

END

C*****END OF MAIN PART OF THE GL VERSION 1.0 PROGRAM***********************

/

110
APPENDIX F ~ GL LISTING

DOUBLE PRECISION FUNCTION DBJO(X)

c

C POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJO

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.1 IS USED FOR X < 3

C EQUATION 9.4.3 IS USED FOR X > 3

C

C*******************************************************************^

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F0,THETA

C DOUBLE PRECISION Al, A2, A3,A4, A5,A6,A7

C DOUBLE PRECISION Bl,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA Al/1 . OOOOOOODO/ , A2/-2 . 2499997D0/ , A3/1 . 2656208D0/

DATA A4/-0 . 3163866D0/ , A5/0 . 0444479D0/ , A6/-0 . 0039444D0/

DATA A7/0.0002100D0/

DATA Bl/ . 79788456D0/ , B2/- . 00000077D0/ , B3/- . 00552740D0/

DATA B4/- . 00009512D0/ , B5/ . 00137237D0/ , B6/- . 00072805D0/

DATA B7/.00014476D0/

DATA CI/- . 78539816D0/ , C2/- . 04166397D0/ , C3/- . 00003954D0/

DATA C4/ . 00262573D0/ , C5/- . 00054125D0/ , C6/- . 00029333D0/

DATA C7/.00013558D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.0D0

DBJ0= ( ( ( ( (A7*X2+A6) X2+A5) *X2+A4) *X2+A3) *X2+A2) *X2+A1

RETURN

10 CONTINUE

X1=3.D0/X

F0= ( ( ( ( (B7*X1+B6) *X1+B5) *X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) Xl+Cl

DBJO=FO*DC0S (THETA) /DSQRT (X)

RETURN

END

C*****END OF THE DBJO DOUBLE PRECISION FUNCTION****************************

111
APPENDIX F — GL LISTING

DOUBLE PRECISION FUNCTION DBJl(X)

C

C POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJl

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.4 IS USED FOR X < 3

C AND EQUATION 9.4.6 IS USED FOR X > 3

C

Q^i**^: ***************************** *********** IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F1,THETA

C DOUBLE PRECISION A1,A2, A3, A4,A5,A6, A7

C DOUBLE PRECISION Bl,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION Cl,C2,C3,C4,C5,C6,C7

DATA A1/0.500000D0/,A2/-.56249985D0/,A3/.21093573D0/

DATA A4/-.03954289D0/,A5/.00443319D0/,A6/-.00031761D0/

DATA A7/.00001109D0/

DATA Bl/ . 79788456D0/ , B2/ . 00000156D0/ , B3/ . 01659667D0/

DATA B4/ . 00017105D0/ , B5/- . 00249511D0/ , B6/ . 00113653D0/

DATA B7/-.00020033D0/

DATA C1/-2.35619449D0/,C2/.12499612D0/,C3/.00005650D0/

DATA C4/-.00637879D0/,C5/.00074348D0/,C6/.00079824D0/

DATA C7/-.00029166D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.D0

DBJ1=X* ( ( ( ( ( (A7*X2+A6) *X2+A5) X2+A4) *X2+A3) *X2+A2) *X2+A1)

RETURN

10 X1=3.0D0/X

Fl=( ( ( ( (B7*X1+B6) *X1+B5) X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=:X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) *X1+C1

DBJ1=F1*DC0S(THETA)/DSQRT(X)

RETURN

END

C*****END OF DBJl DOUBLE PRECISION FUNCTION & END OF THE GL VERSION 1.0 

112
APPENDIX G ~ VAR LISTING

C VAR VERSION 1.0

C

C THIS PROGRAM CALCULATES THE RESISTIVITY PROFILE FROM THE

C SPREADING RESISTANCE USING THE VARIATIONAL TECHNIQUE OF

C CHOO ET AL. AND A GENERALIZATION TO THE VARIATIONAL TECHNIQUES

C OF THE BERKOWITZ AND LUX BOUNDING METHOD FOR INVERTING THE CORRECTION

C FACTOR INTEGRAL.

C THIS PROGRAM IS THE INVERSE OF THE RGENVAR VERSION 1.0 PROGRAM

C

C THE CALCULATION OF THE VARIOUS INTEGRALS IS CARRIED OUT BY AN

C ADAPTATION OF THE BERKOWITZ-LUX APPROXIMATE INTERGAL AS WELL AS THE

C SEGMENTED NEWTON-COTES QUADRATURE.

C

C REFERENCES: "SPREADING RESISTANCE CALCULATIONS BY THE VARIATIONAL

C METHOD," BY S. C. CHOO, M. S. LEONG, AND L. S. TAN,

C SOLID STATE ELECTRONICS, VOL. 24, PP. 557-562, 1981.

C "AN EFFICIENT NUMERICAL SCHEME FOR SPREADING RESISTANCE

C CALCULATIONS BASED ON THE VARIATIONAL METHOD," BY

C S. C. CHOO, M. S. LEONG, AND J. H. SIM,

C SOLID STATE ELECTRONICS, VOL. 26, PP. 723-730, 1983.

C

C THE PROGRAM READS (FROM FOROlO) THE PROBE RADIUS, PROBE SEPARATION,

C DEPTH INCREMENT, THE BACKSURFACE BOUNDARY CONDITION, THE SUBSTRATE

C RESISTIVITY, SUBSTRATE THICKNESS, AND THE RESISTIVITY ARRAY (FROM

C THE TOP SURFACE)

.

C

C THE CORRECTION FACTOR AND THE TWO-PROBE (SPREADING) RESISTANCE

C ARE CALCULATED FROM THE CALCULATED CORRECTION FACTOR INTEGRAL.

C

C THE OUTPUT LIST INCLUDES THE VALUES OF ALL OF THE PERTINENT VARIABLES

C AS WELL AS THE RESULTS OF THE CALCULATION.

C

C IN ADDITION, SELECTED DATA MAY SENT TO OTHER FILES FOR STORAGE,

C PLOTTING, OR FURTHER ANALYSIS.

C

Qi^t ** ******************************************

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RSP (1000) , RHO (1000) , DEPTH (1000) , CF (1000)

DIMENSION A (2, 55) ,CN9(9) ,W(3,55) ,T(55) , VOL (1000)

DIMENSION COND (1000) , B (55) , SDIF (1000) , SENS (1000) , ITER (1000)

DOUBLE PRECISION KA (55) ,L,K1,K2, II (1000) ,12(1000)

DOUBLE PRECISION 13 (1000) , I2S (1000) , I3S (1000)

C**^^***********************************************************************

c

C THE SET OF PROBE-SPACING INDEPENDENT SAMPLING POINTS, KA(I), (1=27,55)

C AND WEIGHTS, W(J,I), (J=l,3 1=27,55) ARE ENTERED HERE BY MEANS OF

C DATA STATEMENTS. THE NEWTON-COTES COEFFICIENTS ARE ALSO ENTERED

C HERE IN DATA STATEMENTS.

C

Qi^*t***********************************************************************

113
APPENDIX G ~ VAR LISTING

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

DATA

KA(27)

KA(30)

KA(33)

KA(36)

KA(39)

KA(42)

KA(45)

KA(48)

KA(51)

KA(54)

W

W

w

ww

w

ww

w

27

28

28

29

30

30

31

32

32

33

34

34

35

36

36

37

38

38

39

40

40

41

42

42

(2,43

44

44

45

46

46

47

48

48

49

50

50

51

52

53

54

55

12D0/ , KA (28) /O . 203885D0/ , KA (29) /O . 346410D0/

/1.53540D0/

35)/3.14159D0/

38)/3.65917D0/

41)/7.01558D0/

44)/12.5664D0/

47)/16.4701D0/

50)/39.24D0/

311.0D0/

)/1.96943D-2/

/

588566D0/ , KA (31) /I . ODO/ , KA (32

07080D0/ , KA (34) /2 . 60619D0/ , KA

31412D0/ , KA (37) /3 . 48665D0/ , KA

83171D0/ , KA (40) /6 . 28319D0/ , KA

42478D0/ , KA (43) /lO . 1735D0/ , KA

13 . 3237D0/ , KA (46) /15 . 7080D0/ , KA

18 . 8496D0/ , KA (49) /19 . 6159D0/ , KA

49 . 87D0/ , KA (52) /56 . 32D0/ , KA (53)

983 . 5D0/ , KA (55) /I 100 . ODO/ , W (1 ,

2

/4 . 92949D-3/ , W (3 , 27) /9 . 85305D-3

/I . 51585D-1/ , W (2 , 28) /3 . 80282D-2

/7 . 59243D-2/ , W (1 , 29) /9 . 40755D-2

/2 . 37573D-2/ , W (3 , 29) /4 . 72756D-2

/3 . 94777D-1/ , W (2 , 30) /I . 01659D-1

/2 . 00331D-1/ , W (1 , 31) /2 . 34711D-1

/6 . 41889D-2/ , W (3 , 31) /I . 22743D-1

/3 . 22596D-1/ , W (2 , 32) /I . 02248D-1

/I . 81618D-1/ , W(l , 33) /5 . 12837D-2

/2 . 17231D-2/ , W (3 , 33) /3 . 33773D-2

12

.

91802D-2/ , W (2 , 34) /2 . 46688D-2

/2 . 68298D-2/ , W (1 , 35) /4 . 03186D-2

/I . 80765D-3/ , W (3 , 35) /-9 . 61334D-

/O . ODO/ , W (2 , 36) /I . 03120D-3/

/0.0D0/,W(1,37)/0.0D0/

/I . 54721D-4/ , W (3 , 37) /O . ODO/

/O . ODO/ , W (2 , 38) /9 . 17871D-5/

/O. ODO/, W (1,39) /O.ODO/

/3 . 84395D-3/ , W (3 , 39) /9 . 19809D-3/

/4 . 73102D-2/ , W (2 , 40) /O . ODO/

/8 . 01205D-3/ , W (1 , 41) /O . ODO/

/3 . 91858D-3/ , W (3 , 41) /2 . 52148D-3/

/I . 90479D-2/ , W (2 , 42) /O . ODO/

/2 . 32728D-3/ , W (1 , 43) /O . ODO/

/I . 08897D-3/ , W (3 , 43) /I . 08692D-3/

/I . 03669D-2/ , W (2 , 44) /O . ODO/

/I . 02754D-3/ , W (1 , 45) /O . ODO/

/4 . 57291D-4/ , W (3 , 45) /5 . 80787D-4/

/6 . 53592D-3/ , W (2 , 46) /O . ODO/

/5 . 56264D-4/ , W (1 , 47) /O . ODO/

/2 . 25498D-4/ , W (3 , 47) /3 . 52250D-4/

/8 . 71084D-3/ , W (2 , 48) /O . ODO/

/3 . 40149D-4/ , W (1 , 49) /O . ODO/

/8 . 28909D-5/ , W (3 , 49) /3 . 09148D-4/

/O . ODO/ , W (2 , 50) /4 . 12225D-4/

/O . ODO/ , W (1 , 51) /O . ODO/ , PI/3 . 14159265D0/

/O . ODO/ , W (3 , 51) /I . 92433D-3/

/I . 78441D-2/ , W (2 , 52) /O . ODO/ , W (3 , 52) /O . ODO/

/9 . 02512D-4/ , W (2 , 53) /O . ODO/ , W (3 , 53) /O . ODO/

/I . 52804D-3/ , W (2 , 54) /O . ODO/ , W (3 , 54) /O . ODO/

/O . ODO/ , W (2 , 55) /O . ODO/ , W (3 , 55) /9 . 40768D-6/

114
APPENDIX G ~ VAR LISTING

C09=4.ODO/14175.ODO

CN9(l)=C09*989.ODO

CN9(2)=C09*5888.ODO

CN9(3)=-C09*928.ODO

CN9(4)=C09*lO496.ODO

CN9(5)=-C09*454O.ODO

CN9(6)=CN9(4)

CN9(7)=CN9(3)

CN9(8)=CN9(2)

CN9(9)=CN9(1)

c

C BEGINNING OF INPUT SECTION: DEFINITION OF SYMBOLS

C

C NPT = NUMBER OF RESISTIVITY & SPREADING RESISTANCE VALUES

C AA = PROBE RADIUS (MICROMETERS)

C SEP = PROBE SEPARATION (MICROMETERS)

C DELTH = SUBLAYER THICKNESS (MICROMETERS)

C DEPTH (I) = DEPTH (MICROMETERS)

C RSP(I) = SPREADING RESISTANCE (OHMS)

C *****************************

C READ THE NUMBER OF POINTS IN THE STRUCTURE

READ (11,*) NPT

C READ THE DEPTH AND TWO-PROBE RESISTANCE FROM THE SURFACE

DO 70 1=1, NPT

READ (11 , *) DEPTH (I) , RSP (I)

70 CONTINUE

C READ THE ELECTRICAL PROBE RADIUS (MICROMETERS)

READ(11,*)AA

C READ THE PROBE SEPARATION (MICROMETERS)

READ (11,*) SEP

C READ THE DEPTH INCREMENT (MICROMETERS)

READ (11,*) DELTH

SUBRSP=RSP(NPT)

75 FORMAT (8X,'AA=',F10. 3,' SEP=',F8.3,' DELTH=' ,F8.5, ' NPT=',I5)

AA=AA*lD-4

SEP=SEP*lD-4

DELTH=DELTH*lD-4

SEP=SEP/AA

DELTH=DELTH/AA

L=l . 122918967D0* (1 . 0/SEP)

WRITE (6,7777)

7777 FORMAT (IHl)

WRITE (6, 80)

80 FORMAT (8X, 'CALCULATION OF THE RESISTIVITY FROM SPREADING

1 RESISTANCE')

WRITE (6, 81)

81 FORMAT (8X, 'USING CHOO ET AL VARIATIONAL TECHNIQUE-BL')

WRITE (6 , 75) AA , SEP , DELTH , NPT

115
APPENDIX G — VAR LISTING

c

C BEGIN CONSTRUCTION OF SAMPLING POINTS AND WEIGHTS

C

' REMEMBER TO ADD WEIGHTS AT BOUNDARY OF SAMPLING REGIONS

.

C THE REGION DESIGNATIONS FOLLOW THE NOTATION OF THE SECOND REFERENCE.

C

C******><!**>fc)|c*i(c9|c*>|c)|cifc:tti|cifc]fc«)|c**itc*)|c*)|c]|c>|ci|i:|c*>|c**i|C)K******* c

C REGION A (0<=KA<=lD-5) (1=1,9)

C

DO 142 1=1,9

KA(I)=1.D-5*(I-1)/8.D0

W(1,I)=1.D-5*CN9(I)/8.D0

W(2,I)=W(1,I)/4.D0

W(3,I)=W(1,I)/2.D0

142 CONTINUE

WEND1=W(1,9)

WEND2=W(2,9)

WEND3=W(3,9)

C********>il>l<ltl****>|C*3fC)k)il)|Cl|(9tClfC]itlfC9|l]tci|l]<ll|l9|l]fE)(ll|l]|ll|c)|t)|(]iE:|c>|(« cC REGION B (1D~5<=KA<=L) (1=9,17)

C

DO 144 1=9,17

KA (I) =1 . D-5* (L*l . D5) * * ( (1-9 . ) /8 .

)

W (1 , I) =CN9 (1-8) *KA (I) *DLOG (L*l . D5) /8 . DO

W(2,I)=W(1,I)/4.D0

W(3,I)=W(1,I)/2.D0

144 CONTINUE

W(1,9)=W(1,9)+WEND1

W(2,9)=W(2,9)+WEND2

W(3,9)=W(3,9)+WEND3

C

C REGION C (L<=KA<=.12) (1=18,26)

C

DO 146 1=18,26

KA (I) =L* (0 . 12D0/L) * ( (1-18 . ) /8 .

)

W(l , I) =CN9 (1-17) *KA (I) *DLOG (0 . 12/L) /8 . DO

W(2,I)=W(1,I)/4.D0

W(3,I)=W(1,I)/2.D0

146 CONTINUE

116
APPENDIX G -- VAR LISTING

REGION D, E, AND F

THE VALUES OF THE KA(I) AND W(I) HAVE BEEN ENTERED BY THE

DATA STATEMENTS AT THE BEGINNING OF THE PROGRAM

Qt^^if**^^*:lf*Mf*****^fif**:lfifi^**ilfi^it ***************

c

c

c

cc

Q^iilf^f**************if*****************^**:lf*^t**********

DO 155 1=1,55

R4=KA(I)*DELTH

T(I)=DTANH(R4)

A(1,I)=1.0D0

A(2,I)=1.0D0

B(I)=1.0D0

155 CONTINUE

R5I1=0.0D0

R6I1=O.ODO

R7I1=0.0D0

R5I2=0.0D0

R6I2=0.0D0

R7I2=0.0D0

R5I3=0.0D0

R6I3=0.0D0

R7I3=0.0D0

DO 200 1=18,55

R5I1=R5I1+W(1,I)

R5I2=R5I2+W(2,I)

R5I3=R5I3+W(3,I)

R6I1=R6I1+W(1,I)

R6I2=R6I2+W(2,I)

R6I3=R6I3+W(3,I)

R7I1=R7I1+W(1,I)

R7I2=R7I2+W(2,I)

R7I3=R7I3+W(3,I)

200 CONTINUE

R5I2S=R5I2

R5I3S=R5I3

R6I2S=R6I2

R6I3S=R6I3

R7I2S=R7I2

R7I3S=R7I3

DO 210 1=2,17

R5I1=R5I1+W(1,I

R5I2=R5I2+W(2,I

R5I3=R5I3+W(3,I

R6I1=R6I1+W(1,I

R6I2=R6I2+W(2,I

R6I3=R6I3+W(3,I

R7I1=R7I1+W(1,I

R7I2=R7I2+W(2,I

R7I3=R7I3+W(3,I

210 CONTINUE

*T(I)

*T(I)

*T(I)

/T(I)

/T(I)

/T(I)

*T(I)

*T(I)

*T(I)

/T(I)

/T(I)

/T(I)

117
APPENDIX G ~ VAR LISTING

R5I1=R5I1+W(1,1)

R5I2=R5I2+W(2,1)

R5I3=R5I3+W(3,1)

R6I1=R6I1+W(1,1)*T(1)

R6I2=R6I2+W(2,1)*T(1)

R6I3=R6I3+W(3,1)*T(1)

DEN5= (R5I1*R5I2-R5I3*R5I3)

R5K1= (R5I2-0 . 5D0*R5I3) /DEN5

R5K2= (0 . 5D0*R5I1-R5I3) /DEN5

CFDEN5=1 . ODO/ (R5K1+0 . 5D0*R5K2)

CFINT5=CFDEN5*(R5K1*R5I3S+R5K2*R5I2S)

R5=CFINT5

DEN6=(R6I1*R6I2-R6I3*R6I3)

R6K1= (R6I2-0 . 5D0*R6I3) /DEN6

R6K2= (0 . 5D0*R6I1-R6I3) /DEN6

CFDEN6=1 . ODO/ (R6K1+0 . 5D0*R6K2)

CFINT6=CFDEN6* (R6K1*R6I3S+R6K2*R6I2S)

R6=CFINT6

DEN7=(R7I1*R7I2-R7I3*R7I3)

R7K1= (R7I2-0 . 5D0*R7I3) /DEN7

R7K2= (0 . 7D0*R7I1-R7I3) /DEN7

CFDEN7=1 . ODO/ (R7K1+0 . 5+R7K2)

CFINT7=CFDEN7*(R7K1*R7I3S+R7K2*R7I2S)

R7=CFINT7

WRITE(6,165)R5,R6,R7

165 FORMAT (8X, 'R5=', Ell. 4/ R6=SE11.4/ R7=',E11.4)

R8=1.27324/(2.0*AA)

' R9=R8/SUBRSP*R5

SDIF(NPT)=0.0D0

C0ND(NPT)=R9

RHO(NPT)=1.0DO/R9

ITER(NPT)=0

SENS (NPT)=0. ODO

118
APPENDIX G — VAR LISTING

cC LAYERED STRUCTURE CALCULATION

C

C************************************************* ************

DO 1000 KK=NPT-1,1,-1

ITER(KK)=0

IR10=0

R11=R8/RSP (KK) /COND (KK+1)

R12=RSP(KK+1)/RSP(KK)

R13=R12

GOTO 1450

1060 CONV=DABS (1 . 0D0-R14*R11/R12)

IF (CONV.LT.lD-3) GO TO 1200

IF (IRlO.EQ.l) R15=0.0D0

R16=R15

R15=R12

R17= (R14-R6) / (R7-R14) /R12

R18=R7*R17*R11-1.0D0

R13=DABS (R18)+DSGIRT(R18*R18+4*R17*R11*R6)

IF (R18.GT.0.0) R13=R13/2.0D0/R17

IF (R18.lt. 0.0) R13=2.0D0*R11*R6/R13

VAR1=(R15-R13) * (R15-R16)

IF (VARl.LE.O.ODO) GO TO 1170

VAR2=IR10-2 . DO*INT (IRlO/2 . DO)

IF (VAR2.EH.0.0) R13=(R15*R15-R13*R16)/(2*R15-R13-R16)

1170 R12=R13

GO TO 1450

1200 R19=R11*R14*C0ND(KK+1)

R20=0.0D0

DO 1059 1=1,55

SEP=A(1,I)*(1.0-T(I)*T(I))

DELTH=(R12*T(D*A(1,I)+1.0)**2

R20=W (1 , I) SEP/DELTH+R20

A(1,I)=A(2,I)

1059 CONTINUE

SENS (KK) =1 . ODO/ (1 . 0D0-R20*R13/R14)

C0ND(KK)=R19

RHO(KK)=1.0DO/R19

SDIF (KK) =R14*R8/R13/C0ND (KK+1)

SDIF (KK) =1 . ODO-SDIF (KK) /RSP (KK)

ITER(KK)=IR10

1000 CONTINUE

1001 F0RMAT(8X,I5,2X,4(1PE12.3),3X,I5)

1002 F0RMAT(12X, 'NPT',6X, 'DEPTH', 5X, 'RMEAS',8X, '1-RCAL/R' ,4X, 'RHO ', 1 8X 'ITER' /)

1003 F0RMAT(8X, IPEll .3,2X,1PE11 .3)

1004 FORMAT (8X,1PE11. 4)

WRITE (6, 1002)

WRITE (12, )NPT

DO 1020 1=1, NPT

WRITE (6 , 1001) I , DEPTH (I) , RSP (I) , SDIF (I) , RHO (I) , ITER (I)

WRITE (12 , 1003) DEPTH (I) , RHO (I)

1020 CONTINUE

STOP

119
APPENDIX G ~ VAR LISTING

C

C THE REMAINING LINES ARE PART OF THE GENERALIZATION TO THE VARIATIONAL

C TECHNIQUE OF THE BERKOWITZ AND LUX BOUNDING METHOD FOR INVERSION OF

C THE CORRECTION FACTOR INTEGRAL (FOR WHICH THERE ARE SEVERAL INTEGRALS

C IN THE PRESENT CASE)

.

C

1450 DO 1475 1=1,55

A (2 , 1) = (R12*A (1 , 1) +T (I) ) / (1 . ODO+T (I) * A (1 , 1) *R12)

B(I)=A(2,I)

1475 CONTINUE

R14=0.0D0

R5I1=0.0D0

R5I2=0.0D0

R5I3=0.0D0

DO 1480 1=18,55

R5I1=R5I1+W(1,I)*B(I)

R5I2=R5I2+W(2,I)*B(I)

R5I3=R5I3+W(3,I)*B(I)

1480 CONTINUE

R5I2S=R5I2

R5I3S=R5I3

DO 1485 1=1,17

R5I1=R5I1+W(1,I)*B(I)

R5I2=R5I2+W(2,I)*B(I)

R5I3=R5I3+W(3,I)*B(I)

1485 CONTINUE

DEN= (R5I1*R5I2-R5I3*R5I3)

R5K1= (R5I2-0 . 5D0*R5I3) /DEN

R5K2=(0.5D0*R5I1-R5I3)/DEN

CFDEN=1 . ODO/ (R5K1+0 . 5D0*R5K2)

CFINT=CFDEN*(R5K1*R5I3S+R5K2*R5I2S)

R14=CFINT

IR10=IR10+1

GO TO 1060

END

C*****END OF THE VAR VERSION 1.0 PROGRAM************************************

120
APPENDIX H — PR0BE24 LISTING

C PR0BE24 VERSION 1.0

C

C THIS PROGRAM CALCULATES THE DEPTH-DEPENDENT, FOUR-PROBE RESISTANCE,

C Z(X,S), THE DERIVATIVE OF THE TWO-PROBE (SPREADING) RESISTANCE WITH

C RESPECT TO THE PROBE SPACING, D(X,S), AS WELL AS THE FOUR-PROBE SHEET

C RESISTANCE, SH(X)

C

C THE FOUR-PROBE RESISTANCE AND THE DERIVATIVE FUNCTION ARE CALCULATED

C FROM THE MULTILAYER SOLUTION OF LAPLACE'S EQUATION (SEE REFERENCE)

C THE FOUR-PROBE SHEET RESISTANCE IS CALCULATED FROM THE TRADITIONAL

C LAMINAR FLOW MODEL.

C

C THE INTEGRALS INVOLVED IN Z(X,S) AND D(X,S) ARE EVALUATED BY MEANS

C OF A 1250- (OR 10000-) POINT INTEGRATION METHOD USED BY BERKOWITZ.

C

C REFERENCES: "THE RELATION BETWEEN TWO-PROBE AND FOUR-PROBE RESISTANCES

C ON NONUNIFORM STRUCTURES",

C BY JOHN ALBERS AND H. L. BERKOWITZ, JOURNAL OF THE

C ELECTROCHEMICAL SOCIETY, VOL. 131, PP. 392-398 (1984).

C

C THIS PROGRAM WAS ORIGINALLY WRITTEN

C FOR THE CALCULATION OF THE FOUR-PROBE FUNCTION Z(X). WE HAVE

C USED THE INTEGRATION SCHEME TO ALSO CALCULATE THE FUNCTION S(X),

C THE DERIVATIVE OF SPREADING RESISTANCE WITH RESPECT TO LN(S) . IN

C ADDITION, THE SHEET RESISTANCE IS ALSO CALCULATED BY MEANS OF THE

C STANDARD LAMINAR FLOW MODEL. THESE THREE FUNCTION ARE COMPARED,

C AND EACH IS STORED IN APPROPRIATE DATA FILES.

C

C NOTE-THE EQUATIONS USED MAKE USE OF THE CHOO UNIFORM CURRENT

C DENSITY. THIS CAN BE CHANGED IF DESIRED BY ALTERING THE

C LINES WHERE W(1,I) AND W(2,I) ARE DEFINED.

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DOUBLE PRECISION C0ND(3OO), OUT (6, 300), ROL(300), W5(5)

DOUBLE PRECISION HTAN (10000), F (10000), W (2, 10000)

C********************************************************************

OF VARIABLES AND ARRAYS

= NUMBER OF DATA POINTS

= SEPARATION BETWEEN THE PROBES (MICROMETERS)

: DEPTH INCREMENT (MICROMETERS)

: PROBE RADIUS (MICROMETERS)

: SUBSTRATE RESISTIVITY (OHM*CM)

: SUBSTRATE THICKNESS (MICROMETERS)

: BACKSURFACE BOUNDARY CONDITION

(NONE = 1, COND = 2, INS = 3)

= ARRAY OF RESISTIVITY VALUES (OHM*CM)

= NUMBER OF INTEGRATION POINTS TO BE USE

(EITHER 1250 OR 10000 (ALL BETS OFF FOR OTHERS))

C*******************************************************************

c DESCRIPTION

cc NPT

c SEP

c DELTH : c AA

c SUBRHO : c SUBTH : c IBBC

c

c RHO

c NMANY : c

c

121
APPENDIX H — PR0BE24 LISTING

c READ THE ELECTRICAL PROBE RADIUS (MICROMETERS)

READ (5,*) AA

c READ THE PROBE SEPARATION (MICROMETERS)

READ (5,*) SEP

c READ THE DEPTH INCREMENT (MICROMETERS)

READ (5,*) DELTH

c READ THE NUMBER OF POINTS IN THE STRUCTURE

READ (5,*) NPT

c READ THE SUBSTRATE THICKNESS (MICROMETERS)

READ (5,*) SUBT

c READ THE SUBSTRATE RESSISTIVITY (OHM+CM)

READ (5,*) SUBRHO

c READ THE BACKSURFACE BOUNDARY CONDITION (N0NE=1,C0ND=2,INS=3)

READ (5,*) IBBC

NUM=NPT

C READ THE RESISTIVITIES OF THE STRUCTURE (0HM*CM) FROM SURFACE

DO 7 1=1, NUM

READ (5,*) ROL(I)

COND(I)=1.0DO/ROL(I)

7 CONTINUE

C READ THE NUMBER OF INTEGRATION POINTS TO BE USED

C THIS MAY BE EITHER 1250 OR 10000 (ALL BETS OFF FOR OTHERS)

READ (5,*) NMANY

C IF (NMANY. NE. 1250. OR. NMANY. NE. 10000) GOTO 666

DO 5 1=1,2

DO 2 J=l, NMANY

' W(I,J)=O.ODO

2 CONTINUE

5 CONTINUE

W5(1)=7.D0

W5(2)=32.D0

W5(3)=12.D0

W5(4)=32.D0

W5(5)=7.D0

TEMP=0.0

TEMP1=0.0

TEMP2=0.0

TEMP3=0.0

DX=500.03/NMANY

DO 10 1=1,5

10 W5(I)=W5(I)*2.0D0*DX/45

PI=3.141592654D0

DO 20 1=2,5

11=1-1

W(1,II)=W5(I)

20 W(2,II)=W5(I)

A=AA/SEP

T=DELTH/SEP

SUB=SUBT/SEP

Sl=SEP*l.D-4

122
APPENDIX H ~ PR0BE24 LISTING

DO 30 1=4,1246,4

DO 30 J=0,4

IJ=I+J

J1=J+1

W(1,IJ)=W(1,IJ)+W5(J1)

30 W(2,IJ)=W(2,IJ)+W5(J1)

DO 11 I=1,NMANY

X=DX*I

W (1 , I) =W (1,1)* (DBJO (X) -DBJO (2*X) ) *2*DBJl (A*X) / (A*X)

11 W(2, 1)=W(2, 1) *2*DBJ1 (X) *DBJ1 (A*X)

DO 13 I=1,NMANY

X=DX*I

XT=X*T

IF (XT.GT.40) HTAN(I)=1.0D0

IF (XT.GT.40) GO TO 17

HTAN (I) = (EXP (X*T) -EXP (-X*T) ) / (EXP (X*T) +EXP (-X*T)

)

17 XSUB=X*SUB

IF (XSUB.GT.40) F(I)=1.0D0

IF (XSUB.GT.40) GO TO 375

F (I) = (EXP (X*SUB) +EXP (-X*SUB) ) / (EXP (X*SUB) -EXP (-X*SUB)

)

375 GO TO (400,500,600) ,IBBC

400 F(I)=1.0D0

GO TO 600

500 F(I)=1.0D0/F(I)

600 TEMP1=TEMP1+W(1,I)

TEMP=TEMP+W(1,I)*F(I)

TEMP2=TEMP2+W(2,I)

TEMP3=TEMP3+W (2 , I) *F (I)

13 CONTINUE

C0RR=O . 5D0* (1+7 . /64 . *A*A) -TEMPI

IF (A.GT..01) CORR=0.0

NUM1=NUM+1

COND (NUMl) =1 . ODO/SUBRHO

0UT(1,NUM1)=NUM*T*SEP

0UT(2,NUM1)=SUBRH0

0UT(3,NUM1)=C0ND(NUM1)

OUT (4 , NUMl) = (TEMP+CORR) /PI/S1*SUBRH0

OUT (5 , NUMl) =COND (NUMl) *SUB*S1

OUT (6 , NUMl) = (TEMP3+C0RR) /PI/AA/1 . OD-4*SUBRH0

DO 14 I=NUM,1,-1

0UT(1,I) = (I-1)*T*SEP

0UT(2,I)=R0L(I)

0UT(3,I)=C0ND(I)

TEMP=0.0

TEMP3=0.0

11=1+1

0UT(5, I)=0UT(5, II) +COND (I) *T*S1

123
APPENDIX H ~ PR0BE24 LISTING

DO 15 J=1,NMANY

. . F(J) = (C0ND(I)*F(J)+HTAN(J)*C0ND(I1))

1 /(C0ND(I1)+C0ND(I)*F(J)*HTAN(J))

TEMP=TEMP+W(1,J)*F(J)

15 TEMP3=TEMP3+W(2,J)*F(J)

0UT(4,I) = (TEMP+C0RR)/(PI*S1*C0ND(I))

OUT (6 , I) = (TEMP3+C0RR) / (PI*AA*1 . OD-4*C0ND (I)

)

14 CONTINUE

DO 16 I=1,NUM1

OUT(5,I)=1.0DO/OUT(5,I)

C OUT(4,I)=OUT(4,I)*PI/DLOG(2.0DO)

16 0UT(6,I)=0UT(6,I)*PI

WRITE (6,7777)

7777 FORMAT (IHl)

WRITE (6,100)

100 FORMAT (2X, 'FOUR-PROBE RESISTANCE CALCULATIONS USING THE')

WRITE (6,125) NMANY

125 FORMAT (2X, 'BERKOWITZ NMANY=',I7,' POINT INTEGRATOR ')

WRITE (6,150)

150 FORMAT (2X, 'STRUCTURE OVER UNIFORM LAYER (SUBRHO,SUBTH) ')

WRITE (6,155) IBBC

155 FORMAT (2X, ' ALL OVER (N0NE=1,C0N=2,INS=3) ' ,14,/)

WRITE (6,200)

200 FORMAT (4X, 'AA' ,7X, 'SEP ' ,7X, 'DELTH ' ,5X, 'SUBTH' ,8X, 'SUBRHO ')

WRITE (6,250) AA, SEP, DELTH, SUBT, SUBRHO

250 FORMAT (2X,F5.2,2X,F9.1,2X,F7.3,2(2X,1PE11.2))

WRITE (6,275)

275 FORMAT (/ , 2X ,' DEPTH (UM) '

, 6X ,' RHO ', 7X ,' FOUR-PRB ', 4X ,' DERIVATI ', 5X

1 , 'SHEET')

DO 300 I=1,NUM1

WRITE (6,350) 0UT(1,I) ,0UT(2,I) ,0UT(4,I) ,0UT(6,I) ,0UT(5,I)

350 FORMAT (1X,5(1PE11 .4,1X))

WRITE (11,800) OUT (1,1), OUT (4, I)

WRITE (12,800) OUT (1,1), OUT (6, I)

WRITE (13,800) OUT (1,1), OUT (5, I)

800 F0RMAT(1X,2(1PE11.3,1X))

300 CONTINUE

WRITE (11,900)

WRITE (12,950)

WRITE (13,975)

900 FORMAT (2X, 'RESULTS FOR DIFFERENCE FUNCTION USING BL NMANY=',I7,

1' INT')

950 FORMAT (2X, 'RESULTS FOR DERIVATIVE FUNCTION USING BL NMANY=',I7,

1' INT')

975 FORMAT (2X, 'CALCULATED SHEET RESISTANCE FROM LAMINAR MODEL')

STOP

END

C*****END OF MAIN PORTION OF PR0BE24 VERSION l .0**********************

124
APPENDIX H ~ PR0BE24 LISTING

DOUBLE PRECISION FUNCTION DBJO(X)

cC POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJO

C

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.1 IS USED FOR X < 3

C EQUATION 9.4.3 IS USED FOR X > 3

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F0,THETA

C DOUBLE PRECISION A1,A2, A3,A4, A5,A6, A7

C DOUBLE PRECISION B1,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA Al/1 .0000000D0/,A2/-2.2499997D0/,A3/1 .2656208D0/

DATA A4/-0.3163866D0/,A5/0.0444479D0/,A6/-0.0039444D0/

DATA A7/0.0002100D0/

DATA Bl/ . 79788456D0/ , B2/- . 00000077D0/ , B3/- . 00552740D0/

DATA B4/- . 00009512D0/ , B5/ . 00137237D0/ , B6/- . 00072805D0/

DATA B7/.00014476D0/

DATA CI /- . 78539816D0/ , C2/- . 04166397D0/ , C3/- . 00003954D0/

DATA C4 / . 00262573D0/ , C5/- . 00054125D0/ , C6/- . 00029333D0/

DATA C7/.00013558D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.0D0

DB J0= ( ( ( ( (A7*X2+A6) *X2+A5) *X2+A4) *X2+A3) *X2+A2) *X2+A1

RETURN

10 CONTINUE

X1=3.D0/X

F0=( ( ( ( (B7*X1+B6) *X1+B5) *X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) X1+C5) *X1+C4) *X1+C3) X1+C2) *X1+C1

DBJO=FO*DC0S (THETA) /DSQRT (X)

RETURN

END

C*****END OF DOUBLE PRECISION FUNCTION DBJO********************************

125
APPENDIX H — PR0BE24 LISTING

DOUBLE PRECISION FUNCTION DBJl(X)

c

C POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJl

C

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.4 IS USED FOR X < 3

C AND EQUATION 9.4.6 IS USED FOR X > 3

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F1,THETA

C DOUBLE PRECISION A1,A2,A3, A4,A5, A6, A7

C DOUBLE PRECISION B1,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA A1/0.500000D0/,A2/-.56249985D0/,A3/.21093573D0/

DATA A4/- . 03954289D0/ , A5/ . 00443319D0/ , A6/- . 00031761D0/

DATA A7/. 00001 109D0/

DATA B1/.79788456D0/,B2/.00000156D0/,B3/.01659667D0/

DATA B4/ . 00017105D0/ , B5/- . 00249511D0/ , B6/ . 00113653D0/

DATA B7/-.00020033D0/

DATA C1/-2 . 35619449D0/ , C2/ . 12499612D0/ , C3/ . 00005650D0/

DATA C4/-.00637879D0/,C5/.00074348D0/,C6/.00079824D0/

DATA C7/-.00029166D0/

IF (X.GT.3.0D0) GO TO 10

- X2=X*X/9.D0

DBJ1=X* ( ( ( ( ( (A7*X2+A6) *X2+A5) *X2+A4) *X2+A3) *X2+A2) *X2+A1)

RETURN

10 X1=3.0D0/X

Fl= ( ( ( ( (B7*X1+B6) *X1+B5) *X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) *X1+C1

DBJ1=F1 *DCOS (THETA) /DSQRT (X)

RETURN

END

C*****END OF DOUBLE PRECISION FUNCTION DBJl END OF PR0BE24 VERSION 1.0 

/

126
APPENDIX I — FOURCAL LISTING

C FOURCAL VERSION 1.0

C

C THIS PROGRAM CALCULATES THE FOLLOWING DEPTH-DEPENDENT QUANTITIES:

C 1) FOUR-PROBE RESISTANCE, Z(X,S),

C 2) THE DERIVATIVE OF THE TWO-PROBE (SPREADING) RESISTANCE WITH

C RESPECT TO THE LOGARITHM OF THE PROBE SPACING, D(X,S), AND

C 3) THE FOUR-PROBE SHEET RESISTANCE, SH(X).

C

C THE FOUR-PROBE RESISTANCE AND THE DERIVATIVE FUNCTION ARE CALCULATED

C FROM THE SCHUMANN AND GARDNER MULTILAYER SOLUTION OF LAPLACE'S

C EQUATION (SEE REFERENCES) WHILE THE FOUR-PROBE SHEET RESISTANCE IS

C CALCULATED FROM THE TRADITIONAL LAMINAR FLOW MODEL.

C

C THE INTEGRALS INVOLVED IN Z(X,S) AND D(X,S) ARE EVALUATED OVER THE

C INTERVAL FROM XL TO XU BY MEANS OF A TRAPEZOIDAL ROMBERG METHOD USED

C ORIGINALLY BY D'AVANZO ET AL. IN THEIR SPINT PROGRAM FOR CALCULATING

C THE ARRAY OF PARTIAL INTEGRALS.

C

C REFERENCES: THE TRAPEZOIDAL ROMBERG METHOD WAS USED BY D'AVANZO ET AL.

C FOR CALCULATING THE CORRECTION FACTOR INTEGRAL FOR THE

C PURPOSE OF SPREADING RESISTANCE PROFILE ANALYSIS. THIS

C IS DESCRIBED IN THE REPORT "SPREADING RESISTANCE FOR

C IMPURITY PROFILES" BY DONALD C. D'AVANZO, ROBERT D. RUNG,

C AND ROBERT W. DUTTON, TECHNICAL REPORT NO. 5013-2 (FEBRUARY

C 1977), STANFORD UNIVERSITY, STANFORD, CALIFORNIA. THIS IS

C ALSO DESCRIBED IN THE PAPER "HIGH SPEED IMPLEMENTATION AND

C EXPERIMENTAL EVALUATION OF MULTILAYER SPREADING RESISTANCE

C ANALYSIS" BY DONALD C. D'AVANZO, ROBERT D. RUNG, ARNON GAT,

C AND ROBERT W. DUTTON, JOURNAL OF THE ELECTROCHEMICAL SOCIETY,

C VOL. 125, PP. 1170-1176 (1978).

C

C THE CALCULATION OF THE SPREADING RESISTANCE FROM THE

C RESISTIVITY USING THE TRAPEZOIDAL ROMBERG MEHTOD IS DISCUSSED

C IN THE PAPER "COMPARISON OF SPREADING RESISTANCE CORRECTION

C FACTOR ALGORITHMS USING MODEL DATA" BY JOHN ALBERS,

C SOLID-STATE ELECTRONICS, VOL. 23, PP. 1197-1205 (1980).

C

C THE PRESENT CALCULATION IS DESCRIBE IN THE PAPER "THE

C RELATION BETWEEN TWO-PROBE AND FOUR-PROBE RESISTANCES ON

C NONUNIFORM STRUCTURES", BY JOHN ALBERS AND H. L. BERKOWITZ,

C JOURNAL OF THE ELECTROCHEMICAL SOCIETY, VOL. 131,

C PP. 392-398 (1984).

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

EXTERNAL FPINT

EXTERNAL DEINT

DIMENSION RHO(300), DEPTH(300), C0ND(3OO), ZEX(300), DEX(300)

DIMENSION SHEET (300), SHECON (300)

COMMON DELTH , AA , SEP , XL , XU, RHO , NUMl , ICUR , IBBC , SUBRHO , SUBTH

DATA PI/3.141592654D0/

127
APPENDIX I — FOURCAL LISTING

DESCRIPTION OF THE VARIABLES AND ARRAYS

C** **********i<(i|i***]<iiic)|(:ic)k*)|c*)|c*i|i)<c*«**)|e*:<i)K:<c)|t#]|c]|E:|c*)|c)|i)tci|c:» cc

c

c

cc

c

c

c

G

C

cc

c

c

c

ccc

ccc****

c

NPT

AA

SEP

DELTH

IBBC

SUBRHO

SUBTH

RHO

ICUR

10

NUMBER OF DATA POINTS

PROBE RADIUS (MICROMETERS)

SEPARATION BETWEEN THE PROBES (MICROMETERS)

DEPTH INCREMENT (MICROMETERS)

BACKSURFACE BOUNDARY CONDITION

(NONE = 1,C0ND = 2, INS = 3)

SUBSTRATE RESISTIVITY (OHM*CM)

SUBSTRATE THICKNESS (MICROMETERS)

ARRAY OF RESISTIVITY VALUES (OHM*CM)

CURRENT DENSITY

(SCHUMANN & GARDNER = 1, CHOO UNIFORM = 2, RING DELTA = 3)

XL = LOWER LIMIT OF INTEGRATION (USUALLY ZERO)

XU = UPPER LIMIT OF INTEGRATION (FROM 10 ON UP)

TO RUN THE PROGRAM FOR A STRUCTURE DIRECTLY ON A BACKSURFACE BOUNDARY,

TAKE THE LAST POINT IN THE STRUCTURE AS THE SUBSTRATE AND SET

SUBTH=DELTH AND SUBRHO=RHO (1)

.

READ THE TOTAL NUMBER OF POINTS OR SUBLAYERS IN STRUCTURE.

READ (5,*) NPT

NUM=NPT+1

READ THE EFFECTIVE ELECTRICAL PROBE RADIUS

READ (5,*) AA

READ THE SEPARATION BETWEEN THE PROBES

READ (5,*) SEP

READ THE DISTANCE BETWEEN POINTS OR THE SUBLAYER THICKNESS.

READ (5,*) DELTH

READ THE BOUNDARY CONDITION (N0NE=1,C0ND=2,INS=3)

READ (5,*) IBBC

READ THE SUBSTRATE RESISTIVITY

READ (5,*) SUBRHO

READ THE SUBSTRATE THICKNESS

READ (5,*) SUBTH

RESISTIVITY ARRAY READ FROM SURFACE TO SUBSTRATE.

DO 10 I=NUM,2,-1

READ (5,*) RHO (I)

COND(I)=1.0DO/RHO(I)

CONTINUE

READ THE FORM OF THE CURRENT DENSITY

READ (5,*) ICUR

READ THE LOWER LIMIT OF INTEGRATION

READ (5,*) XL

READ THE UPPER LIMIT OF INTEGRATION

READ (5,*) XU

RH0(1)=SUBRH0

COND(1)=1.0DO/SUBRHO

128
APPENDIX I ~ FOURCAL LISTING

Qjtii^* *******************************************

cC THE 1200 DO LOOP IS THE MAJOR LOOP WHICH CALCULATES THE VARIOUS

C INTEGRALS (OVER THE INTERVAL FROM XL TO XU) FROM THE SUBSTRATE

C (NUM1=NUM) TO THE SURFACE (NUM1=1) BY INCREMENTING NUMl BY -1.

C THE RELEVANT INFORMATION IS PASSED THROUGH AND CONTAINED IN THE

C COMMON STATEMENT IN THE MAIN PROGRAM AND THE SUBROUTINES.

C IFLAG IS SET EQUAL TO ZERO AS XL IS USUALLY ZERO AND THE INTEGRAND

C IS ZERO AT XL=0. HOWEVER, THE CURRENT DENSITY FUNCTIONS MAY GIVE

C ARTIFICIAL SINGULARITIES AT THE ORIGIN. FOR EXAMPLE, THE SCHUMANN

C AND GRADNER CURRENT DENSITY FUNCTION, SIN(X)/X, GOES TO ZERO AS X

C GOES TO ZERO BUT THE COMPUTER WOULD SIGNAL AN OVERFLOW DUE TO THE

C 1/X. THIS IS REMOVED BY THE SETTING OF IFLAG=0.

C

Q********** ******* ****** ************************************************

DO 1200 NUM1=1,NUM

IFLAG=0

CALL INTGRL (FPINT, XL, XU,ZEX (NUMl) , IFLAG)

ZEX (NUMl) =ZEX (NUMl) RHO (NUMl) / (PI*AA*1 . OD-4)

CALL INTGRL(DEINT,XL,XU,DEX(NUM1) , IFLAG)

DEX (NUMl) =DEX (NUMl) *RHO (NUMl) / (AA*1 . OD-4)

DEPTH (NUMl) =DELTH* (NUM-NUMl)

1200 CONTINUE

SHEET (1) =COND (1) *SUBTH*1 . OD-4

SHEET (1)=1.0D0/SHEET(1)

DO 1300 NUM1=2,NUM

SHEET (NUMl) =1 . ODO/SHEET (NUMl-1) +COND (NUMl) *DELTH*1 . OD-4

SHEET (NUMl) =1 . ODO/SHEET (NUMl)

1300 CONTINUE

WRITE (6,7777)

7777 FORMAT (IHl)

GO TO (1400, 1420, 1440), ICUR

1400 WRITE (6, 1410)

1410 FORMAT (2X, 'SCHUMANN AND GARDNER CURRENT DENSITY=SIN(AX)/X')

GO TO 1453

1420 WRITE (6, 1430)

1430 FORMAT (2X, 'CHOO UNIFORM CURRENT DENSITY=2*DBJ1 (AX)/X')

GO TO 1453

1440 WRITE (6,1450)

1450 FORMAT (2X, 'RING CURRENT DENSITY=A*DBJO(AX) ')

1453 GO TO (1455,1465,1475), IBBC

1455 WRITE (6,1460)

1460 FORMAT (2X, 'NO BOUNDARY CONDITION USED IN CALCULATION',/)

GO TO 1500

1465 WRITE (6,1470)

1470 FORMAT (2X, 'PERFECTLY CONDUCTING BOUNDARY A1=TANH (LD) ' , /)

GO TO 1500

1475 WRITE (6,1480)

1480 FORMAT (2X, 'PERFECTLY INSULATING BOUNDARY A1=C0TH(LD) ' ,/)
APPENDIX I — FOURCAL LISTING

1500 WRITE (6,1550) XL,XU

1550 FORMAT (2X/XL=',F11. 6, XU=',F11.6)

WRITE (6,1700) AA,SEP,DELTH

1700 FORMAT (2X, 'RADIUS=',F1 1.6, SEP=' , Fll . 6, ^ DELTH=' ,F11 .6)

WRITE (6,2250) SUBRHO,SUBTH

2250 FORMAT (2X, 'SUBRH0=',1PE1 1.5, SUBTHICK=' , IPEll .5)

WRITE (6,2300)

2300 FORMAT (2X ,

' DEPTH (U) '

, 8X ,' RHO ' , 5X ,' FOUR-PROBE '

, 6X , ' DERIV ', 8X

,

1 'SHEET')

WRITE (11,*)NUM

WRITE(12,*)NUM

WRITE(13,*)NUM

DO 2500 I=NUM,1,-1

WRITE (6 , 2400) DEPTH (I) , RHO (I) , ZEX (I) , DEX (I) , SHEET (I)

2400 F0RMAT(1X,5(1PE11.3,1X))

WRITE (11,2405) DEPTH (I) , ZEX (I)

WRITE (12,2405) DEPTH (I) , DEX (I)

WRITE (13,2405) DEPTH (I) , SHEET (I)

2405 F0RMAT(1X,2(1PE11.3,1X))

2500 CONTINUE

WRITE (11,1550) XL,XU

WRITE (11,1700) AA,SEP,DELTH

WRITE (11,2250) SUBRHO,SUBTH

WRITE (12,1550) XL,XU

WRITE (12,1700) AA,SEP,DELTH

WRITE (12,2250) SUBRHO,SUBTH

STOP

END

C*****END OF MAIN PORTION OF FOURCAL VERSION 1.0 PROGRAM**********

130
APPENDIX I — FOURCAL LISTING

SUBROUTINE INTGRL (F , A , B , ATEMP , IFLAG)

c

C D'AVANZO'S ET AL. TRAPEZOIDAL ROMBERG INTEGRATION SUBROUTINE.

C THIS ROUTINE NUMERICALLY INTEGRATES F BETWEEN THE LIMITS A AND B

C USING THE TRAPEZOIDAL AND ROMBERG METHODS AND RETURNS THE INTEGRAL

C FROM A TO B IN ATEMP AND ACCUMULATES THE RESULTS OF SEVERAL

C SUCCESSIVE CALLS IN ACC.

C IF IFLAG=0 THEN F(0) IS SET TO 0 (THIS OBVIATES OVERFLOW PROBLEMS

C DUE TO FUNCTIONS LIKE SIN(X)/X

C **********************************************

EXTERNAL F

DOUBLE PRECISION AI(30,30) ,MI,A,B,H,ACC,ATEMP,FO,F,C0NV

C CALCULATE THE TRAPEZOIDAL APPROXIMATION TO THE AREA

CONV=5.0D-5

J=30

M=l

K=l

C SET F(0)=0

F0=0 . DO

IF ((A.NE.O.DO) .OR. (IFLAG.EQ.l)) FO=F(A)

AI (M , K) = . 5D0* (B-A) (FO+F (B)

)

DO 30 1=1,

J

MI=O.ODO

H=(B-A)/(2.0D0**(M-1))

LPCNT=2**(M-1)

DO 10 N=1,LPCNT

MI=MI+F(A+(N*H-.5D0*H))

10 CONTINUE

MI=MI*H

AI (M+1 , K) = . 5D0* (AI (M , K) +MI)

C INCREASE THE ACCURACY OF THE TRAPEZOIDAL APPROXIMATIONS

C BY USING THE ROMBERG METHOD

MPONE = M+1

DO 20 K=l, MPONE

AI (M+1 , K+1) = ( (4 . ODO* *K) *AI (M+1 , K) -AI (M , K) ) /

(4 . 0D0**K-1 . DO)

20 CONTINUE

ATEMP=AI(M+1,M+1)

IF (I.LE.6) GO TO 60

C STOP INTEGRATING WHEN INTEGRAL CONVERGES TO WITHIN .005%

C NOTE-CONVERGENCE CRITERION IS ON NEXT PROGRAM LINE

IF (DABS (ATEMP-AI(M,M)) /DABS (ATEMP). GT.CONV) GO TO 60

53 ACC=ACC+ATEMP

RETURN

60 M=M+1

K=l

30 CONTINUE

RETURN

END

C*****END OF SUBROUTINE INTGRL*********************************************

131
APPENDIX I — FOURCAL LISTING

DOUBLE PRECISION FUNCTION FPINT(X)

C*****3ft)fi)ft)tt***)f'****9fc*lfE********)|t)fC*)it]fC*)|C)|t)fC)|C)|Cl|E)|c]fc*)K:<C)tC)tC9^ c

C FPINT IS THE INTEGRAND OF THE INTEGRAL INVOLVED IN THE FOUR-PROBE

C RESISTANCE. THE EXPRESSION MAY BE DERIVED FROM THE SCHUMANN AND

C GARDNER SOLUTION OF THE MULTILAYER LAPLACE EQUATION.

C THE IS AN OPTION OF SEVERAL FORMS OF THE PROBE CURRENT DENSITY:

C 100-THE SCHUMANN AND GARDNER (INFINITE SLAB) CURRENT DENSITY

C 200-THE CHOO ET AL. UNIFORM CURRENT DENSITY

C 300-THE RING DELTA FUNCTION CURRENT DENSITY

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RHO(300)

COMMON DELTH,AA,SEP,XL,XU,RH0,NUM1,ICUR,IBBC,SUBRH0,SUBTH

PRTPR=DBJO (SEP*X) -DBJO (SEP*X*2 . DO)

GO TO (100,200,300),ICUR

100 FPINT=ALAM(X)*PRTPR*DSIN(X*AA)/X

RETURN

200 FPINT=ALAM(X)*PRTPR*2.D0*DBJ1(AA*X)/X

RETURN

300 FPINT=ALAM (X) *PRTPR*AA*DBJO (AA*X)

RETURN

END

C*****END OF DOUBLE PRECISION FUNCTION FPINT*******************************

DOUBLE PRECISION FUNCTION DEINT(X)

C**************************************************************************

c

C DEINT IS THE INTEGRAND OF THE INTEGRAL INVOLVED IN THE DERIVATIVE

C OF THE TWO -PROBE (SPREADING) RESISTANCE WITH RESPECT TO THE NATURAL

C LOGARITHM OF THE PROBE SPACING, D(X,S) = d R(X,S)/ d InS.

C THE EXPRESSION MAY BE DERIVED FROM THE SCHUMANN AND GARDNER SOLUTION

C OF THE MULTILAYER LAPLACE EQUATION.

C THERE IS AN OPTION OF SEVERAL FORMS OF THE PROBE CURRENT DENSITY:

C 100-THE SCHUMANN AND GARDNER (INFINITE SLAB) CURRENT DENSITY

C 200-THE CHOO ET AL. UNIFORM CURRENT DENSITY

C 300-THE RING DELTA FUNCTION CURRENT DENSITY

C

C**************************************************************************

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RH0(3OO)

COMMON DELTH,AA,SEP,XL,XU,RH0,NUM1,ICUR,IBBC,SUBRH0,SUBTH

PRTPR=X*SEP*DBJ1 (SEP*X)

GO TO (100,200,300) ,ICUR

100 DEINT=ALAM (X) *PRTPR*DSIN (X*AA) /X

RETURN

200 DEINT=ALAM(X)*PRTPR*2.D0*DBJ1(AA*X)/X

RETURN

300 DEINT=ALAM (X) *PRTPR*AA*DBJO (AA*X)

RETURN

END

C*****END OF DOUBLE PRECISION FUNCTION DEINT*******************************

132
APPENDIX I — FOURCAL LISTING

DOUBLE PRECISION FUNCTION ALAM(X)

C

C THIS FUNCTION CALCULATES THE VALUE OF THE RESISTIVITY DEPENDENT

C PORTION OF THE VARIOUS INTEGRALS USING THE RECURSION RELATION OF

C CHOO ET AL. AND EXTENDED BY BERKOWITZ AND LUX.

C

C REFERENCES: "ON THE CALCULATION OF SPREADING RESISTANCE CORRECTION

C FACTORS" BY S. C. CHOO, M. S. LEONG AND K. L. KUAN,

C SOLID-STATE ELECTRONICS, VOL. 19, PP. 561-565 (1976).

C

C "AN EFFICIENT INTEGRATION TECHNIQUE FOR USE IN THE

C MULTILAYER ANALYSIS OF SPREADING RESISTANCE PROFILES"

C BY H. L. BERKOWITZ AND R. A. LUX, JOURNAL OF THE

C ELECTROCHEMICAL SOCIETY, VOL. 128, PP. 1137-1141 (1981).

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

DIMENSION RH0(3OO)

COMMON DELTH , AA , SEP , XL, XU, RHO , NUMl , ICUR , IBBC , SUBRHO , SUBTH

DTXSB=DTANH (X*SUBTH)

DTXDL=DTANH(X* DELTH)

ALAM=1.0D0

IF (IBBC.EQ.2) ALAM=ALAM*DTXSB

IF (IBBC.EQ.3) ALAM=ALAM/DTXSB

IF (NUMl.EQ.l) GO TO 110

DO 100 1=2, NUMl

ALAM= (DTXDL*RHO (I) +RHO (I-l) kALAM) / (RHO (I) +RHO (I-l) *ALAM*DTXDL)

100 CONTINUE

110 RETURN

END

C*****DOUBLE PRECISION FUNCTION ALAM***************************************

133
APPENDIX I ~ FOURCAL LISTING

DOUBLE PRECISION FUNCTION DBJO(X)

C

C POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJO

C

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.1 IS USED FOR X < 3

C AND EQUATION 9.4.3 IS USED FOR X > 3

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F0,THETA

C DOUBLE PRECISION A1,A2, A3,A4,A5, A6,A7

C DOUBLE PRECISION B1,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA A1/1.0000000D0/,A2/-2.2499997D0/,A3/1.2656208D0/

DATA A4/-0 . 3163866D0/ , A5/0 . 0444479D0/ , A6/-0 . 0039444D0/

DATA A7/0.0002100D0/

DATA Bl/ . 79788456D0/ , B2/- . 00000077D0/ , B3/- . 00552740D0/

DATA B4/-.00009512D0/,B5/.00137237D0/,B6/-.00072805D0/

DATA B7/.00014476D0/

DATA CI/- . 78539816D0/ , C2/- . 04166397D0/ , C3/- . 00003954D0/

DATA C4/ . 00262573D0/ , C5/- . 00054125D0/ , C6/- . 00029333D0/

DATA C7/.00013558D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9.0D0

DBJ0= ( ( ( ( (A7*X2+A6) *X2+A5) *X2+A4) *X2+A3) *X2+A2) *X2+A1

RETURN

10 CONTINUE

X1=3.D0/X

F0= ( ( ( ( (B7*X1+B6) *X1+B5) X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) *X1+C1

DBJO=FO*DC0S (THETA) /DSQRT (X)

RETURN

END

C*****DOUBLE PRECISION FUNCTION DBJO***************************************

134
APPENDIX I — FOURCAL LISTING

DOUBLE PRECISION FUNCTION DBJl(X)

cC POLYNOMIAL APPROXIMATION TO THE BESSEL FUNCTION BJl

C

C REFERENCE: "HANDBOOK OF MATHEMATICAL FUNCTIONS", EDITED BY ABRAMOWITZ

C AND STEGUN, NATIONAL BUREAU OF STANDARDS APPLIED

C MATHEMATICS SERIES 55. EQUATION 9.4.4 IS USED FOR X < 3

C AND EQUATION 9.4.6 IS USED FOR X > 3

C

IMPLICIT DOUBLE PRECISION (A-H,0-Z)

C DOUBLE PRECISION X,X1,X2,F1,THETA

C DOUBLE PRECISION Al, A2, A3, A4, A5,A6, A7

C DOUBLE PRECISION B1,B2,B3,B4,B5,B6,B7

C DOUBLE PRECISION C1,C2,C3,C4,C5,C6,C7

DATA Al /O . 500000D0/ , A2/- . 56249985D0/ , A3/ . 21093573D0/

DATA A4/- . 03954289D0/ , A5/ . 00443319D0/ , A6/- . 00031761D0/

DATA A7/.00001109D0/

DATA B1/.79788456D0/,B2/.00000156D0/,B3/.01659667D0/

DATA B4/ . 00017105D0/ , B5/- . 00249511D0/ , B6/ . 00113653D0/

DATA B7/-.00020033D0/

DATA C1/-2 . 35619449D0/ , C2/ . 12499612D0/ , C3/ . 00005650D0/

DATA C4/- . 00637879D0/ , C5/ . 00074348D0/ , C6/ . 00079824D0/

DATA C7/-.00029166D0/

IF (X.GT.3.0D0) GO TO 10

X2=X*X/9 .DO

DB J1=X* ( ( ( ( ( (A7*X2+A6) *X2+A5) *X2+A4) *X2+A3) *X2+A2) *X2+A1)

RETURN

10 X1=3.0D0/X

Fl= ( ( ( ( (B7+X1+B6) *X1+B5) *X1+B4) *X1+B3) *X1+B2) *X1+B1

THETA=X+ ( ( ( ( (C7*X1+C6) *X1+C5) *X1+C4) *X1+C3) *X1+C2) *X1+C1

DBJ1=F1*DC0S (THETA) /DSQRT(X)

RETURN

END

C*****END OF DOUBLE PRECISION FUNCTION DBJl & END OF FOURCAL VERSION 1.0****

135
APPENDIX J — SHAZAM LISTING

C SHAZAM VERSION 1.0

C

C THIS PROGRAM CALCULATES THE FOUR-PROBE RESISTANCE (FOR IN-LINE

C CONFIGURATION) FROM THE RESISTIVITY BY USING THE

C 1/2S AND 1/S LIMITS IN THE SIMPLIFIED INTEGRAL DISCUSSED BY ALBERS

C AND BERKOWITZ. ALSO CALCULATED IS THE BEST EDUCATED GUESS AS TO THE

C APPROXIMATE FORM FOR THE LN(S) SLOPE.

C

C REFERENCE: "AN ALTERNATIVE APPROACH TO THE CALCULATION OF FOUR-PROBE

C RESISTANCES ON NONUNIFORM STRUCTURES",

C BY JOHN ALBERS AND H. L. BERKOWITZ, JOURNAL OF THE

C ELECTROCHEMICAL SOCIETY, VOL. 132, PP. 2453-2456, (1985).

C

DIMENSION RHO (500) , DEPTH (500) , ZAP (500) , DAP (500)

DIMENSION A (2 , 9) , C (9) , W (9) , T (9)

REAL L(9) ^

* ****** ***********************************

C THE NINE NEWn'ON-COTES COEFFICIENTS ARE ENTERED IN THE

C FOLLOWING DATA STATEMENT

C

C* *************************************************************************

DATA C (1) /O . 0348854/ , C (2) /O . 20769/ , C (3) /-O . 0327337/

DATA C (4) /0 . 370229/ , C (5) /-0 . 160141/ , PI/3 . 14159265/

C(6)=C(4)

' C(7)=C(3)

C(8)=C(2)

C(9)=C(1)

C**************************************************************************

C

C BEGINNING OF INPUT SECTION: DEFINITION OF SYSBOLS

C

C N = NUMBER OF RESISTIVITY, SHEET RESISTANCE VALUES

C SEP = PROBE SEPARATION (MICROMETERS)

C DELTH = SUBLAYER THICKNESS (MICROMETERS)

C IBBC = BOUNDARY CONDITION (NONE = 0; CONDUCTING = 1; INSULATING = 2)

C SUBRHO = SUBSTRATE RESISTIVITY (OHM*CM)

C SUBT = SUBSTRATE THICKNESS (MICROMETERS)

C RHO (I) = I-TH RESISTIVITY RELATIVE TO THE SURFACE

C

C****************************************'!!****************)!'**))!*))'*****)!'*****

136
APPENDIX J — SHAZAM LISTING

C READ THE PROBE SEPARATION (MICROMETERS)

READ (9,*) SEP

C READ THE DEPTH INCREMENT (MICROMETERS)

READ(9,*)DELTH

C READ THE NUMBER OF POINTS IN THE STRUCTURE (EXCLUDING SUBSTRATE POINT)

READ(9,*)N

C READ THE SUBSTRATE RESISTIVITY (OHM*CM)

READ(9,*)SUBRH0

C READ THE SUBSTRATE THICKNESS (MICROMETERS)

READ(9,*)SUBT

C READ THE BACKSURFACE BOUNDARY CONDITION (N0NE=1, C0ND=2, INS=3)

READ(9,*)IBBC

C READ THE SUBSTRATE RESISTIVITIES (OHM*CM)

DO 70 1=1,

N

READ(9,*)RH0(I)

70 CONTINUE

WRITE (6, 7777)

7777 FORMAT (IHl)

WRITE (6, 80)

80 FORMAT (2X, 'FOUR-PROBE RESISTANCE CALCULATED BY SIMPLIFIED

1 INTEGRAL')

WRITE (6, 81)

81 FORMAT (2X, 'ALSO CALCULATED IS THE EDUCATED GUESS OF THE

1 LN(S) FORM')

GO TO (90, 100, 110) IBBC

90 WRITE (6 , 95) SUBT+N*DELTH , N*DELTH

95 FORMAT (2X , ' NO BOUNDARY AT '

, FIO . 3

,

' UM . SUBSTRATE AT ', F8 . 3

,

' UM '

)

GO TO 120

100 WRITE (6 , 105) SUBT+N*DELTH , N*DELTH

105 FORMAT (2X ,' CONDUCTING BOUNDARY AT '

, FIO . 3

,

' UM . SUBSTRATE AT '

,

1 F8.3,' UM')

GO TO 120

110 WRITE(6,115)SUBT+N*DELTH,N*DELTH

115 FORMAT (2X, 'INSULATING BOUNDARY AT', FIO. 3,' UM. SUBSTRATE AT',

1 F8.3,' UM')

120 WRITE (6 , 130) SEP , DELTH , SUBT, SUBRHO

130 FORMAT (2X, 'SEP=' ,F6.0,2X, 'DELTH=' ,F7.3,2X, 'SUBTH=' ,1PE9.3,2X,

1 'SUBRH0=',1PE9.3,/)

DO 140 1=1, N+1

DEPTH(I)=DELTH*(I-1)

140 CONTINUE

Q=1.0/(2.0*SEP)

DO 150 1=1,9

L(I)=Q*2.0**((I-1.0)/8.0)

150 CONTINUE

DO 160 1=1,9

W(I)=L(I)*C(I)

160 CONTINUE

WRITE(6,170)L(1),L(9)

170 FORMAT (2X, 'LOWER LIMIT= ' ,F10.8,2X, 'UPPER LIMIT= ',F10.8)

DO 180 1=1,9

R1=L(I)*DELTH

T(I)=TANH(R1)

180 CONTINUE

137
APPENDIX J — SHAZAM LISTING

Q^i:tfL^L:ii^ilii^iitfilf^i^L**:tf *************************

cC CALCULATION FOR THE SUBSTRATE POINT

C

DO 190 1=1,9

R1=L(I)*SUBT

A(1,I)=1.0

A(2,I)=1.0

IF(IBBC.EQ.2) A(1,I)=TANH(R1)

IF(IBBC.EQ.3) A(1,I)=1.0/TANH(R1)

190 CONTINUE

RH0(N+1)=SUBRH0

' R2=0.0

R3=1.0

WW=SUBT/SUBRHO

DO 200 1=1,9

R2=R2+W(I)*A(1,I)

200 CONTINUE

ZAP (N+1) =R2*AL0G (2 . 0) *RHO (N+1) /PI

DAP(N+1)=L(9) *A(1,9)

R5=SUBT

C

C CALCULATION FOR THE N-LAYER STRUCTURE

C

DO 500 K=N,1,-1

R4=0.0

R3=RH0(K+1)/RH0(K)

DO 250 1=1,9

A (2 , 1) = (R3*A (1 , 1) +T (I) ) / (1 . 0+T (I) * A (1 , 1) *R3)

250 CONTINUE

R2=0.0

DO 275 1=1,9

R2=R2+W(I)*A(2,I)

275 CONTINUE

DO 300 II=N,K,-1

R4=R4+1.0/RHO(II)

300 CONTINUE

ZAP (K) =R2*AL0G (2 . 0) RHO (K) /PI

DAP(K)=L(9)*A(2,9)

DO 350 1=1,9

A(1,I)=A(2,I)

350 CONTINUE

500 CONTINUE

138
APPENDIX J — SHAZAM LISTING

Q*^f ********************** ******************

cC END OF CALCULATIONS AND BEGINNING OF OUTPUT SECTION

C

WRITE (6, 550)

550 FORMAT (/ , 3X ,' DEPTH ', 6X ,' RHO ', 6X ,

' FOUR-PROBE ', 4X , * DERIVAT ' , /)

WRITE (11, *)N+1

WRITE(12,*)N+1

DO 600 1=1, N+1

WRITE (6 , 650) DEPTH (I) , RHO (I) , le4*ZAP (I) , DAP (I)

650 F0RMAT(F8.3,3(2X,1PE12.4))

WRITE (1 1 , 700) DEPTH (I) , ZAP (I)

WRITE(12,700)DEPTH(I) ,DAP(I)

700 F0RMAT(1X,2(1PE11.3,1X))

600 CONTINUE

STOP

END

C*****END OF SHAZAM VERSION 1.0 PROGRAM***********************************

-tr US GOVERNMENT PRINTING OFFICE: 1993 - 31+1-8 3 2 / 8 3 01+5

139



11 A, kJ M. Technical Publications

Periodical

Journal of Research of the National Institute of Standards and Technology — Reports NIST

research and development in those disciplines of the physical and engineering sciences in which

the Institute is active. These include physics, chemistry, engineering, mathematics, and computer

sciences. Papers cover a broad range of subjects, with major emphasis on measurement

methodology and the basic technology underlying standardization. Also included from time to time

are survey articles on topics closely related to the Institute's technical and scientific programs.

Issued six times a year.

Nonperiodicals

Monographs — Major contributions to the technical literature on various subjects related to the

Institute's scientific and technical activities. Handbooks — Recommended codes of engineering and industrial practice (including safety codes)

developed in cooperation with interested industries, professional organizations, and regulatory

bodies.

Special Publications — Include proceedings of conferences sponsored by NIST, NIST annual

reports, and other special publications appropriate to this grouping such as wall charts, pocket

cards, and bibliographies.

Applied Mathematics Series — Mathematical tables, manuals, and studies of special interest to

physicists, engineers, chemists, biologists, mathematicians, computer programmers, and others

engaged in scientific and technical work.

National Standard Reference Data Series — Provides quantitative data on the physical and chemical

properties of materials, compiled from the world's literature and critically evaluated. Developed

under a worldwide program coordinated by NIST under the authority of the National Standard

Data Act (Public Law 90-396). NOTE: The Journal of Physical and Chemical Reference Data

(JPCRD) is published bimonthly for NIST by the American Chemical Society (ACS) and the

American Institute of Physics (AIP). Subscriptions, reprints, and supplements are available from

ACS, 1155 Sixteenth St., NW, Washington, DC 20056.

Building Science Series — Disseminates technical information developed at the Institute on building

materials, components, systems, and whole structures. The series presents research results, test methods, and performance criteria related to the structural and environmental functions and the

durability and safety characteristics of building elements and systems.

Technical Notes — Studies or reports which are complete in themselves but restrictive in their treatment of a subject. Analogous to monographs but not so comprehensive in scope or definitive

in treatment of the subject area. Often serve as a vehicle for final reports of work performed at NIST under the sponsorship of other government agencies.

Voluntary Product Standards — Developed under procedures published by the Department of

Commerce in Part 10, Title 15, of the Code of Federal Regulations. The standards establish

nationally recognized requirements for products, and provide all concerned interests with a basis

for common understanding of the characteristics of the products. NIST administers this program

in support of the efforts of private-sector standardizing organizations.

Consumer Information Series — Practical information, based on NIST research and experience,

covering areas of interest to the consumer. Easily understandable language and illustrations provide useful background knowledge for shopping in today's technological marketplace.

Order the above NIST publications from: Superintendent of Documents, Government Printing Office,

Washington, DC 20402.

Order the following NIST publications— FIPS and NISTIRs-from the National Technical Information

Service, Springfield, VA 22161.

Federal Information Processing Standards Publications (FIPS PUB) -Publications in this series

collectively constitute the Federal Information Processing Standards Register. The Register serves

as the official source of information in the Federal Government regarding standards issued by

NIST pursuant to the Federal Property and Administrative Services Act of 1949 as amended.

Public Law 89-306 (79 Stat. 1127), and as implemented by Executive Order 11717 (38 FR 12315,

dated May 11, 1973) and Part 6 of Title 15 CFR (Code of Federal Regulations).

NIST Interagency Reports (NISTIR)-A special series of interim or final reports on work

performed by NIST for outside sponsors (both government and non-government). In general,

initial distribution is handled by the sponsor; public distribution is by the National Technical

Information Service, Springfield, VA 22161, in paper copy or microfiche form.
o

c

uuH

o

e 1

s -S ® s