600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Silvaco TCAD仿真基础2

Silvaco TCAD仿真基础2

时间:2019-03-24 10:22:23

相关推荐

Silvaco TCAD仿真基础2

学习目标

DeckBuild 的命令 “extract”、“go”、“set”和“Tonyplot”Silvaco 文档的分布和学习方法。

Silvaco语法格式

Silvaco 的语法结构组成:(一个语句只有一个命令, 而参数可以有多个)

command (器件仿真时的“statement”作用同此“command”)parameter

通用格式:

COMMAND PARAMETER1=<n> PARAMETER2=<c> [PARAMETER3 | PARAMETER4/*其中“n”代表数值,如“30”;“c”代表字符串,如“silicon”。"<>"内的参数为可选参数,“|”号表示两边的参数选其一。*/

Command 一般为单个单词。

Silvaco 中字符串参数的命名规则:

如果参数只有一个属性,则用一个单词就可以表示。【如“硅”用 单词 silicon,“材料”用单词 material 表示。】如果参数具有两个或多个属性,则参数的名称将由两个或多个单词的缩写拼接而成,单词之间由点连接,一般是左边的参数限定或说明边的参数。【例如“温度的值”(temp.val),“偏置的步长”(bias.step),“材料的序号”(mat.occno, “occno”是 number of occurrence 的意思),“某二维区域内的最大浓度”(2d.max.conc)等。】对于特定的命令如果仿真语句中没有给出参数值则会采用默认值。用户可以查询手册来了解 默认值极其默认单位。】

语法规则

命令可以简写,以不与其他简写相冲突为原则,如“deposit”可以用“depo”取代;不区分大小写;命令和参数之间、参数和参数之间以空格分开;一行写不完的在该行的末尾加反斜杠“\”(注意“\”前需留有空格),则下一行和 该行将被视为同一个命令;“#”号后面是注释,仿真时不运行注释后面的内容;空行不运行。

DeckBuild 命令:

“go”“set”“Tonyplot”“extract”

go命令

“go”的作用:启用或切换仿真器。

仿真器:

ATHENAATLASSsuprem3等等

Go 语法:

GO <SIMULATOR> | SIMFLAGS=<SIMULATOR>/*其中 simulator 为仿真器名称,simflags 指出仿真参数和程序版本。*/

例子:

启动器件仿真器 ATLAS。

go atlas

启动器件仿真器 ATLAS,版本 5.0.8。

go atlas simflags="-V 5.0.8.R"

启动三维器件编辑器。

go devedit "-3d"

set命令

set 命令作用:

对 DeckBuild 的全局变量进行设置设置 Tonyplot 的显示方式。(显示方式 可以保存在*.set 文件中,这样在显示时可直接调用。)

set语法:

SET <VARIABLE> = [ <VALUE> | <EXPR>] [NOMINAL]/*“variable”为任意变量,在后续语句中使用该变量则需写为“$<variable>”。*/

例子

用全局变量来设置工艺参数

set temp=1000 set gaspress=1 diffuse time=30 temp=$temp press=$gaspress#变量为“temp”和“gaspress”,值分别为“1000”和“1”。#这样在后续仿真语句中声明“$temp”和“$gaspress”时,设置的值将自动赋予这些变量。

变量为经某种运算后的结果。

extract name="oxide thickness" thickness oxide //先提取氧化层厚度,将其名称设为“oxide thickness”。set etch_thickness=($"oxide thickness"*10000) + 0.05 /*设置变量“etch_thickness”值为之前提取得到的氧化层厚度经一个运算(乘以 10000 再加上 0.05)得到的结果*/etch oxide dry thickness=$etch_thickness //干法刻蚀二氧化硅,刻蚀的厚度就是之前运算的值,即“etch_thickness”。

经常在淀积工艺中定义网格密度的时候采用这种方式,如将纵向网格数(division)设

置成厚度除以网格间距的商。

按照设置文件“show.set”来进行显示。

tonyplot structure.str -set show.set

在 Tonyplot界面的 File 下拉菜单中点击 Save Set Files…则可以将当前的显示方式保存在 相应的 set 文件中。

Set 文件需要存放在工作路径下,这样程序才能查找到。

Tonyplot

Tonyplot :

可视化工具,可将仿真时生成的临时文件(结构)、工艺仿真中保存的结构文件、器件编辑器生成的结构文件、器件仿真保存的 log 文件和提取得到的 dat 文件显示出来。也是交互式工具,其内建的计算器可以对数据进行计算。

对于三维结构的显示需要 Tonyplot3D。

打开 Tonyplot:

Tonyplot 界面:

没有打开数据文件的时候将显示 Tonyplot 的版本信息。 顶部主要有 File、Edit、Plot 和 Tools 等菜单。

Tonyplot 显示的一个 MOS 结构:

显示的信息有浓度分布、结的边界、区域边 界、电极的名称、各区域的材料和横向、纵向的尺寸等。由于用颜色来表示物理量“Net Doping”,所以由颜色来区分材料不可用 。

Tonyplot 显示的由器件仿真得到的 MOS 输出特性曲线:

(栅电压为 1.1V、2.2V 和 3.3V 时漏电流随漏源电压的变化。)

Extract

Extract 可以用于提取仿真结果,如工艺仿真得到的结果,如材料厚度、结深、方块电阻等,或提取器件仿真的阈值电压,电流放大倍数等。

简单语法:

EXTRACT EXTRACT – PARAMETERS

例子

提取栅氧化层厚度。

extract name="gateox" thickness oxide mat.occno=1 x.val=0.49

提取结深。

extract name="nxj" xj silicon mat.occno =1 x.val=0.1 junc.occno=1

提取结深的另一种办法。

extract name="Junction Depth" x.val from curve(depth, \(impurity="Gallium" material="Silicon" mat.occno=1) \- (impurity="Phosphorus"material="Silicon" mat.occno=1)) where y.val=0.0

提取表面浓度。

extract name="chan surf conc" surf.conc impurity="Net Doping" \material="silicon" mat.occno=1 x.val=0.45

提取 x=0.1μm 处的硼浓度分布。

extract name="bcurve" curve(depth, boron silicon mat.occno=1 x.val=0.1) \outfile="extract.dat"

提取激活了的砷的总浓度。

extract name="Active_Arsenic" 1.0e-04 * (area from curve (depth, \impurity= "Active Arsenic" material="Silicon" mat.occno=1))

提取方块电阻。

extract name="n++ sheet rho" sheet.res material="Silicon" \mat.occno=1 x.val=0.05 region.occno=1

学习方法

学习资料:

程序自带的 EXAMPLE:

EXAMPLE 路径,X:\ sedatools\ examples\...

用户手册:

如 ATHENA 手册,位置: X:\sedatools\lib\Athena\.R\docs\athena_users1.pdf.;

SILVACO 官方网站 ;

SILVACO 中国 ;

有关 EDA 的专题网站:

EDA 中心 http://www.;EDA 中国门户网站 ;中国 EDA 技术网 ;

学习建议:

仿真≠真,尽信软件不如没有软件;

参考:《半导体工艺和器件仿真工具 Silvaco TCAD 实用教程》唐龙谷

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。