@坏坏小辛

前言

关于silvaco的教程,网上有很多,但多以安装教程为主。本文是想根据自己的使用经验,写一篇关于使用中遇到的问题以及解决方案的经验交流贴。作为一个仿真小白,真的是零基础接触这个软件,遇到过一些可以被称之为“智障”的问题,但我想一定也有跟我有类似经历的初学者或者即将迈入sivalco的同道中人,相信在看了这篇博文以后,大家能够感同身受或者有所领悟。

基础问题

不再废话,我想先说几个基础问题。

一、重要组件

首先,silvaco中有几个重要组件,分别是:交互式工具DeckBuildTonyplot,工艺仿真工具ATHENA,器件仿真工具ATLAS和器件编辑器DevEdit,还有一些内部模块。

组件名称 功能
DevEdit 用于绘制器件结构,编辑网格,拥有图形界面,比较形象,可以导出为.in结构文件
Atlas 是仿真平台,可模拟器件特性,进行Vth、BV 、IV等特性仿真
DeckBuild 是编程界面,用于新建或者打开.in文件,进行结构参数设定、编写仿真程序等
TonyPlot 用于打开.str、.log文件等,显示结构状态(包括电流密度、网格、电场分布等等),功能十分强大
其他

有几点需要说明:

1.绘制器件结构既可以用DeckBuild,也可以用DevEdit。

DevEdit的特点是比较形象,对于器件掺杂特性、基础模型构建较为方便;不足之处在于,当器件的某些区域需要修改时,较为麻烦,因为要更改与之相邻所有受影响的区域。
DeckBuild则可以将器件长度、宽度等参数设置为可变量,与C语言书写相仿,这样可以根据宏定义的思想,随意对器件结构进行设置而不用大范围修改程序。

2.文件类型
文件类型 功能
.str文件 结构文件,一般为DevEdit生成的器件结构或者在仿真过程中生成的器件结构
.in文件 命令文件,是DeckBuild生成或者执行的文件类型。可以在其中调用“go atlas”、“go DevEdit”等语句来进行器件结构描述、器件特性仿真等。
.log文件 器件仿真结果文件,用于显示仿真结果,可用TonyPlot打开
.set文件 TonyPlot的显示设置文件
其他类型 .lay、.dat、.sepc、.opt,“*.lib”等(不常用,不再赘述)

了解了silvaco的基本功能后,就可以开始进行仿真了。我想介绍一下大体步骤。

二、仿真过程

1.编辑器件结构

可以用DevEdit或者DeckBuild生成所需器件结构。
DevEdit的作图方法比较简单,大家可自行打开软件进行尝试。但对于初学者来说,直接用DeckBuild进行器件结构绘制是一件不太现实的事,因为具体语句你并不清楚。这里的语句并非指语法,而是指诸如器件的材料代码、掺杂代码、颜色显示代码等,这些须通过一定时间的积累方可直接用代码描述。
这里提供的一种思路是,你可以用DevEdit编辑完器件结构以后,导出为.in文件,也就是将结构文件转化为代码类型(不得不说这个功能很强大)。通过模仿现有的程序或者前辈的程序来达到自己直接书写代码的能力。

2.仿真

在DeckBuild中运行仿真程序,与单片机操作十分相似。
(1)DeckBuild中出现的语法错误一般较为容易发现和解决,但是不好解决的地方在于网格收敛性问题,于我而言这就是一门玄学。
(2)silvaco仿真时间一般比较长(具体与网格密度有关),而且运行过程中不能挂起,所以应合理安排仿真顺序,养成合理安排时间的好习惯(个人浅见,受害颇深)。
(3)这里需要注意的是,应养成保存器件结构和结果图片的良好习惯,便于后续分析现象和结果。具体做法是,可以在一些重要的电压、电流结点处设置save语句来保存当前结构。
(4)与此同时,文件命名规则十分重要,应根据温度高低、栅漏压范围大小、掺杂浓度、金属功函数、沟道区域大小分门别类进行保存,方便后续检查。

3.调试

在仿真过程中,模型的建立对于仿真结果有着很重要的影响。
初学者往往看不懂程序中的model语句,在这里我想说的是其实我也有很多看不懂,但是这并没有很大的妨碍。特定的结构模型可以直接粘贴复制,通过修改其中的参数来观察不同参数引起的不同现象。一些重要语句可以去Atlas手册里查,只需要输入关键词进行定位查找即可。

4.分析

结构文件和图片经常通过TonyPlot进行展示和分析。
TonyPlot功能十分强大,可以并行显示不同图片,方便对比;可以显示网格密度、电流密度、电场线分布、组分、浓度等等。关于TonyPlot的使用后在续博客会进行介绍。
总之,仿真过程可以用如下流程图表示:

结构文件
命令文件
DevEdit
Atlas仿真器
DeckBuild
实时输出
TonyPlot显示

深入探讨

一、器件结构编辑问题

前文提到用DevEdit编辑器件结构的不足之处在于不够灵活,需要更改器件不同区域的位置或大小时,不得不进行大范围改动,甚至需要重新绘制。因此产生了用参变量定义器件长度、高度、宽度的想法。
具体可以参看以下示例:
如图所示,这是我用DevEdit编辑的器件初始结构。

例如,我要更改图示区域1和区域2的大小,代码设置如下:

// Area1 and Area2
# width
set W=1.0
#height
set H=0.08#measure of area
set XL=2.25+$W
set XR=4.75-$W
set YRL=-0.11+$H#coordinate description
region reg=1 name=n-GaN mat=GaN  color=0xff8282 pattern=0x4 \polygon="2.25,-0.11  2.75,-0.11 $XL,-0.11 $XL,$YRL  2.25,$YRL "
#
constr.mesh region=1 defaultregion reg=2  name=n-GaN mat=GaN  color=0xff8282 pattern=0x4\polygon="$XR,$YRL  $XR,-0.11 4.25,-0.11 4.75,-0.11 4.75,$YRL "
#
constr.mesh region=2 default

由于区域1和2是对称的,可以设置区域1和区域2的宽度为W,高度为H,然后设置设置区域1和区域2的纵、横坐标,即可通过修改W、H的值来改变区域1和2的面积。
更改后如下所示:

相信掌握这种变量定义结构的方法后,你也能随意、快速地更改器件任意区域大小。

二、网格疏密及收敛性问题

这个问题会在后续博客中进行分析和交流。博文链接

三、操作问题

1.TonyPlot只能局部放大,要放大某一部分,用鼠标左键拉一个矩形,将其圈住,会自动放大;继续圈住其中某一部分,可以继续放大。
2.在程序中遇到不认识的语句可以通过关键词,在手册里查找。有atlas、devedit等专用手册。
3.go atlas和go devedit语句可以放在同一程序中,devedit只是结构编程文件,当执行完结构语句后会自动跳转到atlas中去进行仿真。
4.在Atlas中,如果不定义网格,是无法进行仿真的;
但是由于Atlas对网格定义的不够精确,可以在DevEdit中重新定义网格。程序运行时会自动以最密的网格来进行仿真,无视网格定义语句的前后顺序。
5.TonyPlot的显示问题
之前仿真的时候没有注意到这个问题,但是今天凑巧出现了。程序语句如下所示:

log outfile=IV2.log
solve vgate=1 vstep=0.05 vfinal=2 name=gate
save outfile=Vg2.str
solve vdrain=0
#solve vstep=0.5 vfinal=1 name=drain
solve vstep=0.1 vfinal=6 name=drain

在TonyPlot中显示如图:

很明显,我想要展示的是漏电流随漏电压变化而变化的图像,图中却多了栅电压的图像,原因在于在栅压未加到合适值之前,我就已经开始保存IV.2图像了。把图像输出语句调整到栅压达到预设值之后,该问题即可解决。

solve vgate=1 vstep=0.05 vfinal=2 name=gate
save outfile=Vg2.str
log outfile=IV2.log
solve vdrain=0
#solve vstep=0.5 vfinal=1 name=drain
solve vstep=0.1 vfinal=6 name=drain

如下图所示:

四、常见程序语句总结

1.组分一般用.comp语句描述,通常用x表示第一种组分,y表示第二种,z表示第三种。
如AlGaN中,x.comp=0.3表示Al的成分占30%,其余两种占70%。
以此类推。
2.simflags="-p 40" ,意思是把仿真的线程设置为40。一般来说,线程越多,执行速度越快,但是服务器负载有限,不能随意设置,更不能认为越大越好。
3.(更新ing)

   本博客仅对操作步骤作初步探讨,供初学者上手绰绰有余。关于silvaco具体语法,可以参考相关白皮书。

silvaco使用中的问题和解决方法相关推荐

  1. xp系统运行php,window_Xp系统安装或运行软件时提示“EXE不是有效Win32应用程序”的故障原因及解决方法,部分Xp系统用户在双击安装某 - phpStudy...

    Xp系统安装或运行软件时提示"EXE不是有效Win32应用程序"的故障原因及解决方法 部分Xp系统用户在双击安装某个软件时,会遇到"EXE不是有效Win32应用程序&qu ...

  2. Subversion常见问题及解决方法

    [IT168 技术文档]摘要:Subversion版本控制使用中的常见问题及解决方法. -------------------------------------------------------- ...

  3. iphone屏幕突然变暗_iPhone或iPad在使用中发热厉害吗?以下是原因和解决方法

    你的iPhone或iPad是工作很辛苦的设备,尽管它小到可以装进口袋或包里.但与台式电脑或笔记本电脑不同的是,它没有散热器或风扇来调节温度,保持凉爽.任何设备长期高负荷运行时都会产生热量. 但摸上去感 ...

  4. 怎么查看usb读取信息_电脑弹出USB设备时提示该设备正在使用中的解决方法

    转载的文章,原文: 电脑弹出USB设备时提示该设备正在使用中的解决方法-系统城​www.xitongcheng.com 电脑弹出USB设备时提示该设备正在使用,虽然在正常显示时并没有程序在使用,但是确 ...

  5. 有没有软件能限制cpu的使用符合_电脑使用中突然黑屏是什么原因?电脑突然黑屏但是主机还运行的解决方法...

    电脑使用中突然黑屏是什么原因?电脑突然黑屏但是主机还运行的解决方法. 电脑在使用中,无论是上网还是不上网,突然之间黑屏了,屏幕显示"无信号输入",只好重新启动,而启动的时间很长,屏 ...

  6. 关于python的环境配置和编辑器Geany的使用中遇见的问题及解决方法

    Geany 使用中遇见的问题及解决方法 一,相关配置信息 1,我的相关信息 win10 - 64位 Geany 1.36版 python 3.8版 2,Geany,Python的安装,直接在浏览器搜索 ...

  7. 明基投影仪中心服务器联机失败,投影机使用中常见故障解决方法

    投影机使用中常见故障解决方法 问题一:投影机连接笔记本电脑, 无输出影像时怎么办? 笔记本电脑外接显示设备时,通常有四种显示输出控制. ① 笔记本液晶屏亮,外接显示设备亮 ②笔记本液晶屏亮,外接显示设 ...

  8. html5官网中遇到的问题,html5的input的required使用中遇到的问题及解决方法

    form提交时隐藏input发生的错误 问题描述 在form表单提交的时候,有些input标签被隐藏,表单验证过程中会出现An invalid form control with name=" ...

  9. 计算机管理没用硬盘,win10电脑未使用中为什么硬盘一直在读写_win10未工作硬盘一直读写解决方法...

    win10电脑未使用中为什么硬盘一直在读写?其实有很多朋友都有发现Win10系统电脑即使没有在使用的时候,硬盘也一直在读写,另人费解,这是怎么回事呢?接下来跟小编一起来看下win10未工作硬盘一直读写 ...

  10. Win10电脑使用中realtek总是自动弹出解决方法

    Win10电脑使用中realtek总是自动弹出解决方法.有用户在电脑一开机的时候,桌面右下角总是会自动弹出realtek程序窗口,然后自己需要每次去进行窗口的手动关闭.那么这个问题是怎么引起的呢?我们 ...

最新文章

  1. 2分钟读懂Hadoop和Spark的异同
  2. OKR的落实过程中如何判断设定的OKR是否是合格的OKR?
  3. 算法学习:常用排序方法
  4. mysql sqlstate 28000_mysql ERROR 1045 (28000): 错误解决办法
  5. 网络小贷迎来最强监管,八成公司恐将面临转型或淘汰
  6. win10下gnuplot的安装
  7. Java / Web项目中的NPM模块Browser-Sync
  8. “假冒hao123”“北大青鸟”被黑 钓鱼挂马两不误
  9. 网易云音乐ios旧版本安装包_网易云音乐产品分析报告
  10. VS Code 调试 Angular 和 TypeScript 的配置
  11. Ubuntu wine QQ卡死
  12. 算法时间复杂度分析(一)
  13. APM2.8 Rover 自动巡航车设计(固件安装和设置)
  14. Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting
  15. 搜图、裁剪一步到位,有人用YOLOv5和CLIP做了一个找图神器,在线可试用
  16. R语言|散点图 ———R语言数据可视化系列(一)
  17. redis持久化详解
  18. Java Validation Api 详解
  19. pon(无源光纤网络)
  20. 西门子PLC1200自由口通信

热门文章

  1. chromebook安装devos和chrome os双启动经验分享
  2. 20个数据可视化工具点评
  3. 手机word如何转换html,如何把Word转换为网页html格式
  4. 如何在Excel/Word中使用复选框
  5. hprose-php教程,PHP RPC框架 hprose 上手玩玩
  6. 搞一下 SOA实战 | 01 SOA 开发流程实战
  7. easyar android 开发,【EasyAR学习】安装Android SDK
  8. 在sv testbench中加checker的几种办法
  9. 索爱S318小蜜蜂扩音器性能如何?
  10. 基于javaweb+jsp的小蜜蜂扩音器网上商城系统(java+JSP+Servlet+JDBC+Ajax+mysql)