§4工艺及器件仿真工具SILVACO-TCAD本章将向读者介绍如何使用SILVACO公司的TCAD工具ATHENA来进行工艺仿真以及ATLAS来进行器件仿真。假定读者已经熟悉了硅器件及电路的制造工艺以及MOSFET和BJT的基本概念。4.1使用ATHENA的NMOS工艺仿真4.1.1概述本节介绍用ATHENA创建一个典型的MOSFET输入文件所需的基本操作。包括:a.创建一个好的仿真网格b.演示淀积操作c.演示几何刻蚀操作d.氧化、扩散、退火以及离子注入e.结构操作f.保存和加载结构信息4.1.2创建一个初始结构1定义初始直角网格a.输入UNIX命令:deckbuild-an&,以便在deckbuild交互模式下调用ATHENA。在短暂的延迟后,deckbuild主窗口将会出现。如图4.1所示,点击File目录下的EmptyDocument,清空DECKBUILD文本窗口;图4.1清空文本窗口b.在如图4.2所示的文本窗口中键入语句goAthena;图4.2以“goathena”开始接下来要明确网格。网格中的结点数对仿真的精确度和所需时间有着直接的影响。仿真结构中存在离子注入或者形成PN结的区域应该划分更加细致的网格。c.为了定义网格,选择MeshDefine菜单项,如图4.3所示。下面将以在0.6μm×0.8μm的方形区域内创建非均匀网格为例介绍网格定义的方法。图4.3调用ATHENA网格定义菜单2在0.6μm×0.8μm的方形区域内创建非均匀网格a.在网格定义菜单中,Direction(方向)栏缺省为X;点击Location(位置)栏并输入值0;点击Spacing(间隔)栏并输入值0.1;b.在Comment(注释)栏,键入“Non-UniformGrid(0.6umx0.8um)”,如图4.4所示;c.点击insert键,参数将会出现在滚动条菜单中;图4.4定义网格参数图4.5点击Insert键后d.继续插入X方向的网格线,将第二和第三条X方向的网格线分别设为0.2和0.6,间距均为0.01。这样在X方向的右侧区域内就定义了一个非常精密的网格,用作为NMOS晶体管的有源区;e.接下来,我们继续在Y轴上建立网格。在Direction栏中选择Y;点击Location栏并输入值0。然后,点击Spacing栏并输入值0.008;f.在网格定义窗口中点击insert键,将第二、第三和第四条Y网格线设为0.2、0.5和0.8,间距分别为0.01,0.05和0.15,如图4.6所示。图4.6Y方向上的网格定义g.为了预览所定义的网格,在网格定义菜单中选择View键,则会显示ViewGrid窗口。h.最后,点击菜单上的WRITE键从而在文本窗口中写入网格定义的信息。如图4.7。图4.7对产生非均匀网格的行说明4.1.3定义初始衬底参数由网格定义菜单确定的LINE语句只是为ATHENA仿真结构建立了一个直角网格系的基础。接下来需要对衬底区进行初始化。对仿真结构进行初始化的步骤如下:a.在ATHENACommands菜单中选择MeshInitialize…选项。ATHENA网格初始化菜单将会弹出。在缺省状态下,100晶向的硅被选作材料;b.点击Boron杂质板上的Boron键,这样硼就成为了背景杂质;c.对于Concentration栏,通过滚动条或直接输入选择理想浓度值为1.0,而在Exp栏中选择指数的值为14。这就确定了背景浓度为1.0×1014原子数/cm3;(也可以通过以Ohm·cm为单位的电阻系数来确定背景浓度。)d.对于Dimensionality一栏,选择2D。即表示在二维情况下进行仿真;e.对于Comment栏,输入“InitialSiliconStructurewith100Orientation”,如图4.8;f.点击WRITE键以写入网格初始化的有关信息。图4.8通过网格初始化菜单定义初始的衬底参数4.1.4运行ATHENA并且绘图现在,我们可以运行ATHENA以获得初始的结构。点击DECKBUILD控制栏里的run键。输出将会出现在仿真器子窗口中。语句structoutfile=.history01.str是DECKBUILD通过历史记录功能自动产生的,便于调试新文件等。使初始结构可视化的步骤如下:a.选中文件“.history01.str”。点击Tools菜单项,并依次选择Plot和PlotStructure…,如图4.9所示;在一个短暂的延迟之后,将会出现TONYPLOT。它仅有尺寸和材料方面的信息。在TONYPLOT中,依次选择Plot和Display…;b.出现Display(二维网格)菜单项,如图4.10所示。在缺省状态下,Edges和Regions图象已选。把Mesh图象也选上,并点击Apply。将出现初始的三角型网格,如图4.11所示。现在,之前的INIT语句创建了一个0.6μm×0.8μm大小的、杂质硼浓度为1.0×1014原子数/cm3、掺杂均匀的100晶向的硅片。这个仿真结构已经可以进行任何工艺处理步骤了(例如离子注入,扩散,刻蚀等)。图4.9绘制历史文件结构图4.10Tonyplot:Display(二维网格)菜单图4.11初始三角网格4.1.5栅极氧化接下来,我们通过干氧氧化在硅表面生成栅极氧化层,条件是1个大气压,950°C,3%HCL,11分钟。为了完成这个任务,可以在ATHENA的Commands菜单中依次选择Process和Diffuse…,ATHENADiffuse菜单将会出现。a.在Diffuse菜单中,将Time(minutes)从30改成11,Tempreture(C)从1000改成950。Constant温度默认选中(见图4.12);图4.12由扩散菜单定义的栅极氧化参数图4.13栅极氧化结构b.在Ambient栏中,选择DryO2项;分别检查Gaspressure和HCL栏。将HCL改成3%;在Comment栏里输入“GateOxidation”并点击WRITE键;c.有关栅极氧化的数据信息将会被写入DECKBUILD文本窗口,其中Diffuse语句被用来实现栅极氧化;d.点击DECKBUILD控制栏上的Cont键继续ATHENA仿真。一旦栅极氧化完成,另一个历史文件“.history02.str”将会生成;选中文件“.history02.str”,然后点击Tools菜单项,并依次选择Plot和PlotStructure…,将结构绘制出来;最终的栅极氧化结构将出现在TONYPLOT中,如图4.13所示。从图中可以看出,一个氧化层淀积在了硅表面上。4.1.6提取栅极氧化层的厚度下面过DECKBUILD中的Extract程序来确定在氧化处理过程中生成的氧化层的厚度。a.在Commands菜单点击Extract…,出现ATHENAExtract菜单;Extract栏默认为Materialthickness;在Name一栏输入“Gateoxide”;对于Material一栏,点击Material…,并选择SiO~2;在Extractlocation这一栏,点击X,并输入值0.3;b.点击WRITE键,Extract语句将会出现在文本窗口中;在这个Extract语句中,mat.occno=1为说明层数的参数。由于这里只有一个二氧化硅层,所以这个参数是可选的。然而当存在有多个二氧化硅层时,则必须指定出所定义的层;c.点击DECKBUILD控制栏上的Cont键,继续进行ATHENA仿真仿真。Extract语句运行时的输出如图4.14所示;从运行输出可以看到,我们测量的栅极氧化厚度为131.347Å。图4.14Extract语句运行时的输出