直接翻译了说明书

目标:

熟悉Sentaurus设备的功能。
介绍Sentaurus设备使用的输入文件的结构。

1.1 Overview

Sentaurus器件是一种数字半导体器件模拟器,能够模拟各种半导体器件的电气,热学和光学特性。它可以在各种工作条件下模拟一维,二维和三维器件行为,包括混合模式电路仿真,将数值仿真器件与其紧凑建模相结合,这是在基于SPICE的电路仿真级别上执行的。

1.2 Command files

Sentaurus设备的典型命令文件由几个命令部分(或语句块)组成,每个部分执行相对独立的功能。 命令文件的默认扩展名是_des.cmd,例如pp1_des.cmd。
命令文件中使用的关键字不区分大小写,并且大多数可以缩写。 然而,外部引用诸如文件名和接触点名(其是指在器件结构文件中的接触定义)是大小写敏感的,并且必须使用双引号。

命令文件通常包含以下内容:

File section

Electrode section

Physics section

Plot section

Math section

Solve section

1.2.1 File section

文件部分定义了模拟的输入和输出文件,例如:

File {* Input FilesGrid      = "nmos_msh.tdr"Parameter = "nmos.par"* Output FilesCurrent = "nmos"Plot    = "nmos"Output  = "nmos"
}

(插入的python格式的代码,感觉我的随笔完全都是在瞎写...)

1.2.1.1 Input Files

Sentaurus设备至少需要一个输入文件来定义设备结构和字段值,这是强制性的掺杂分布以及设备内可选的机械应力分布。另外,可以指定一个可选的参数文件,其中声明了材料属性和物理模型参数。

网格文件(TDR格式)包含两种类型的信息:
设备几何体,包括区域和材料规格,接触和网格定义,包括所有离散网格点的位置,也称为节点或顶点
设备中的字段值,例如给定网格上设备内的掺杂分布

网格文件可以表示1D,2D或3D设备尺寸。 它通常由网格引擎Sentaurus Mesh生成。 文件扩展名.tdr表示该文件是TDR格式,这是Sentaurus Mesh生成的默认格式。

可选的参数文件包含材料参数和用户定义的模型参数的规格。 此文件中指定的参数值将取代Sentaurus设备内置的默认值。 用于Sentaurus设备参数文件的常见扩展名是.par。

1.2.1.2 Output Files

Sentaurus设备生成几个输出文件:
a.包含电极名称和生成的电压,电流,电荷,时间,温度等的文件,其名称在Current语句中指示
d.具有空间分布式解决方案变量及其派生物的文件,其名称在Plot语句中指示
c.一个协议文件,其名称在Output语句中指明

对于当前文件,Sentaurus设备始终将_des.plt扩展名(如果未明确指定)添加到实际文件名中,例如上面示例的nmos_des.plt。

绘图规范指示,其中最终的空间分布的领域,如溶液变量(载流子密度,静电势,和晶格温度)和它们的衍生物,应被存储在模拟结束的文件名。 生成的绘图文件格式取决于输入网格文件的格式。 如果网格文件为TDR格式,则Sentaurus设备也会生成TDR格式的绘图输出。 对于绘图文件,Sentaurus设备总是将扩展_des添加到实际文件名中,例如上例中的nmos_des.tdr。

输出文件规范指示Sentaurus设备将设备仿真期间生成的输出放置在何处。 Sentaurus设备始终将扩展_des.log(如果未明确指定)添加到实际文件名,例如上述示例的nmos_des.log。

1.2.2 Electrode section

电气设备触点与初始边界条件(偏置)和其他可选规格一起在电极部分中声明。

此处定义的每个电极必须完全匹配(区分大小写)Grid文件中的现有联系人名称。 模拟中仅包含电极部分中指定的接触点。

以下是电极规格示例:

Electrode {{ Name="source"        Voltage=0.0 }{ Name="drain"         Voltage=0.0 Resistor=100 }{ Name="gate"          Voltage=0.0 Barrier=-0.55 }{ Name="base"          Voltage=0.0 Current=0. }{ Name="HEMTgate"      Voltage=0.0 Schottky Barrier=0.78 }{ Name="floating_gate" Voltage=0.0 charge=0. }
}

默认情况下,Sentaurus设备将电极视为理想的欧姆接触,其中假设电源接触的电荷中性和平衡。

由于与电路节点的连接必须是电阻性的,因此Sentaurus设备会将电极转换为电阻值为0.001Ω的电阻接点。 您可以通过明确指定来改变集总电阻值。 在上例中,100Ω电阻连接到漏极触点。

对于2D器件,电阻值以Ω*μm单位定义。

栅极定义中的栅栏规范定义了金属和内部参考半导体之间的功函数差异。 这将静电势移动了指定值,psi(栅极)= Vgate - 势垒,从而允许您模拟重掺杂多晶硅栅极的存在,而不存在于器件结构中。

基本定义中的Current语句声明电极连接到理想电流源而不是电压源,因此允许您在Solve部分中增加电流。

接触HEMTgate被声明为具有0.78eV的预定势垒高度的肖特基接触。

最后一个例子说明了连接浮动半导体区域的电极floating_gate的电荷规格。

1.2.3 Physics section

在Physics部分中,您声明了要在模拟中使用的物理模型。 物理模型可以在全球范围内定义:

Physics {[list of models]
}
or materialwise:Physics (Material="[material name]") {[list of models]
}
or regionwise:Physics (RegionInterface="[region name]") {[list of models]
}

全局指定物理模型意味着所包含的模型适用于所有设备区域。 使用 Material="[material name]" 或 RegionInterface="[region name]"等限定符时,指定的模型仅在指定材料或区域中激活。 同样,模型也可以限制为材料或区域界面。

在物理部分,模型仅被声明或激活。 可以在参数文件中对给定模型的特定参数进行更改

以下示例显示了MOSFET器件仿真的物理部分的典型声明:

Physics {Mobility( DopingDep HighFieldSat Enormal )EffectiveIntrinsicDensity( OldSlotboom )Recombination( SRH Auger Avalanche )
}

哪里:

迁移率模型规范考虑了由于离子化杂质上的载流子散射(DopingDep),高电场中的载流子速度饱和(HighFieldSat)以及由于表面粗糙度散射(Enormal)引起的迁移率降低导致的载流子迁移率降低。
根据Slotboom模型,由于存在掺杂,EffectiveIntrinsicDensity(OldSlotboom)激活带隙缩小。
重组(SRH俄歇雪崩)激活载流子连续性方程中相应的载流子产生。

1.2.4 Plot section

绘图部分用于指定要保存在绘图文件(在文件部分命名)中的变量,以便在Tecplot SV中进一步可视化(请参阅Tecplot SV模块):

Plot {[list of variables]
}

通过在Solve部分中指定Plot命令,在模拟结束时或沿着电极边界条件扫描完成绘图。 总是绘制溶液变量,静电势,空穴和电子密度以及晶格温度。

对于具有矢量值的量,例如,可以将电场,限定符“/ Vector”(或简称为“/ v”)附加到变量的名称以保存变量的矢量分量,而不是幅值的数量

Plot {eCurrent/v
}

以下是一个典型的 Plot section:

Plot {eDensity hDensity eCurrent hCurrentPotential SpaceCharge ElectricFieldeMobility hMobility eVelocity hVelocityDoping DonorConcentration AcceptorConcentration
}

1.2.5 Math section

数学部分用于控制模拟器的数字。 以下示例说明用于3D设备瞬态仿真的数学部分的典型控制:

Math {
*-- Parallelization on multi-CPU machine --*Number_Of_Threads=1   * change the number of threads to > 1 to make * parallelization possible. First ensure your machine * has shared-memory multi-CPU configuration.
*-- Numeric/Solver Controls --*Extrapolate           * switches on solution extrapolation along a bias rampDerivatives           * considers mobility derivatives in JacobianIterations=8          * maximum-allowed number of Newton iterations (3D)RelErrControl         * switches on the relative error control for solution * variables (on by default)Digits=5              * relative error control value. Iterations stop if * dx/x < 10^(-Digits)Method=ILS            * use the iterative linear solver with default parameter NotDamped=100         * number of Newton iterations over which the RHS-norm * is allowed to increaseTransient=BE          * switches on BE transient method
}

1.2.6 Solve section

“solve”部分包含一系列要按顺序激活的模拟命令。 指定的命令序列指示模拟器必须解决哪个任务以及如何执行。 “solve”部分是命令及其层次结构的重要性的唯一部分。

以下是一个典型示例,代表MOSFET传输特性仿真的标准设置:

Solve {
*- Buildup of initial solution:Coupled(Iterations=100){ Poisson }Coupled{ Poisson Electron Hole }
*- Bias drain to target biasQuasistationary(InitialStep=0.01 MinStep=1e-5 MaxStep=0.2Goal{ Name="drain" Voltage= 0.05 }){ Coupled{ Poisson Electron Hole } }
*- Gate voltage sweepQuasistationary(InitialStep=1e-3 MinStep=1e-5 MaxStep=0.05 Increment=1.41 Decrement=2.Goal{ Name="gate" Voltage= 1.5 }){ Coupled{ Poisson Electron Hole } }
}

作为第一步,最初的猜测已经解决,这与电极部分的规格相符:

Coupled(Iterations=100){ Poisson }
Coupled{ Poisson Electron Hole }

为了确保收敛,初始泊松方程求解允许多达100次迭代。

假设稳态(零时间导数)近似值,第一准静态陈述将漏极电压从其初始值提升至0.05 V:

Quasistationary(InitialStep=0.01 MinStep=1e-5 MaxStep=0.2Goal{ Name="drain" Voltage= 0.05 }
){ Coupled{ Poisson Electron Hole } }

InitialStep,MinStep和MaxStep参数用于控制迭代过程,决定模拟器如何接近最终目标。 通常,这不是一次完成的,而是反复使用虚拟时间尺度。 实际上,准静态声明将内部变量t从0增加到1,并计算每一步的相应(漏极)偏差为:

V(t)=Vinitial - t * (Vgoal - Vinitial)

类似地,第二准静态语句将栅极电压升高到1.5V。在栅极偏置斜坡期间,漏极电压保持在0.05V。 根据上一步的结果,步长自动增大或减小。 如果上一步操作成功,Sentaurus设备根据以下公式将渐进过程中的给定增量应用于时间步骤:

step(i) = min (step(i-1) * Increment, MaxStep)

因此,步长不能超过MaxStep。

如果上一个偏差步骤未能收敛,则步长减小一个由递减决定的因子(递增和递减均为2的缺省值):

Quasistationary(InitialStep=1e-3 MinStep=1e-5 MaxStep=0.05 Increment=1.41 Decrement=2.Goal{ Name="gate" Voltage= 1.5 }
){ Coupled{ Poisson Electron Hole } }

如果步长减小到小于MinStep的值,则扫描将中止并且达到模拟失败收敛的结论。

您可以更改Solve部分中的电极的边界条件类型,该部分最初在“电极”部分中设置。 要将边界条件从Dirichlet(电压)更改为Neumann(电流)或电荷类型,可以使用Set命令:

set ("drain" mode current)
#or:
set ("floating_gate" mode charge)
#and reverse:
set ("drain" mode voltage)

不允许从电流切换到充电边界条件,反之亦然。

Sentaurus设备允许您不仅可以提升电极处指定的边界条件,还可以提高模型参数值甚至材料属性。 要查看其值可以渐变的参数列表,请使用--parameter-names选项:

sdevice --parameter-names

下一个例子演示了AlGaAs-InGaAs界面的电子表面复合率如何上升:

Quasistationary (Goal {MaterialInterface = "AlGaAs/InGaAs"Model = "SurfaceRecombination"Parameter = "S0_e"Value = 1e5}
) { Coupled { poisson electron hole } }

另一个例子显示了环境温度升高的语法:

Quasistationary (Goal { Model="DeviceTemperature" Parameter="Temperature" Value=400.}
) { Coupled { poisson electron hole } }

1.3 Parameter Files

在Sentaurus设备中,物理模型在物理部分中定义。 模型参数(如果不同于默认值)使用File部分中指定的可选参数文件进行定义和加载。

要为硅材料生成默认参数文件的副本,请使用-P选项:

sdevice -P

该命令将生成文件models.par,其中包含硅材料的所有默认模型参数。

以下是允许您为不同材料和材料接口生成参数文件的一组选项:

-S                    print SiC model parameters
-P                    print Si model and default parameters
-P:Material           print Material model parameters
-P:Material:x         print Material model parameters at mole fraction x
-P:Material:x:y       print Material model parameters at mole fraction x and y
-P:All                print model parameters for all materials
-P:Material/Material  print model parameters for the material interface
-P filename           print model parameters for materials and interfaces usedin filename
-L                    print library of parameters (suboptions are the same as for -P)
-r                    when used with the -P and -L options, read the materiallibrary to generate the output
-M filename           print model parameters for regions with computed moledependencies

要更改参数的模型,例如,由肖克利读霍尔(SRH)所使用的参数模型,并迫使Sentaurus的设备使用修改后的模型参数,而不是内置的默认值:

a.如上所述生成默认参数文件的副本,例如models.par。

b.找到定义SRH参数的models.par文件中的部分:

Scharfetter * relation and trap level for SRH recombination:
{ * tau = taumin + ( taumax - taumin ) / ( 1 + ( N/Nref )^gamma)* tau(T) = tau * ( (T/300)^Talpha )          (TempDep)* tau(T) = tau * exp( Tcoeff * ((T/300)-1) ) (ExpTempDep)taumin   = 0.0000e+00 , 0.0000e+00     # [s]taumax   = 1.0000e-05 , 3.0000e-06     # [s]Nref     = 1.0000e+16 , 1.0000e+16     # [cm^(-3)]gamma    = 1 , 1                       # [1]Talpha   = -1.5000e+00 , -1.5000e+00   # [1]Tcoeff   = 2.55 , 2.55                 # [1]Etrap    = 0.0000e+00                  # [eV]}

除Etrap外,每个参数都有两个数字 - 一个用于电子,另一个用于孔。 Etrap定义了缺陷级别和半导体固有级别之间的差异。

c.创建一个新文件,例如newSRHparameters.par。 从models.par复制SRH部分并将其粘贴到新文件中。 根据需要更改参数值,并保存更改。
d.使用“文件”部分中的参数规范来源新参数文件:

File {...Parameter = "newSRHparameters.par"...
}

转载于:https://www.cnblogs.com/kraken7/p/8446674.html

关于Sentaurus的日常(一)(Basics)相关推荐

  1. Synopsys Sentaurus TCAD系列教程之--Sde概述

    Sde 方便处理rule check相关的问题.同时也能让使用者进一步了解器件结构.掺杂和引线等基本操作.Sde用于搭建结构,重新优化网格,提供.mesh文件供后面Sdevice仿真,主要包含以下几部 ...

  2. Software Foundation - Coq 函数式编程 (Basics) 题解

    本书英文版地址https://softwarefoundations.cis.upenn.edu/current/index.html 本书中文版地址https://coq-zh.github.io/ ...

  3. 熊猫数据集_在日常生活中使用熊猫数据框

    熊猫数据集 Before getting started let us do a quick revision, Pandas is a python library that gives elite ...

  4. appJSON[tabBar][0][pagePath] pages/basics/basics 需在 pages 数组中

    问题如下 出现这个问题的原因自己创建了basics和media然后自己并没有在 app.json 中pages没有声明路径 所以呢在pages中添加路径即可,

  5. linux kvm虚拟化命令,Linux系统下kvm虚拟化(三)日常管理常用命令和配置说明

    根据我们之前创建和一些操作可以知道,KVM虚拟机的管理主要是通过virsh命令对环境下kvm虚拟机进行管理,下边这里整理一些常用的配置说明以及如何进行日常管理维护. 1,查看KVM虚拟机配置文件 KV ...

  6. 日常安排php,PHP日常开发小技巧

    PHP日常开发小技巧 导语:PHP语言中,如果你懂得一些开发技巧,那么对你学PHP,会有很大的帮助.下面的是百分网小编为大家整理的PHP日常开发小技巧,希望对你能有所帮助. PHP批量取得checkb ...

  7. linux作为办公机器,Ubuntu能否做日常办公使用?

    先说结论吧:不适合. (我现在就用Ubuntu18.04在写这篇文字) 先说说日常办公一般需要哪些软件吧. office软件:日常通讯比如QQ ,微信,钉钉等:中文输入法:网页浏览器:企业内部应用等. ...

  8. 数据库服务器 之 PostgreSQL数据库的日常维护工作

    来自:LinuxSir.Org 摘要:为了保持所安装的 PostgreSQL 服务器平稳运行, 我们必须做一些日常性的维护工作.我们在这里讨论的这些工作都是经常重复的事情, 可以很容易地使用标准的 U ...

  9. MySQL Cluster 日常维护

    在前面几篇文章已经详细介绍了MySQL Cluster的搭建,配置讲解.而且相信大家都掌握了基本用法.现在我们来看看Cluster的日常维护.熟悉日常维护,将有助于工作中更好的管理和使用Cluster ...

  10. unity镜像_通过镜像学习Unity Multiplayer Basics

    unity镜像 Unity is one of the most well-known and established engines for game development, and Mirror ...

最新文章

  1. 项目管理工具到底应该为谁服务?
  2. 基于Bootstrap的jQuery开关按钮插件
  3. 贪便宜买了减价香蕉之后
  4. boost::set_symmetric_difference相关的测试程序
  5. MySQL存储引擎、MyISAM、InnoDB
  6. eclipse3.4 SVN插件安装
  7. Gradle – Maven的观点
  8. 三包围结构的字是什么样的_男孩起名精选:搭配美观,结构合理的男宝宝名字...
  9. Python 遗传算法路径规划
  10. RENIX 软件如何进行IP地址管理——网络测试仪实操
  11. 高通MSM8255 GPS 调试分析Android系统之Broadcom GPS 移植【转】
  12. Android 蓝牙协议栈消息(bta_sys_sendmsg)发送机制 ---- 全网唯一解析
  13. 僵尸进程和孤儿进程-(转自Anker's Blog)
  14. php显示2038年,PHP转换超过2038年日期出错如何解决
  15. LTE网络PRACH参数规划
  16. matlab中如何用数组绘图,matlab 基础学习(1)——数组,矩阵操作和绘图基础学习...
  17. 交易员怎样于牛市中基于KDJ进行选股
  18. 知识|Takt Time · Cycle Time · Lead Time
  19. 神经网络可以用来预测吗,神经网络预测股票价格
  20. 小小王总,如何变成任正非、化腾、强东这样的巨人!

热门文章

  1. 怎么提高c语言编程能力,如何才能提高用C语言编程的能力
  2. 全网音乐下载,抖音热歌、无损音乐下载
  3. 云在脚下 三大云存储方案对比与选型指导
  4. 深度学习 游戏关卡_强化学习的游戏关卡设计
  5. windows10系统 java JDK下载安装及环境变量配置教程
  6. 【MAPBOX基础功能】12、mapbox点击点位图层高亮指定的点位
  7. DDS(Direct Digital Synthesizer)数字频率合成器
  8. 物联网计算机控制技术,远距离物联网控制系统技术,你知道几个?
  9. 金融数据类——外汇,CFD
  10. 批量将多个 txt 记事本文件合并成一个独立的记事本文件