Silvaco学习日记(20201020)

it2023-09-01  72

Silvaco学习日记(2020/10/20)@TOC

由于本人本科是由电子信息相关专业毕业,硕士期间没有继续从事相关的专业,反而进入某大学物理系学习半导体器件,进入更加底层的设计,所研究的方向为功率器件,因此对于半导体器件的仿真需要重新学习,此系列的文章便是记录自己学习silvaco的过程,由于此软件相对来说比较小众,因此希望可以通过这些文章和大家进行交流,主要目的记录自己在学习中的收获,并且进行复习,如有错误请大家斧正。 本学习的内容是来自B站的课程,为我国的台湾大学的课程,是一个学生直播了老师讲课的内容。

学习课程链接 程序的代码如下:

go atlas mesh width=1 x.mesh loc=0 spac=0.05 x.mesh loc=0.1 spac=0.02 x.mesh loc=0.35 spac=0.01 x.mesh loc=0.6 spac=0.1 x.mesh loc=0.85 spac=0.01 x.mesh loc=1.1 spac=0.02 x.mesh loc=1.2 spac=0.1 y.mesh loc=-0.3 spac=0.05 y.mesh loc=-0.21 spac=0.05 y.mesh loc=-0.01 spac=0.002 y.mesh loc=0 spac=0.002 y.mesh loc=10 spac=1 region number=1 x.min=0 x.max=1.2 y.min=0 y.max=10 material=silicon region number=2 x.min=0 x.max=1.2 y.min=-0.3 y.max=0 material=oxide region number=3 x.min=0.35 x.max=0.85 y.min=-0.21 y.max=-0.01 material=poly region number=4 x.min=0.35 x.max=0.85 y.min=-0.3 y.max=-0.21 material=aluminum region number=5 x.min=0 x.max=0.1 y.min=-0.3 y.max=0.0 material=aluminum region number=6 x.min=1.1 x.max=1.2 y.min=-0.3 y.max=0.0 material=aluminum electrode reg=4 name=gate electrode reg=5 name=source electrode reg=6 name=drain electrode bottom name=substrate doping uniform region=1 x.min=0 x.max=1.2 y.min=0 y.max=10 p.type concentration=1e17 doping uniform region=3 x.min=0.35 x.max=0.35 y.min=-0.21 y.max=-0.01 n.type concentration=5e20 doping gauss region=1 x.min=0 x.max=1.2 junc=0.02 rat=0.6 p.type concentration=5e17 doping gauss region=1 x.min=0 x.max=0.35 junc=0.05 rat=0.6 n.type concentration=4e10 doping gauss region=1 x.min=0.85 x.max=1.2 junc=0.05 rat=0.6 n.type concentration=4e18 doping gauss region=1 x.min=0 x.max=0.15 junc=0.2 rat=0.6 n.type concentration=5e20 doping gauss region=1 x.min=1.05 x.max=1.2 junc=0.2 rat=0.6 n.type concentration=5e20 save outf=nMOS_atlas.str quit

代码运行结果如下: 可以看到这是一个很简单的nMOS器件,那么我们开始分析代码。 首先是mesh的定义,作为器件的仿真,需要进行一定的网格规划,更加密集的网格可以使得仿真更贴近真实的情况。

mesh width=1 x.mesh loc=0 spac=0.05 x.mesh loc=0.1 spac=0.02 x.mesh loc=0.35 spac=0.01 x.mesh loc=0.6 spac=0.1 x.mesh loc=0.85 spac=0.01 x.mesh loc=1.1 spac=0.02 x.mesh loc=1.2 spac=0.1 y.mesh loc=-0.3 spac=0.05 y.mesh loc=-0.21 spac=0.05 y.mesh loc=-0.01 spac=0.002 y.mesh loc=0 spac=0.002 y.mesh loc=10 spac=1

以上便是网格规划的代码,很容易可以看到这是按照X轴和Y轴进行划分的,其中让人迷惑的是loc和spac。这里可以把loc看成比较大的区间,而spac可以看成比较小的区间,比较小的区间是对比较大的区间的再划分,也就是说我的整个器件,在X轴上为0到1.2微米,在这里面我分别放了几条线用于确定相关的结构,比如栅极和源极的范围,然后我将这几个区间进行了不同程度的细化,比如0到0.1,我对其每0.05微米划分一次,然后Y轴也同理,但是要注意的Y轴的0处,因为Y轴只有0坐标处可以进行高斯分布的掺杂,因此建议在0处以上就是一些不需要掺杂或者可以直接进行均匀掺杂的部分。 然后再是区域的划分:

region number=1 x.min=0 x.max=1.2 y.min=0 y.max=10 material=silicon region number=2 x.min=0 x.max=1.2 y.min=-0.3 y.max=0 material=oxide region number=3 x.min=0.35 x.max=0.85 y.min=-0.21 y.max=-0.01 material=poly region number=4 x.min=0.35 x.max=0.85 y.min=-0.3 y.max=-0.21 material=aluminum region number=5 x.min=0 x.max=0.1 y.min=-0.3 y.max=0.0 material=aluminum region number=6 x.min=1.1 x.max=1.2 y.min=-0.3 y.max=0.0 material=aluminum electrode reg=4 name=gate electrode reg=5 name=source electrode reg=6 name=drain electrode bottom name=substrate

这里需要注意的是,已经命名的地方,可以进行重复命名,然后进行覆盖,也就是说最后命名的地方优先级比较高。 然后就是掺杂部分,这里只用了两种掺杂形式,一个是均匀掺杂,一个是高斯分布的掺杂。 代码如下:

doping uniform region=1 x.min=0 x.max=1.2 y.min=0 y.max=10 p.type concentration=1e17 doping uniform region=3 x.min=0.35 x.max=0.35 y.min=-0.21 y.max=-0.01 n.type concentration=5e20 doping gauss region=1 x.min=0 x.max=1.2 junc=0.02 rat=0.6 p.type concentration=5e17 doping gauss region=1 x.min=0 x.max=0.35 junc=0.05 rat=0.6 n.type concentration=4e10 doping gauss region=1 x.min=0.85 x.max=1.2 junc=0.05 rat=0.6 n.type concentration=4e18 doping gauss region=1 x.min=0 x.max=0.15 junc=0.2 rat=0.6 n.type concentration=5e20 doping gauss region=1 x.min=1.05 x.max=1.2 junc=0.2 rat=0.6 n.type concentration=5e20

这里需要注意的是高斯分布的掺杂,可以看到的是junc和rat,junc就是掺杂的深度,而rat是横向的扩散长度,一般来说,rat在0.6到0.7之间。

最新回复(0)