EDA课程设计报告概论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津工业大学
毕业实践实习报告N沟道MOS管工艺模拟与器件模拟
班级:电科1103
学号:1110940316
姓名:汪兆明
成绩:
2015年4月1日
一、实践目的
熟练氧化、离子注入与扩散工艺,使用Silvaco软件进行模拟,掌握CMOS 工艺流程。
学会用Silvaco软件提取MOS晶体管的各种参数,掌握用SILVACO 工具对MOS晶体管进行器件模拟
二、实践要求
1、用Anthena构建一个NMOS管,要求沟道长度不小于0.8微米,阈值电压在
-0.5v 至 1V之间。
2、工艺模拟过程要求提取S/D结结深、阈值电压、沟道表面掺杂浓度、S/D
区薄层电阻等参数。
3、进行器件模拟,要求得到NMOS输出特性曲线族以及特定漏极电压下的转移
特性曲线,并从中提取MOS管的阈值电压和β值。
4、分析各关键工艺步骤对器件性能的影响。
三、操作步骤
1、启动silvaco软件。
2、创建一个网格并定义衬底的参数。
3、由于本实验运用了cmos工艺,所以先在衬底上做一个p阱,严格定义p阱的浓度,注入能量,以及阱区的推进。
4、生长栅氧化层,严格控制各参数。
diffus time=10 temp=950 dryo2 press=1.00 hcl.pc=3
5、淀积多晶硅,其厚度为0.2um。
6、刻蚀掉x=0.35左面的多晶硅,然后低剂量注入磷离子,形成轻掺杂层,剂量为3e13,能量为20kev。
7、淀积氧化层,然后再进行刻蚀,以进行下一步的源漏区注入。
8、进行源漏砷离子的注入,剂量为4e15,能量为40kev。
9、淀积铝,形成S/D金属接触。
10、进行向右镜像操作,形成完整的nmos结构并定义电极。
11、抽取源漏结深,阈值电压,n+区薄层电阻,沟道表面掺杂浓度,轻掺杂源漏区的薄层电阻等参数。
12、描述输出特性曲线并绘出。
13、描述转移特性曲线并绘出,同时从中提取MOS管的阈值电压和β值。
四.测试结果
4.1 测试结果分析
4.1.1.工艺图
4.1.2.获取器件参数
在这一部分,我们将提取这半个NMOS结构的一些器件参数,这些参数包括:
a.结深
b.N++源漏方块电阻
c.边墙下LDD区的方块电阻
d.长沟阈值电压计算结深
计算结深的语句如下:
extract name="nxj" xj silicon mat.occno=1 x.val=0.1 junc.occno=1
获取N++源/漏极薄层电阻
extract name="n++ sheet rho" sheet.res material="Silicon"
mat.occno=1 x.val=0.05 region.occno=1
测量沟道阈值电压
extract name="n1dvt" 1dvt ntype vb=0.0 qss=1e10 x.val=0.49
在这条extract语句中,1dvt指测量一维阈值电压;ntype指器件类型;
x.val=0.49为器件沟道内一点;qss=1e10指浓度为1e10cm-3的表面态电荷;vb=0.0栅极偏置0V。
沟道表面掺杂浓度
extract name="chan surf conc" surf.conc impurity="Net Doping" \ material="Silicon" mat.occno=1 x.val=0.45
抽取参数
nxj=0.34326 um
n++ sheet rho=73.3932 ohm/square
n1dvt=0.607028 V
chan surf conc=6.14477e+016 atoms/cm3 4.1.3. NMOS输出特性曲线族
ATLAS> # extract max current and saturation slope ATLAS>
EXTRACT> init infile="nmos4.log"
EXTRACT> extract name="nidsmax" max(i."drain") nidsmax=0.000442929
EXTRACT> extract name="sat_slope"
slope(minslope(curve(v."drain",i."drain")))
sat_slope=1.47523e-005
EXTRACT> quit
抽取参数
nidsmax=0.000442929
sat_slope=1.47523e-005
4.1.4. 转移特性曲线
4.1.
5. 提取MOS管的阈值电压和 值
抽取参数
nvt=0.583053
nbeta=0.000113053
nsubvt=0.0868159
4.2 Silvaco模拟仿真NMOS流程
4.2.1.ATHENA的NMOS工艺仿真
1. 衬底初始化
默认情况下,材料为Silicon并且其晶向为<100>
硅材料掺杂质Boron,这样就选择了硼为衬底的掺杂杂质,设置背景掺杂浓度为:1.0x1014atom/cm3。
选择space.mul=2。
这将强制使得仿真在两维中进行
初始化信息如下所示。
#InitialSiliconStructurewith<100>Orientation
init silicon c.boron=1.0e14 orientation=100 two.d
2 栅氧化
将要在硅片的表面生长一层栅氧化层,这个工艺条件为950度下干氧氧化11分钟,环境为3%的HCL,一个大气压语句如下:
#GateOxidation
Diffu stime=11 temp=950 dryo2 press=1.00 hcl.pc=3
3 阈值电压调整
我们将实现一个阈值电压调节注入的工艺,它是通过能量为10KeV,剂量
为2x1011cm-2实现的。
硼杂质的掺杂分布将会如图所示显现出来。
4. 淀积多晶硅栅
在NMOS工艺中,多晶硅的厚度约为0.22um。
语句如下:
depo poly thick=0.22 divi=10 这里需要10个网络层来仿真杂质在多晶硅层中的传输。
5 多晶硅栅定义
在NMOS工艺中,多晶硅的厚度约为0.22um。
语句如下:
depo poly thick=0.22 divi=10 这里需要10个网络层来仿真杂质在多晶硅层中的传输。
6多晶氧化
接下来定义多晶硅的栅极,将多晶硅栅极网格边缘定义为x=0.35um,中心网格定义为0.8um。
对多晶硅从左边x=0.35um开始刻蚀。
etch poly left p1.x=0.35
刻蚀后的图形如下图:
7 多晶掺杂
在定义好多晶栅后,接下来的步骤是多晶注入前的多晶氧化多晶氧化。
氧化条件是3分钟,900度,1个大气压下的湿法氧化。
fermi模型通常用于没有损伤的衬底,并且掺杂浓度小于1x1020cm-3。
由于氧化是在一个图形化(即非平面)以及没有损伤的多晶上进行的,所以使用的模型将会是fermi以及compress,而compress模型用于模拟非等平面结构和2维的氧化工艺。
语句为:diffuse time=3 temp=900 weto2 press=1.0
8 侧离氧化层淀积
在源极和漏极植入之前,需要进行侧墙隔离氧化层的淀积。
淀积的厚度为0.12um。
depo oxide thick=0.120 divisions=8
9侧墙氧化隔离的形成
为了形成氧化隔离,必须进行干刻蚀。
刻蚀厚度为0.12um。
语句如下:
etch oxide dry thick=0.120
10源/漏极注入和退火
现在,我们来通过注入砷进行源漏的注入,这会形成晶体管的n+源漏。
源漏注入砷注入的剂量使用:3x1015cm-3,注入能量为:50KeV.
implant arsenic dose=5.0e15 energy=50 pearson
源漏注入后接下来将是快速退火工艺,条件是:
氮气气氛,1分钟,900度,1个大气压
method fermi compress
diffuse time=1 temp=900 nitro press=1.0
11 金属化
在形成源漏区域以后,下个工艺步骤是金属化这个区域金属化。
金属化工艺步骤是首先在源漏区域形成接触孔窗口。
为了在源漏区域形成接触孔窗口,将氧化层在x=0.2μm的位置刻蚀到左边
etch oxide left p1.x=0.2
12获取器件参数
在这一部分,我们将提取这半个NMOS结构的一些器件参数,这些参数包括:
a.结深
b.N++源漏方块电阻
c.边墙下LDD区的方块电阻
d.长沟阈值电压计算结深
计算结深的语句如下:
extract name="nxj" xj silicon mat.occno=1 x.val=0.1 junc.occno=1
获取N++源/漏极薄层电阻
extract name="n++ sheet rho" sheet.res material="Silicon"
mat.occno=1 x.val=0.05 region.occno=1
测量沟道阈值电压
extract name="n1dvt" 1dvt ntype vb=0.0 qss=1e10 x.val=0.49
在这条extract语句中,1dvt指测量一维阈值电压;ntype指器件类型;
x.val=0.49为器件沟道内一点;qss=1e10指浓度为1e10cm-3的表面态电荷;vb=0.0栅极偏置0V。
沟道表面掺杂浓度
extract name="chan surf conc" surf.conc impurity="Net Doping" \ material="Silicon" mat.occno=1 x.val=0.45
抽取参数
nxj=0.34326 um
n++ sheet rho=73.3932 ohm/square
n1dvt=0.607028 V
chan surf conc=6.14477e+016 atoms/cm3
13 半个NMOS结构的镜像
前面构建了半个NMOS结构,要得到完整的结构,就需要在向器件仿真器输出结构或电极命名之前完成。
语句如下:
structure mirror right
14保存ATHENA结构文件
完成设计之后有必要对结构进行保存及初始化。
点击Save建立新的文
件名nmos.str。
在文本编辑区里输入如下语句:
structure outfile=nmos.str
4.2.2. 使用ATLAS的NMOS器件仿真
1 概述
在这一部分,我们将对一个NMOS器件结构进行器件仿真
1.产生简单的Vds=0.1V偏压下的曲线:Idvs.Vgs
2.提取器件参数,例如Vt,Beta和Theta.d1
3.产生不同Vgs偏置情况下的Idvs.Vds曲线簇
2 模型命令集
(1) 设置模型
对于简单的MOS仿真,推荐使用参数SRH和CVT
SRH是ShockleyReadHall复合模型,而CVT模型是来自于Lombardi的反型层模型,这个CVT模型设置了通用的迁移率模型,包括了浓度、温度、平行电场和横向电场的影响。
models cvt srh print
(2) 设置接触特性
与半导体材料接触在一起的电极默认情况下假设为欧姆接触,如果电极上定义了功函数,那么这个电极就认为是肖特基接触。
命令“Contact”用来设置电极的金属功函数。
使用“Contact”命令来设置n型多晶硅栅的功函数:contact name=gate n.poly
(3) 设置界面特性
为了设置NMOS结构的界面特性,需要使用“Interface”命令,这个命令用于定义在半导体和绝缘体之间的界面上的界面电荷密度和表面复合速率。
为了定义硅和二氧化硅之间的界面上存在的固定电荷密度3x1010cm2:interface qf=3e10。
3 求解命令集
接下来,我们将要为仿真选择数值计算的方法,对于半导体器件的问题,有几种不同的方法可以使用。
对于MOS结构来说,可以使用非耦合的GUMMEL法和耦合的NEWTON法。
简单来说,Gummel法将对每个未知量轮流求解,同时保持其他变量不变,不断重复这个过程,直到能够得到稳定的解,而Newton法将会对整个系统的所有未知量一起求解。
method gummel newton
4 解决方法命令组
(1) Vds=0.1V时,获得Id-Vgs转移特性曲线
语句如下:
solve init
solve vdrain=0.1
log outf=nmos1.log master
solve vgate=0 vstep=0.25 vfinal=3.0 name=gate
a.上面所显示的命令集开始于“solveinit”命令
b.第二个“Solve”命令,也就是“solvevdrain=0.1”将在漏电极上设置0.1V
的直流偏压。
这个命令将提供零偏压(或热平衡)情况下势能和载流子浓度的初始猜想值(2)获取器件参数。
c.“Log”命令用来将ATLAS所仿真出来的结果
存入到文件nmos1_0.log中
d.最后一个“Solve”命令将以0.1V为步距,从0V到3V扫描栅电极
extract name="nvt"
(xintercept(maxslope(curve(abs(v."gate"),abs(i."drain")))) \ abs(ave(v."drain"))/2.0) 此语句提取阈值电压Vt。
extract name="nbeta"
slope(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
* (1.0/abs(ave(v."drain"))) 此语句提取 值。
extract name="ntheta" ((max(abs(v."drain")) *
$"nbeta")/max(abs(i."drain"))) \
- (1.0 / (max(abs(v."gate")) - ($"nvt"))) 此语句提取theta值。
抽取参数
nvt=0.583053
nbeta=0.000113053
nsubvt=0.0868159
(2)生成曲线族
要在Vgs分别为1.1V,2.2V,3.3V时生成Id-Vds曲线族,Vds变化范围为0~3.3V。
solve vgate=1.1 outf=solve_tmp1
solve vgate=2.2 outf=solve_tmp2
solve vgate=3.3 outf=solve_tmp3
load infile=solve_tmp1
log outf=nmos1_1.log
solve name=drain vdrain=0 vfinal=3.3 vstep=0.3
从load到solve语句为止的语句组会生成Vgs=1.1V时的Id-Vds曲线数据。
如果要生成Vgs=2.2V,Vgs=3.3V时的Id-Vds曲线数据,只要重复这三个语句即可。
为画出曲线族,用如下语句:
tonyplot -overlay -st mos1ex02_1.log mos1ex02_2.log mos1ex02_3.log
此语句overlay指在一张图中含盖三个plot文件。
4.3各关键工艺对器件性能的影响
4.3.1氧化工艺模拟
不同掺杂浓度对氧化速率的影响
(1)implant boron dose=3e15 energy=20
所得结果:
EXTRACT> extract name="toxlow" thickness material="SiO~2" mat.occno=1 x.val=-0.25
toxlow=623.798 angstroms (0.0623798 um) X.val=-0.25
EXTRACT> extract name="toxhigh" thickness material="SiO~2" mat.occno=1 x.val=0.25
toxhigh=656.258 angstroms (0.0656258 um) X.val=0.25
(2)implant boron dose=3e17 energy=20
所得结果:
EXTRACT> extract name="toxlow" thickness material="SiO~2" mat.occno=1 x.val=-0.25
toxlow=613.089 angstroms (0.0613089 um) X.val=-0.25
EXTRACT> extract name="toxhigh" thickness material="SiO~2" mat.occno=1 x.val=0.25
toxhigh=748.338 angstroms (0.0748338 um) X.val=0.25
4.3.2.离子注入工艺模拟
(1)氧化层厚度对离子注入的影响
(2)离子注入剂量与杂质分布的关
4.3.3扩散工艺模拟
不同扩散模型的选择对模拟结的影响
氧化对扩散工艺的影响
附录:
实验程序
go athena
#定义网格X
line x loc=0.0 spac=0.1
line x loc=0.2 spac=0.006
line x loc=0.4 spac=0.006
line x loc=1.0 spac=0.01
#定义网格Y
line y loc=0.0 spac=0.002
line y loc=0.2 spac=0.005
line y loc=0.5 spac=0.05
line y loc=0.8 spac=0.15
#InitialSiliconStructurewith<100>Orientation初始硅的100晶向,P型衬底init silicon c.boron=4e14 orientation=100 space.mul=2
structure outfile=yaojinpeng_nmos1.str
#GateOxidation栅氧化
diffus time=12 temp=910 dryo2 press=1.00 hcl.pc=3
structure outfile=yaojinpeng_nmos2.str
# Extract a design parameter抽取设计参数
extract name="gateox" thickness oxide mat.occno=1 x.val=0.3
#vt adjust implant 阈值电压调整注入
implant boron dose=2e12 energy=10 pearson
structure outfile=yaojinpeng_nmos3.str
#
depo poly thick=0.25 divi=10
structure outfile=yaojinpeng_nmos4.str
#栅刻蚀
etch poly left p1.x=0.45
structure outfile=yaojinpeng_nmos5.str
#多晶硅氧化
method fermi compress
diffuse time=3 temp=920 weto2 press=1.0
structure outfile=yaojinpeng_nmos6.str
#多晶掺杂
implant phosphor dose=2.0e13 energy=15 pearson
structure outfile=yaojinpeng_nmos7.str
#
depo oxide thick=0.120 divisions=8
structure outfile=yaojinpeng_nmos8.str
#
etch oxide dry thick=0.120
structure outfile=yaojinpeng_nmos9.str
#
implant arsenic dose=2.5e15 energy=30 pearson
structure outfile=yaojinpeng_nmos10.str
#
method fermi compress
diffuse time=1 temp=900 nitro press=1.0
structure outfile=yaojinpeng_nmos11.str
# pattern s/d contact metal
etch oxide left p1.x=0.3
deposit alumin thick=0.05 divi=2
etch alumin right p1.x=0.25
structure outfile=yaojinpeng_nmos12.str
# Extract design parameters
# extract final S/D Xj
extract name="nxj" xj silicon mat.occno=1 x.val=0.1 junc.occno=1
# extract the N++ regions sheet resistance
extract name="n++ sheet rho" sheet.res material="Silicon" mat.occno=1 x.val=0.05 region.occno=1
# extract the long chan Vt
extract name="n1dvt" 1dvt ntype vb=0.0 qss=1e10 x.val=0.7
# extract the surface conc under the channel.
extract name="chan surf conc" surf.conc impurity="Net Doping" \ material="Silicon" mat.occno=1 x.val=0.8
structure mirror right
electrode name=gate x=0.6
electrode name=source x=0.1
electrode name=drain x=1.9
electrode name=substrate backside
structure outfile=yaojinpeng_nmos13.str
tonyplot yaojinpeng_nmos*.str
go atlas
mesh infile=yaojinpeng_nmos13.str
# set material models
models cvt srh print
contact name=gate n.poly
interface qf=2e10
method gummel newton
solve init
solve vgate=1.0 outfile=solve_tmp1
solve vgate=2.0 outfile=solve_tmp2
solve vgate=3.0 outfile=solve_tmp3
solve vgate=4.0 outfile=solve_tmp4
load infile=solve_tmp1
log outf=nmos1.log
solve name=drain vdrain=0 vfinal=5.0 vstep=0.5
load infile=solve_tmp2
log outf=nmos2.log
solve name=drain vdrain=0 vfinal=5.0 vstep=0.5
load infile=solve_tmp3
log outf=nmos3.log
solve name=drain vdrain=0 vfinal=5.0 vstep=0.5
load infile=solve_tmp4
log outf=nmos4.log
solve name=drain vdrain=0 vfinal=5.0 vstep=0.5
# extract max current and saturation slope
extract name="nidsmax" max(i."drain")
extract name="sat_slope" slope(minslope(curve(v."drain",i."drain"))) tonyplot -overlay -st nmos*.log
quit
#输出特性曲线部分
go atlas
mesh infile=yaojinpeng_nmos13.str
# set material models
models cvt srh print
contact name=gate n.poly
interface qf=3e10
# get initial solution
solve init
method newton trap
solve prev
# Bias the drain a bit...
#solve vdrain=0.025 vstep=0.025 vfinal=0.1 name=drain
solve vdrain=0.1
# Ramp the gate to a volt...
log outf=mos_ids.log master
solve vgate=0 vstep=0.2 vfinal=2.0 name=gate
# extract device parameters
extract
name="nvt"(xintercept(maxslope(curve(abs(v."gate"),abs(i."drain"))))- abs(ave(v."drain"))/2.0)
extract name="nbeta" slope(maxslope(curve(abs(v."gate"),abs(i."drain"))))*
(1.0/abs(ave(v."drain")))
# extract the device parameter SubVt...
#extract init inf="mos_ids.log"
extract name="nsubvt"
1.0/slope(maxslope(curve(abs(v."gate"),log10(abs(i."drain"))))) tonyplot mos_ids.log。