第三讲器件仿真.docx

上传人:b****8 文档编号:29611086 上传时间:2023-07-25 格式:DOCX 页数:72 大小:4.57MB
下载 相关 举报
第三讲器件仿真.docx_第1页
第1页 / 共72页
第三讲器件仿真.docx_第2页
第2页 / 共72页
第三讲器件仿真.docx_第3页
第3页 / 共72页
第三讲器件仿真.docx_第4页
第4页 / 共72页
第三讲器件仿真.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

第三讲器件仿真.docx

《第三讲器件仿真.docx》由会员分享,可在线阅读,更多相关《第三讲器件仿真.docx(72页珍藏版)》请在冰豆网上搜索。

第三讲器件仿真.docx

第三讲器件仿真

 

光电子器件综合设计

-------器件仿真

本讲主要内容

 

●器件结构

●材料特性

●物理模型

●计算方法

●特性获取和分析

 

2

器件仿真流程

 

00:

13Silvaco学习3

 

•怎样得到器件的结构?

1、工艺生成

2、ATLAS描述

3、DevEdit编辑

 

•需要注意的情况除了精确定义尺寸外也需特别注意网格电极的定义(器件仿真上的短接和悬空)金属材料的默认特性

 

devedit:

athena之外的另一种可以生成器件信息的工具。

功能:

(1)勾画器件。

(2)生成网格。

(修改网格)

既可以对用devedit画好的器件生成网格,或对athena工艺仿真生成含有网格信息的

器件进行网格修改。

 

为什么要重新定义网格?

工艺仿真中所生成的网格是用来形成精确度掺杂浓度分布、结的深度等以适合

于工艺级别的网格,这些网格某些程度上不是计算器件参数所必需的。

例如在计算如阈值电压、源/漏电阻,沟渠的电场效应、或者载流子迁移率等等。

Devedit可以帮助在沟渠部分给出更多更密度网格而降低其他不重要的区域部分,例如栅极区域或者半导体/氧化物界面等等。

以此可以提高器件参数的精度。

简单说就是重点区域重点给出网格,不重要区域少给网格。

和工艺仿真的区别:

devedit-考虑结果他不考虑器件生成的实际物理过程,生成器件时不需要对

时间、温度等物理量进行考虑。

athena-考虑过程必需对器件生成的外在条件、物理过程进行描述。

ATLAS描述器件结构

 

●ATLAS描述器件结构的步骤

 

mesh

 

region

 

electrode

 

doping

材料特性

 

●材料的参数有工艺参数和器件参数

 

●材料参数是和物理模型相关联的

 

●软件自带有默认的模型和参数

 

●可通过实验或查找文献来自己定义参数

 

●物理量是按照相应的物理模型方程求得的

 

●物理模型的选择要视实际情况而定

 

●所以仿真不只是纯粹数学上的计算

 

●在求解方程时所用的计算方法

 

●计算方法包括计算步长、迭代方法、初始化策略、迭代次数等

 

●计算不收敛通常是网格引起的

 

●不同器件所关注的特性不一样,需要对

相应器件有所了解

 

●不同特性的获取方式跟实际测试对照来理解

 

●从结构或数据文件看仿真结果

 

●ATLAS仿真框架及模块

●仿真输入和输出

●Mesh

●物理模型

●数值计算

二、半导体器件仿真软件使用

 

本章介绍ATLAS器件仿真器中所用到的语句和参数。

具体包括:

 

1.语句的语法规则

2.语句名称

3.语句所用到的参数列表,包括类型,默认值及参数的描述

4.正确使用语句的实例

学习重点

(1)语法规则

(2)用ATLAS程序语言编写器件结构

 

1.语法规则

 

规则1:

语句和参数是不区分大小写的。

A=a

可以在大写字母下或小写字母下编写。

abc=Abc=aBc

 

规则2:

一个语句一般有以下的定义格式:

 

其中:

<语句><参数>=<值>

<语句>表示语句名称

<参数>表示参数名称

<值>表示参数的取值。

间隔符号是被用来分离语句中的多个参数。

 

解析:

在一个语句后的参数可以是单词或者数字。

单词可由字母和数字所组成的字符串。

由空格(space)或回车

(carriagereturn)来终止。

例:

region(OK)region(wrong)

数字可以是数字也可以是字符串也是由空格(space)或回车

(carriagereturn)来终止。

例:

3.16(OK)3.16(wrong)

数字的取值范围可以从1e-38到1e38

数字可以包含符号+或–或E(十进制)例:

-3.1415(OK)

 

规则3:

参数有4种类型

Parameter

Description

ValueRequired

Example

Character

Anycharacterstring

Yes

material=silicon

Integer

Anywholenumber

Yes

region=1

Logical

Atrueorfalsecondition

No

gaussian

Real

Anyrealnumber

Yes

x.min=0.1

 

任何没有逻辑值的参数必须按PARA=VAL的形式定义这里PARA表示参数名称,VAL表示参数值。

包括:

特性型,整数型,实数型参数(Character,Integer,Real)而逻辑型参数必须和其他参数加以区分。

 

例如,在语句:

DOPINGUNIFORMCONCENTRATION=1E16P.TYPE中

解析:

Doping是语句名称

Uniform和p.tpye是两个逻辑型参数,在程序内部对应了逻辑值

CONCENTRATION=1E16对应的是一个实数型参数。

 

每一个语句对应多个参数,这些参数代表了这个语句的某种属性,但都包含在4中参数之中。

 

温馨提示:

(1)命令缩减

 

没有必要输入一个语句或参数名的全称。

ATLAS只需要用户输入足够的字符来区分于其他命令或参数。

例:

命令语句DOP等同于doping,可以作为其命令简写。

但建议不要过度简单,以免程序含糊不清,不利于将来调用时阅读。

(2)连续行

有的语句超过256个字符,为了不出现错误,ATLAS语序定义连续行。

 

将反斜线符号\放在一条语句的末尾,那么程序每当遇到\都会视下一行为上一行的延续。

实例语句

 

2.通过实例学语句

实例简介:

此实例演示了肖特基二极管正向特性。

大致分为三个部分

(1)用atlas句法来形成一个二极管结构

(2)为阳极设置肖特基势垒高度

(3)对阳极正向偏压

 

#调用atlas器件仿真器

goatlas

#网格初始化

meshspace.mult=1.0

#x方向网格定义

x.meshloc=0.00spac=0.5

x.meshloc=3.00spac=0.2

x.meshloc=5.00spac=0.25

x.meshloc=7.00spac=0.25

x.meshloc=9.00spac=0.2

x.meshloc=12.00spac=0.5

#y方向网格定义

y.meshloc=0.00spac=0.1

y.meshloc=1.00spac=0.1

y.meshloc=2.00spac=0.2

y.meshloc=5.00spac=0.4

#定义区域

regionnum=1silicon

 

#定义电极

electrname=anodex.min=5length=2

electrname=cathodebot

#....N-epidoping定义初始掺杂浓度

dopingn.typeconc=5.e16uniform

#....Guardringdoping定义p环保护掺杂

 

dopingp.typeconc=1e19x.min=0x.max=3junc=1rat=0.6gaussdopingp.typeconc=1e19x.min=9x.max=12junc=1rat=0.6gauss

 

#....N+doping

dopingn.typeconc=1e20x.min=0x.max=12y.top=2y.bottom=5uniform

 

saveoutf=diode.str

tonyplotdiode.str-setdiode.set

 

#物理模型定义

modelconmobfldmobsrhaugerbgn

#定义接触电极类型

contactname=anodeworkf=4.97

#偏压初始化

solveinit

#数值计算方法

methodnewton

 

logoutfile=diodeex01.log

#设置偏压求解

solvevanode=0.05vstep=0.05vfinal=1name=anode

tonyplotdiodeex01.log-setdiodeex01_log.set

quit

 

解析:

(1)

第一部分语句用来描述器件,包括网格参数(mesh),电极设置

(electrodelocations)以及掺杂分布(dopingdistribution)这是

一个具有重掺杂的浮动式环状保护区域的二维n类型器件,它分布

在结构的左右两边。

肖特基阳极在器件顶端,重掺杂的阴极位于器件底端。

 

(2)在器件描述之后,模型语句被用来定义下列模型:

 

载流子浓度、迁移率、场迁移率、能隙变窄、SRH激发复合模型、

Auger复合模型、双载流子模型(carriers=2)。

 

关键语句是设置肖特基接触

 

contactname=(char表示接触的名称,用英文字符来表示比如anodecathode)

 

workf=

(val表示变量参数,用来设置功函数大小)

这个语句是用来设置肖特基电极的功函数的。

 

在这个例子里面,因为衬底是亲和能为4.17的n类型硅,所指定的功函数为4.97,这样提供了一个肖特基势垒的高度为0.8V.默认的势垒高度是0.(一个完美的欧姆接触)这个条件是为阴极假定的。

(3)电学仿真简单地将阳极电压以间隔为0.05V升至1.0V.

 

主要包括三大部分内容

(1)器件编辑语句region、electrode、doping等

(2)模型与环境设置语句modelsmethod等

(3)电学特性仿真语句solve等

 

#语句1仿真器调用命令语句go

调用atlas器件仿真器需要用到go语句:

 

goatlas

解析:

go用来退出和重新启动atlas仿真器注意:

这个命令是通过deckbuild来执行的

 

•语句#2mesh语句功能:

mesh定义网格信息。

类似于athena仿真器中的Line.语法规则:

.MESHLOCATION=[SPACING=]语句解析:

此语句定义了网格线的位置和间隔。

状态有mesh,x.mesh,y.mesh,eliminate

参数解析:

参数#1mesh:

MESHINF=导入由DevEdit创建的器件结构

例如:

meshinfile=nmos.str

 

meshspace.mult=,对网格进行控制,默认值为1。

定义网格时必须先使用这句来初始化网格。

 

参数#2:

x.mesh和y.mesh定义网格位置及其间隔(line)

 

x.meshloc=0.1spac=0.05

 

•参数#3Eliminate

可以在ATLAS生成的mesh基础上消除掉一些网格线,消除方式为隔一条删一条

•可用参数有columns,rows,ix.low,ix.high,iy.low.ly.high,

x.min,x.max,y.min,y.max

 

例如:

Eliminatecolumnsx.min=0.2x.max=1.4y.min=0.2y.max=0.7

 

Eliminate前Eliminate后

 

#例1设置初始网格均匀分布,为1.0微米

 

meshspace.mult=1.0

 

#例2设置x方向网格,从以0.5间隔的x=0.00的位置渐变过渡到以0.2为间隔的x=3.0的位置。

这样可以根据需要设置多个网格。

x.meshloc=0.00spac=0.5x.meshloc=3.00spac=0.2x.meshloc=5.00spac=0.25x.meshloc=7.00spac=0.25x.meshloc=9.00spac=0.2x.meshloc=12.00spac=0.5

 

#例3设置y方向网格信息

y.meshloc=0.00spac=0.1

y.meshloc=1.00spac=0.1

y.meshloc=2.00spac=0.2

y.meshloc=5.00spac=0.4

解析:

以上建立了一个含有网格信息的12微米×5微米大小的

区域。

.MESH定义沿着方向的网格位置。

 

注意:

x,y,z方向上定义是等价的。

 

语法结构如下:

X.MESHLOCATION=<数值>SPACING=<数值>

Location定义了网格线的位置,Spacing定义了网格间隔。

 

#语句3区域定义语句

regionnum=1silicon

 

解析:

region语句定义了材料的位置每一个三角形都必须定义成一种材料。

 

语法结构如下:

REGIONNUMBER=[]

 

Number=定义了一个区域的序号,它可以从1到200.具有同一个区域序号的多重区域线条可以用来定义一个具有多个矩形特征的区域。

 

是一种或多种材料的名字如siliconsio2polysilicon等。

是一个或多个位置参数。

 

regionnum=1siliconx.min=1.0x.max=12y.min=0.5y.max=5

 

对于一个区域,可以指定其材料属性和位置坐标

mesh

 

regionnum=1siliconx.min=1.0x.max=12y.min=0.5y.max=5

regionnum=2sio2x.min=0.0x.max=1y.min=0y.max=5

 

定义多个区域,可使用多个region语句来完成。

mesh

 

region

num=1

siliconx.min=1.0x.max=12y.min=0.5y.max=5

region

num=2

sio2x.min=0.0x.max=1y.min=0y.max=5

region

num=2

sio2x.min=0.0x.max=12y.min=0y.max=1

 

定义每个区域可以使用多条Region语句,只要保证区域标号一致即可。

MATERIALS

#语句3materials

语句功能:

语法规则:

MATERIAL<区域参数><材料名称><材料参数>

 

例句:

 

impactselbmaterial=InGaAsan2=5.15e7ap2=9.69e7bn2=1.95e6\

bp2=2.27e6

impactselbmaterial=InPan2=1e7ap2=9.36e6bn2=3.45e6bp2=2.78e6

 

materialmaterial=InGaAsalign=0.36eg300=0.75nc300=2.1e17\

nv300=7.7e18copt=9.6e-11

materialmaterial=InPaffinity=4.4align=0.36eg300=1.35\

nc300=5.7e17nv300=1.1e19copt=1.2e-10

 

materialregion=1taun0=5.0e-10taup0=1.0e-9vsatn=2.5e7\

mun0=4000mup0=200

 

Materialtaun0=1.e-9taup0=1.e-9f.conmun=hemtex01_interp.lib

materialalign=0.6

可选的材料

 

•材料参数和物理模型的选取有关,常用的

参数及说明如下:

 

37

 

38

 

00:

1339

 

00:

13Silvaco学习40

 

#语句4电极定义语句,其基本格式是

 

#ELECTRODENAME=[NUMBER=]

电极语句电极名称电极编号电极位置

 

electrname=anodex.min=5length=2electrname=cathodebot

(系统默认是电极位置为topx.min=0x.max=x.max)

 

electrname=anodex.min=5length=2y.min=0y.max=0.5

electrname=cathodebot

 

electrname=anodex.min=5length=2y.min=0y.max=0.5

electrname=cathodey.min=4.5y.max=5

掺杂定义

 

#语句5掺杂定义语句

 

doping掺杂语句掺杂形态定义掺杂类型定义掺杂浓度定义掺杂位置分布:

uniform,gaussian,erfc,具体设置还可分为三组

1,Concentrationandjunction

2,Doseandcharacteristic

3,Concentrationandcharacteristic

杂质类型:

n.type,p.type

位置:

region,x.min,x.max,y.min,y.max,peak,junction…

例:

#ptypedoping

dopingp.typeconc=1e19x.min=0x.max=3junc=1rat=0.6gauss

 

注:

Doping语句是用来定义器件结构中的掺杂分布。

对于一组doping语句,每一个语句都是在之前语句的基础上给出的,有叠加的效果。

 

Doping语句参数详解:

1.解析分布类型参数介绍

这些参数语句定义了Atlas将如何从解析函数中生成一个掺杂分布.

(1)Gaussian类型解析分布Gaussian定义了高斯解析函数的使用来生成一个掺杂分布。

如果Gaussian被定义了,那么下面的参数必须被定义。

(i)极性参数N.typeP.type

(ii)下列分布定义之一:

concentration和junction浓度和结深

concenration和charactreistic浓度和特性

dose和characteristic剂量和特性长度

 

(2)Uniform定义了使用常数作为解析函数来生成掺杂分布。

掺杂会通过边界参数被定义在一个box中。

这个box的默认值是整个区域。

同样如果Uniform被定义了,那么N.typeP.type以及浓度参数都必须定义。

 

2.掺杂物类型参数介绍

 

Antimony锑Arsenic砷Boron硼Indium铟Phosphorus磷

 

E.LEVEL设置了分立陷阱能级的能量。

对于acceptors,是对应于导带边缘的。

对于donors,是对应于价带边缘的。

N.TypeDonor定义了一个n类型或donor类型的掺杂物。

此参数可

以与gaussian或uniform分布类型联合使用。

 

P.TypeAcceptor定义一个p类型或acctoper类型的掺杂物。

此参数可以与gaussian或uniform分布类型联合使用。

 

Trap定义了掺杂浓度被处理为陷阱态密度。

 

OX.Charge定义了一个固定的氧化物电荷分布。

氧化物电荷只能在任何绝缘物区域使用。

 

3.垂直分布参数

Concentration浓度

定义了峰值浓度当高斯分布被使用时。

如果此参数未被定

义,峰值浓度会从极性参数,边界条件,计量,或电阻率,特征浓度中计算出来。

当uniform分布被定义,concentration参数被定义为均匀掺杂浓度的值,浓度必须是正的。

 

Dose剂量只适用于高斯分布,定义了高斯分布的总剂量。

Junction结深

定义了高斯分布的硅区域内部p-n结的位置。

当junction被

定义了,characteristiclength会通过在常数矩形区域的终点

之间的一个迭代中点检测掺杂浓度而计算出来。

Junction的位置只是通过考虑所有前面掺杂语句信息来估

算的,这意味着某些情况下,doping语句的顺序是很重要的。

 

CHARACTERISTIC

定义了注入物的基本特征长度。

如果此参数未被定义,基本特

征长度可以从极性参数、边界条件参数、浓度和结参数中获得。

dopingn.typeconc=5.e16uniform

dopingp.typeconc=1e19y.min=0y.max=0char=30gauss

dopingn.typeconc=1e19y.min=300y.max=300char=30gauss

 

均匀掺杂

dopinguniformconc=1e16n.typeregion=1

 

高斯分布

dopingregion=1gaussianconc=1e18peak=0.1characteristic=0.05\

p.typex.left=0.0x.right=1.0

dopingregion=1gaussconc=1e18peak=0.2junct=0.15

 

从文件导入杂质分布

dopingx.min=0.0x.max=1.0y.min=0.0y.max=1.0n.typeascii\

infile=concdata

 

goatlas

 

meshspace.mult=1.0x.meshloc=0.00spac=5x.meshloc=12.00spac=5y.meshloc=0.00spac=1y.meshloc=30space=5y.meshloc=270.00spac=5y.meshloc=300.00spac=1

regionnum=1siliconx.min=0.0x.m

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1