in this video what we will discuss the considerations that are relevant in the formulation of compact models for circuit simulation. Let us now assume that you are about to develop a model. You may never have to do that but it is good to know what it is that it takes to develop a model. If, if you have such Knowledge, you will be able to interface will model designers better. Let us say you are a circuit designer in a company. you want to complain to the modeling people about the model. You have to have some idea of what it takes to develop model. So a model developer starting to develop a model must consider a number of things before getting started. What are those first of all, what type of model he or she will be developing. Here we assume a physical compact model. What is the set of input parameters that will be used for the model? For example, substrate doping, oxide thickness are acceptable input parameters. Threshold voltage as I have mentioned before is not an acceptable paramater because it depends on substrate doping, oxide thickness and other things. So the set of input parameters that will be used should be independent of each other and as fundamental as possible. the modular must decide What references will be used in the preview? The source or the body? Also what approach will be taken for example a surface potential based approach, such as the one we have covered, or a charge based approach? Which we haven't really covered but is in the book. there must be consideration of smoothing functions to ensure a smooth transition between regions. And avoid discontinuators in current or the derivatives of currents. Let me give you an example of what is meant by smoothing functions. 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.