存在out参数的webservices_Sentaurus Device材料参数的那些事

本文详细介绍了Sentaurus Device中材料参数的概念、位置、MaterialDB路径、参数调用顺序,以及如何在swb中修改模型参数、判断修改是否成功、仿真参数变化影响、在不同区域使用不同参数和添加新材料的方法。强调了模型参数对器件仿真准确性的重要性,并提供了具体的步骤和注意事项。
摘要由CSDN通过智能技术生成

556825726fe71904800fc1743368b821.png

很多同学问我关于Sentaurus Device材料的问题,所以索性专门写一篇文章,详细的讲解一下sdevice里物理模型材料的问题。

材料参数是什么

材料参数是物理模型具体化的参量,比如,对于电子电流模型:

其中,

电子迁移率可以认为就是该模型的一个模型参数。对于某一个具体的器件来说,其取值可能是
,这就是电子电流模型在某个器件中的具体化。对于一个具体的仿真:

其中,器件所涉及的所有物理内涵都体现在物理模型和模型参数上,这两者缺一不可。模型参数设置是否合理,将直接决定器件仿真的准确性,甚至正确性,大家在仿真时,需要特别留意。

材料参数在哪里

Sentaurus TCAD中的模型参数的组织方式如下:

e3d6712ff2b0ef4f6461de8194295943.png
  • Sentaurus内为绝大多数半导体材料提供了模型参数,保存在安装目录下的MaterialDB文件夹中,其中包含了,Si、Ge、SiO2等材料的参数。以Si为例,Si的参数文件命名为:Silicon.par。这部分参数是所有project和所有用户仿真的默认参数,为了防止用户随意修改,这部分参数文件一般是不可以修改的,大家也切记不要去修改
  • 在Sentaurus内用户建立的project目录下,用户可以建立自己的par文件。通过sdevice的cmd文件对该文件引用,即可用于为器件仿真指定自定义的模型参数。这部分模型参数仅在当前project内有效,大家可以随意、任性、愉快地修改,不会影响其他仿真。在sdevice的cmd文件中的引用par文件的命令为:
File {
     Parameter = "n30_des.par"
     ......
}
 

或者在swb的sdevice里,采用@parameter@代替,在具体的某个node下,swb会使用对应的node编号生成该文件。

File {
     Parameter= "@parameter@"
     ......
}

注意:请确保前面没有* 或#注释符,否则,即使有这句话,也不起作用,例如下面:

File {
   Grid=   "@tdr@"
   Plot=   "@tdrdat@"
   Current="@plot@"
   Output= "@log@"
 * Parameter= "@parameter@"    这一句话被注释掉了,写了和没写一样
}

MaterialDB的路径

MaterialDB文件路径为:

sentaurus安装目录/L_2016.03-SP2/tcad/L-2016.03-SP2/lib/sdevice/MaterialDB

如果sentaurus的安装目录是:/usr/synopsys/sentaurus/,那么该路径是:

/usr/synopsys/sentaurus/L_2016.03-SP2/tcad/L-2016.03-SP2/lib/sdevice/MaterialDB

需要注意的是:MaterialDB文件夹下有不同版本sentaurus的模型参数。随着sentaurus版本更新,模型参数也会更新,所以可能导致sentaurus版本变了,一样的仿真却得出不同的结果。因此,为了保证更换sentaurus版本后的仿真结果一致,请确保参数文件的版本一致。

e6aee4a5b8a3752496265f657910fe93.png
高版本的sentaurus保存了低版本的参数文件

参数调用顺序

当一个仿真开始时,系统会检查参数文件,确定每个被启用的物理模型的模型参数,其流程如下:

  1. 如果在sdevice的cmd文件中,未指定par文件的路径,即input中没有Paramter=@parameter@一行,那么系统将自动调用MaterialDB内的默认物理模型参数;
  2. 如果在sdevice的cmd文件中,指定了par文件的路径,并且该文件在当前project目录下,sdevice将优先读取该par文件内的模型参数:如果par文件内存在模型参数,就会用该模型参数替代默认的模型参数进行仿真;如果发现未在该par文件中定义的模型参数,则系统将使用MaterialDB内的默认模型参数进行补充。
  3. 如果某个物理模型必须的物理参数,在用户定义par以及MaterialDB内的默认参数中均未定义,那么仿真就会报错并结束。如果在Math中添加-UndefinedModel命令,虽然仿真可以正常运行,但是这个缺失模型参数的物理模型是未被激活的,请同学们切记,避免仿真结果与预期不符

上述流程见下图:

9b8eb8fd4163219651ccd81f401ca575.png

par参数文件的参数定义格式

大家可以打开Silicon.par文件,查看默认参数的定义格式,一般情况下,一个模型参数的格式如下:

model_name {
# 一些注释,关于模型的解释,以#开头
par1 = 10 #[V] 
par2 = 10,20 #[cm^2/(Vs)]
}
  • model_name为物理模型的名称,例如ConstantMoblity,为恒定迁移率模型
  • 以#开头的为注释,帮助理解
  • par1和par2定义的是模型参数的取值
  • #[V]和#[cm^2/(Vs)] 为模型参数的单位,该处注释仅做提示,修改后不起作用,请一定按照该单位修改模型参数,即你不可以将#[V] 修改成 #[mV],然后将10改成10000,因为#[V]仅做单位的提示,不是单位的定义,切记。
  • par2参数为双参数,修改时也应为双参数,例如迁移率模型中 mumax = 1200,400 分别表示最大电子迁移率和空穴迁移率,缺一不可。

下面看一个实例,请对应理解:

ConstantMobility:
{ * mu_const = mumax (T/T0)^(-Exponent)
	mumax	= 1.4170e+03 ,	4.7050e+02	# [cm^2/(Vs)]
	Exponent	= 2.5 ,	2.2	# [1]
	mutunnel	= 0.05 ,	0.05	# [cm^2/(Vs)]
}

如何在swb中修改模型参数

修改一个project的模型参数,有两种方法:

第一种方法,从MaterialDB中复制一份参数文件到当前project目录下,并修改模型参数:

  • step 1 在sdevice上右键,选择include Materials

1c745c70760559cc4a1f608f085e872c.png
选择导入材料(Include Materials)

ff8a38890c02d44bc5f5a97498510d1e.png
勾选要引用的材料
  • step 2 打开parameter文件

141e9f54c93d99a2267359f49131bf13.png
打开sdevice的参数文件(Parameter...)

09a2e5dc36c2f903d387271d4b26f7a0.png
引用材料后的par文件

此时,par文件被添加了几行代码,逐行解释如下:

第 1 行:这是一句宏命令,定义了一个变量,名为ParFileDir,其值是一个点(.)。在linux里,(.)代表的是当前目录,即project的目录。

 #define ParFileDir . 

第3-5行:定义了SiO2的参数,其中,#includeext 为插入文件,ParFileDir/SiO2.par是文件名, 即将"ParFileDir/SiO2.par"文件的内容插入到本文中。

Material="SiO2" {
  #includeext "ParFileDir/SiO2.par"
}

ParFileDir的内容是(.),即当前目录,所以引用的文件是./SiO2.par,即当前project目录下的SiO2.par文件。

第6-11行:与3-5行类似,需要注意的是,你并没有在project目录下新建SiO2.par, Silicon.par和Silcide.par文件,这三个文件是swb根据用户引用,从MaterialDB目录下自动复制过来的!

d1f430b9c6fbc34710fabdda0980448d.png
当前project目录下,多了三个par文件,为swb自动复制
  • Step 3 修改project目录下的SiO2.par、Silicon.par、Silicide.par这三个文件内的模型参数,即可完成参数修改。

第二种方法,直接在par中定义某个材料或区域的模型参数

假如需要修改Silicon材料的恒定迁移率ConstantMobility,可以直接在sdevice的par文件内添加ConstantMobility的定义,只不过在该定义前冠以Material = "Silicon"命令

Material = "Silicon" {
    ConstantMobility:
     { * mu_const = mumax (T/T0)^(-Exponent)
	mumax	= 1.4170e+03 ,	4.7050e+02	# [cm^2/(Vs)]
	Exponent	= 2.5 ,	2.2	# [1]
	mutunnel	= 0.05 ,	0.05	# [cm^2/(Vs)]
     }    
}

即可完成对Silicon迁移率模型参数的修改。

如何判断模型是否修改成功

在sdevice的.out文件中观察修改结果。

假如将Silicon的参数修改如下,即将电子迁移率修改为12345,空穴修改为6789(这两个值不合理,仅做示范)。

Material = "Silicon" {
    ConstantMobility:
     { * mu_const = mumax (T/T0)^(-Exponent)
	mumax	=   12345 ,	6789	# [cm^2/(Vs)]
	Exponent	= 2.5 ,	2.2	# [1]
	mutunnel	= 0.05 ,	0.05	# [cm^2/(Vs)]
     }    
}

此时,运行sdevice,观察.out文件,会发现如下输出:

7f1590ae027f289aa6a6672ccc75b9d9.png
.out文件中,提示参数修改成功

如果在.out文件中观察到参数修改的信息,即完成修改。

如何仿真不同模型参数对器件特性的影响

如需要研究不同模型参数对器件特性的影响,可以在sdevice的par文件中,插入@变量名@的方式进行批量修改。例如:

假如需要仿真电子迁移率从10变化到100,对器件特性的影响:

第一步:打开sdevice的par文件,修改参数文件,在参数处,定义一个变量eMobility

Material = "Silicon" {
    ConstantMobility:
     { * mu_const = mumax (T/T0)^(-Exponent)
	mumax	=   @eMobility@,	6789	# [cm^2/(Vs)]
	Exponent	= 2.5 ,	2.2	# [1]
	mutunnel	= 0.05 ,	0.05	# [cm^2/(Vs)]
     }    
}

第二步:在swb的sdevice下,新建eMobility的变量,并赋值10至100,间隔为10:

bcedb04c2c24488a835ba1bfb121d1ec.png
生成了改变参数文件的仿真

仿真上述10个experiments,即可研究不同eMobility对器件特性的影响。

如何在一个器件的不同区域使用不同的材料参数

有同学问我,如果想在同一个器件,同一个材料的不同区域,使用不同的参数,该如何仿真呢?

参考方法如下:

使用Region命令,示例如下:

假如reg1区域电子迁移率为10,reg2区域电子迁移率为20,那么修改sdevice的par文件如下:

Region = "reg1" {
    ConstantMobility:
     { * mu_const = mumax (T/T0)^(-Exponent)
	mumax	=   10 ,	6789	# [cm^2/(Vs)]
	Exponent	= 2.5 ,	2.2	# [1]
	mutunnel	= 0.05 ,	0.05	# [cm^2/(Vs)]
     }    
}
Region = "reg2" {
    ConstantMobility:
     { * mu_const = mumax (T/T0)^(-Exponent)
	mumax	=   20,	6789	# [cm^2/(Vs)]
	Exponent	= 2.5 ,	2.2	# [1]
	mutunnel	= 0.05 ,	0.05	# [cm^2/(Vs)]
     }    
}

此外,还可以定义,interface处的参数,修改方法与上述方法类似。

如何添加新材料

如果需要添加新材料,使用如下方法:

假如需要添加InGaO材料:

  • 第一步, 在project目录下,添加datexcodes.txt文件。
  • 第二步, 修改datexcodes.txt文件,添加新材料InGaO,文件内容如下:
Materials{
InGaO{
	label = "InGaO"
	group = Semiconductor
	color = #8298d9,#93a9ea
      }
}

需要注意,group代表的是材料类型,分为半导体(Semiconductor)、导体(Conductor)、和绝缘体(Insulator)等,需要正确设置。color是颜色,随便设置即可。

  • 第三步:在仿真中(sde、sprocess、sdevice)中引用该材料,并且在sdevice中,赋予必要的模型参数!新材料的模型参数需要自己查、自己改。

进一步讲,在sentaurus中,存在一个默认的datexcodes.txt文件,定义了sentaurus中所有的材料、掺杂等信息。其文件路径如下,大家可以参考。

sentaurus安装目录/L_2016.03-SP2/tcad/L-2016.03-SP2/lib

如有不足和错误,欢迎指正。

完.

写在最后

我关于sentaurus的入门做了一场知乎live,讲述Sentaurus TCAD的入门方法和基本使用。戳下面链接即可查看。

如何快速入门Sentaurus TCAD半导体器件仿真​www.zhihu.com
83c521b1aabc3eda2748c2c55e5f6ab8.png

live包含84分钟语音,3个小时的演示视频,还有一个300人的讨论群。

原创文章,发表于知乎和公众号“Sentaurus TCAD仿真”(搜索SentaurusTCAD),未经允许,不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值