您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第三讲 Silvaco TCAD 器件仿真01
光电子器件综合设计-------器件仿真本讲主要内容器件结构材料特性物理模型计算方法特性获取和分析2器件仿真流程11:33Silvaco学习3器件结构•怎样得到器件的结构?1、工艺生成2、ATLAS描述3、DevEdit编辑•需要注意的情况除了精确定义尺寸外也需特别注意网格电极的定义(器件仿真上的短接和悬空)金属材料的默认特性功能:(1)勾画器件。(2)生成网格。(修改网格)既可以对用devedit画好的器件生成网格,或对athena工艺仿真生成含有网格信息的器件进行网格修改。为什么要重新定义网格?工艺仿真中所生成的网格是用来形成精确度掺杂浓度分布、结的深度等以适合于工艺级别的网格,这些网格某些程度上不是计算器件参数所必需的。例如在计算如阈值电压、源/漏电阻,沟渠的电场效应、或者载流子迁移率等等。Devedit可以帮助在沟渠部分给出更多更密度网格而降低其他不重要的区域部分,例如栅极区域或者半导体/氧化物界面等等。以此可以提高器件参数的精度。简单说就是重点区域重点给出网格,不重要区域少给网格。和工艺仿真的区别:devedit-考虑结果他不考虑器件生成的实际物理过程,生成器件时不需要对时间、温度等物理量进行考虑。athena-考虑过程必需对器件生成的外在条件、物理过程进行描述。devedit:athena之外的另一种可以生成器件信息的工具。ATLAS描述器件结构ATLAS描述器件结构的步骤meshregionelectrodedoping材料特性材料的参数有工艺参数和器件参数材料参数是和物理模型相关联的软件自带有默认的模型和参数可通过实验或查找文献来自己定义参数物理模型物理量是按照相应的物理模型方程求得的物理模型的选择要视实际情况而定所以仿真不只是纯粹数学上的计算计算方法在求解方程时所用的计算方法计算方法包括计算步长、迭代方法、初始化策略、迭代次数等计算不收敛通常是网格引起的特性获取和分析不同器件所关注的特性不一样,需要对相应器件有所了解不同特性的获取方式跟实际测试对照来理解从结构或数据文件看仿真结果了解一下ATLASATLAS仿真框架及模块仿真输入和输出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种类型任何没有逻辑值的参数必须按PARA=VAL的形式定义这里PARA表示参数名称,VAL表示参数值。包括:特性型,整数型,实数型参数(Character,Integer,Real)而逻辑型参数必须和其他参数加以区分。ParameterDescriptionValueRequiredExampleCharacterAnycharacterstringYesmaterial=siliconIntegerAnywholenumberYesregion=1LogicalAtrueorfalseconditionNogaussianRealAnyrealnumberYesx.min=0.1例如,在语句: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.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#y方向网格定义y.meshloc=0.00spac=0.1y.meshloc=1.00spac=0.1y.meshloc=2.00spac=0.2y.meshloc=5.00spac=0.4#定义区域regionnum=1silicon#定义电极electrname=anodex.min=5length=2electrname=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+dopingdopingn.typeconc=1e20x.min=0x.max=12y.top=2y.bottom=5uniformsaveoutf=diode.strtonyplotdiode.str-setdiode.set#物理模型定义modelconmobfldmobsrhaugerbgn#定义接触电极类型contactname=anodeworkf=4.97#偏压初始化solveinit#数值计算方法methodnewtonlogoutfile=diodeex01.log#设置偏压求解solvevanode=0.05vstep=0.05vfinal=1name=anodetonyplotdiodeex01.log-setdiodeex01_log.setquit解析:(1)第一部分语句用来描述器件,包括网格参数(mesh),电极设置(electrodelocations)以及掺杂分布(dopingdistribution)这是一个具有重掺杂的浮动式环状保护区域的二维n类型器件,它分布在结构的左右两边。肖特基阳极在器件顶端,重掺杂的阴极位于器件底端。(2)在器件描述之后,模型语句被用来定义下列模型:载流子浓度、迁移率、场迁移率、能隙变窄、SRH激发复合模型、Auger复合模型、双载流子模型(carriers=2)。关键语句是设置肖特基接触contactname=char(char表示接触的名称,用英文字符来表示比如anodecathode)workf=val(val表示变量参数,用来设置功函数大小)这个语句是用来设置肖特基电极的功函数的。在这个例子里面,因为衬底是亲和能为4.17的n类型硅,所指定的功函数为4.97,这样提供了一个肖特基势垒的高度为0.8V.默认的势垒高度是0.(一个完美的欧姆接触)这个条件是为阴极假定的。(3)电学仿真简单地将阳极电压以间隔为0.05V升至1.0V.语句和参数详解#语句1仿真器调用命令语句go调用atlas器件仿真器需要用到go语句:goatlas解析:go用来退出和重新启动atlas仿真器注意:这个命令是通过deckbuild来执行的主要包括三大部分内容(1)器件编辑语句region、electrode、doping等(2)模型与环境设置语句modelsmethod等(3)电学特性仿真语句solve等mesh•语句#2mesh语句功能:mesh定义网格信息。类似于athena仿真器中的Line.语法规则:n.MESHLOCATION=n[SPACING=n]语句解析:此语句定义了网格线的位置和间隔。状态有mesh,x.mesh,y.mesh,eliminate等参数解析:参数#1mesh:MESHINF=structurefilename导入由DevEdit创建的器件结构参数#2:x.mesh和y.mesh定义网格位置及其间隔(line)meshspace.mult=VALUE,对网格进行控制,默认值为1。定义网格时必须先使用这句来初始化网格。例如:meshinfile=nmos.strx.meshloc=0.1spac=0.05mesh•参数#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.7Eliminate前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.5mesh解析:以上建立了一个含有网格信息的12微米×5微米大小的区域。n.MESH定义沿着n方向的网格位置。注意:x,y,z方向上定义是等价的。语法结构如下:X.MESHLOCATION=数值SPACING=数值Location定义了网格线的位置,Spacing定义了网格间隔。#例3设置y方向网格信息y.meshloc=0.00spac=0.1y.meshloc=1.00spac=0.1y.meshloc=2.00spac=0.2y.meshloc=5.00spac=0.4mesh#语句3区域定义语句regionnum=1silicon解析:region语句定义了材料的位置每一个三角形都必须定义成一种材料。语法结构如下:REGIONNUMBER=nmaterial[position]Number=n定义了一个区域的序号,它可以从1到200.具有同一个区域序号的多重区域线条可以用来定义一个具有多个矩形特征的区域。material是一种或多种材料的名字如siliconsio2polysilicon等。position是一个或多个位置参数。meshregionnum=1silic
本文标题:第三讲 Silvaco TCAD 器件仿真01
链接地址:https://www.777doc.com/doc-5452807 .html