采用B/S架构的半导体TCAD网络实验教学平台构建研究
2014-12-25常玉春李传南
常玉春,李 喆,李传南
(吉林大学 电子科学与工程学院,吉林 长春 130012)
1 介绍
随着微电子产业的蓬勃发展,微电子产业带动了整个电子行业的发展,也成为了我国经济发展的龙头之一。高等院校对微电子及集成电路专业的人才培养方式越来越强调对学生实践能力的培养[1-2]。在微电子专业主要的专业课程,如半导体器件物理、半导体物理、半导体和集成电路工艺等课程的教学中,传统的黑板画示意图或者PPT演示教学方法无法与实验教学有机的结合,例如在半导体和集成电路工艺课程中,学生需要充分掌握整个芯片的生产过程、器件参数设置等较为详细的内容;又如在半导体物理和半导体器件物理课程中,对电势、电场强度、载流子浓度等器件内部的物理量不仅需要学生定性掌握,而且还需要有定量的概念。但目前,由于设备及其维护费用高昂,大部分高校还无法为本科生、研究生提供半导体生产线及设备来进行实验教学。因此,采用TCAD(technology computer aided design)软件来进行实验环节的教学是一个比较现实、并值得推广的实验教学方式[1-4]。
TCAD是电子设计自动化软件,主要进行半导体器件的工艺仿真和器件电学性能模拟;利用TCAD工具还可以在理论上预期半导体器件和集成电路生产中各个工艺过程对器件性能的影响,例如扩散温度和离子注入剂量和能量对半导体材料掺杂的影响,杂质的浓度分布;还可以分析整个工艺过程完成后半导体器件的电学参数等[5-6]。TCAD利用有限元方法来联立求解流体力学方程、热传导方程、扩散方程、泊松方程、载流子连续性电流方程等,甚至可包含薛定谔方程和马克斯韦方程,然后进行稳态或瞬态电势、电场、电子、空穴等物理量的求解,并进一步得到器件的电流、电压、电容等宏观物理参数特性。计算过程可以进行网格动态调整,可控制收敛,可以计算一维、二维和三维器件结构及与时间有关的瞬态过程等[5-8]。
目前比较流行的TCAD软件包括Synopsys公司的Tsuprem、Medici、Davinci和Sentaurus TCAD等,以及 Silvaco公 司的Atlas、Athena等软件套装[5-6]。因为半导体器件工艺和结构可能非常复杂,所以在设计过程中可能需要大量试验和调整参数,对计算机的计算速度、稳定性等要求较高,目前这几种TCAD工具大多运行在Unix或Linux等类Unix操作系统上,可以单机运行,也可以在服务器上运行。同时,TCAD软件面向专业用户,假定用户具备了专业Linux系统的操作知识,具备编写脚本的能力,但由于TCAD软件没有在易用性、人机界面上做优化,学生需要先熟悉操作系统,因此使用起来较为复杂。另外,同其他的专用EDA软件类似,TCAD软件的价格比较昂贵,购买大量的license用于实验教学既耗费大量的资金,对大多数高校来说也比较困难[1-3]。
针对以上问题以及实验教学项目开销相对较小的情况,我们利用目前在计算机网络应用中比较流行的B/S架构[9-10],建立了一套半导体 TCAD 仿真设计的网络实验教学平台。其中,TCAD软件运行在配置较高的服务器端,学生利用 Windows系统的网络浏览器,通过服务器访问TCAD软件,发出仿真指令,利用浏览器来显示计算结果,以及显示曲线、图表,并能够按照需要以文本及矢量图形、点阵图片等格式保存到本地电脑上。每个实验教学对象基本不占用服务器存储空间,不必在服务器端生成账户,因此极大地方便了学生的使用,简化了教师的系统维护工作,并保障了服务器运行的安全性。另外,采用该方式避免了购买多license TCAD所需的大量资金,对于高校开展器件和集成电路EDA实验教学具有很大的实用价值。
2 实验教学平台架构
B/S架构即是以浏览器/服务器的结构来搭建TCAD网络实验教学平台,是一种对C(计算机)/S(服务器)架构技术的改进。图1是采用中间件的B/S逻辑结构的示意图。该架构是典型的三层体系结构,利用中间件将应用分为表示层、业务逻辑层和数据存储层3个不同处理层。中间件不仅负责客户端(浏览器接口)与服务器、服务器与服务器间的连接和通信,实现了应用与数据库的高效连接,而且还提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能[8-9]。
图1 采用中间件的B/S架构逻辑层次结构
具体实现时B/S架构必须借助于Internet,其典型物理拓扑结构如图2所示。图2中下部所示的台式电脑、笔记本电脑及平板电脑通过浏览器接口连接到Internet,同时服务器端(包括应用服务器、数据服务器、文件服务器等)直接、或通过网络服务器也连接到该网络。由于B/S结构是基于 WWW(万维网)服务的,绝大部分计算、数据及文件操作都由服务器端完成,而只有很少的逻辑功能在浏览器中实现,因此对客户计算机操作系统的种类和版本无关,只需浏览器软件即可接入使用。这样计算能力与功能完全集中于服务器中,使得TCAD系统维护变得相当简单。无论用户的使用量有多大都不会影响维护成本,这种计算能力向远程服务器集群的方式正是当今的发展趋势,即所谓“云”计算。同时,应用WWW服务来进行程序接口的访问,使得用户的管理简化,最大限度地维持了服务器安全性。因此,基于B/S架构的TCAD网络实验教学平台的使用不依赖于用户的操作系统与应用程序,不局限于学校实验室机房使用,学生在校园网的任何一个节点、用任何终端浏览器,包括智能手机、平板电脑都可以通过浏览器进行使用[9-10]。
图2 B/S架构物理拓扑结构
该TCAD网络实验教学平台服务器端采用主流的Linux操作系统,TCAD软件采用Synopsys公司的Medici软件。Medici是国际上广泛应用的半导体器件特性仿真工具,能够计算多种半导体器件的电、光学特性参数。该软件属于终端操作类型软件,使用时首先利用文本编辑器编写器件描述语句,然后在终端下运行该程序,并将计算过程及相关信息显示在终端下。在器件描述语句中可以控制Medici将计算结果保存成文本文件或生成图形数据,然后,调用绘图软件(tmaplot)进行图形绘制,来形象地显示计算结果。系统的实现方案如图3所示。
图3 基于B/S架的TCAD网络实践教学平台软件架构
代码通过编辑,然后利用Ajax异步提交至服务器,服务器会将代码暂时写入磁盘,之后调用PHP脚本启动终端运行shell指令,运行安装在服务端的Medici对代码进行解析,从而得到仿真结果。服务端的Nginx是一种轻量级的万维网服务程序,它可以轻松地应对高并发请求,同时还具有非常出色的平衡负载的能力,非常适合服务器集群之间资源的协调分配。服务端脚本采用的是PHP,这是一种被广泛应用于网站的脚本语言,例如著名的社交网站Facebook就是使用PHP语言搭建的。PHP语言还有一个出色的功能就是可以直接调用终端执行指令,首先利用PHP调用终端启动Medici,并将结果保存到数据库中;然后利用服务器的缓存机制,结合用户浏览器的命令来进行数据的释放和发送。浏览器的缓存机制相对于服务器要简单得多,总体上讲就是会设定一个阈值,当数据长度低于这个阈值时浏览器不会进行输出,当接收到的数据累计长度高于这个阈值时才会进行输出,而这个阈值一般不高于2 048字节,所以只需将每次服务器输出的数据达到2 048字节即可,最简单的方法就是在数据后加上多个空格。
至此,浏览器与服务器之间的联系、服务器调用Medici进行数据处理、浏览器实时监控Medici运行状态这3个任务已经全部完成。结合利用JavaScript来编写的浏览器前端界面程序,即将浏览器与服务端TCAD 软件组成了有机的整体[9-10]。
3 平台界面与基本功能
平台界面如图4所示。浏览器采用Google公司的Chrome,这是一种较新的产品,因而本平台具有通用型特点。图4(a)是TCAD描述语句的输入窗口,该窗口是在浏览器框架结构的文本编辑器,并针对Medici设置了语法加亮功能[11]。用户可在线编辑描述语句,也可离线编辑,然后通过该网络文本编辑器传送代码至服务器端[12];描述语句通过Chrome上传给服务器端后,由TCAD软件进行语法分析和仿真计算;计算结束后将数据发回,由浏览器负责将回传数据以用户指定的方式进行显示[13]。图4(b)显示的是一个光电探测器入射强度在该器件内部的分布图,显示方式是真彩颜色梯度方式。在该显示模式下还可以进行电势、电场强度、载流子浓度等物理量的显示;图4(c)显示的是该器件的电压-电流关系曲线,图4(d)是图4(c)曲线的数据。值得注意的是,本平台具有本地存储功能,即支持图形的点阵方式存储,也支持向量方式存储。后者的优点是可以进行曲线、器件结构的无极放大[13-15]。
4 系统压力测试
对实验教学平台分别采用两种方式进行了压力测试。第1种是利用传统的图形界面登录服务器来使用TCAD的方式,第2种是利用本文提出的B/S架构来使用TCAD软件。服务器CPU负载情况的对比如图5所示。图5(a)显示的是第1种方式CPU的负载;图5(b)是第2种方式CPU的负载。
图4 系统界面
图5 两种不同使用方式中服务器CPU负载情况对比图
实验所使用的TCAD执行代码相同,运行后所生成的结果相同。可以看出:采用第1种方式会使服务器CPU占有率出现两次峰值,第1次峰值是用户与服务器建立连接并启动图形界面产生的,第2次峰值是用户启动服务器中的TCAD软件产生。采用本文介绍的系统运行时只会使服务器CPU占用率产生1次峰值,因为本系统是基于HTTP协议的,在不使用时不会产生链接。从图5中可以清楚地看出,采用本文方式系统只产生了25%的CPU负载,而传统方式大约有60%的CPU负载。
在上述实验中,服务器端的操作系统为Ubuntu 11.10,CPU 为普通的Intel Core i3M380 2.53GHz,2GB内存;采用的TCAD软件为MEDICI 2003;采用Nginx万维网服务程序及FastCGI组件;用户计算机操作系统为 Windows 7,浏览器为Chrome 19.0。
5 结论
基于B/S架构开发了一款适用于微电子专业实验教学的半导体TCAD网络实验教学平台。该平台的核心是一台运行Linux系统的高性能服务器,TCAD软件运行在服务器端,教师拥有利用telnet、SSH等终端登录工具登录服务器的资格和权力,学生则需通过指定端口利用浏览器来使用该平台。该平台的优点是由于学生通过基于Windows系统的浏览器访问服务器,既方便了学生,也极大地降低了服务器的负载,初步实验结果显示服务器负荷降低了约58%;同时,该方式无需在服务器端为每个学生建立账户,可节省服务器硬件成本和网络管理成本,并大大地提高了系统的安全性。
(
)
[1]刘剑霜,郭鹏飞,李伙全.TCAD技术在微电子实验教学体系中的应用与研究[J].实验技术与管理,2012,29(2):78-80.
[2]朱筠.利用SILVACO TCAD软件改进集成电路实践教学的研究[J].数字技术与应用,2012(7):114-116.
[3]梁齐,杨明武,刘声雷,等.微电子工艺实验教学模式探索[J].实验室科学,2008(1):41-42.
[4]商世广,赵玲,杜慧敏,等.新型材料器件实践教学课程改革与探索[J].西安邮电学院学报,2011,16(6):129-131.
[5]阮刚.集成电路工艺和器件的计算机模拟:IC TCAD技术概论[M].上海:复旦大学出版社,2007.
[6]韩雁,丁扣宝.半导体器件TCAD设计与应用[M].北京:电子工业出版社,2013.
[7]舒斌,张鹤鸣,马晓华,等.双应变SiGe_Si异质结CMOS的设计及其电学特性的 Medici模拟[J].电子器件,2008,31(5):1495-1500.
[8]孙嘉兴,宁润涛,胡子阳,等.利用Tsuprem4和 Medici对200伏VDMOS进行虚拟制造[J].辽宁大学学报:自然科学版,2006,33(1):42-45.
[9]徐秀敏,郝赫,曹占峰,等.基于三层B/S的规划计划信息管理平台[J].计算机系统应用,2013(4):51-55.
[10]赵宏伟,秦昌明.基于B/S 3层体系结构的软件设计方法研究[J].实验室研究与探索,2011,30(7):64-66.
[11]Synopsys T M.Medici User Guide[M].USA:Synopsys Inc,2009.
[12]Jeremy Keith,Jeffrey Sambells.DOM Scripting:Web Design with JavaScript and the Document Object Model [M ].Apress,2010.
[13]Jennifer Kyrnin.HTML 5Canvas Tutorial-How to Use the HTML 5Tag CANVAS [EB/OL].[2013-03-25].http://webdesign.about.com/od/html5tags/a/html5-canvas-tutorial.htm.
[14]Adobe Systems Incorporated.Postscript language tutorial and cookbook[M].Addison-Wesley Publishing Company,1985.
[15]W3Schools Online Web Tutorials[EB/OL].[2013-12-20].http://w3schools.com/.