Sie sind auf Seite 1von 8
BSIM3v3.1 MOSFET SIMULATION http://www.leapcad.com/Other_Tech/BSIM3V3_ MOS_Simulator.mcd University of California Berkeley

BSIM3v3.1 MOSFET SIMULATION

BSIM3v3.1 MOSFET SIMULATION http://www.leapcad.com/Other_Tech/BSIM3V3_ MOS_Simulator.mcd University of California Berkeley

http://www.leapcad.com/Other_Tech/BSIM3V3_ MOS_Simulator.mcd

University of California Berkeley MOSFET Model from BSIM Group

http://www.eecs.berkeley.edu/Pubs/TechRpts/1998/3486.html

http://www-device.eecs.berkeley.edu/~bsim3/

BSIM3v3 is the latest industry-standard MOSFET model for deep-submicron digital and analog circuit designs from the BSIM Group at the University of California at Berkeley. BSIM3v3.2 is based on its predecessor, BSIM3v3.1. Its many improvements and enhancements include

* A new intrinsic capacitance model (the Charge Thickness Model), considering the finite

charge layer thickness determined by quantum effect, is introduced as capMod 3 It is very accurate in all operating regions.

* Modeling of C-V characteristics at the weak-to-inversion transition is improved.

* The T(ox) dependence is added into the threshold voltage model.

* The flat-band voltage is added as a new model parameter to accurately model MOSFET's with different gate materials.

* Substrate current dependence on the channel length is improved.

* The non-quasi-static (NQS) model is restructured to improve the model accuracy and simulation efficiency. NQS is added in the pole-zero analysis.

* The temperature dependence is added to the diode junction capacitance model.

* The DC junction diode model now supports a resistance-free diode model and a

current-limiting feature.

* Option of using C-V inversion charge equations of capMod 0, 1, 2 or 3 to calculate the

thermal noise when noiMod == 2 or 4 is added.

* The small negative capacitance of C(gs) and C(gd) in the accumulation-depletion regions is eliminated.

* A separate set of length/width-dependence parameters is introduced in the C-V model to better fit the capacitance data.

BSIM3v3.1 MOSFET SIMULATION

Note:Used Excel to import RMA's data file. Got records " a0=0.7, " into N columns of "name=data" and then into 2N columns by removing " = " as delimiters. Fill in empty cells to get rectangular matrix. Concat """ around text. Then copy into MathCad PRN file format with Rows and 2N Columns, e.g. examine files NCH.PRN or MNLPRN.PRN.

Features:

L := 0.35um

W := 0.6um

L := 4UDR

W := 4UDR

F(string) :=

for

j

0

(cols(P).5) 1

for

i

0

rows(P)

1

if

string

=

(

T

(

P

break

P

2j

2j+1

)

i

)

i

FUNCTION:

Find param eters in P that match the string. Flag match failures.

T

if (T = 0)(i = rows(P)

1)

,

T

11, 1

,T

c2_vs

:=

2

cm

(voltsec) 1

DEFINE: VARIABLES = BSIM3 DATA

wr := F("wr" )

f_m2

:=

farad m

2

f_m2v

:=

farad m

2

volt

1

a0 := F("a0" )

alpha0

beta0 := F("beta0" )volt

cgbo := F("cgbo" )

cj := F("cj" )

diflens := F("diflens" )

dvt0w :=

dvt2w

etab

k3 := F("k3" )

kt11 := F("kt1l" )

:=

F("alpha0" )m V

F("dvt0w" )

:=

:=

F("dvt2w" ) volt

F("etab" ) volt

1

1

mjsw :=

F("mjsw" )

 

ngate :=

F("ngate" )

pbsw :=

F("pbsw" )

pdiblcb

:=

F("pdiblcb" ) volt volt

pscbe1

:=

F("pscbe1" )

m

1

1

a1 := F("a1" )

alpha1

cdsc := F("cdsc" )f_m2

:= F("alpha1" )

F("alpha1" ) volt

1

ags

b1 := F("b1" )m

F("ags" ) volt 1

:=

b0 := F("b0" )m

cdscb := F("cdscb" )f_m2v cdscd := F("cdscd" )f_m2v

a1 :=

F("a1" )

a2 := F("a2" )

cit := F("cit" )f_m2

a1 :=

F("a1" )

:= F("delta" )volt

at := F("at" )

drout := F("drout" )

dsub := F("dsub" )

dvt0 :=

F("dvt0" )

dvt1

:=

F("dvt1" )

dwb

:=

F("dwb" )m volt

0.5

dvt1w

dwg

:=

:=

F("dvt1w" ) m

F("dwg" )m volt

1

k1

k3b

a1 := F("a1" )

a1 := F("a1" )

nlx := F("nlx" )m

pclm := F("pclm" )

a1 := F("a1" )

pscbe2

F("k1" ) volt

:= F("k1" )

0.5 k2 := FF(("k2""k2" ))

1

:=

:=

:=

F("k3b" ) volt

keta

lint := F("lint" )m

nch

nsub

pdiblc1 := F("pdiblc1" )

prwb

pvag := F("pvag" )

F("keta" ) volt

F("nch" ) m

3

:=

:=

F("nsub" ) m

F("prwb" ) V

3

0.5

1

F("pscbe2" )

m

volt

:=

1

F("dvt2" ) volt 1

dvt2

eta0 := F("eta0" )

js := F("js" )

F("at" )

at

at

nfactor := F("nfactor" )

at := F("at" )

pdiblc2 := F("pdiblc2" )

:=

:=

:=

F("at" )

prwg

:=

F("prwg" ) volt 1

rdsw

:=

F("rdsw" )ohm um wr

rsh := F("rsh" ) tc1s := F("tc1s" )

tox := F("tox" )m

ub

F("ub" ) m

2

V

:=

2

a1 :=

a1 :=

u0 := F("u0" )c2_vs

ub1

F("a1" )

a2 :=

F("a2" )

at := F("at" )

F("a1" )

a2 :=

F("a2" )

tnom := F("tnom" )

:=

F("ub1" ) m

2

V

2

ua

:=

F("ua" )m V

1

ua1

:=

uc

:=

F("uc" )m V

2

uc1

:=

F("ua1" )m V

F("uc1" ) m

2

V

1

2

ute := F("ute" )

 

vbm :=

F("vbm" )volt

vbx := F("vbx" )volt

voff := F("voff" )volt

vsat

:=

F("vsat" )

m

 

vth0

:=

F("vth0" )volt

w0 := F("w0" )m

 

wint := F("wint" )m

wln := F("wln" )

sec

wwn+wln+1

wl

:=

F("wl" ) m

10

m

wwn := F("wwn" )

ww F("ww" ) m

:=

wwn+1

wwl

xt

:=

:=

F("wwl" ) m

1.55 10

7

m

fox

:=

8500 10

xj := F("xj" )m

dWeff

:=

0.3 10

 

6

m

at := F("at" )

dLeff

:=

0.25 10

6

m

PHYSICAL CONSTANTS:

14

farad

o

:=

8.854 10

cm

ox

:=

3.9

o

si

:=

11.9

o

q

Nc

1.602 10

:=

2.8 10

19

19

coul

cm

3

k

:=

Nv

1.380658 10

23

:=

1.04 10

19

cm

joule

3

lint

=

1.17

10

7

m

DEVICE PARAMETERS:

toxm := tox

dL := lint

T := 300.15

nds

10

20

m

:=

CALCULATIONS:

t

:=

T

k

q

E

g0

:=

1.16

7.02

10

4

T

2

T + 1108

dWp

:=

wint

+

wl

ww

wwl

+

+

L wln W wwn ox C := ox := s tox 2◊q ◊ ◊nch si
L wln
W wwn
ox
C
:=
ox :=
s
tox
2◊q
◊nch
si
1 :=
:=
2
C ox
L wln W wwn ◊ 2 ◊ k◊T  nch  ◊ ln q 
L wln W wwn
2 ◊ k◊T
 nch
ln
q
 ni
2◊q
◊nsub
si

C ox

3

V

:= 0volt

1 := 0.001volt

bs

nsub

2.2.26

:=

10

20

m

3

volt ni

:=

1.45 10 10

T

300.15

W

effp

:= W

2dWp

V

bx

:=

s

qnch xt 2

2

si

1.5

exp 21.5565981

E g0 q

2kT

L

eff

:= L

2lint

V bi

:=

kT

q

K

1 := k1k1

ln

  ni 2

nchnds

K 2

:= k2k2

cm

3

( ) ◊( ) 1 2 s V bx s := K 2  ◊(
(
)
◊(
)
1
2
s
V bx
s
:=
K 2
◊(
)
2
vbm
  + vbm
s
s
s
K 1
V
:=
0.9
bc
s
2  
V bseff
2 ◊
K
2
 
2 ◊
si
s
:=
2.1.17 B1.1
X depo
q◊nch
si X depo
:=
l t0
C ox
◊ X
si
dep
◊(
l
:=
1
+
dvt2w
)
tw
V bseff
C
ox
V
:=
vth0
K
A
fb
s
1
s
10

Berkeley example defines k1 and k2

:=

◊ vbm s
vbm
s
 

K

1

:=

2

2K 2

V bc

+

0.5

V bs

 

V bc

1

+

( V bs

(

V

bs

V bc

2

1 )

4

1

V

bc

 

X

 

2

si

(

 

s

V bs

)

 

K lox

:=

K

1

tox

dep

:=

dep :=   q ◊ nch   toxm
 

qnch

 

toxm

l

t

:=

◊ X si dep C ox
◊ X
si
dep
C
ox

(

1

+

dvt2

V

bseff

)

2.1.16

 
 

si

 

C

d

:=

X dep

 

V

th0ox

:=

vth0

 

K

◊ 1 s
1
s
 
:= K 1ox K 1
:=
K 1ox
K 1
 
:= K 2ox K 2
:=
K 2ox
K 2

Note: Circular defn. Weff is function of Vgsteff(Vth). Therefore Substituted Weffp for Weff in Dvtw.

  W ◊ L effp eff   W ◊ L effp eff 
W
◊ L
effp
eff
W
◊ L
effp
eff
◊(
Dvtw
:=
dvt0w
exp dvt1w
+
2
exp dvt1w ◊
V bi
2 l
tw
l tw
L eff
L eff
◊(
Dvt
:=
dvt0
exp
dvt1 ◊
)
dvt1
+
2 exp
V bi
s
2 l
l
t 
t
L
eff
L
eff
D V
(
)
◊(
:=
1
◊ 
exp dsub ◊
 
+
2 exp
dsub ◊
   
eta0
+
etab
V
)
ds
bseff
V ds
2 ◊
l t0
l t0
nlx
tox
Do
:=
K
1
+
1
+
( k3
+
k3b ◊
)
1ox
s
V bseff
s
L
eff
W effp + w0

s

)

eta0 = 0

Dvtw

=

7.152

10

3

volt

Dvt = 0.233 volt

D(6V) = 0 V

Do = 0.012 volt

To

V

th

:=

(

V

dvt2 V

bseff

ds

)

:=

V

th0ox

+

To = 0 K ◊ 1ox s V bseff
To = 0
K
1ox
s
V bseff

K 2ox V bseff

+ Do + Dvtw + Dvt

+

2.2.11

V

thx

(

V

ds

)

:=

◊(   ) vth0 + K   1 s V bs s 
◊(
)
vth0
+
K
1
s
V bs
s

K 2

V

bs

+

K

1K   1 s V bs s    K 2 ◊ V bs

D V ( ) ds   ◊ s    
D V
(
)
ds
 
s
 

V th0ox

= 0.85 volt

V

th

(0V) = 0.638V

V

thx

(0V) = 0.876 V

 

C

d

(

cdsc

+

cdscd V

ds

+

cdscb

V

bseff

)

exp

eff

2l t

dvt1

L

  2 exp

+

eff

l t

dvt1

L

 

+

 

+

 
 
 

C

ox

 

C

ox

 

C

8 temp4 V

(

ds

))

(

V ds

) > 0.5

,

1

1

(

2 n V

(

temp4 V

(

n2 V

ds

)

:=

ds

)

(

, n2 V

ds

(

))

1

+

3 temp4 V

(

ds

ds

)

ln

t

1

+

exp

V gs

V th

ds

(

2 n V

(

)

V

ds

t

)

 

))

(

To V

ds

)

n(3volt) = 0.384

)

:=

1

2 n V

C

 

V

gs

(

V th V ds

)

2voff

dWp

+

+

(

dwg V

ds

)

gsteff

ox

2 ◊ s ◊ q ◊ ◊nch si
2 ◊
s
q ◊
◊nch
si

exp

(

2 n V

ds

)

t

(

V

gs

, V

ds

)

+

dwb

) V s bseff s
)
V
s
bseff
s

(

 

(

temp4 V

ds

)

:=

nfactor

(

To V

ds

n

(

V

ds

)

)

:=

(

3

+

:=

(

if temp4

(

V gsteff V gs V ds

,

dW

(

V gs V ds

,

)

:=

cit

ox

(

W eff V gs V ds

,

eff

(

V gs

,

V ds

)

)

( V

gs V ds

,

)

:=

:=

:=

W

L

W

 

2 dW

(

V gs V ds

,

)

u0

 

1

+

(

ua

+

uc

V bseff

)

V

gs

+ V

th

(

V

ds

)

ub

+

V gs

+

V th

(

V

ds

)

2

 

tox

 

tox

 

+

L

eff

(

V

gs

, V

ds

)

C ox

 

th

(L)

:=

exp

2 l t

 

2 exp

L

l t

Velocity, , is not used explicitly in model

(

(

(

(

,

,

,

)

:=

2vsat

(

V ds

)

 

:=

if

 

eff

eff E eff

E

>

vsat, vsat ,

eff E eff

eff

V gs

,

 

 

E

eff

 

E

eff

 
   

1

+

 

1

+

 

 
 

V gs

+

V th

(

V

ds

)

E

sat

 

E

sat

 

:=

)

:=

1

1

ags V

gsteff

K

lox

(

V

gs

, V

ds

)

L

eff

L + 2 ◊ xj ◊ eff X dep
L
+
2
xj
eff
X dep

a0 L

eff

2

V

V

b0

 

1

)

:=

+

 2 ◊ L + 2 ◊ xj ◊ s V bseff  eff X
2
L
+
2
xj
s
V bseff
eff
X dep

(

E sat V gs V ds

,

)

L

eff

(

V

gsteff

(

V

gs

(

A bulkx

, V

ds

)

+

(

2

gs

t

)

,

ds

))

+

W effp + b1

1

+

keta

V bseff

 

)

:=

(

A bulk V gs V ds

,

)

E sat V gs V ds

,

(

)

L

eff

+ (

(

V gsteff V gs V ds

,

)

+

2

)

t

 

V

dsat

(

V

gs

, V

ds

)

1

2

(

(

V dsat V gs V ds

,

)

V

ds

 

) +

 
( V dsat (

(

V

dsat

(

V

gs

, V

ds

)

V

ds

)

2

+

4

V dsat V gs V ds

,

(

)

 

A bulk

(

V

gs

, V

ds

)

E

sat

(

V

gs

, V

ds

)

L

eff

V

   

(

V aclm V gs V ds

,

)

:=

pclm

A bulk

(

V

gs

, V

exp drout

L

2 l

eff

t0

exp drout

+

2

L

l

eff

t0

ds

)

E

sat

(

V

gs

+ pdiblc2

,

V

ds

)

l

itl

(

ds

(

V dseff V gs V ds

,

))

 

rdsw

1

+

prwg V

gsteff

(

V

gs

, V

ds

)

+

prwb

(

 

V bseff

 

)

 

:=

:=  s   s

s

 
s

s

:=

W effp

wr

E sat V gs V ds

(

E eff V gs V ds

)

(

)

, 6tox

A bulkx V gs V ds

,

A bulk V gs V ds

V dsat V gs V ds

(

V dseff V gs V ds

,

l itl :=

3◊xj◊tox
3◊xj◊tox

:=

pdiblc1

rout

R ds V gs V ds

,

)

V

 

(

V

gsteff

(

V

gs

, V

ds

)

+

2

t

)

1

A

bulk V gs V ds

,

(

)

V dsat V gs V ds

,

(

)

 

V

(

adiblc V gs V ds

,

)

:=

E

rout

V

(

1

+

pdiblcb

L

V

bseff

V

)

V

(

A bulk V gs V ds

,

2 R

V

)

V dsat V gs V ds

,

(

)

+

C

W

V

(

gsteff V gs V ds

,

V

)

V

)

+

 

2

V

t

V

1

(

A bulk V gs V ds

,

)

V

(

dsat V gs V ds

,

)

V

(

Asat V gs V ds

,

) :=

V

sat

(

V

gs

, V

ds

)

eff

1

+

dsat

(

pvag V

gs

, V

gsteff

ds

)

(

V

+

gs

, V

ds

ds

)

(

gs

, V

ds

)vsat

1

ox

eff

(

gs

, V

1

ds

 

gsteff

(

1

gs

,

ds

)

2

(

V

gsteff

(

V

gs

, V

ds

)

+

2

)

t

(

A V gs V ds

,

) :=

Asat

(

gs

, V

ds

)

+

+

(

E sat V gs V ds

,

)

L

eff

 

(

V aclm V gs V ds

,

1

)

V

+

(

V adiblc V gs V ds

,

)

(

V dseff V gs V ds

,

)

 

I

W eff

(

V gs V ds

,

)

(

eff V gs V ds

,

)

(

C ox V gsteff V gs V ds

,

)

 

A bulk

(

gs

, V

ds

)

2

(

V

gsteff

(

V

gs

, V

ds

)

+

2

t

)

(

V dseff V gs V ds

,

)

(

dso V gs V ds

,

) :=

1 pscbe2

=

exp

pscbe1

l itl

1

L

eff

1

+

(

V dseff V gs V ds

,

)

(

E sat V gs V ds

,

)

L

eff

V

ascbe

 

L

eff

V ds

V dseff

alpha1

:=

0 volt

alpha1 added in BSIM3V3.2.

 

Rouchoz has not yet extracted.

 

( ,

I sub V gs V ds

)

:=

(

I ds V gs V ds

,

Vgs := 0

6

)

alpha0

+

alpha1 L

eff

L

eff

(

V

ds

V

dseff

(

V

gs

, V

ds

))

exp

beta0

V ds

(

V dseff V gs V ds

,

)

I

dso

(

V

gs

,

V

ds I dso V gs V ds

)

1

+

R

ds

(

V

gs

, V

ds

)

(

)

,

(

V dseff V gs V ds

,

)

1

+

V

ds

(

V dseff V gs V d

,

(

V A V gs V ds

,

)

:=

I

dso

(

V

, V

ds

)

gs R ds V gs V ds

(

,

)

1

+

I dso V gs V ds

,

(

)

(

V dseff V gs V ds

,

)

1

+

V

ds

(

V

gs

, V

ds

)

dseff V A V gs

(

V

,

V ds

)

 

 

1

+

(

V

ds

V

dseff

(

Vds := 0 , 0.5

9

R ds (3volt, 4volt) = 601.46

I sub (14V, 10V)

=

2.407

10

V

gs

, V

4

A

ds

))

pscbe2

L

eff

exp

pscbe1 l

itl

V ds

(

V dseff V gs V ds

,

)

    

 

1

a

MNL 1.4 x 1.4 um Id versus Vds 1 0.9 I ds (6◊volt , Vds◊volt)
MNL 1.4 x 1.4 um
Id versus Vds
1
0.9
I ds (6◊volt , Vds◊volt)
0.8
I ds (5◊volt , Vds◊volt)
0.7
I ds (4◊volt , Vds◊volt)
0.6
I ds (3◊volt , Vds◊volt)
0.5
0.4
I ds (2◊volt , Vds◊volt)
0.3
I ds (1◊volt , Vds◊volt)
0.2
0.1
0
0
1
2
3
4
5
6
7
8
9
10
Vds
Vds (volt)
6
8
3
um
10
◊m
A
10
◊cm
millihenry
10
◊henry
∫ ohm
mamp ∫ 0.001◊amp
1.4◊um
eV ∫ q◊volt
UDR ∫
4
Idds :=
for
Vd
0
6
for
Vg
0
6
I
(Vg◊volt, Vd◊volt)
on error 100
ds
ID Vd, Vg
ID
Ids (mA)

Idds = 0