Silvaco TCAD仿真4——设计一个元件nmos(Atlas)
使用的设计流程:deckBuild -> command file ->device simulator在deckbuild Linux 中运行atlas1、打开deckbuildLinux版本:terminal>deckbuild&windows版本:(我用的是windows版本)在桌面上点击 S.EDA Tools 图标来打开程序的快捷方式文件夹,直接双击 DeckB
使用的设计流程:
deckBuild -> command file ->device simulator
在deckbuild 中运行atlas
1、打开deckbuild
Linux版本:
terminal> deckbuild&
windows版本:(我用的是windows版本)
在桌面上点击 S.EDA Tools 图标来打开程序的快捷方式文件夹 ,直接双击 DeckBuild 图标。
2、运行atlas:
在交互界面界面输入
go atlas
设置CPU核数
多CPU可以加速模拟
go atlas simflags="-P 2"
//2个CPU
//默认情况下,是"P 1"
Atlas Design of Deck - Typical Flow
example nMOS
设计目标:
设计流程:
Structure Specification——mesh
- mesh
- region
- electrode
- doping
先把结构的大小定义出来,即layout design设计gate 是多少,source和drain与gate的间距是多少。
网格规划:
在仿真工艺之前需要先建立网格,这时的网格是指衬底的网格(如果后续工艺带来了新的材料层,则有相应的网格控制的参数)。
mesh width=l
x.mesh loc=0 spac=0.05 //x开始是0(也可以自己设定其他值)
x.mesh loc=0.1 spac=0.02
x.mesh loc=0.35 spac=0.01
x.mesh loc=0.6 spac=0.1
x.mesh loc=o.85 spac=0.01
x.mesh loc=l.l spac=0.02
x.mesh loc=l.2 spac=0.1 //x结束是1.2
//定义y
y.mesh loc=-0.3 spac=0.05
y.mesh loc=-0.21 spac=0.05
y.mesh loc=-0.01 spac=0.002
y.mesh loc=0 spac=0.002
y.mesh loc=10 spac=l
/*
loc:设定网格线在轴上的坐标,看成比较大的区间
spac: 设定在该 loc 处临近网格线间的间距。可以看成比较小的区间(对比较大的区间的再划分)
loc 和 spacing 的默认单位都是 μm
每个材料的切分点都要有一个mesh,按照X轴和Y轴进行划分的(x向右为正,y向下为正)
整个器件,在X轴上为0到1.2um,
分别放了几条线用于确定相关的结构,比如栅极和源极的范围
将这几个区间进行了不同程度的细化,如0到0.1,对其每0.05um划分一次,然后Y轴也同理,
注意的Y轴的0处,因为Y轴只有0坐标处可以进行高斯分布的掺杂,因此建议在0处以上就是一些不需要掺杂或者可以直接进行均匀掺杂的部分。
*/
网格切的越细,计算越精确,可让doping profile那些越接近现实。
定义新的mesh:
方法1:
或者
方法2:
手动写mesh的代码
网格计算:
实际的物理系统非常复杂,连续系统的信息量也巨大到无法估量,必须将其离散化。所以应用网格计算进行半导体仿真应用。
网格计算,将半导体仿真区域划分成网格,在网格点处计算出希望得到的特性(如:电学性质,光学性质,工艺步骤的速率等等)。
精细的网格能得到较精确的结果,但相应地会增加计算时间,也可能导致不收敛。
Silvaco TCAD控制网格方式:
- 由网格线以及网格线之间的间隙来 描述仿真区域的网格;
- 通过网格释放来使后续步骤中不是很紧要的区域的网格点变少, 网格释放之后也可以再重新建立合适的精细的网格。
- 用三角形参数来控制网格的长宽比。 如果将矩形网格的对角线相连,则可以形成两个三角形,控制三角形的角度就可控制网格的 长宽比;
- 在适当的区域增删网格线。
Structure Specification ——region、electrode
- mesh
- region
- electrode
- doping
区域的划分:
region number=1 x.min=0 x.max=1.2 y.min=0 y.max=10 material=silicon
region number=2 x.min=0 x.max=1.2 y.min=-0.3 y.max=0 material=oxide
region number=3 x.min=0.35 x.max=0.85 y.min=-0.21 y.max=-0.01 material=poly
region number=4 x.min=0.35 x.max=0.85 y.min=-0.3 y.max=-0.21 material=aluminum
region number=5 x.min=0 x.max=0.1 y.min=-0.3 y.max=0.0 material=aluminum
region number=6 x.min=1.1 x.max=1.2 y.min=-0.3 y.max=0.0 material=aluminum
electrode reg=4 name=gate
electrode reg=5 name=source
electrode reg=6 name=drain
electrode bottom name=substrate
区域划分成region1、region2、region3.。。。
region的大小由x.min、 x.max、 y.min 、y.max 决定。
确定每个region的材料,电极以region的方式给。(填充的时候,时候后面region压在前面region上)(怎么理解:当作乐高积木拼上去)
Structure Specification ——doping
- mesh
- region
- electrode
- doping
掺杂:
//放在哪个区域里面进行掺杂
//region1(Si的位置)是p.type均匀掺杂,掺杂浓度是1e17
//region3(poly的位置)是p.type均匀掺杂,掺杂浓度是5e20
doping uniform region=1 x.min=0 x.max=1.2 y.min=0 y.max=10 p.type concentration=1e17
doping uniform region=3 x.min=0.35 x.max=0.35 y.min=-0.21 y.max=-0.01 n.type concentration=5e20
doping gauss region=1 x.min=0 x.max=1.2 junc=0.02 rat=0.6 p.type concentration=5e17
doping gauss region=1 x.min=0 x.max=0.35 junc=0.05 rat=0.6 n.type concentration=4e10
doping gauss region=1 x.min=0.85 x.max=1.2 junc=0.05 rat=0.6 n.type concentration=4e18
doping gauss region=1 x.min=0 x.max=0.15 junc=0.2 rat=0.6 n.type concentration=5e20
doping gauss region=1 x.min=1.05 x.max=1.2 junc=0.2 rat=0.6 n.type concentration=5e20
//uniform意思是采用均匀掺杂
//gauss,高斯分布,非均匀掺杂,比较趋近foundry做出的样子
不会刚刚和doping一致,物理特性通常会有扩散
怎么看每次doping的差异:
可以每次存一个档案
save outf=ooxx1.str
(注意每次save要“分段”save,一次跑一行,慢慢存,不可一次写完,从头跑到尾巴、,程序会卡住)
Model Specification ——models
- models
- contact
- interface
模型:
在这里选用 mos model
算雪崩崩溃,要加崩溃的模型。
常用的两种模型:
mos结构常用第一个模型。
Model Specification ——contact
- models
- contact
- interface
Atlas supports several boundary conditions:
- Ohmic contacts(默认情况下是ohmic contact 。)
- Schottky contacts
- Current boundary conditions
- Lumped elements between applied biases and device contacts
- Distributed contact resistance to take into account the finite resistivity of semiconductor contacts.
Ohmic Contacts
默认情况下假设电极是欧姆的:
CONTACT NAME=ANODE NEUTRAL
Schottky Contacts
要设置肖特基接触,请使用 CONTACT 语句的 WORKFUN 参数指定功函数 (eV):
CONTACT NAME=BODY WORKFUN=4.94
在实际中,功函数定义为
【 AFFINITY是亲和力, 是金属-半导体界面处的势垒高度,单位为 eV。】
例如,
如果肖特基接触是AI,与Si的功函数差为 4.2eV,势垒高度为 0.7eV,则 WORKFUN=4.9
Current boundary conditions
current boundary conditions计算由 CONTACT 语句中的 CURRENT 参数激活:
CONTACT NAME=BASE CURRENT
当电流对电压高度敏感或者是电压的多值函数时,电流控制电极很有用
(post-breakdown and snap-back) 。
External Resistor,Capacitors, Inductors
可以使用 CONTACT 语句中的 RESISTANCE、CAPACITANCE 和 INDUCTANCE 参数指定连接到电极的电阻、电容和电感:
CONTACT NAME=DRAIN CAPACITANCE=20e-12
由于接触材料具有有限的电阻率,沿金属半导体表面的静电势并不总是均匀的。为了解决这种影响,可以使用 CON.RESIST 参数将分布接触电阻与任何电极相关联:
CONTACT NAME=SOURCE CON.RESITANCE=0.01
参数单位:
Floating Contacts
要指定Floating Contacts,请在电极上放置一个非常大的电阻器:
CONTACT NAME=SOURCE RESISTANCE=1e14
Model Specification ——contact
- models
- contact
- interface
INTERFACE 语句指定半导体绝缘体边界处的界面参数。 除非另有说明,所有参数仅适用于边界节点。
INTERFACE [<params>]
INTERFACE 语句由一组界面的边界条件参数和一组用于定位这些参数effect的参数组成 。
INTERFACE qf=3e10
该语句指定半导体和绝缘体之间的所有界面都具有 3e10 cm-2 的固定电荷。
可以使用 x.min,x.max,y.min 和 y.max 将感兴趣的区域限制在特定区域 。
INTERFACE x.min=-4 x.max=4 y.min=-e.5 y.max=4 qf=1e10 s.n=1e4 s.p=1e4
该语句定义了具有固定电荷和复合速度的接口
Numerical Method Selection ——method
- method
定解法
method newton itlimit=25 maxtrap=4
- newton:使用牛顿法获得非线性解。 ltlimit:指定允许的最大迭代次数(default=25)
- maxtrap:指定在发散的情况下陷阱过程将重复的次数(default=4)。 maxtrap=10 推荐用于击穿模拟。
三个步骤结合在一起:
go atlas simflags="-P 2"
mesh inf=nMOs_atlas.str //之前第一步定义的结构
models mos //定义model
interface qf=3e10 //interface
method newton itlimit=25 maxtrap=4 //method
Solution Specification ——log
- log
- solve
- load
- save
solve init //几个电极归零解,解一次。
solve ....# //要解的内容
log outfile=xxx.log //要解的数值放在哪里,xxx是自己定义的名字
solve .....##
log off
save outfile=xxx.str //存档
//上面...#里面的东西,是要解的内容:
//nmos可以解什么:
IdVg
Idvd
BVoff
//量取的方法(后面是量测条件):
a. IdVg @ Vd=0.1, Vg=0 ~3V,Vs=0,Vb=0
//给Vd 0.1,Vg扫0-3V,然后Vs接0,Vb接0
b. Idvd @ Vg=1,2,3V,Vd=0 ~ 5V,Vs=0,Vb=0
c. BVoff @ vd= 0 sweep I=1-6A
Result Analysis
- extract
- tonyplot
萃取Vthreshold
点击write
Result Analysis
- extract
- tonyplot
例子:
a. IdVg @ Vd=0.1, Vg=0 ~3V,Vs=0,Vb=0
IdVd @Vg=1,2,3 Vd=0 ~ 5V
参考:
更多推荐
所有评论(0)