Using gm/id vs Id/(W/L) and gm/ID vs Va(early voltage) in a design

Status
Not open for further replies.

Blackuni

Full Member level 4
Joined
Apr 12, 2007
Messages
214
Helped
26
Reputation
52
Reaction score
1
Trophy points
1,298
Activity points
2,512
Hi,

After reading papers & discussions available in forum and I too understand that it can be used for analog design. But i have few doubts in using it.

After getting gm/id vs Id/(W/L) & gm/ID vs Va(early voltage) how can i interpret them and use them for my design.
Does I need to generate this for different values of W/L.

I have few design example which i got from earlier discussion in this forum but I am unable to understand them completely.

Please help me with your inputs/resources

Thanks
 

gm/id help

From your circuit, you determine what the necessary gm is. Then, you probably have a good idea for what range gm/id should be for your technology (plot gm/id * ft to get an idea of where the technology sweet spot is). Use the gm/id sizing chart to figure out what W/L should be.
 

Re: gm/id help

hi,

Thanks for your inputs. by using the gm/id sizing chart i can figure out W/L but how to choose L as some paper in this forum claim that they can also find L

Thanks
 

gm/id help

Well, you can plot 1/gds for different L's, to get a good idea of how long your device needs to be. Or you can also plot gm*ro, the intrinsic gain, versus VDS, for different L's.
 

Re: gm/id help

I provide u some usefull papers. I hope they helps u to undestand Gm/Id methodology completely. There are impotant for designer not only Gm/Id value, but Rout (Gds), Vdsat, bandwidth, matching and noise. This is the complete set to make decision regarding the trade-off in analog design.
 

    Blackuni

    Points: 2
    Helpful Answer Positive Rating
Re: gm/id help

Hi denis Mark,

Thanks for the papers and they helped me to understand gm/id method
but i have few doubts on using those equation in hspice

for example how to find technology current from HSPICE

Thanks
 

gm/id help

I am making such calculator though skill & spectre. Using spectre i obtain operation point parameters than i calculate others one (e.g. Rds, Gain, BW, Ft, matching).
I0 is empirical value because it isn't part of bsim3v3. If bias mos in weak inversion region u'll can calculate n0=1/((Gm/Id) * vt) and I0=2*n0*Kbeta*vt^2/(W/L). Few iterations for IC=0.1 and i'll get n0 and I0.
This way i obtain I0 and can to specify IC value and compute W=(ID/(IC*I0))*L.
 
Reactions: lamoun

    Blackuni

    Points: 2
    Helpful Answer Positive Rating

    lamoun

    Points: 2
    Helpful Answer Positive Rating
Re: gm/id help

Hello, Mark

I was wondering how you get I0 through spectre.
I have tried to get that valuse by hspice for a long time.
Thanks for your help.
 

gm/id help

Gm/Id and Kbeta are OP output parameters. vt=k*T/q. W and L are known.
I define W,L of mos, than compute OP, check that one in weak inversion, compute I0.
Using I0 i set IC, calculate W (L is known), get new I0, and so long.
I0 serves only to calculate W if IC is defined. It isn't goal for me to get precise I0 value, because OP parameters are calculated from W and L. Always i can check IC by viewing Gm/Id value. IC means the same as W/L if ID doesn't change.
 

Re: gm/id help

Hi denisMark,

thanks for the info. One more question. is there any indirect way to get mobility of my device.the tool i use don't have direct option to do so.

thanks a lot for any your inputs.

Thanks
 

Re: gm/id help

Hello, Mark

Through Hspice, I can get GM and Id by the following scripts.
.probe Gm= par('gmo(mn)')
.probe Id = par('i(mn)')
However, I do not know how to get Kbeta directly from output parameter.
If I want to get Kbeta, I will try to do the following way.
.probe Kbeta= par('GM/Vgst/(W/L)') GM=Kbeta*Vgst*(W/L)
or
.probe Kbeta= par('GM*Gm/2/Id/(W/L)') Kbeta=Gm^2/(2*Id*(W/L))
Can you tell me how to get Kbeta ?

Thank again
 

gm/id help

I don't work with hpsice at all.
In spectre bsim3v3 the OP parameter for Kbeta have name "betaeff" (may be it's share for another solver). Try .probe K=par('betaeff(mn)'). The formulas u used are valid only for strong inversion IC>>10, they can give u unnecessary results. Try to find another way.
"any indirect way to get mobility of my device" - i think there are no way to get mobility though OP. And it's not usefull, mobility isn't constant along chanel, it's depended from temperature. U can see low-field surface mobility value at normal temp in model card.
Best regards
 

Re: gm/id help

Hello, Mark

You are exactly right about my expression for Kbeta.
One more question for you.
Does I0=2*n0*Kbeta*vt^2/(W/L) in your post equal I0 or Is in my attached file ?
This is how I get I0, again.
Assume I0=2*n0*Kbeta*(W/L) *vt^2
I0 can be expressed as the following
I0=2*(Id/Gm/vt)*Kbeta*(W/L) *vt^2=2*(Id/Gm)*Kbeta*(W/L)*vt
=2*(Id/Gm)*Beta*vt
In Hspice, Beta is expressed as U0*Cox*(W/L) and can be get by .probe Beta=par('LV21(mn)').
However, I can not get a figure like Fig.1 in the following paper.
**broken link removed**
What figure i get is something like another attached figure.
I do not think that makes sense.
Anyway, thank Mark for your help.
 

gm/id help

It looks like u compute I0 for every IC value to make drawing. Don't forget that n=1/((Gm/Id) * vt) only valid for weak inversion. U'll need to calculate I0 value once for weak inversion. Than use this value to calculate IC for all kinds of inversion when u draw graph.
I see that in hspice and spectre betaeff means the same as Kbeta*(W/L) or u0*Cox*(W/L). It seems I make u to be deluded. Sorry, I calculate I0 value, and I0=2*n0*Kbeta*vt^2/(W/L) means the same I0=2*n0*betaeff_from_spectre_or_hspice*vt^2/(W/L).
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…