For example consider the model we had for strong inversion where we had the

function of v d s and of course v g s and v s b, in the nonsaturation region and

then when we reached the upper limit of nonsaturation, which was v d s equal to v

d s prime. We replaced v d s by v d s prime.

And we use this function in the saturation for Vds larger than Vds prime.

We have already mentioned that depending on how this is done it may result in a

discontinuity of the slope. In other words the first derivative of

Ids versus Vds, or the second derivative, and so on.

So rather than using this approach another approach is to use a single

function for the current for all Vds values and replace Vds by an effective

Vds. This effective Vds is close to Vds in non

saturation and it is close to Vds prime in saturation.

So for example Vds effective versus Vds Is, goes like this.

It's equal to Vds here, that may deviate, and then becomes gradually close to to

Vds prime, and then there is no continuating, anywhere.

So this is sure continuating In the transition between non-saturation and

saturation. Of course, it is somewhat non-physical.

This is the price that you may have to pay if you use such an approach in order

to ensure continuity of the current and all its derivatives.

An example of a VDS effective function. Is this one here.

Where you can use this parameter a to set how sharply the transition will take

place from nonsaturation to saturation. Returing to formulation consideration

there should be no conditionals, no if statements, in the main model code.

For example, the model I just showed you would have been implemented by saying, if

VDS is VDS, less than VDS prime, use this equation.

And if VDS is greater than VDS prime, use that equation.

That should be avoided, and it can be avoided by using smoothing functions, as

I mentioned. On the other hand, you may have to use

some 'if' statements to turn on or off certain features.

Or to prevent numerical problems. Many more details about all of this can

be found in the book by the way. There should be an acceptable out of

range behavior for all variables. So if the computer momentarily tries

values that are outside the intended range of a[UNKNOWN] for the model nothing

bad should happen, no time should overflow.

And the convergence should be insured. the model should use charge formulation

rather than capacitance formulation. And we will understand better what this

means once we cover these topics. There are a certain set of issues known

as charge non-conservation issues. I cannot discuss them now, because we

haven't even talked about charge modeling, but you will find the

description in the book. The charges should be formulated in such

a way that you can predict non-quasi-static behavior.

Again, this is the behavior that takes place when the voltages across terminals

of the transistor are varying very fast. And the cahrges can not follow.

And then there are circuit simulator considerations.

Nodal analysis is used predominiantly and the emphasis is on voltage and charge

variables. The model code implementation might be

very large, for example 20,000 lines of code is not an uncommon length for

today's models. But the model should be made independent

of simulator details that there is now a very long A Standard for model

implementation for such purpose. And of cours, the model should be

exhaustively tested. More on that again, in the book.

So, in this breif video we talked aobut some of the considerations.

That, occur before one even starts implementing a model and of course there

are many more. I just wanted to give you a very brief

idea of what is involved here. In the next video we will talk about the

important topic of parameter extraction. In other words, how, we choose the values

of the parameters of the model to match measurements.