Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Problem with HSpice program that plots the curve i-vgs

Status
Not open for further replies.

lhlbluesky

Banned
Joined
Mar 30, 2007
Messages
558
Helped
5
Reputation
10
Reaction score
5
Trophy points
1,298
Location
china
Activity points
0
hspice problem ,too

i want to plot the curve ''i-vgs'',then obtain the value of vth0,
but for nmos transistor,my result for vth0 is negetive,why?
please help me.

.options list node post
.lib 'F:\hspice\ms018_v1p4.lib' tt
.op
vdd 1 0 1.8v
vin 2 0 1.0v
m1 0 2 1 1 p18 l=0.18u w=0.18u
.dc vin 0.1v 1.8v 0.1v
.plot dc i(m1)
.end



volt i(m1)
(a ) 0. 50.0000u 100.0000u 150.0000u 200.0000u
+ + + + +
0. 18.071p-a------+------+------+------+------+------+------+------+-
100.0000m 268.342p a + + + + + + + +
200.0000m 4.537n a + + + + + + + +
300.0000m 63.065n a + + + + + + + +
400.0000m 591.556n a + + + + + + + +
500.0000m 3.186u +a + + + + + + + +
600.0000m 9.346u + a + + + + + + + +
700.0000m 18.420u + a + + + + + + + +
800.0000m 29.351u + +a + + + + + + +
900.0000m 41.514u + + a + + + + + + +
1.0000 54.530u-+------+------+a-----+------+------+------+------+------+-
1.1000 68.141u + + + a + + + + + +
1.2000 82.154u + + + + a + + + + +
1.3000 96.429u + + + + a+ + + + +
1.4000 110.855u + + + + + a + + + +
1.5000 125.352u + + + + + a + + +
1.6000 139.855u + + + + + + a + + +
1.7000 154.315u + + + + + + +a + +
1.8000 168.693u + + + + + + + a + +
+ + + + +




i use the formula as follows:

i1/i2=(vgs1-vth0)^2/(vgs2-vth0)^2


please help me,thanks first!
 

Re: hspice problem ,too

Hi
m1 0 2 1 1 p18 l=0.18u w=0.18u
it seems that you are using pmos insteed of nmos.
Vth0 of pmos is negative.
I think you are mistaking to use your model.
If it is possible attach your model.
regards
 

hspice problem ,too

sorry,my procedure is as follows:

.options list node post
.lib 'F:\hspice\ms018_v1p4.lib' tt
.op
vdd 1 0 1.8v
vin 2 0 1.8v
m1 1 2 0 0 n18 l=0.18u w=0.18u
.dc vin 0v 1.8v 0.1v
.plot dc i(m1)
.end


the above is wrong,

please help me again.
 

Re: hspice problem ,too

lhlbluesky said:
i use the formula as follows:
i1/i2=(vgs1-vth0)^2/(vgs2-vth0)^2
Hi
write complete computations.
draw any curve that you used.
I think you have a mistake in computations.
regards
 

Re: hspice problem ,too

Hi~

I am sorry about that i don't check your spice code.

However, i think you use the wrong equation to compute.

idn=1/2*(W/L)n*un*Cox*(Vgs-Vtn)^2
idp=1/2*(W/L)p*up*Cox*(Vgs-Vtp)^2

Vtn is equal to Vtp roughly and L are all 0.18um in .18 process; therefore, your equation should be rewrite as follows:

idn (W)n*µn(Vgs-Vtn)^2
---= -------------------------
idp (W)p*µp(Vgs-Vtp)^2

Kian Chang
 

hspice problem ,too

i mean for the same nmos transistor,in saturation region, two different vgs(vin) have
two different i(m1) ,see it again and give me some advice,thanks.
 

Re: hspice problem ,too

Hi~

I am sorry about that i don't check your spice code.

However, i think you use the wrong equation to compute.

idn=1/2*(W/L)n*un*Cox*(Vgs-Vtn)^2
idp=1/2*(W/L)p*up*Cox*(Vgs-Vtp)^2

Vtn is equal to Vtp roughly and L are all 0.18um in .18 process; therefore, your equation should be rewrite as follows:

idn (W)n*µn(Vgs-Vtn)^2
---= -------------------------
idp (W)p*µp(Vgs-Vtp)^2

Kian Chang
 

hspice problem ,too

Hi
1- use larger L because of velocity saturation
2- use two points in saturation that it's Vds are equal.
regards
 

hspice problem ,too

i have enlarged my L for 10 times,but it's still won't work.it seems that the curve of i--vds is a line.

help me again
 

hspice problem ,too

Hi

**** IV *****
.options list node post
.protect
.lib 'C:\synopsys\lib\mm018.l' tt
.unprotect
.op
vdd 1 0 1.8v
vin 2 0 1.8v
m1 1 2 0 0 n l=0.18u w=0.22u
.dc vin 0v 1.8v 0.1v
.plot dc id(m1)
.end

use this code and plot id(m1) vs. Vin
plot this curve and place it here.
change the model name befor.
can you upload your model here (or PM)?
regards
 

hspice problem ,too

this is my spice netlist,

.options list node post
.lib 'F:\hspice\ms018_v1p4.lib' tt
.op
vdd 1 0 1.8v
vin 2 0 1.8v
m1 1 2 0 0 n18 l=0.15u w=0.30u
.dc vin 0v 1.8v 0.1v
.plot dc i(m1)
.end

my lib is
ms018_v1p4.lib
 

Re: hspice problem ,too

hi

ok
use this code simulate and plot id(m1) vs. Vin.
use avanwaves and draw it.
use paint and save it as jpg.
upload the jpg here.
ok?


**** IV *****
.options list node post
.protect
.lib 'F:\hspice\ms018_v1p4.lib' tt
.unprotect
.op
vdd 1 0 1.8v
vin 2 0 1.8v
m1 1 2 0 0 n18 l=0.18u w=0.22u
.dc vin 0v 1.8v 0.1v
.plot dc id(m1)
.end



lhlbluesky said:
my lib is
ms018_v1p4.lib

I know, upload it.
 

hspice problem ,too

somebody knows like me simul temperature in the sipce and which the program that I lower
 

Re: hspice problem ,too

see analysis and design of analog integrated circuits by paul gray, pp.68. use curve fitting but not calculating vth
 

hspice problem ,too

To get the Vt, simulate with low Vds, say 0.1V.

Then plot Id vs Vgs and gm vs Vgs.

At the highest Gm, extrapolate the slope of Id-Vgs back to zero Id. Call this intercept Vg(0)

Then Vt = Vg(0) - Vds/2
 

Re: hspice problem ,too

lhlbluesky said:
i use the formula as follows:

i1/i2=(vgs1-vth0)^2/(vgs2-vth0)^2


please help me,thanks first!

Maybe, in 0.18um model,
the formula i=β*(vgs-vth0)^2 is not accurate.
so if you use i1/i2=(vgs1-vth0)^2/(vgs2-vth0)^2 to get vth0, it may also not accurate.

In Hspice, you can use
.probe dc LV9(m1)
to get vth.
 

hspice problem ,too

Is this a PMOS device?

Try the following:

.options list node post
.lib \'F:\\hspice\\ms018_v1p4.lib\' tt
.op
vdd 1 0 -0.1v
vin 2 0 -1.0v
m1 1 2 0 0 p18 l=0.18u w=0.18u
.dc vin 0 -1.8v -0.1v
.plot dc i(m1)
.end

Extrapolate the curve to zero current.

Vto = Vextrap - Vds/2 = Vextrap + 0.05 V

Threshold must be determined in linear region, NOT saturation. This method does that, using the linear region equation:

Id=k'*w/l*(Vgs-Vto-Vds/2)*Vds

The reason the saturation equation can't be used is (as xiaorui2007 said) that the factor m is seldom really 2, but more likely 3 or more:

Id = k'/m*w/l*(Vgs-Vto)^2

I think this is worse for modern devices; maybe it was actually about m=2 twenty years ago ...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top