常玉春,李 喆,李傳南
(吉林大學 電子科學與工程學院,吉林 長春 130012)
隨著微電子產業(yè)的蓬勃發(fā)展,微電子產業(yè)帶動了整個電子行業(yè)的發(fā)展,也成為了我國經濟發(fā)展的龍頭之一。高等院校對微電子及集成電路專業(yè)的人才培養(yǎng)方式越來越強調對學生實踐能力的培養(yǎng)[1-2]。在微電子專業(yè)主要的專業(yè)課程,如半導體器件物理、半導體物理、半導體和集成電路工藝等課程的教學中,傳統(tǒng)的黑板畫示意圖或者PPT演示教學方法無法與實驗教學有機的結合,例如在半導體和集成電路工藝課程中,學生需要充分掌握整個芯片的生產過程、器件參數設置等較為詳細的內容;又如在半導體物理和半導體器件物理課程中,對電勢、電場強度、載流子濃度等器件內部的物理量不僅需要學生定性掌握,而且還需要有定量的概念。但目前,由于設備及其維護費用高昂,大部分高校還無法為本科生、研究生提供半導體生產線及設備來進行實驗教學。因此,采用TCAD(technology computer aided design)軟件來進行實驗環(huán)節(jié)的教學是一個比較現實、并值得推廣的實驗教學方式[1-4]。
TCAD是電子設計自動化軟件,主要進行半導體器件的工藝仿真和器件電學性能模擬;利用TCAD工具還可以在理論上預期半導體器件和集成電路生產中各個工藝過程對器件性能的影響,例如擴散溫度和離子注入劑量和能量對半導體材料摻雜的影響,雜質的濃度分布;還可以分析整個工藝過程完成后半導體器件的電學參數等[5-6]。TCAD利用有限元方法來聯立求解流體力學方程、熱傳導方程、擴散方程、泊松方程、載流子連續(xù)性電流方程等,甚至可包含薛定諤方程和馬克斯韋方程,然后進行穩(wěn)態(tài)或瞬態(tài)電勢、電場、電子、空穴等物理量的求解,并進一步得到器件的電流、電壓、電容等宏觀物理參數特性。計算過程可以進行網格動態(tài)調整,可控制收斂,可以計算一維、二維和三維器件結構及與時間有關的瞬態(tài)過程等[5-8]。
目前比較流行的TCAD軟件包括Synopsys公司的Tsuprem、Medici、Davinci和Sentaurus TCAD等,以及 Silvaco公 司的Atlas、Athena等軟件套裝[5-6]。因為半導體器件工藝和結構可能非常復雜,所以在設計過程中可能需要大量試驗和調整參數,對計算機的計算速度、穩(wěn)定性等要求較高,目前這幾種TCAD工具大多運行在Unix或Linux等類Unix操作系統(tǒng)上,可以單機運行,也可以在服務器上運行。同時,TCAD軟件面向專業(yè)用戶,假定用戶具備了專業(yè)Linux系統(tǒng)的操作知識,具備編寫腳本的能力,但由于TCAD軟件沒有在易用性、人機界面上做優(yōu)化,學生需要先熟悉操作系統(tǒng),因此使用起來較為復雜。另外,同其他的專用EDA軟件類似,TCAD軟件的價格比較昂貴,購買大量的license用于實驗教學既耗費大量的資金,對大多數高校來說也比較困難[1-3]。
針對以上問題以及實驗教學項目開銷相對較小的情況,我們利用目前在計算機網絡應用中比較流行的B/S架構[9-10],建立了一套半導體 TCAD 仿真設計的網絡實驗教學平臺。其中,TCAD軟件運行在配置較高的服務器端,學生利用 Windows系統(tǒng)的網絡瀏覽器,通過服務器訪問TCAD軟件,發(fā)出仿真指令,利用瀏覽器來顯示計算結果,以及顯示曲線、圖表,并能夠按照需要以文本及矢量圖形、點陣圖片等格式保存到本地電腦上。每個實驗教學對象基本不占用服務器存儲空間,不必在服務器端生成賬戶,因此極大地方便了學生的使用,簡化了教師的系統(tǒng)維護工作,并保障了服務器運行的安全性。另外,采用該方式避免了購買多l(xiāng)icense TCAD所需的大量資金,對于高校開展器件和集成電路EDA實驗教學具有很大的實用價值。
B/S架構即是以瀏覽器/服務器的結構來搭建TCAD網絡實驗教學平臺,是一種對C(計算機)/S(服務器)架構技術的改進。圖1是采用中間件的B/S邏輯結構的示意圖。該架構是典型的三層體系結構,利用中間件將應用分為表示層、業(yè)務邏輯層和數據存儲層3個不同處理層。中間件不僅負責客戶端(瀏覽器接口)與服務器、服務器與服務器間的連接和通信,實現了應用與數據庫的高效連接,而且還提供一個三層結構應用的開發(fā)、運行、部署和管理的平臺。這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其他層的功能[8-9]。
圖1 采用中間件的B/S架構邏輯層次結構
具體實現時B/S架構必須借助于Internet,其典型物理拓撲結構如圖2所示。圖2中下部所示的臺式電腦、筆記本電腦及平板電腦通過瀏覽器接口連接到Internet,同時服務器端(包括應用服務器、數據服務器、文件服務器等)直接、或通過網絡服務器也連接到該網絡。由于B/S結構是基于 WWW(萬維網)服務的,絕大部分計算、數據及文件操作都由服務器端完成,而只有很少的邏輯功能在瀏覽器中實現,因此對客戶計算機操作系統(tǒng)的種類和版本無關,只需瀏覽器軟件即可接入使用。這樣計算能力與功能完全集中于服務器中,使得TCAD系統(tǒng)維護變得相當簡單。無論用戶的使用量有多大都不會影響維護成本,這種計算能力向遠程服務器集群的方式正是當今的發(fā)展趨勢,即所謂“云”計算。同時,應用WWW服務來進行程序接口的訪問,使得用戶的管理簡化,最大限度地維持了服務器安全性。因此,基于B/S架構的TCAD網絡實驗教學平臺的使用不依賴于用戶的操作系統(tǒng)與應用程序,不局限于學校實驗室機房使用,學生在校園網的任何一個節(jié)點、用任何終端瀏覽器,包括智能手機、平板電腦都可以通過瀏覽器進行使用[9-10]。
圖2 B/S架構物理拓撲結構
該TCAD網絡實驗教學平臺服務器端采用主流的Linux操作系統(tǒng),TCAD軟件采用Synopsys公司的Medici軟件。Medici是國際上廣泛應用的半導體器件特性仿真工具,能夠計算多種半導體器件的電、光學特性參數。該軟件屬于終端操作類型軟件,使用時首先利用文本編輯器編寫器件描述語句,然后在終端下運行該程序,并將計算過程及相關信息顯示在終端下。在器件描述語句中可以控制Medici將計算結果保存成文本文件或生成圖形數據,然后,調用繪圖軟件(tmaplot)進行圖形繪制,來形象地顯示計算結果。系統(tǒng)的實現方案如圖3所示。
圖3 基于B/S架的TCAD網絡實踐教學平臺軟件架構
代碼通過編輯,然后利用Ajax異步提交至服務器,服務器會將代碼暫時寫入磁盤,之后調用PHP腳本啟動終端運行shell指令,運行安裝在服務端的Medici對代碼進行解析,從而得到仿真結果。服務端的Nginx是一種輕量級的萬維網服務程序,它可以輕松地應對高并發(fā)請求,同時還具有非常出色的平衡負載的能力,非常適合服務器集群之間資源的協調分配。服務端腳本采用的是PHP,這是一種被廣泛應用于網站的腳本語言,例如著名的社交網站Facebook就是使用PHP語言搭建的。PHP語言還有一個出色的功能就是可以直接調用終端執(zhí)行指令,首先利用PHP調用終端啟動Medici,并將結果保存到數據庫中;然后利用服務器的緩存機制,結合用戶瀏覽器的命令來進行數據的釋放和發(fā)送。瀏覽器的緩存機制相對于服務器要簡單得多,總體上講就是會設定一個閾值,當數據長度低于這個閾值時瀏覽器不會進行輸出,當接收到的數據累計長度高于這個閾值時才會進行輸出,而這個閾值一般不高于2 048字節(jié),所以只需將每次服務器輸出的數據達到2 048字節(jié)即可,最簡單的方法就是在數據后加上多個空格。
至此,瀏覽器與服務器之間的聯系、服務器調用Medici進行數據處理、瀏覽器實時監(jiān)控Medici運行狀態(tài)這3個任務已經全部完成。結合利用JavaScript來編寫的瀏覽器前端界面程序,即將瀏覽器與服務端TCAD 軟件組成了有機的整體[9-10]。
平臺界面如圖4所示。瀏覽器采用Google公司的Chrome,這是一種較新的產品,因而本平臺具有通用型特點。圖4(a)是TCAD描述語句的輸入窗口,該窗口是在瀏覽器框架結構的文本編輯器,并針對Medici設置了語法加亮功能[11]。用戶可在線編輯描述語句,也可離線編輯,然后通過該網絡文本編輯器傳送代碼至服務器端[12];描述語句通過Chrome上傳給服務器端后,由TCAD軟件進行語法分析和仿真計算;計算結束后將數據發(fā)回,由瀏覽器負責將回傳數據以用戶指定的方式進行顯示[13]。圖4(b)顯示的是一個光電探測器入射強度在該器件內部的分布圖,顯示方式是真彩顏色梯度方式。在該顯示模式下還可以進行電勢、電場強度、載流子濃度等物理量的顯示;圖4(c)顯示的是該器件的電壓-電流關系曲線,圖4(d)是圖4(c)曲線的數據。值得注意的是,本平臺具有本地存儲功能,即支持圖形的點陣方式存儲,也支持向量方式存儲。后者的優(yōu)點是可以進行曲線、器件結構的無極放大[13-15]。
對實驗教學平臺分別采用兩種方式進行了壓力測試。第1種是利用傳統(tǒng)的圖形界面登錄服務器來使用TCAD的方式,第2種是利用本文提出的B/S架構來使用TCAD軟件。服務器CPU負載情況的對比如圖5所示。圖5(a)顯示的是第1種方式CPU的負載;圖5(b)是第2種方式CPU的負載。
圖4 系統(tǒng)界面
圖5 兩種不同使用方式中服務器CPU負載情況對比圖
實驗所使用的TCAD執(zhí)行代碼相同,運行后所生成的結果相同。可以看出:采用第1種方式會使服務器CPU占有率出現兩次峰值,第1次峰值是用戶與服務器建立連接并啟動圖形界面產生的,第2次峰值是用戶啟動服務器中的TCAD軟件產生。采用本文介紹的系統(tǒng)運行時只會使服務器CPU占用率產生1次峰值,因為本系統(tǒng)是基于HTTP協議的,在不使用時不會產生鏈接。從圖5中可以清楚地看出,采用本文方式系統(tǒng)只產生了25%的CPU負載,而傳統(tǒng)方式大約有60%的CPU負載。
在上述實驗中,服務器端的操作系統(tǒng)為Ubuntu 11.10,CPU 為普通的Intel Core i3M380 2.53GHz,2GB內存;采用的TCAD軟件為MEDICI 2003;采用Nginx萬維網服務程序及FastCGI組件;用戶計算機操作系統(tǒng)為 Windows 7,瀏覽器為Chrome 19.0。
基于B/S架構開發(fā)了一款適用于微電子專業(yè)實驗教學的半導體TCAD網絡實驗教學平臺。該平臺的核心是一臺運行Linux系統(tǒng)的高性能服務器,TCAD軟件運行在服務器端,教師擁有利用telnet、SSH等終端登錄工具登錄服務器的資格和權力,學生則需通過指定端口利用瀏覽器來使用該平臺。該平臺的優(yōu)點是由于學生通過基于Windows系統(tǒng)的瀏覽器訪問服務器,既方便了學生,也極大地降低了服務器的負載,初步實驗結果顯示服務器負荷降低了約58%;同時,該方式無需在服務器端為每個學生建立賬戶,可節(jié)省服務器硬件成本和網絡管理成本,并大大地提高了系統(tǒng)的安全性。
(
)
[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].北京:電子工業(yè)出版社,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的規(guī)劃計劃信息管理平臺[J].計算機系統(tǒng)應用,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/.