(仅供参考)二维数值仿真软件MEDICI概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二维数值仿真软件MEDICI 概述
1 MEDICI 功能简介
Medici [28]是一款二维数值仿真软件,是由先驱公司研发的。它对势能场和载子的二维分布建模,通过解泊松方程和电子、空穴的电流连续性等方程来获取特定偏置下的电学特性。用该软件可以对双极型、MOS 型等半导体器件进行模拟,这个程序通过解二极管和双极型三极管以及和双载流子有关的电流效应(诸如闩锁效应)的电流连续性方程和泊松方程来分析器件。Medici 也能分析单载流子起主要作用的器件,例如:MOSFET ,JFET ,MESFET 。另外,MEDICI 还可以被用来分析器件在瞬态情况下的变化。在亚微米器件模拟中,MEDICI 通过联解电子和空穴的能量平衡和其他的器件方程,可以对深亚微米的器件进行模拟。像热载流子和速度过冲等效应在MEDICI 中都已经考虑了,并能够对它们的影响进行分析。
2 MEDICI 的基本物理描述
2.1 基本方程
MEDICI 的主要功能就是分别对静电势Ψ、电子浓度n 和空穴浓度p 求解三大类自连续的微分方程,包括泊松方程、连续性方程和波尔兹曼输运理论(即电流密度方程)。
1、 泊松方程:半导体器件的电学行为由泊松方程控制。
2q()D A s p n N N ερ+−∇Ψ=−−+−− (1-1)
2、连续性方程:电子和空穴的连续性方程也控制着电学行为。
(1-2)
(1-3)
3、波尔兹曼输运理论:在波尔兹曼输运理论中,公式(1-2)中的n J →
和公式
(1-3)中的p J →可以被描述成关于载流子浓度和电子及空穴的准费米势的两个方程。 n n n J q n µφ=−∇ (1-4)
1()(,,)n n n n n J U G F n p t q →→∂=∇⋅−−=Ψ∂1()(,,)p p p p p J U G F n p t q →→∂−=∇⋅−−=Ψ∂
p p p J q n µφ=−∇ (1-5)
同样,n J 和p J 可以被写成关于Ψ、n 和p 的方程式,由漂移电流和扩散电
流两部分组成。
n n n n J q E n qD n µ=+∇ (1-6)
p p p p J q E p qD p µ=−∇ (1-7)
其中,n µ和p µ分别是电子和空穴的迁移率,n D 和p D 是电子和空穴的扩散
系数,假设服从波尔兹曼载流子统计规律并忽略能带变窄效应带来的影响。
2.2 三种基本的复合方式
现在MEDICI 支持求解以下三种体内复合,分别是间接复合(也叫肖特基-里德-霍尔复合,即SRH 复合),俄歇复合和直接复合(也称为带到带复合或者光学复合),公式(1-2)和(1-3)中的U n 和U p 代表电子和空穴的复合率,其为正值时,代表载流子复合,为负值时则代表载流子产生。则:
n p SRH Auger dir U U U U U U ===++ (1-8) 其中:
2
[exp()][exp()]i SRH p i n i pn n U ETRAP ETRAP n n p n kT kT ττ−=−+++ (1-9)
2.()dir i U C DIRECT np n =− (1-10)
2222()()Auger
i i U AUGN pn nn AUGP np pn =−+− (1-11) 上述公式中,i n 代表本征载流子浓度,n τ和p τ代表电子和空穴寿命,并可能和浓度相关,参数ETRAP 代表陷阱能级E t 和本征费米能级E i 之差,AUGN 和AUGP 为与材料相关的特定常数。MATERIAL 语句可以修改ETRAP ,AUGN ,AUGP 和C.DIRECT 的值。
2.3 其它物理描述
除以上的基本方程及三种基本复合方式之外,MEDICI 还支持以下物理描述,包括:与浓度相关的寿命、与晶格温度相关的寿命、复合导致的隧穿、肖特基势垒隧穿、波尔兹曼统计、禁带与有效态密度、重掺杂导致的禁带变窄、应力导致的禁带变化、费米-狄拉克统计、杂质不完全离化、低温模拟、MOSFET 反型层中的量子效应、修正的局部密度近似量子模型等,相关内容可参考MEDICI 手册。
2.4 MEDICI 编程中的关键
MEDICI 编程(以跑反向耐压为例)主要包括了定义变量、网格描述、结构及材料描述、杂质分布描述、求解所用的模型、方法及特定技巧、求解条件的设定等部分组成。其中,结构及材料描述、杂质分布描述、求解条件的设定等部分是由器件本身决定的,变量定义是个人喜好的问题,这几个部分的编程是相对比较简单的。
网格描述是编程的重点,这决定了程序的运行效率。在求解的模型、方法、技巧乃至求解条件都一样的前提下,一套好的网格可以在不影响结果精度的前提下大大缩短程序运行的时间,并且提高程序的收敛性。
求解所用的模型、方法及技巧的选择是编程的难点,这直接影响程序的可靠性,在不同的情况下,对模型的选择不仅必然影响结果的可靠性,而且会严重影响到程序的收敛性。以下我们将对网格描述及模型取舍作进一步的讨论。
2.4.1 网格描述
三个基本注意点
首先,格点数目p N 对仿真时间有直接影响,求解一次的算法步骤正比于p N α,α的取值通常在1.5~2之间变化。因此,格点增加,运算时间大幅度增加。其次,器件的各个区域的电学行为不一致,所以需要在某些区域使用较密的网格,有些区域则只需要很疏的网格。再次,对小器件几何结构的精确描绘非常重要。为了能够正确地模拟载流子的运动,网格必须根据器件结构的大小进行适当地调整,这一考虑将随着器件的小型化和非平面化而显得越来越重要。
初始网格定义
横向网格定义:MEDICI 定义网格是从器件的左边开始的。横向网格定义由一个或多个X.MESH 来决定,每个X.MESH 语句定义一个横向网格片段,如果只有一个X..MESH 则涵盖整个器件的横向距离。可以由WIDTH 参数开始一段定义,比如:X.MESH WIDTH=20,即定义片段初始位置到其后20µm 长的一段网格,然后定义网格间距;也可以在定义完网格间距之后,在语句的最后加上LOCATION 参数或者X.MAX 参数,与WIDTH 参数不同之处在于,LOCATION 和X.MAX 都是定义的绝对坐标,假设我们的片段从X=0的位置开始,则以上三个参数的值对同一网格片段是一致的,可是如果从X=5的位置开始定义20µm 长的一个网格片段,则LOCATION=25,X.MAX=25,而WIDTH=20,这是需要着重注意的地方。另外LOCATION 和X.MAX 只需二者取一,而不是同时使用,因为两者的意义是一样的,当使用X.MAX 时,需添加X.MIN 语句定义网格片段的初始位置(不写则默认初始位置为0),而LOCATION 参数是不用写的。
纵向网格定义:纵向网格的定义是器件的最上方开始的。纵向网格定义由一