modeling 0.18 m bicmos (s18) high sheet resistance (rph

71
Modeling 0.18μm BiCMOS (S18) High Sheet Resistance (RPH) Polysilicon Resistor Lifetime Drift by Anartya Mandal S.B., Massachusetts Institute of Technology (2013) Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Degree of Master of Engineering in Electrical Engineering and Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2014 Copyright 2014 Anartya Mandal. All rights reserved. The author hereby grants to M.I.T. permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole and in part in any medium now known or hereafter created. Author .............................................................. Department of Electrical Engineering and Computer Science May 18, 2014 Certified by .......................................................... Jesus del Alamo Professor of Electrical Engineering Thesis Supervisor Certified by .......................................................... Craig Easson Executive Director of IC Design at Maxim Integrated Thesis Supervisor Accepted by ......................................................... Prof. Albert R. Meyer Chairman, Masters of Engineering Thesis Committee

Upload: others

Post on 29-Oct-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Modeling 0.18µm BiCMOS (S18) High Sheet

Resistance (RPH) Polysilicon Resistor Lifetime

Driftby

Anartya MandalS.B., Massachusetts Institute of Technology (2013)

Submitted to the Department of Electrical Engineering and ComputerScience

in partial fulfillment of the requirements for the degree ofDegree of Master of Engineering in Electrical Engineering and

Computer Scienceat the

MASSACHUSETTS INSTITUTE OF TECHNOLOGYJune 2014

Copyright 2014 Anartya Mandal. All rights reserved.The author hereby grants to M.I.T. permission to reproduce and to

distribute publicly paper and electronic copies of this thesis documentin whole and in part in any medium now known or hereafter created.

Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Department of Electrical Engineering and Computer Science

May 18, 2014

Certified by. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Jesus del Alamo

Professor of Electrical EngineeringThesis Supervisor

Certified by. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Craig Easson

Executive Director of IC Design at Maxim IntegratedThesis Supervisor

Accepted by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Prof. Albert R. Meyer

Chairman, Masters of Engineering Thesis Committee

Page 2: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

2

Page 3: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Modeling 0.18µm BiCMOS (S18) High Sheet Resistance

(RPH) Polysilicon Resistor Lifetime Drift

by

Anartya Mandal

Submitted to the Department of Electrical Engineering and Computer Scienceon May 18, 2014, in partial fulfillment of the

requirements for the degree ofDegree of Master of Engineering in Electrical Engineering and Computer Science

Abstract

A highly accelerated lifetime test (HALT), is a stress testing methodology for ac-celerating product reliability that is universally conducted during the engineeringdevelopment process. In conducting a HALT for circuit components, a burn-in pro-cedure is executed, where the circuit/device is heated to a high temperature for anumber of days until finally cooled back to room temperature in order for voltage,current or parameter variations to be compared. When such changes to voltage, cur-rent, or parameters are permanent, no amount of further burn-ins, cool downs ortemperature cycling can return the parameter of interest back to its original value itheld prior to the burn-in. This is called lifetime-drift and is a problem that circuitsimulators do not model. The inability to simulate life-time drift leads to productiondelays, increasing costs and decreased reliability. In this thesis, I investigated thephysics, created a circuit simulation model and implemented an easy-to-use utilityfor detecting and measuring lifetime drift in 0.18m BiCMOS high sheet resistance(RPH) polysilicon resistors. The circuit model was made using Cadence-Spectre andVerilog-A. The lifetime drift utility was written using Ocean scripting language.

Thesis Supervisor: Jesus del AlamoTitle: Professor of Electrical Engineering

Thesis Supervisor: Craig EassonTitle: Executive Director of IC Design at Maxim Integrated

3

Page 4: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

4

Page 5: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Acknowledgments

I would like to thank Craig Easson, my supervisor, for guidance and patience; Kejun

Xia and William Liu, co-workers, whose expert knowledge in the field helped me learn

as quickly as I could. Cheng-Wei Pei and Min Park for their support as alumni of

VI-A. And lastly my parents, for their love.

5

Page 6: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

6

Page 7: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Contents

1 Introduction 9

1.1 High Accelerated Life Test (HALT) . . . . . . . . . . . . . . . . . . . 9

1.2 Cadence Virtuoso Spectre Circuit Simulator . . . . . . . . . . . . . . 11

1.3 Thin-Film and Polysilicon Resistors . . . . . . . . . . . . . . . . . . . 12

2 Measuring Lifetime Drift in RPH Polysilicon Resistors 13

2.1 RPH Resistor Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3 Experimental Measurements . . . . . . . . . . . . . . . . . . . . . . . 15

3 Device Physics of RPH Polysilcon Resistors 17

3.1 Basic RPH Resistor Model . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Physics of Lifetime Drift . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Modeling Lifetime Drift . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Modeling 2nd-Order Effects . . . . . . . . . . . . . . . . . . . . . . . 25

3.5 Complete RPH Resistor Model . . . . . . . . . . . . . . . . . . . . . 26

4 Simulating RPH Resistor Lifetime Drift in Cadence 29

4.1 Previous RPH Resistor Modeling Scheme . . . . . . . . . . . . . . . . 29

4.2 Simulations of RPH Resistor Lifetime Drift . . . . . . . . . . . . . . . 30

4.3 Simulation of RPH Resistor Lifetime Drift in Non-inverting Opera-

tional Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4 Impact of Simulating RPH Resistor Lifetime Drift . . . . . . . . . . . 35

7

Page 8: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

5 Design of GUI Utility For Quick Integration in Design Phase 37

5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2 Graphical User Interface Design . . . . . . . . . . . . . . . . . . . . . 38

5.3 Graphical User Interface Functionality . . . . . . . . . . . . . . . . . 40

6 Concluding Remarks 41

6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

A Spectre Model File Code for RPH Resistor 43

B Verilog-A Code Modeling Lifetime Drift in RPH Resistor 61

C Skill GUI Code 65

D Bibliography 71

8

Page 9: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Chapter 1

Introduction

In this thesis, we experimentally measure, evaluate device physics, simulate in a

circuit environment and create a graphical user interface for modeling lifetime drift

in polysilicon resistors.

In Chapters 1, we describe what is lifetime drift under the context of high accel-

erated lifetime tests and why they are so important.

In Chapters 2, we describe how to experimentally measure lifetime-drift.

In Chapters 3-4, we create a mathematical model for lifetime drift by understand-

ing the device physics and simulate it in a Cadence’s circuit simulating environment.

In Chapter 5, we design a designer-friendly graphical user interface that will allow

easy integration and simulation of lifetime drift.

1.1 High Accelerated Life Test (HALT)

A highly accelerated life test (HALT), is a stress testing methodology for accelerating

product reliability during the engineering development process. It is commonly ap-

plied to electronic components and is performed to identify, understand, and resolve

design, process, and layout defects in newly-developed equipment in order to validate

reliability.

The methodology greatly reduces the probability of in-service failures and thus

increases the product’s reliability, while decreasing both monetary costs and design

9

Page 10: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

time. Using this method, weaknesses can be identified using a small number of

samples in the shortest possible time, with the least expense. A second function of

HALT testing is the characterization of the equipment undergoing testing; that is,

the identification of the equipment’s safe ”operating limits” and ”design margins”[7].

Several standards and test methods are available for a HALT test. Different

stresses are applied with different failures occurring during each. The types of stress

typically employed are: cold step, hot step, rapid temperature cycling, stepped repet-

itive shock, and combined environment stress (temperature cycling with repetitive

shock plus power switching and power margining).

The results of HALT on a finished product provide an estimate of its long-term

reliability. When HALT testing is applied during the design process, it can produce

a very robust product without undue cost. Individual components such as resistors,

capacitors, and diodes, printed circuit boards, and whole electronic products such as

cell phones, PDAs, and televisions, eventually fail at different rates under different

end-user stress levels. Therefore, failure rate data used to select any device in a

product must correlate with the stress levels in the product or application [7].

A significant advantage of accelerated life testing is that it can be conducted dur-

ing the development phase of a product to weed out design problems and marginal

components. Thus a consumer products company can achieve better customer sat-

isfaction because fewer products have to be returned for repair, and can also save

money on warranty returns. Another major advantage is that the design team can be

moved on to designing new products rather than becoming occupied with problems

in older products. HALT does not measure or determine equipment reliability or life

expectancy but it does serve to improve the robustness of a product. It is an empirical

method used across industry to identify the limiting failure modes of a product and

the stresses at which these failures occur [7].

For the case of conducting a HALT for integrated circuits (ICs), a burn-in proce-

dure is executed. In this process, the IC to be tested is placed in an oven at a fixed

temperature for a number of days until finally cooled back to room temperature in

order for measurements to be taken at the nodes of interest. If we observe any voltage,

10

Page 11: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

current or parameter variations different from measurements taken prior to having

been placed in the oven, we call that lifetime drift. But the distinguishing factor of

lifetime drift is that it is permanent, no amount of further burn-ins, cool downs or

temperature cycling can return the parameter of interest back to the original value it

held prior to the burn-in.

1.2 Cadence Virtuoso Spectre Circuit Simulator

This software is the industry standard for circuit design and simulation. It pro-

vides fast, accurate SPICE-level simulation for tough analog, radio frequency (RF)

and mixed-signal circuits. It is tightly integrated with the Virtuoso custom design

platform and provides detailed transistor-level analysis in multiple domains. Its ar-

chitecture allows for low memory consumption and high-capacity analysis.

Spectre can perform circuit analysis while sweeping a parameter. The parameter

can be frequency, temperature, component instance parameter, component model

parameter, or netlist parameter. If changing a parameter affects the DC operating

point, the operating point is recomputed at each step. It is also possible to sweep

the circuit temperature by specifying the parameter name as ”Temp with no Dev”

or ”Mod Parameter”. One can also sweep a netlist parameter by adding ”No Dev”,

or ”Mod Parameter” to the parameter name. After the analysis has completed, the

modified parameter returns to its original value.

Although circuits can be well simulated for basic behavior, Cadence cannot predict

phenomena such as long term-drift. This is because the software sweeps a temperature

parameter while keeping the circuit fixed. With this type of simulation only a one-to-

one functional mapping is possible where temperature is the independent variable and

the various parameters are the dependent variable. The phenomenon of long term

drift is not a one-to-one functional mapping because we have to introduce time as an

additional independent variable with temperature to take into account the variations

that occur in time while keeping temperature fixed.

This is a huge limitation to circuit designers, which leads to production delay, as

11

Page 12: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

additional precise experiments need to be conducted to identify the problem, track its

root cause and propose a solution. Ultimately this becomes not just circuit designer’s

burden, but also the project director’s, business managers’, investors’ and obviously

the customers’. This is a huge loss for the company.

1.3 Thin-Film and Polysilicon Resistors

Resistors are key building blocks in mixed signal integrated circuits. The ways to

avoid lifetime drift phenomena in resistors is heavily dependent on the process tech-

nology that is being used to fabricate the resistor. Thin-film and Polysilicon resistors

are among the most common. Although in terms of quality, under the criteria of

low/high frequency noise, low temperature coefficients, and tolerance, thin-film is

much more desired than Polysilicon [2]. However, Polysilicon is used primarily due

to its low cost, lead time and cycle time [3].

However, Polysilicon resistors have added effects such as low/high frequency noise,

high temperature coefficients, tolerance and ultimately lifetime drift [4]. Much of

these effects currently cannot be well predicted by default Cadence models. However

it is possible to gather experimental data and create a customized model which can be

imported to Cadence in order to take into account these additional effects to produce

a more accurate prediction of circuit behavior under many more circumstances.

This would not only help in making better decisions during the circuit design

phase, but can greatly reduce production delay, as problems could be predicted be-

forehand and corrected, reducing the need for additional empirical debugging. This

greatly reduces productivity delay for both the company and the customer.

In next chapter, we describe how to experimentally measure lifetime-drift. In

Chapter 3, we create a mathematical model for lifetime drift by understanding the

device physics. In Chapter 4, we simulate it in a Cadence’s circuit simulating envi-

ronment. Finally in Chapter 5, we design a graphical user interface that will allow

easy integration and simulation of lifetime drift.

12

Page 13: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Chapter 2

Measuring Lifetime Drift in RPH

Polysilicon Resistors

2.1 RPH Resistor Layout

The high sheet resistance (RPH) polysilicon resistor has three terminals. The top two

are connected to the p-type polysilicon segment shown in blue. And the third terminal

is connected to the n-typed epi layer mounted on top of a p-typed substrate. This is

shown in Figure 2.1. The equivalent circuit model depicting the three terminals are

shown in Figure 2.2. This is the existing circuit model that is used in Cadence.

Figure 2-1: This is the circuit model for the RPH Polysilicon Resistor

13

Page 14: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 2-2: This is the device cross-section and terminals of the RPH PolysiliconResistor

2.2 Experimental Setup

In measuring lifetime drift for resistors, the typical setup that is used involves a

resistor divider, where the VPOS and VNEG add up to zero. This is shown in Figure

2-3. The red numbers in the figure denote the voltage drop across the field oxide.

On average, R1 has a -7.5V drop across the field oxide, while R2, -22.5V. This is

referred as an asymmetrical divider, as the effective Vepi of 7.5 and 22.5V differ in

the two resistors. The relatively large value of Vepi provides the fundamental driving

force that causes the poly resistance to drift with time, and eventually saturates at a

constant value. Unequal Vepi also causes the resistor to drift by different amounts.

In this divider, R1 ' 19.1 kΩ and R2 ' 16.6 kΩ at room temp. We apply VPOS =

15V and VNEG = -15V. The current flowing through these resistors is 0.84 mA, which

is below Imax of 1 mA (Jmax = 0.5 mA/µm and these resistors have W=2 µm). By

solving for Vmid using the Kirchoff’s Voltage Law in the resistor divider, we obtain:

Vmid = Vpos −Vpos − Vneg

1 + R2

R1

(2.1)

In this experiment, we connect the backplate(Vepi) of the resistors to VPOS = 15V

shown. In this way, R1 of this divider experiences an averaged Vepi = 7.5V, and R2,

22.5V.

14

Page 15: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 2-3: Resistor divider setup for measuring the lifetime drift of Vmid

2.3 Experimental Measurements

In step (A) after we bias the resistor pair with Vepi = 22.5V for 10 min, Vmid does not

change because the characteristic time constant τ 43 at 43 oC is close to 105 hrs. As

we heat up to 85 oC in step (B), we see that Vmid changes by 14 mV after 50 min, and

increases to 30 mV after close to 4 hrs of stressing. The characteristic time constant

τ 85 is around 5 hr at 85 oC. So it is estimated that 30 mV is near the maximum

∆Vmid after stressing. In step (C) when we lower the temperature back to 43 oC, the

stress is remembered, and we observe a ∆Vmid close to 30 mV. Figure 2-4 shows the

measured response and Figure 2-5 shows the basic dependence of the characteristic

time constant τ to Vepi and temperature.

This memory effect is characteristic of lifetime drift. If Vmid had returned back to

it’s original value after cooling the circuit down, it would not be considered lifetime

drift. The fact that we can see Vmid increase in time at 85 oC shows time dependence,

characteristic of lifetime drift. Temperature has a greater impact in accelerating

lifetime drift of Vmid, rather than in changing how much Vmid drifts by.

At the beginning, Vmid is about -0.965V, corresponding to a R2/R1 ratio of 0.879.

In order to attain a 30 mV shift, the R2/R1 ratio has to increase to 0.883. Therefore

the R2/R1 ratio has to increase by 0.883/0.879 = 1.0046. So R2, which experiences

an averaged Vepi = 22.5V, increases by 0.73 %. We know that R1, which experiences

15

Page 16: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 2-4: Describes the memory effect in RPH resistors. (A) Under normal temper-atures, Vmid is constant in time. (B) When held at a higher temperature, Vmid drifts.(C) When brought back down to original temperature, Vmid experiences lifetime driftas Vmid is permanently higher than before

Figure 2-5: Shows the simplified dependence of characteristic time constant τ to Vepi

and Temperature

an averaged Vepi = 7.5V will increase by a smaller fraction than at 22.5V. Therefore,

we expect R to increase by 0.24 % for Vepi = 7.5V. Therefore, the final R2/R1 ratio,

based on device level data, is 1.0073/1.0024 = 1.0049. This is consistent with the

resistor divider result of 1.0046.

16

Page 17: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Chapter 3

Device Physics of RPH Polysilcon

Resistors

3.1 Basic RPH Resistor Model

The basic structure of the RPH polysilicon resistor is shown in figure 3-1. The device

has three terminals labeled n1, n2, and sub. The polysilicon is mounted on top of

a silicon substrate. The distinctive feature of polysilicon, is it’s grains, and grain

boundaries. These grains and grain boundaries are complex structures that consist

of a few atomic layers of disordered atoms. They are transitional between different

orientations of neighboring grains. Because of this irregular structure, carriers traps

are a concern, unlike amorphous silicon. We will find that this granular structure is

what gives rise to the lifetime drift found experimentally in Chapter 2.

17

Page 18: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 3-1: This is the device cross-section and terminals of the RPH Polysilicon

Resistor showing the grain boundaries in the polysilicon layer

In order to create a mathematical model for the polysilicon resistor we have to

look at it’s band structure, shown in figure 3-2.

Figure 3-2: This is the band diagram terminals of the RPH Polysilicon Resistor

The first thing we have to model is resistivity. Based on the Conduction Channel

18

Page 19: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Model [1] and Thermionic Emission(TE)-Thermionic Field Emission(TFE)-Thermionic

Field Emission Scattering(TFES) Model [5], resistivity can be written as [6]:

ρ = ρG

(1− 2W + δ

L

)+ ρGB

L

)+ ρB

(2W

L

)(3.1)

Where:

ρ: Resistivity in polysilicon layer

ρG: Resistivity in grain

ρB: Resistivity of barrier

ρGB: Resistivity of grain boundary

L: Grain length

W : Width of the depletion layer

δ: Width of amorphous grain boundary

Here we can see that we have taken into account resistivity in the grain, barrier

and grain boundary in order to calculate the resistivity in the polysilicon layer.

After modeling resistivity in the polysilicon layer, we can proceed to modeling the

total resistance. The approach will be to make a basic model without taking into

account lifetime drift. Then we improve the model by incorporating lifetime drift.

And finally improve it even further by adding the second-order effects of heating.

We first start by looking at the different modes of operation in the polysilicon

resistor. Normally, without applying a voltage on the substrate and simply setting it

to ground, we only focus on the conduction inside the polysilicon layer. If the voltage

on n2, Vn2 is greater than the voltage on n1, Vn1, we have current flowing from n2

to n1. When we apply a voltage on the substrate we create a depletion layer in the

polysilicon, shown in Figure 3-3.

19

Page 20: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 3-3: Applying a voltage across the substrate causes a depletion region to form

in the polysilicon that changes the effective resistance in the polysilicon layer

At constant current, the depletion layer effectively increases the current density,

by deceasing the effective cross sectional area through which the current flows. If the

effective area is reduced the overall resistance in the polysilicon layer is increased.

This effect can be modeled by a parameter, VC1. The greater the average voltage

applied between the polysilicon region and silicon subtrate, the greater the the overall

resistance. The overall equation can be seen below:

R = Ro

[1 + VC1

((Vn1 − Vsub) + (Vn2 − Vsub)

2

)](3.2a)

Ro =ρ LpolyApoly

(3.2b)

Where:

R: Total Resistance

Ro: Resistance due to ρ

VC1: Takes into account the change in effective length and width of polysilicon

due to formation of depletion layer

ρ: Resistivity of polysilicon

Lpoly: Length of polysilicon

Apoly: Cross-sectional area of polysilicon through which current flows.

20

Page 21: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

3.2 Physics of Lifetime Drift

Before creating the mathematical modeling of Lifetime, we take a closer look at the

granular structure of polysilicon shown in figure 3-4.

Figure 3-4: Trapped Hydrogen lies within the granular structure of polysilicon. These

are bonded to the silicon

As mentioned previously the granular structure of polysilicon makes it susceptible

to trapped impurities. For the case of polysilicon, trapped hydrogen is an issue. This

is hydrogen that is bonded to silicon. This arises from the usage of Silane (SiH4) in

the chemical process of adding polysilicon on silicon wafers.

When a voltage is applied on the substrate, the trapped hydrogen moves in the

direction of the electric field. The rate at which the hydrogen moves is dependent on

the temperature and activation energy of the process. As bonds must be broken and

reformed when the hydrogen moves and relocates, an activation energy is required.

This is depicted in figure 3-5.

21

Page 22: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 3-5: Applying a voltage across the substrate causes the hydrogen to move, by

bonding and de-bonding. This changes the band structure of the polysilicon layer

which in turn changes the resistance

After sometime the hydrogen will try to settle back down to a more entropically

favorable configuration, shown in figure 3-6.

Figure 3-6: After some time, the trapped hydrogen settles back down. Temperature

affects how fast it takes to settle. However, the configuration before and after the

applied voltage on the substrate is different. This permanently changes the band

structure of the device, causing lifetime drift. This is what causes resistance to be

different before and after burn-in

22

Page 23: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

The key point of note after the hydrogen settles back down is that it is no longer in

the same configuration as it began originally. Since the configuration of the hydrogen

traps affects the band structure of the polysilicon, the resistance of the polysilicon is

also affected. In other words, the resistance changes permanently after the hydrogen

settles back down!

If we take a look at this diagram under the same context as the resistor divider

in chapter 2, we notice that both resistors have a substrate that is connected to

a positive voltage. This means, based on figure 3-5, that the trapped hydrogen will

move. When we increase the temperature, we increase the rate at which the hydrogen

re-configures. That means the band structure is changing and so the resistance of the

device must change when held at a higher temperature. After the temperature cools

down, the rate at which the trapped hydrogen re-configures is reduced. This causes

the configuration of the hydrogen to no longer be the same as what it was initially.

This is precisely the reason why we observe the memory effect of RPH polysilicon,

where the resistance is permanently altered to something different from nominal. This

is the lifetime drift that we observe in RPH polysilicon resistors.

3.3 Modeling Lifetime Drift

Before incorporating lifetime drift into the mathematical model, some restrictions are

imposed. We choose to focus on the amount of lifetime drift that occurs, rather than

the time-dependent behavior or memory effect. From a circuit designer’s perspective,

the lifetime drift of polysilicon resistors needs to be within a certain amount such

that the circuit still operates properly in order to meet industry standards. It is not

important how fast the lifetime drift occurs as the circuit is heated, but rather how

much it drifted while held at a higher temperature. The resistance is different from

nominal when cooled back down, because the resistance had drifted while held at a

higher temperature. Cooling the circuit down only held that change in resistance.

That is why the amount of lifetime drift is more important to model than the time-

dependent behavior.

23

Page 24: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

We start by adding Vdrift to the previous equation 3.2a, in order to get the fol-

lowing:

R = Ro

[1 + (VC1 + VDrift)

((Vn1 − Vsub) + (Vn2 − Vsub)

2

)](3.3)

Where:

R: Total Resistance

Ro: Resistance due to ρ

VC1: Takes into account the change in effective length and width of polysilicon

due to formation of depletion layer

VDrift: takes into account the change in VC1 across polysilicon layer due to

trapped hydrogen

The greater the average voltage between the polysilicon layer and silicon sub-

strate the greater the drift of trapped hydrogen. Since there is more hydrogen in the

polysilicon layer there is more scattering of electrons and holes leading to an increase

in resistance. This effect can be modeled by the parameter, VDrift.

If we wish to incorporate a time and temperature dependent effect we simply

subtract from equation 3.3, (R−R|VDrift=0) exp(−tτ

). This is shown below as:

R(t) = R− (R−R|VDrift=0)exp

(−tτ

)(3.4a)

τ ∝ 1

T(3.4b)

Where:

R(t): Time-dependent resistance

R: Resistance with VDrift 6= 0

τ : Characteristic time constant of lifetime drift dependent on temperature.

T : Temperature

So at t = 0, the the resistance is R|VDrift=0, the resistance with no lifetime drift

and at a t >> τ , the resistance is R, the resistance with drift. Which is what we

24

Page 25: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

expect. Now, τ is a function of temperature. We expect that it takes longer for

the resistance to drift at lower temperature than higher temperatures so τ must be

inversely proportional to temperature.

3.4 Modeling 2nd-Order Effects

While resistance is affected by mode of operation and lifetime drift of trapped hy-

drogen, the polysilicon also heats up. Self-heating of the polysilicon causes thermal

expansion which in-turn changes the resistance of the device. The temperature coef-

ficient of resistance is what is necessary here labeled Tc. Using this, we can look at

the change in resistance shown below.

∆RHeat = R Tc ∆T (3.5a)

∆T = P Rth (3.5b)

P =(Vn2 − Vn1)2

R(3.5c)

∆RHeat = VC2(Vn2 − Vn1)2 (3.5d)

VC2 =

(Tc Rth

R

)(3.5e)

Where:

∆RHeat: Change in resistance due to self-heating

Tc: Temperature coefficient

∆T : Change in temperature

P : Power dissipated across polysilicon layer

Rth: Thermal resistance

R: Total resistance

VC2: Takes into account the change in resistance due to self-heating

The change in temperature can be related to the power and thermal resistance of

the device. Using this we can rewrite equation 3.5a, in terms of voltages at nodes

25

Page 26: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

n1, n2 and sub while incorporating the thermal effects in VC2 and add this to our

previous equation for total resistance shown below.

R = Ro

[1 + (VC1 + VDrift)

((Vn1 − Vsub) + (Vn2 − Vsub)

2

)] (1 + VC2(Vn2 − Vn1)2

)(3.6)

Where:

R: Total Resistance

Ro: Resistance due to ρ

VC1: Takes into account the change in effective length and width of polysilicon

due to formation of depletion layer

VDrift: takes into account the change in VC1 across polysilicon layer due to

trapped hydrogen

VC2: Takes into account the change in resistance due to self-heating

3.5 Complete RPH Resistor Model

We have now incorporated all of the aspects necessary to mathematically modeling

the effect of lifetime drift on the resistance of RPH polysilicon resistors. The complete

model is shown below.

R(t) = R− (R−R|VDrift=0)exp

(−tτ

)(3.7a)

R = Ro

[1 + (VC1 + VDrift)

((Vn1 − Vsub) + (Vn2 − Vsub)

2

)] (1 + VC2(Vn2 − Vn1)2

)(3.7b)

Where:

R(t): Time-dependent resistance

R: Total Resistance with VDrift 6= 0

Ro: Resistance due to ρ

26

Page 27: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

VC1: Takes into account the change in effective length and width of polysilicon

due to formation of depletion layer

VDrift: takes into account the change in VC1 across polysilicon layer due to

trapped hydrogen

VC2: Takes into account the change in resistance due to self-heating

τ : Characteristic time constant of lifetime drift dependent inversely on tem-

perature.

We will use this mathematical model to create a circuit model in Cadence so we

can simulate lifetime drift during the circuit phase design in the next chapter.

27

Page 28: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

28

Page 29: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Chapter 4

Simulating RPH Resistor Lifetime

Drift in Cadence

4.1 Previous RPH Resistor Modeling Scheme

Now that we have created a mathematical model for the RPH resistor, we can now

proceed to incorporate this mathematical model into Cadence. But before that, we

need to take a look at the limitations of Cadence and the previous RPH modeling

scheme as well as how lifetime drift is treated by circuit designers prior to our modeling

scheme. In previous modeling schemes, any form of resistance drift not limited to RPH

is treated as a process variation, not a lifetime effect. That means resistance variations

were handled by corner models, or time-independent variations. The major problem

with this modeling scheme is that it leads circuit designers believe that that such

a variation can be trimmed out, or adjusted through the use of digitally controlled

potentiometers. Figure 4-1 shows such a potentiometer.

29

Page 30: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 4-1: This is a digitally controlled potentiometer. A Digital value is loaded

into memory and decoded to select which switches to turn on/off in order to attain a

range of resistance values.

The problem is that there is no way to remove lifetime drift simply by trimming

out the resistance. What’s worse is that lifetime drift is not modeled as a time

dependent resistor, so transient simulations fail to reveal the time-dependent behavior.

That means the only way lifetime drift can be detected is from lab experiment after

the circuit has undergone a burn-in. Since a burn-in is a standard process that all

circuit designs have to pass, the circuit will return to the designer unable to pass the

requirements due to lack of insight during design phase. This leads to time being

wasted trying to find the source of lifetime drift and to solve the issue.

4.2 Simulations of RPH Resistor Lifetime Drift

In order to address these issues, lifetime drift in RPH polysilicon resistors must be

modeled as a time-dependent resistor. The greatest difficulty in creating a time-

dependent resistor in Cadence, is that there is no way to make it using only the

programming language of the modeling library, Spectre. While Spectre can create

transient solutions with capacitors and inductors, it can only create resistors depen-

dent on currents, voltages, derivatives or integrals of currents, derivatives or integrals

30

Page 31: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

of voltages. There is no way to create a resistor dependent on simulation time. In

order to do this, Verilog-A resistor was instantiated in the Spectre Modeling Library.

Verilog-A is capable of modeling resistors dependent on simulation time. Using the

complete mathematical model of the RPH resistor created in chapter 3, the model

for RPH polysilicon resistor incorporating lifetime drift was created.

In order to test whether we can see the lifetime drift, we set up the resistor divider

described on chapter 2. The schematic is shown in figure 4-2.

Figure 4-2: This same exact resistor divider as chapter 2, constructed in cadence.The

one on the right is the existing RPH resistor model that doesn’t incorporate lifetime

drift. The one on the left is the newly modeled RPH resistor that contains the effects

of lifetime drift. We will be comparing Vmid and Vmidrph in time

The one on the right is the existing RPH resistor model that doesn’t incorporate

lifetime drift. The one on the left is the newly modeled RPH resistor that contains

the effects of lifetime drift. In order to compare the two resistor models with each

other we do a transient analysis of the circuit at 85 oC specifically comparing Vmid

and Vmidrph in time. The plots are shown in figure 4-3.

31

Page 32: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 4-3: These are plots of Vmid (top and blue) and Vmidrph (bottom and red) in

time at 85 oC. Vmidrph uses the existing model that incorporated no lifetime drift.

Vmid uses the model we created that incorporates lifetime drift. The existing model,

Vmidrph does not simulate lifetime drift, but our model does

The red flat line near the bottom of the graph is Vmidrph, which uses the existing

model that incorporated no lifetime drift. The blue curved line on the top is Vmid,

which uses the model we created that incorporates lifetime drift. We know based

on the data collected in chapter 2, that the voltage between the two resistors must

change in time, which is precisely what we get in our model, Vmid in blue. But you can

clearly see that the existing model has no time-dependent effect. Which is why circuit

designers incorrectly believe that a digitally controlled potentiometer can compensate

for lifetime drift.

32

Page 33: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

4.3 Simulation of RPH Resistor Lifetime Drift in

Non-inverting Operational Amplifier

Although the example resistor divider in chapter 2 clearly showcases lifetime drift,

such simple circuits aren’t too sensitive to such minor changes in resistance. Most

analog circuits require differential amplifiers in a feedback loop configuration in order

to provide gain, stability, buffering, power etc. But the amount of gain, frequency

response, stability, and power is highly dependent on the resistance of the resistors

that are used. If any of these resistors experience lifetime drift, the circuit would

experience gain mismatch, loss of quality factor, instability and power loss that may

ultimately damage the circuit and cause it to permanently fail. These types of circuits

are highly sensitive to lifetime drift of resistors. It would be much more impacting to

show lifetime drift in the simulation of an op-amp that uses a feedback resistor. A

commonly used non-inverting op-amp circuit is shown below in figure 4-4.

The resistor on the top is a digitally controlled potentiometer made with ideal

resistors, and on the bottom we have an RPH resistor with lifetime drift. We have set

the trim code such that the top resistor is initially 8KΩ and the bottom 2.9KΩ. The

supply voltages top to bottom are 15V and -15V, respectively. The input voltage is

2V. So we expect Vouttrim = Vin

(1 + Rtrim

Rrph

)= 7.51V initially. The typical simulation

for such a setup, would require ramping the supply voltages until the output is 7.51

V. Then in this example, at a later time, we trim the top resistor until the output is

8 V. What circuit designers would like to see after trimming is completed is for the

output voltage to be fixed at 8V. But with lifetime drift, this is not the case shown

in figure 4-5.

33

Page 34: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 4-4: This is a basic non-inverting op-amp, with 15V and -15V supplies and a2 V input. The top resistor is a digitally controlled potentiometer made with idealresistors, and the bottom is our RPH resistor with lifetime drift. We are looking atthe output Vouttrim in time

34

Page 35: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 4-5: Since the supply rails are ramped, Vouttrim also ramps until the output

is 7.51 V and settles. At this point, we have not placed the circuit for burn-in so

there should not be any drift. Then, we trim the top resistor until the output is 8 V.

Again, there should not be any drift as the circuit was not in burn-in. We apply the

drift model after the trimming is conducted because burn-ins are conducted after the

circuit has the desired output. We can clearly see that lifetime drift is not a process

variation that can be trimmed out.

This example clearly demonstrates that lifetime drift is not a process variation

that can be trimmed out, but a lifetime effect.

4.4 Impact of Simulating RPH Resistor Lifetime

Drift

Even though, our model clearly demonstrates the change in resistance at higher tem-

peratures, our model does not show the memory effect which occurs after cooling

down, because the change in resistance that occurs at higher temperature would re-

main when cooled down. So it is apparent to the designer that lifetime drift is an

35

Page 36: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

issue. If the resistance did not vary when held at a higher temperature, then we

would know that the resistance would not be different if we cooled it down as it never

changed in in the first place. So there is no need to model the memory effect.

So our model for the first time, can simulate lifetime time drift effect in transient

simulations on Cadence. Our model does not treat as a process variation that can

be trimmed out by digitally controlled potentiometers, but rather as a lifetime effect.

With this model, circuit designers can see in the design phase whether lifetime drift

is an issue or not, before having to send in their whole circuit for burn-in.

Although, we can see lifetime drift in the design phase, we have only created a

model for RPH polysilicon resistors. Lifetime drift is an issue in many other devices

as well. It would be much more beneficial to create a framework through which any

type of lifetime drift can be incorporated into cadence. In chapter 5, we create a

graphical user interface through which designers can easily incorporate lifetime drift

into their simulations without having to replace all of their device models.

36

Page 37: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Chapter 5

Design of GUI Utility For Quick

Integration in Design Phase

5.1 Motivation

In order to create a utility to make it easier for designers to visualize lifetime drift,

we must make sure that our utility is a graphical user-interface (GUI). One of the

biggest issues with incorporating a new device model is having to change the design

of the entire circuit, replacing all of the no-drift modeled resistors with drift modeled

resistors. It would be optimal to have a way such that the designer doesn’t have to

make changes to their design. The best way to do this is to create a utility which is

programmed to automatically replace the instantiated non-drift model file with drift

model file in the ocean script. In addition, often times simulations have a start-up

sequence, where power supplies are ramped. In such circumstances, it takes some

amount of time for the circuit to fully settle. It would be convenient for a designer,

if we can specify at what time we wish to switch from the non-drift resistor to the

drift resistor. Since lifetime drift only occurs when a circuit is placed for burn-in,

there is no need to use the lifetime drift at the start-up sequence, as it is a long-

term model. Although the amount of drift is dependent on the equations modeled,

the characteristic time constant for lifetime drift may have variation from lot-to-lot

dependent on process. So it would be convenient if there is an option to specify the

37

Page 38: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

scale of our time constant. Finally, Lifetime drift is an issue in many other devices

as well. It would be much more beneficial to create a framework through which any

type of lifetime drift can be incorporated into cadence. These aspects together are

incorporated in the basic layout of the GUI shown in Figure 5-1.

Figure 5-1: This is the basic layout of out GUI. It takes as an input an ocean script

file generated from cadence for the specific circuit to be tested. The user selects what

drift model resistor (RPH in this case), what start time in order to turn on the drift

model and scale factor pertaining to the time constant specific to the drift need to be

simulated. The ”Run” button is pressed and the output is a graph showing outputs

specified in the ocean file with lifetime drift taken into account

5.2 Graphical User Interface Design

The design of our GUI takes as an input an Ocean Script file(.ocn) of the prepared

transient simulation. Then the user selects at what time to apply the drift model.

The drift model file contains a time parameter that is set by the user to simulate

start of drift. The scale factor sets the time constant of the characteristic lifetime

drift to be simulated. This is not limited to RPH lifetime drift and can be extended to

include other models as well such as BJTs and MOS devices. The output of the drift

utility is a transient simulation plot that shows the effects of lifetime drift. Figure

5-2 shows how the GUI translates to the graph of the simulation.

38

Page 39: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Figure 5-2: The start time is typically after trimming is conducted and the scale

factor adjust the time constant specific to the device as indicated by the arrows

In order to program this GUI we require three pertinent scripting languages:

Ocean for the GUI, Spectre for the Model file, and Verilog-A in order to program

time dependent effects in Spectre. The basic block diagram for our code and the

types of inputs/files that it needs to interact with is shown in figure 5-3.

Figure 5-3: This is the block diagram showing inputs/files used for our code. The

inputs are Ocean script for the specific circuit to be tested and the start and scale

times. The output is a graph plotted in cadence. The GUI interacts with Spectre

Model file, and Verilog-A in order to program time dependent effects in Spectre.

39

Page 40: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

The Ocean script is generated by netlisting a desired circuit design on Cadence

and is required. The inputs are the type of device to model drift for, the time after

which we want of apply the drift model, and the time constant pertinent to lifetime

drift which we would like to simulate.

5.3 Graphical User Interface Functionality

The GUI basically looks at the netlist files and searches for the RPH resistor instanti-

ated and replaces it with the RPH resistor model we created that incorporates lifetime

drift. Then it sets our desired input values for drift start and time constant for the

parameters in our model file. When the ”run” button is pressed, it generates a netlist

that is the exact same as the input except with only the pointer to the rph model file

replace with a pointer to the RPH model file with lifetime drift. Cadence then runs

the new netlist which calls the Spectre model library for each device. When it calls

the RPH resistor, the Spectre file calls Verilog-A in order to simulate time-dependent

behavior for the RPH. After this is completed, a graph is finally generated which

shows the same exact graph as figure 5-2.

The key benefits of this framework is that a designer doesn’t have to make changes

to their design. They can just run this GUI on their un-modfied circuit netlist and

the utility just replaces the non-drift model file with drift model file in the ocean

script and runs it. Lifetime drift can now finally be transparent to designers. But

what is key here is that the model file we created is for RPH. It can easily be changed

with different equations to include lifetime drift in for example BJTs. All one would

have to do is create that model file and alter the GUI code so that it searches for

BJT files and replaces all of them to a new pointer pointing to the new BJT model

file created. So this utility is not limited to RPH drift and can be extended to include

other models like BJT. This is extremely beneficial to industry. Lifetime drift can

be detected without lab experiment before design is completed. Designs will have a

better chance to pass specs requirements. Designers can have more insight on lifetime

drift during the design phase.

40

Page 41: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Chapter 6

Concluding Remarks

6.1 Conclusion

We measured lifetime drift by looking at the mid point voltage of a resistor divider.

We noticed that at room temperature the resistance is constant in time. But when

held at a higher temperature, resistance changes in time. That change in resistance is

seen when cooled down as the memory effect, where the resistance was not the same

before and after the burn-in procedure.

The reason lifetime drift occurs in RPH polysilicon resistors is due the redistribu-

tion of trapped Hydrogen. When a voltage is applied on the substrate, the trapped

hydrogen move in the direction of the electric field. The rate at which the hydrogen

move is dependent on the temperature. As bonds must be broken and reformed when

the hydrogen move and relocated. After the hydrogen settles back down, it is no

longer in the same configuration as it began originally. Since the configuration of

the hydrogen traps affects the band structure of the polysilicon, the resistance of the

polysilicon changes permanently.

After developing our lifetime drift model for the RPH resistor, we were able to,

for the first time, simulate lifetime drift simulations on cadence. Lifetime drift is

not treated as a process variation that can be trimmed out by digitally controlled

potentiometers, but rather as a lifetime effect. With this model, circuit designers can

see in the design phase whether lifetime drift is an issue or not, before having to send

41

Page 42: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

in their whole circuit burn-in.

We created a utility to make it easier for designers to visualize lifetime drift

through a graphical user-interface (GUI). A designer doesn’t have to make changes

to their design. They can just run this GUI on their un-modified circuit netlist and

the utility just replaces the non-drift model file with drift model file in the ocean

script.

Lifetime drift can be detected without lab experiment before design is completed.

Designs will have a better chance to pass specs requirements.

6.2 Future Work

Since I have only modeled one specific type of lifetime drift for the case of RPH

resistor, I would like to model other types of lifetime drift for different devices. This

would involve refining the accuracy of drift models for very large scale integration.

The bigger goal would be to create a general framework through which other non-

ideal device effects can become transparent to a circuit designer. This would allow

for a much easier way to integrate non-ideal effects without having to waste valuable

time trying to find a way to model each and every non-ideal effect in a different way.

42

Page 43: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Appendix A

Spectre Model File Code for RPH

Resistor

// * Mandatory commented line to begin file

simulator lang=spectre

library s18_rc

// ********************************************************************

// ********************************************************************

// ** **

// ** libraries in the model files **

// ** **

// ** .lib r_typ typical corner model **

// ** .lib r_high high(large value) resistor model **

// ** .lib r_low low(low value) resistor model **

// ** .lib res main resistor model libaray **

// ** **

// ** .lib c_typ typical corner model **

// ** .lib c_high high(large value) cap model **

// ** .lib c_low low(low value) cap model **

// ** .lib cap main cap model libaray **

// ** **

43

Page 44: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

// ********************************************************************

// ********************************************************************

// ********************************************************************

// ********************************************************************

// ** **

// ** corner model library **

// ** **

// ** **

// ********************************************************************

// ********************************************************************

// ** **

// ** typical corner library: r_typ **

// ** **

// ********************************************************************

// *

section r_typ

// Random function for lot variation

real aunif_r(real unif_rand,real val_typ,real val_range)

return (val_typ+val_range*unif_rand)

parameters rr_lot=0

statistics

process

vary rr_lot dist=unif N=1

real gauss_rr(real gauss_rand, real val_typ, real per_range, real f)

return (val_typ+gauss_rand*per_range*f)

parameters rrr_lot=0

44

Page 45: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

statistics

process

vary rrr_lot dist=gauss std=1

// *

parameters maxlot_r=1

// ** monte carlo matching for thin film resistors

parameters dtf=12.7e-9 drp=10.0e-9 drps=18.7e-9 drph=11.02e-9 drphn=14e-9

parameters dm1=20e-9 dm2=25e-9 dm3=25e-9 dtm=50e-9

// ** thin film resistor: f corner parameter

parameters rhotfnom=3000 rhotf_lot=aunif_r(rr_lot,3000,600*maxlot_r)

parameters rhotf=rhotf_lot

parameters dwtfnom=0 dwtf_lot=aunif_r(rr_lot,0,0.1e-6*maxlot_r) dwtf=dwtf_lot

parameters dltf0=-0.0625e-6 dltf10=-0.09357e-6 dltf=0 dsqtf=0

parameters tc2f=3.75e-8

// ** unsalicaide poly resistor: rp corner parameter

parameters rhorpnom=260 rhorp_lot=aunif_r(rr_lot,260,52*maxlot_r)

parameters rhorp=rhorp_lot

parameters dwrpnom=0.020e-6 dwrp_lot=aunif_r(rr_lot,0.020e-6,0.06e-6*maxlot_r)

parameters dwrp=dwrp_lot

parameters rctrpnom=112.5e-6 rctrp_lot=aunif_r(rr_lot,112.5e-6,22.5e-6*maxlot_r)

parameters rctrp=rctrp_lot

parameters tc1rp_lot=aunif_r(rr_lot,-25e-6,-200e-6*maxlot_r) tc1rp=tc1rp_lot

parameters tc1rpct_lot=aunif_r(rr_lot,-1400e-6,-1400e-6*250/875*maxlot_r)

parameters tc1rpct=tc1rpct_lot

parameters fvc2rp=1

parameters rpdriftp=0

parameters rpdriftn=0

// **+ dwrpnom=0 dwrp=0

45

Page 46: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

// ** high value poly resistor: rph corner parameter

parameters rhorphnom=1000 rhorph_lot=aunif_r(rr_lot,1000,150*maxlot_r)

parameters rhorph=rhorph_lot

parameters dwrphnom=0.03e-6 dwrph_lot=aunif_r(rr_lot,0.03e-6,0.6e-7*maxlot_r)

parameters dwrph=dwrph_lot

parameters tc1rph=-875e-6

parameters fvc2rph=1

parameters rphdriftp=0

parameters rphdriftn=0

// ** narrow high value poly resistor: rphn corner parameter

parameters rhorphnnom=1550 rhorphn_lot=aunif_r(rr_lot,1550,620*maxlot_r)

parameters rhorphn=rhorphn_lot

parameters dwrphnnom=0e-6 dwrphn_lot=aunif_r(rr_lot,0e-6,0e-7*maxlot_r)

parameters dwrphn=dwrphn_lot

parameters tc1rphn=-1100e-6

parameters fvc2rphn=1

parameters rphndriftp=0

parameters rphndriftn=0

// ** salicaide poly resistor: rps corner parameter

parameters rhorpsnom=8 rhorps_lot=aunif_r(rr_lot,8,5*maxlot_r)

parameters rhorps=rhorps_lot

parameters dwrpsnom=-0.014e-6 dwrps=-0.014e-6

// **+ dwrpsnom=0 dwrps=0

// ** metal 1 resistor: m1 corner parameter

parameters rhom1nom=85e-3 rhom1=85e-3 dwm1nom=0 dwm1=0

// ** metal 2 resistor: m2 corner parameter

parameters rhom2nom=85e-3 rhom2=85e-3 dwm2nom=0 dwm2=0

// ** metal 3 resistor: m3 corner parameter

parameters rhom3nom=85e-3 rhom3=85e-3 dwm3nom=0 dwm3=0

// ** top metal resistor: mt corner parameter

46

Page 47: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

parameters rhomtnom=8e-3 rhomt=8e-3 dwmtnom=0 dwmt=0

// **

// **

// ** tsv50 corner

parameters ls_tsv50=20.3e-12

parameters rs_tsv50=4.6e-3

parameters cs_tsv50=110e-15

// **

// ** tsv20 corner

parameters ls_tsv20=46e-12

parameters rs_tsv20=5.9e-3

parameters cs_tsv20=140e-15

// **

// include "s18_rc.scs" res

endsection r_typ

// *

// ********************************************************************

// ** **

// ** high corner library: r_high **

// ** **

// ********************************************************************

// *

section r_high

// Random function for lot variation

real aunif_r(real unif_rand,real val_typ,real val_range)

return (val_typ+val_range*unif_rand)

parameters rr_lot=0

statistics

process

47

Page 48: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

vary rr_lot dist=unif N=1

real gauss_rr(real gauss_rand, real val_typ, real per_range, real f)

return (val_typ+gauss_rand*per_range*f)

parameters rrr_lot=0

statistics

process

vary rrr_lot dist=gauss std=1

// *

parameters

// ** monte carlo matching for thin film resistors

parameters dtf=12.7e-9 drp=10.0e-9 drps=18.7e-9 drph=11.02e-9 drphn=14e-9

parameters dm1=20e-9 dm2=25e-9 dm3=25e-9 dtm=50e-9

// ** thin film resistor: f corner parameter

parameters rhotfnom=3000 rhotf=3600 dwtfnom=0 dwtf=0.10e-6

parameters dltf0=-0.075e-6 dltf10=-0.168e-6 dltf=-0.1e-6 dsqtf=0.35

parameters tc2f=5.59e-8

// ** unsalicaide poly resistor: rp corner parameter

parameters rhorpnom=260 rhorp=312 dwrpnom=0.020e-6 dwrp=0.080e-6

parameters rctrpnom=112.5e-6 rctrp=135e-6

parameters tc1rp=-225e-6

parameters tc1rpct=-1400e-6*1125/875

parameters fvc2rp=225/25

parameters rpdriftp=1e-2

parameters rpdriftn=-0.25e-2

// ** high value poly resistor: rph corner parameter

48

Page 49: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

parameters rhorphnom=1000 rhorph=1150 dwrphnom=0.03e-6 dwrph=0.09e-6

parameters tc1rph=-1125e-6

parameters fvc2rph=1125/875

parameters rphdriftp=2e-2

parameters rphdriftn=-0.5e-2

// ** narrow high value poly resistor: rphn corner parameter

parameters rhorphnnom=1550 rhorphn=2170 dwrphnnom=0e-6 dwrphn=0e-6

parameters tc1rphn=-1600e-6

parameters fvc2rphn=1600/1100

parameters rphndriftp=2e-2

parameters rphndriftn=-0.5e-2

// ** salicaide poly resistor: rps corner parameter

parameters rhorpsnom=8 rhorps=12 dwrpsnom=-0.014e-6 dwrps=-0.014e-6

// ** metal 1 resistor: m1 corner parameter

parameters rhom1nom=85e-3 rhom1=100e-3 dwm1nom=0 dwm1=0

// ** metal 2 resistor: m2 corner parameter

parameters rhom2nom=85e-3 rhom2=100e-3 dwm2nom=0 dwm2=0

// ** metal 3 resistor: m3 corner parameter

parameters rhom3nom=85e-3 rhom3=100e-3 dwm3nom=0 dwm3=0

// ** top metal resistor: mt corner parameter

parameters rhomtnom=8e-3 rhomt=10e-3 dwmtnom=0 dwmt=0

// **

// **

// ** tsv50 corner

parameters ls_tsv50=20.3e-12

parameters rs_tsv50=10.0e-3

parameters cs_tsv50=200e-15

// **

// ** tsv20 corner

parameters ls_tsv20=46e-12

49

Page 50: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

parameters rs_tsv20=7.40e-3

parameters cs_tsv20=175e-15

// **

// include "s18_rc.scs" res

endsection r_high

// *

// ********************************************************************

// ** **

// ** low corner library: r_low **

// ** **

// ********************************************************************

// *

section r_low

// Random function for lot variation

real aunif_r(real unif_rand,real val_typ,real val_range)

return (val_typ+val_range*unif_rand)

parameters rr_lot=0

statistics

process

vary rr_lot dist=unif N=1

real gauss_rr(real gauss_rand, real val_typ, real per_range, real f)

return (val_typ+gauss_rand*per_range*f)

parameters rrr_lot=0

statistics

process

vary rrr_lot dist=gauss std=1

50

Page 51: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

// *

parameters

// ** monte carlo matching for thin film resistors

parameters dtf=12.7e-9 drp=10.0e-9 drps=18.7e-9 drph=11.02e-9 drphn=14e-9

parameters dm1=20e-9 dm2=25e-9 dm3=25e-9 dtm=50e-9

// ** thin film resistor: f corner parameter

parameters rhotfnom=3000 rhotf=2400 dwtfnom=0 dwtf=-0.10e-6

parameters dltf0=-0.05e-6 dltf10=-0.019e-6 dltf=0.1e-6 dsqtf=-0.35

parameters tc2f=2.31e-8

// ** unsalicaide poly resistor: rp corner parameter

parameters rhorpnom=260 rhorp=208 dwrpnom=0.020e-6 dwrp=-0.040e-6

parameters rctrpnom=112.5e-6 rctrp=90e-6

parameters tc1rp=175e-6

parameters tc1rpct=-1400e-6*625/875

parameters fvc2rp=1

parameters rpdriftp=0.5e-2

parameters rpdriftn=-0.5e-2

// ** high value poly resistor: rph corner parameter

parameters rhorphnom=1000 rhorph=850 dwrphnom=0.03e-6 dwrph=-0.03e-6

parameters tc1rph=-625e-6

parameters fvc2rph=625/875

parameters rphdriftp=1e-2

parameters rphdriftn=-1e-2

// ** narrow high value poly resistor: rphn corner parameter

parameters rhorphnnom=1550 rhorphn=930 dwrphnnom=0e-6 dwrphn=0e-6

parameters tc1rphn=-600e-6

parameters fvc2rphn=600/1100

parameters rphndriftp=1e-2

51

Page 52: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

parameters rphndriftn=-1e-2

// ** salicaide poly resistor: rps corner parameter

parameters rhorpsnom=8 rhorps=3 dwrpsnom=-0.014e-6 dwrps=-0.014e-6

// ** metal 1 resistor: m1 corner parameter

parameters rhom1nom=85e-3 rhom1=60e-3 dwm1nom=0 dwm1=0

// ** metal 2 resistor: m2 corner parameter

parameters rhom2nom=85e-3 rhom2=60e-3 dwm2nom=0 dwm2=0

// ** metal 3 resistor: m3 corner parameter

parameters rhom3nom=85e-3 rhom3=60e-3 dwm3nom=0 dwm3=0

// ** top metal resistor: mt corner parameter

parameters rhomtnom=8e-3 rhomt=6e-3 dwmtnom=0 dwmt=0

// **

// **

// ** tsv50 corner

parameters ls_tsv50=20.3e-12

parameters rs_tsv50=4.6e-3

parameters cs_tsv50=110e-15

// **

// ** tsv20 corner

parameters ls_tsv20=46e-12

parameters rs_tsv20=5.9e-3

parameters cs_tsv20=140e-15

// **

// include "s18_rc.scs" res

endsection r_low

// *

// ********************************************************************

// ** **

// ** typical corner library: c_typ **

// ** **

52

Page 53: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

// ********************************************************************

section c_typ

// Random function for lot variation

real aunif_c(real unif_rand,real val_typ,real val_range)

return (val_typ+val_range*unif_rand)

parameters cr_lot=0

statistics

process

vary cr_lot dist=unif N=1

parameters dmm=20.0e-9

// * corner of mim cap **

parameters cmm_cscale=1 tc1_mim=28.5e-6 dwl_mim=0.02e-6

// * corner of cxfpe_int

parameters cxfpe_cscale=1

// *

// * pa1c unit-cell corner

parameters c_1c_unit=0.45e-9

parameters tc1_1c=2.7e-4

parameters vc1_1c=-5e-5

parameters vc2_1c=2.6e-4

// * pa2c unit-cell corner

parameters c_2c_unit=0.89e-9

parameters tc1_2c=2.7e-4

parameters vc1_2c=-5e-5

parameters vc2_2c=2.6e-4

// include "s18_rc.scs" section=cap

endsection c_typ

53

Page 54: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

// ********************************************************************

// ** **

// ** low corner library: c_low **

// ** **

// ********************************************************************

section c_low

parameters dmm=20.0e-9

// * corner of mim cap **

parameters cmm_cscale=0.85 tc1_mim=0.0e-6 dwl_mim=0.08e-6

// * corner of cxfpe_int

parameters cxfpe_cscale=0.85

// *

// * pa1c unit-cell corner

parameters c_1c_unit=0.36e-9

parameters tc1_1c=2.7e-4

parameters vc1_1c=-5e-5

parameters vc2_1c=2.6e-4

// * pa2c unit-cell corner

parameters c_2c_unit=0.71e-9

parameters tc1_2c=2.7e-4

parameters vc1_2c=-5e-5

parameters vc2_2c=2.6e-4

// include "s18_rc.scs" section=cap

endsection c_low

// ********************************************************************

// ** **

// ** high corner library: c_high **

// ** **

// ********************************************************************

section c_high

54

Page 55: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

parameters dmm=20.0e-9

// * corner of mim cap **

parameters cmm_cscale=1.15 tc1_mim=100.0e-6 dwl_mim=-0.04e-6

// * corner of cxfpe_int

parameters cxfpe_cscale=1.15

// *

// * pa1c unit-cell corner

parameters c_1c_unit=0.54e-9

parameters tc1_1c=2.7e-4

parameters vc1_1c=-5e-5

parameters vc2_1c=2.6e-4

// * pa2c unit-cell corner

parameters c_2c_unit=1.1e-9

parameters tc1_2c=2.7e-4

parameters vc1_2c=-5e-5

parameters vc2_2c=2.6e-4

// include "s18_rc.scs" section=cap

endsection c_high

// *********************************************************************

// ** **

// ** main resistor models: res1 nr=1 crc parasicit model **

// ** **

// *********************************************************************

// *

section res1

real gauss_r(real gauss_rand, real val_typ, real per_range, real f)

return (val_typ+gauss_rand*per_range*f)

// Random function definition for TF resistor mismatch

parameters tf_mis_rand=0

55

Page 56: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

statistics

mismatch

vary tf_mis_rand dist=gauss std=1

real unif_r(real unif_rand, real val_typ, real per_range, real f)

return (val_typ+unif_rand*per_range*f)

parameters ur_mis=0

statistics

mismatch

vary ur_mis dist=unif N=1

real sgn_r(real x)

return ((x==0)*0+(x>0)-(x<0))

real gt_r(real x, real y)

return (sgn_r(max(x,y)-y))

real lt_r(real x, real y)

return (sgn_r(y-min(x,y)))

real gte_r(real x, real y)

return (1-sgn_r(y-min(x,y)))

real lte_r(real x, real y)

return (1-sgn_r(max(x,y)-y))

real noteql_r(real x, real y)

56

Page 57: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

return (abs(sgn_r(x-y)))

real equal_r(real x, real y)

return (1-abs(sgn_r(x-y)))

real mod_r(real x, real y)

return (x-int(x/y)*y)

real trunc_r(real x)

return (int(x))

real bang_r(real x)

return (equal_r(x,0))

real floor_r(real x)

return (lt_r(x,0)*int(x-1)+gte_r(x,0)*int(x))

real mina_r(real x,real y,real delta)

return (x+y-sqrt((x-y)*(x-y)+delta))/2

real maxa_r(real x,real y,real delta)

return (x+y+sqrt((x-y)*(x-y)+delta))/2

real bounda_r(real x,real maxval,real minval,real delta)

return maxa_r(mina_r(x,maxval,delta),minval,delta)

// *

//modeloptions_rc_tnom10 options dcmmod=0

// .options tnom=33

// *.param gt_r(x,y)=’(sgn_r(max(x,y)-y))’ lt_r(x,y)=’(sgn_r(y-min(x,y)))’

57

Page 58: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

// *+ gte_r(x,y)=’(1-sgn_r(y-min(x,y)))’

// *+ lte_r(x,y)=’(1-sgn_r(max(x,y)-y))’ noteql_r(x,y)=’(abs(sgn_r(x-y)))’

// *+ equal_r(x,y)=’(1-abs(sgn_r(x-y)))’

// *+ mod_r(x,y)=’x-int(x/y)*y’ bang_r(x)=’equal_r(x,0)’

// *+ floor_r(x)=’(lt_r(x,0)*int(x-1)+gte_r(x,0)*int(x))’

// *+ mina_r(x,y,delta)=’(x+y-sqrt((x-y)*(x-y)+delta))/2’

// *+ maxa_r(x,y,delta)=’(x+y+sqrt((x-y)*(x-y)+delta))/2’

// *+ bounda_r(x,maxval,minval,delta)=

’maxa_r(mina_r(x,maxval,delta),minval,delta)’

// *

// ************************************

// * rph: high value poly resistor model *

// ************************************

subckt rph ( n1 n2 sub )

ahdl_include "myresistor_EDIT.va"

parameters w=1e-6 l=5e-6 rreq=5000 ma=1 nsig=0 bvca=8.5 lpe=0

+ layout=pow(abs(ma),sgn_r(ma))

+ dl=-0.04225e-6

+ v_cal=rreq*layout

+ l_cal=v_cal/rhorphnom*(w-2*dwrphnom)

+ pors=(1-sgn_r(ma))/2

+ v_l=pow(abs(ma),pors)

+ pt=temp

+ pvcp1=-5e-002 pvcp2=2.979e-006 pvcp3=-1.486e+000

+ nseries=(abs(ma)-ma)/2+(sgn_r(ma)+1)/2

+ pgvc1=0.

+ pgvc2=fvc2rph*1/(nseries*nseries)*

(248946/(l*l*1e12)+37.685)/(0.6+0.9/(w*1e6))*1e-6*0.8

+ ptcp1=tc1rph ptcp2=2.06e-006

+ tfacp=1.0+ptcp1*(pt-33.0)+ptcp2*(pt-33.0)*(pt-33.0)

58

Page 59: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

+ pvcpde=-1.8e-4*(w+5.5e-6)/(w+3e-6)

+ slopehalfdrift=0.1e-2/2 deltadrift=4e-6

+ vmis=drph/sqrt(2*w*l*abs(ma))

+ rrphmc=gauss_r(tf_mis_rand,0,1,1)

+ rrphmis=rrphmc*vmis*(1-sgn_r(abs(nsig)))+nsig*vmis

+ val=rhorph*l_cal/(w-2*dwrph)*tfacp/layout

+ af_ex=1.96352+(-92.4185e-3*(1e-6/w))+(-363.013e-3*(1e-6/l))

+ kf_ex=670.099e-18/(((w)**742.174e-3)*((l)**-208.654e-3))*2

+ ma_exp=(ma>1.5)*(af_ex-1)+(ma<1.5)

xr1 ( n1 n2 sub) resistor_va r=val vc1=pgvc1 vc2=pgvc2

drift_mag=10e-6 drift_tau=1u rrph=rrphmis pvc=pvcpde

+ mr=vmis*vmis*2

+ af=af_ex kf=kf_ex/(abs(ma))**(ma_exp)

c1 ( n1 sub ) capacitor c=1.011e-4*((1.15*w)+0.335e-6)*l_cal*abs(ma)/2.0

c2 ( n2 sub ) capacitor c=1.011e-4*((1.15*w)+0.335e-6)*l_cal*abs(ma)/2.0

ends rph

// *

// *

// *

// *

endsection cap

endlibrary s18_rc

59

Page 60: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

60

Page 61: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Appendix B

Verilog-A Code Modeling Lifetime

Drift in RPH Resistor

‘include "disciplines.vams"

‘include "constants.vams"

//‘include "constants.h"

//‘include "discipline.h"

//nature Current

// abstol=1e-12;

// access=I;

// units="A";

// blowup=1e15;

//endnature

//nature Voltage

// abstol=1e-12;

// access=V;

// units="V";

// blowup=1e15;

61

Page 62: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

//endnature

‘ifdef __VAMS_COMPACT_MODELING__

‘define ALIAS(alias,parameter) aliasparam alias = parameter;

‘define ERROR(str) \

begin \

$strobe(str); \

$finish(1); \

end

‘define WARNING(str) $strobe(str);

‘define OPP(nam,uni,des) (*units=uni, desc=des*) real nam;

‘else // not__VAMS_COMPACT_MODELING__

‘define ALIAS(alias,parameter)

‘ifdef insideADMS

‘define ERROR(str) \

begin \

$strobe(str); \

$finish(1); \

end

‘define WARNING(str) $strobe(str);

‘define OPP(nam,uni,des) real nam (*units=uni desc=des ask="yes"*);

‘else // notInsideADMS

‘define ERROR(str) \

begin \

$strobe(str); \

$finish(1); \

end

‘define WARNING(str) $strobe(str);

‘define OPP(nam,uni,des) real nam;

‘endif

62

Page 63: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

‘endif

‘define SPICE_GMIN 1.0e-20

‘define EXP_THRESHOLD 34.0

‘define MIN_EXP 1.713908431e-15

‘define MAX_EXP 5.834617425e14

module resistor_va(n1, n2, sub);

inout n1, n2, sub;

electrical n1, n2, sub;

branch (n1,n2) br_r;

parameter real r = 1 from [-inf:inf];

parameter real vc1=1 from [-inf:inf];

parameter real vc2=1 from [-inf:inf];

parameter real rrph=1 from [-inf:inf];

parameter real pvc=1 from [-inf:inf];

parameter real d_time=0.0009 from [-inf:inf];

parameter real scale=1 from [-inf:inf];

analog begin

V(br_r) <+ I(br_r)*(r +(1.0/(1+exp(-30000*

($abstime - d_time)))*(-2990 + 150000*$vt)*

(0.6 - 0.6*exp(-scale*10000000.0*$vt*(1+exp(-1.2*$temperature))

*($abstime - d_time)*(1.0/(1+exp(-$temperature+305)))))));

end

endmodule

63

Page 64: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

64

Page 65: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Appendix C

Skill GUI Code

;;; creating the File Name field

trFileNameField = hiCreateStringField(

?name ’trFileNameField

?prompt "Ocean Script:"

?defValue ".cshrc"

?callback "trDoFieldCheckCB( hiGetCurrentForm() )"

?editable t

)

procedure( trDoFieldCheckCB( theForm )

prog( (window_id)

inPort = infile( theForm->trFileNameField->value )

myPort = outfile("/design/mm/os20/users/anartya.mandal+

os20+os20a+1/drift_EDIT.ocn")

when( inPort

while( gets( nextLine inPort )

if( nextLine == " ’(\"$MAX_S18_PDKROOT/models

/spectre/s18_rc.scs\" \"res2\")\n"

then fprintf( myPort " ’(\"/design/mm/os20

/users/anartya.mandal+os20+os20a+1

65

Page 66: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

/s18_rc_drfit.scs\" \"res1\")\n" )

else fprintf( myPort nextLine )

)

)

close( inPort )

)

close( myPort )

)

)

trbrowseBtn = hiCreateFormButton(

?name ’browseBtn

?buttonText "Browse..."

?callback "ddsFileBrowseCB( hiGetCurrentForm() ’trFileNameField)"

)

;;; of the field and imbeds it in a message

trConeRadioField = hiCreateRadioField(

?name ’trConeRadioField

?prompt "Select Drift Model: "

?choices list( "rph" "rp" )

?value "rph"

?defValue "rph"

)

;;; create the driftstarttime box

trDriftstart = hiCreateFloatField(

?name ’trDriftstart

?prompt "Drift Start Time (s): "

?value 0.0009

66

Page 67: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

?defValue 0.0009

)

;;; create the driftscale box

trDriftscale = hiCreateFloatField(

?name ’trDriftscale

?prompt "Drift Scale Factor: "

?value 1.0

?defValue 1.0

)

;;; creating the run button

trButton = hiCreateButton(

?name ’trButton

?buttonText "Run"

?callback "trButtonCB(hiGetCurrentForm())"

)

;;; creating the form

hiCreateAppForm(

?name ’trSampleForm

?formTitle "Drift Simulation Utility"

?callback ""

?fields

list(

list(trFileNameField 5:5 600:20 120)

list(trbrowseBtn 610:5 90:30 70)

list(trConeRadioField 5:45 600:20 120)

list(trDriftstart 5:85 600:20 120)

list(trDriftscale 5:125 600:20 120)

67

Page 68: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

list(trButton 255:165 150:40 120)

)

?unmapAfterCB nil

) ; hiCreateAppForm

;;; displaying the form

hiDisplayForm( trSampleForm )

procedure( trButtonCB( theForm )

prog( ( drift_start scale )

drift_start = theForm->trDriftstart->value

scale = theForm->trDriftscale->value

inPort = infile( "/design/mm/os20/users

/anartya.mandal+os20+os20a+1/myresistor.va")

myPort = outfile("/design/mm/os20/users

/anartya.mandal+os20+os20a+1/myresistor_EDIT.va")

when( inPort

while( gets( nextLine inPort )

case( nextLine

( "parameter real d_time=0.0009

from [-inf:inf];\n"

fprintf( myPort "parameter

real d_time=%f from

[-inf:inf];\n" drift_start ))

( "parameter real scale=1 from

[-inf:inf];\n"

fprintf( myPort "parameter

real scale=%f from

[-inf:inf];\n" scale ))

( t

68

Page 69: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

fprintf( myPort nextLine ))

) ; case

)

close( inPort )

)

close( myPort )

load("drift_EDIT.ocn")

)

) ; procedure

69

Page 70: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

70

Page 71: Modeling 0.18 m BiCMOS (S18) High Sheet Resistance (RPH

Appendix D

Bibliography

[1] D. M. Kim, et. al, IEEE Trans. Electron Devices, vol. ED-31, no. 4, pp. 480-493,

1984

[2] M. J. Deen, et al. Low frequency noise in heavily doped polysilicon thin film

resistors IEEE. 1998

[3] Mann, et al., Silicides and Local Interconnects for high performance VLSI appli-

cations. IBM J. Res. and Dev. 1995

[4] Matts R. and Ulf S. Long-Term Stability and Electrical Properties of Compen-

sation Doped Poly-Si IC-Resistors. IEEE Electron Devices, Vol. 47, No. 2, 2000

[5] N. C. C. Lu, et. al, IEEE Trans. Electron Devices, vol. ED-30, no. 2, pp. 137-149,

1983

[6] Raman, M.S, et. al, Electron Devices, IEEE Transactions on, Issue Date: Aug.

2006

[7] Wei Li, and Rong-Chang Feng. Highly Accelerated Life Test for the Reliability

Assessment of the Lead-Free SMT Mainboard. IEEE. Microsystems, Packaging,

Assembly Conference Taiwan. 2006

71