Silvaco TCAD 可以仿真半导体工艺和器件特性,其主要的集成环境为DeckBuild,工艺仿真组件、 器件仿真组件以及可视化工具等模块均可在DeckBuild 界面灵活地调用。
1、TCAD
TCAD(Technology Computer Aided Design)指的是半导体工艺模拟以及器件模拟工具。
Silvaco公司的ATHENA和ATLAS,Synopsys公司的Sentaurus,光电器件仿真领域Crosslight。
1.1数值计算
设置方程的量的方式:
①常数固定值直接设定;②自定义函数描述;③相应物理模型描述参数(例如:conmob为迁移率碎掺杂浓度变化的模型)
由于实际的物理系统非常复杂,连续的信息量非常大,必须将其离散化,那么就是在半导体仿真应用上基于网格计算。
网格计算:将半导体仿真区域划分为网格,在网格点处计算出希望得到的特性(如电学性质,光学性质,工艺步骤的速率等等)。网格的划分对于仿真至关重要,精细的网格能够得到较为精确的结果,但是同比会增加计算时间,也可能导致不收敛。网格点是计算时的很重要的资源,需要合理地利用。
控制网格的方式:
①由网格线以及网格线之间的间隙来描述仿真区域的网格;②通过网格释放使得后续步骤中不是很紧要的区域的网格点变少,网格释放之后也可以再重新建立合适的精细的网格;③用三角形参数来控制网格的长宽比。如果把长方形网格的对角线相连,就会形成两个三角形,控制三角形的角度就可以控制网格的长宽比;④在适当的区域增删网格线。
数值计算必须综合考虑精确性,计算速度和收敛性。
1.2基于物理的计算
仿真的准确性和选择的物理模型相关。基于物理的计算指的是在进行仿真计算时用到的方程都是具有物理意义的,在不同的场合下使用不同的物理模型。
器件仿真时主要用到的物理模型和方程如下:
①基本半导体方程: 泊松方程;载流子连续性方程;传输方程(漂移—扩散传输模型
和能量平衡传输模型);位移电流方程
②载流子统计的基本理论:费米—狄拉克统计理论;波尔兹蔓统计理论;状态有效密
度理论;能带理论;禁带变窄理论
③不完全离化(低温仿真或重掺杂)、缺陷或陷阱造成的空间电荷理论
④边界物理:欧姆接触;肖特基接触;浮接触;电流边界;绝缘体接触;上拉元件接
触; 分布电阻接触;能量平衡边界
⑤物理模型:迁移率模型;载流子生成—复合模型;碰撞离化模型;带—带隧穿模型;
栅电流模型; 器件级的可靠性模型; 铁电体介电常数模型;外延应力模型;压力
影响硅带隙模型;应力硅电场迁移率模型; 纤锌矿材料极化模型
⑥光电子模型:生成—复合模型;增益模型;光学指数模型…
⑦磁场下载流子传输模型…
⑧各向异性介电常数模型…
⑨单粒子翻转模型
器件仿真的通用框架是泊松方程和连续性方程。其中 Jn、 Jp、 Gn、 Gp、 Rn、 Rp、迁移率、载流子浓度、禁带变窄、少子寿命和光生成速率等等参数都有专门的模型来定义。不同的模型表达式会有差别。将基本的方程中的量去耦,然后相应的模型求这出这些量,再代入方程进行计算。
电流密度方程和电荷传输模型通常采用玻尔兹曼近似。这些由不同的传输模型,如漂移—扩散模型,能量平衡传输模型和水力学模型等设定。电荷传输模型主要受所选的生成—复合模型的影响。电荷传输模型和生成--复合模型使用一些和载流子统计相关的概念。
1.2Silvaco TCAD
1.2.1主要组件
Silvaco TCAD的主要组件包括交互式工具DeckBuild,Tonyplot,二维工艺仿真器ATHENA,二维器件仿真器ATLAS,器件编辑器DevEdit,三位仿真器Victory,此外还有一些内部的板块。
①DeckBuild
各 TCAD 仿真组建均可在集成环境 DeckBuild 的界面调用。
DeckBuild 特性功能如下:
输入和编辑仿真文件;查看仿真输出并对其进行控制;提供仿真器组件间的自动转换;提供工艺优化以快速而准确地获得仿真参数;内建的提取功能对仿真得到的特性进行提取;内建的显示提供对结构的图像输出;可从器件仿真的结果中提取对应 SPICE 模型的参数。
②Tonyplot可视化工具
可显示的类型非常丰富, 包括几何结构, 和物理量的分布等,也可以显示器件仿真所得到的曲线。
Tonyplot 可以将显示结果导出图片,也可将结构中的物理量的分布导出成数据文件,这样就能清楚地获取仿真的结果数据,以便进行处理。还可以做成动画。
③ATHENA
ATHENA 提供一个易于使用,模块化的,可扩展的平台。ATHENA 能对所有关键制造步骤(离子注入,扩散,刻蚀,淀积,光刻以及氧化等)进行快速精确的模拟。仿真能得到包括 CMOS,Bipolar, SiGe,SOI, III-V,光电子以及功率器件等器件结构,并精确预测器件结构中的几何参数,掺杂剂量分布和应力等。
④ATLAS
ATLAS 器件仿真系统可以模拟半导体器件的电学、光学和热学行为。 ATLAS 提供一个基于物理的,使用简便的模块化的可扩展的平台,用以分析所有二维和三维模式下半导体器件的直流、交流和时域响应。
ATLAS 可以仿真硅化物、 III-V、 II-VI、 IV-IV 或聚合/有机物等各种材料。可以仿真的器件类型很多,如CMOS、双极、高压功率器件、 VCSEL、 TFT、光电子、激光、 LED、 CCD、传感器、熔丝、铁电材料、NVM、 SOI、 HEMT、 Fin 和 HBT 等器件。ATLAS 器件仿真软件的主要模块有 S-Pisces(二维硅器件模拟器), Device3D(三维硅器件模拟器),Blaze2D/3D(高级材料的二维/三维器件模拟器), TFT2D/3D(无定型和多晶体二维/三维模拟器), VCSELS 模拟器, Laser(半导体激光/二极管模拟器), Luminous2D/3D(光电子器件模块), Ferro(铁电场相关的介电常数模拟器), Quantum(二维/三维量子限制效应模拟模块),Giga2D/3D(二维/三维非等温器件模拟模块), NOISE(半导体噪声模拟模块),ATLAS C 解释器模块和 MixedMode(二维/三维组合器件和电路仿真模块) 等。
⑤器件编辑器DevEdit2D/3D
器件编辑器 DevEdit2D/3D 可以编辑器件结构。另外器件编辑器在定义复杂电极(如通孔)时较ATHENA 和 ATLAS 方便。
⑥掩膜输出编辑器
1.2.2目录结构
1.2.3文件类型
仿真时需要熟悉Silvaco的文件系统,主要的文件类型有:
①输入文件“*.in”: DeckBuild 界面的仿真输入文件;
②结构文件“*.str”: 工艺仿真或器件编辑器得到的器件结构;
③器件仿真结果文件“*.log”: 器件仿真时存储仿真结果;
④设置文件“*.set”: Tonyplot 的显示设置;
⑤掩膜结构文件“*.lay”: 光刻的掩膜信息;
⑥提取的结果文件“*.dat”: 提取得到的数据;
⑦“*.lib”: C--编译器编写的函数文件;
⑧其他文件类型:“*.sepc”, “*.opt”, …
1.3DeckBuild
1.3.1DeckBuild Preferences
1、DeckBuild工作路径
工作路径可以在DeckBuild Preferences配置框中的Working Directory选项卡进行查看或者更改。
2、History Settings
History 功能允许回退到输入文件的某一行,重新从这一行开始往下执行仿真。在 History Settings 选项卡中勾上 Make History,则在仿真时会按工艺仿真步骤在工作路径下保存一系列的历史文件(器件仿真不会保存历史文件)。
3、Output Window Settings
在 Output Winsow Settings 选项卡中勾上“Clear output window before running”,则仿真开始时就会清除掉之前在实时输出窗口显示的内容。
4、Simulator Preferences
Simulator preferences 中可以选择默认的仿真器,默认值是“NONE”。 这些仿真器有ATHENA、 ATLAS、 Clever、 DevEdit、 Mercury 和 Ssuprem3。
5、Tonyplot Setting
6、Extract Settings
7、Output Settings
将 Output Settings 中的“File Output”选项框勾上,则在仿真时实时输出窗口显示的内容将保存在文件中,默认文件名为“deckbuild.out”。
1.3.2语法格式
Silvaco 的语法由“command” 和“parameter” 两部分组成。 一个语句只有一个命令,而参数可以有多个。
语法书写需要注意以下规则:
①命令可以简写,以不与其他简写相冲突为原则,如“deposit” 可以用“depo” 取代;
②不区分大小写;
③命令和参数之间、参数和参数之间以空格分开;
④一行写不完的在该行的末尾加反斜杠“\” (注意“\” 前需留有空格),则下一行和该行将被视为同一个命令;
⑤“#” 号后面是注释,仿真时不运行注释后面的内容;
⑥空行不运行。
1.3.3 go
“go” 的作用是启用或切换仿真器,仿真器可以是ATHENA, ATLAS, Ssuprem3 等等。
go atlas 启动器件仿真器ATLAS
go atlas simflags=“-V 5.0.8.R” 启动器件仿真器ATLAS,版本5.0.8
go devedit"-3d" 启动三维器件编辑器
1.3.4 set
命令set 可以对 DeckBuild 的全局变量进行设置或设置 Tonyplot 的显示方式。 显示方式可以保存在*.set 文件中,这样在显示时可直接调用。
“variable”为任意变量,在后续语句中使用该变量则需写为“$<variable>”,即再前面加一个美元符号。
set temp=1000
set gaspress=1
diffuse time=30 temp=$temp press press=$gaspress
此例中变量为“temp” 和“gaspress”, 值分别为“1000” 和“1”。这样在后续仿真语句中声明“$temp” 和“$gaspress” 时, 设置的值将自动赋予这些变量。
Value可以是数字,也可以是由某些变量经运算之后得到的结果。
tonyplot structure.str -set show.set 按照设置文件“show.set”来进行显示
1.3.5 TonyPlot
Tonyplot 可以相当方便的对仿真结果进行显示,各种应用功能也非常丰富,如测量,截取一维数据,制作动画等。
Tonyplot 可以打开的文件类型有结构文件(*.str)、日志文件(*.log)、 RSM 文件(*.rsm)、统计文件(*.sta)、用户数据文件(*.dat) 和压缩文件(*.gz) 等等。
Tonyplot 有三种方式打开要显示的文件,“Add Plot”,“Overlay Plot” 和“Replace Plot”,默认的是“Add Plot”。 器件仿真所得到的特性通常需要用到“Overlay Plot”, 例如输出特性就是将几条曲线重叠显示的。
Functions--可以对显示的量进行计算,函数计算功能。
Tools-->Probe 点 Probe 菜单,然后用左键在 Tonyplot 显示区域点击某一“点” 就可获得该点的信息。如果点在网格的同一个三角形内,那么显示的结果会是相同的, 而不是所认为的点的坐标不同结果就不同。这就是网格离散化带来的必然结果。
Tools-->HP4145 对数据图(graph)进行简单的处理。 经常会碰到要提取仿真得到的特性曲线的参数的情况,如曲线的斜率、和轴的交点等等。
HP4145 只能对数据曲线(graph)进行处理,而且是在 Tonyplot 窗口中只打开一个日志文件的时候才可用。
Tools-->Integrate 测量单条曲线和横轴之间的面积或两条曲线之间的面积。
tonyplot -overlay mos0_1.log mos0_2.log mos0_3.log -set show.set
重叠显示,表示把器件仿真得到的三个曲线按照设置文件show.set的设置,以重叠(overlay)的方式显示在一个窗口中。
tonyplot 显示当前的结构
1.3.6 Extract
Extract可以用于提取仿真结果。DeckBuild 的提取功能能较方便地得到仿真结果,代替了手动的分析。
器件仿真的方法是对器件施加电流、电压、磁场或是光照等,对器件的端电流电压和器件内部的电学量进行仿真计算(solve)。仿真时 solve 得到的器件信息(含电学信息)可以保存在结构文件(*.str)或日志文件(*.log)中。
网友评论