第3章工艺及器件仿真工具SILVACO-TCAD浙大微电子SILVACO简介SILVACO-TCAD是由SILVACO公司研发的计算机辅助设计仿真软件,用于半导体器件和集成电路的研究和开发、测试和生产中。这套完整的工具使得物理半导体工艺可以给所有阶段的IC设计提供强大的动力:工艺仿真(ATHENA)和器件仿真(ATLAS);SPICE模型的生成和开发;互连寄生参数的极其精确的描述;基于物理的可靠性建模以及传统的CAD。所有这些功能整合在统一的框架,为工程师在完整的设计中任何阶段中所做更改而导致的性能、可靠性等效果,提供直接的反馈。2020/2/252/118浙大微电子2020/2/253/118•使用ATHENA的NMOS工艺仿真•使用ATLAS的NMOS器件仿真本章内容浙大微电子2020/2/254/118•使用ATHENA的NMOS工艺仿真•使用ATLAS的NMOS器件仿真本章内容浙大微电子2020/2/255/118概述用ATHENA创建一个典型的MOSFET输入文件所需的基本操作包括:a.创建一个好的仿真网格b.演示淀积操作c.演示几何刻蚀操作d.氧化、扩散、退火以及离子注入e.结构操作f.保存和加载结构信息浙大微电子2020/2/256/118创建一个初始结构•定义初始直角网格−在UNIX或LINUX系统提示符下,输入命令:deckbuild-an&,以便进入deckbuild交互模式并调用ATHENA程序。这时会出现如下图所示deckbuild主窗口,点击File目录下的EmptyDocument,清空Deckbuild文本窗口;浙大微电子2020/2/257/118−在如图所示的文本窗口中键入语句goAthena;接下来要明确网格。网格中的结点数对仿真的精确度和所需时间有着直接的影响。仿真结构中存在离子注入或者形成PN结的区域应该划分更加细致的网格。浙大微电子2020/2/258/118−为了定义网格,选择MeshDefine菜单项,如下图所示。下面将以在0.6μm×0.8μm的区域内创建非均匀网格为例介绍网格定义的方法。浙大微电子2020/2/259/118•在0.6μm×0.8μm的方形区域内创建非均匀网格−在网格定义菜单中,Direction栏缺省为X方向;点击Location栏,输入值0,表示要插入的网格线定义点在位置0;点击Spacing栏,输入值0.1,表示相邻网格线定义点间的网格线间距为0.1。当两个定义点所设定的网格线间距不同时,系统会自动将网格间距从较小值渐变到较大值。−在Comment栏,键入注释行内容“Non-UniformGrid(0.6umx0.8um)”,如图所示;浙大微电子2020/2/2510/118−点击insert键,网格定义的参数将会出现在滚动条菜单中,见下图;−在X=0.2和X=0.6处,分别插入第二和第三个网格线定义点,并将网格间距均设为0.01。这样在X轴右边区域内就定义了一个非常精密的网格,作为NMOS晶体管的有源区;−接下来,我们继续在Y轴上建立网格。在Direction栏中选择Y方向;点击Location栏并输入定义点的位置为0。然后,点击Spacing栏并输入网格间距值0.008;浙大微电子2020/2/2511/118−在网格定义窗口中点击insert键,并继续插入第二、第三和第四个Y方向的网格定义点,位置分别设为0.2、0.5和0.8,网格间距分别设0.01,0.05和0.15,如图所示。浙大微电子2020/2/2512/118–为了预览所定义的网格,在网格定义菜单中选择View键,则会显示ViewGrid窗口。–最后,点击菜单上的WRITE键从而在文本窗口中写入网格定义信息。浙大微电子2020/2/2513/118定义初始衬底由网格定义菜单确定的LINE语句只是为ATHENA仿真结构建立了一个直角网格系基础。接下来就是衬底区的初始化。对仿真结构进行初始化的步骤如下:①在ATHENACommands菜单中选择MeshInitialize…选项。ATHENA网格初始化菜单将会弹出。在缺省状态下,硅材料为100晶向;②点击Boron杂质板上的Boron键,这样硼就成为了背景杂质;③对于Concentration栏,通过滚动条或直接输入,选择理想浓度值为1.0,而在Exp栏中选择指数的值为14。这就确定了背景浓度为1.0×1014原子数/cm3(也可以通过以Ohm·cm为单位的电阻系数来确定背景浓度)。浙大微电子2020/2/2514/118④对于Dimensionality一栏,选择2D。在二维情况下进行仿真;⑤对于Comment栏,输入“InitialSiliconStructurewith100Orientation”,如下图所示;⑥点击WRITE键以写入网格初始化的有关信息。浙大微电子2020/2/2515/118现在,运行ATHENA以获得初始结构。点击Deckbuild控制栏里的run键,输出将会出现在仿真器子窗口中。语句Structoutfile=.history01.str是Deckbuild通过历史记录功能自动产生的,便于调试新文件等。运行ATHENA并且绘图使初始结构可视化的步骤如下:①选中文件“.history01.str”(目前仅有尺寸和材料方面的信息),点击Tools菜单项,并依次选择Plot和Plot浙大微电子2020/2/2516/118Structure…,如图所示,将会出现TONYPLOT(绘图工具软件)。在TONYPLOT中,依次选择Plot和Display…;浙大微电子2020/2/2517/118②出现Display(二维网格)菜单项,在缺省状态下,Edges和Regions图象已选。把Mesh图象也选上,并点击Apply。将出现初始的三角型网格,如图所示。浙大微电子2020/2/2518/118现在,先前的INIT语句创建了一个0.6μm×0.8μm大小的、杂硼浓度为1.0×1014原子数/cm3、掺杂均匀的100晶向的硅片。这个仿真结构已经可以进行任何工艺处理步骤了(例如离子注入,扩散,刻蚀等)。接下来,我们通过干氧氧化在硅表面生成栅极氧化层,条件是1个大气压,950°C,3%HCL,11分钟。为了完成这个任务,可以在ATHENA的Commands菜单中依次选择Process和Diffuse…,ATHENADiffuse菜单将会出现。浙大微电子2020/2/2519/118栅极氧化①在Diffuse菜单中,将Time(minutes)从30改成11,Tempreture(C)从1000改成950,并使用Constant温度;②在Ambient栏中,选择DryO2项;分别检查Gaspressure和HCL栏。将HCL改成3%;在Comment栏里输入“GateOxidation”并点击WRITE键;浙大微电子2020/2/2520/118③有关栅极氧化的数据信息将会被写入Deckbuild文本窗口,其中Diffuse语句被用来实现栅极氧化;④点击Deckbuild控制栏上的Cont键继续ATHENA仿真。一旦栅极氧化完成,另一个历史文件“.history02.str”将会生成;选中该文件,然后点击Tools菜单项,并依次选择Plot和PlotStructure…,将结构绘制出来;最终的栅极氧化结构将出现在TONYPLOT中,如图所示。从图中可以看出,一个氧化层淀积在了硅表面。浙大微电子2020/2/2521/118下面通过Deckbuild中的Extract程序来确定氧化处理过程中生成的氧化层厚度。①在Commands菜单中点击Extract…,出现ATHENAExtract菜单;Extract栏默认为Materialthickness;在Name一栏输入“Gateoxide”;对于Material一栏,点击Material…,并选择SiO~2;在Extractlocation这一栏,点击X,并输入值0.3,表示提取X=0.3处的氧化层厚度。②点击WRITE键,Extract语句将会出现在文本窗口中。在这个Extract语句中,mat.occno(=1)为说明层数的提取栅极氧化层的厚度浙大微电子2020/2/2522/118③点击Deckbuild控制栏上的Cont键,继续进行ATHENA仿真。Extract语句运行时的输出如图所示;从运行输出可以看到,我们测量的栅极氧化层厚度为131.347Å。参数。由于这里只有一个二氧化硅层,所以这个参数是可选的。然而当存在有多个二氧化硅层时,则必须指定出所定义的层。浙大微电子2020/2/2523/118栅氧厚度的最优化下面介绍如何使用Deckbuild中的最优化函数来对栅极氧化厚度进行最优化。假定所测量的栅氧厚度为100Å,栅极氧化过程中的扩散温度和偏压均需要进行调整。为了对参数进行最优化,应照如下方法使用Deckbuild最优化函数:浙大微电子2020/2/2524/118①依次点击Maincontrol和Optimizer…选项;调用出如图中所示的最优化工具。第一个最优化视窗显示了Setup模式下控制参数的表格。我们只要改变最大误差参数以便能精确地调整栅极氧化厚度为100Å;浙大微电子2020/2/2525/118②将MaximumError在criteria一栏中的值从5改为1;③接下来,我们通过Mode键将Setup模式改为Parameter模式,并定义最优化参数。−需要优化的参数是栅极氧化过程中的温度和气压。为了对其进行最优化,在Deckbuild窗口中选中栅极氧化这一步骤,如下图所示。浙大微电子2020/2/2526/118④然后,在Optimizer中,依次点击Edit和Add菜单项。一个名为Deckbuild:ParameterDefine的窗口将会弹出,如下左图所示,列出了所有可能作为参数的项;⑤检查temp=variable和press=variable这两项。然后,点击Apply。添加的最优化参数将如下右图所示被列出;浙大微电子2020/2/2527/118⑥接下来,通过Mode键将Parameter模式改为Targets模式,并定义优化的目标;⑦Optimizer利用Deckbuild中Extract语句的值来定义最优化的目标。因此,返回Deckbuild的文本窗口并选中Extract栅极氧化厚度语句,如图所示;浙大微电子2020/2/2528/118⑧在Optimizer中,依次点击Edit和Add项。这就将“栅极氧化”这个目标添加到了Optimizer的目标列表中去。在目标列表里定义目标值。在Targetvalue中输入值100Å(见下图);通过在栅极氧化工艺过程中改变温度和气压,Optimizer对栅极氧化厚度进行了优化。浙大微电子2020/2/2529/118⑨为了观察优化过程,我们可以将Targets模式改为Graphics模式,如下左图所示;⑩最后,点击Optimize键以演示最优化过程。仿真将会重新运行,并且在一小段时间之后,重新开始栅极氧化这一步骤。最优化的结果为,温度925.727°C,偏压0.982979,以及抽样氧化厚度100.209Å,如右图所示;浙大微电子2020/2/2530/118为了完成最优化,温度和气压的最优化值需要被复制回输入文档中。11为了复制这些值,需要返回Parameters模式并依次点击Edit和CopytoDeck菜单项以更新输入文档中的最优化值,输入文档将会在正确的地方自动更新。如图所示;浙大微电子2020/2/2531/118完成离子注入离子注入是向半导体器件结构中掺杂的主要方法。在ATHENA中,离子注入是通过在ATHENAImplant菜单中设定Implant语句来完成的。这里举例阈值电压校正注入,条件是杂质硼的剂量为9.5×1011cm-2,注入能量为10keV,tilt为7度,rotation为30度,步骤如下:①在Commands菜单中,依次选择Process