行政院國家科學委員會專題研究計畫成果報告
計畫名稱:
多腔式半導體製程設備之物件導向即時模擬控制系統
計畫編號:NSC
89-2212-E-009-046-執行期限:88 年 8 月 1 日至 89 年 7 月 31 日
主 持 人:陳 傑 交通大學機械系 助理教授
一、中文摘要
目前國內半導體新廠投資已朝向 12 吋晶圓的 發展。此種對大面積基材(12 吋晶圓及 LCD 液晶 面板)處理的需求,傳統的人工搬送方式已無法滿 足,近年來國內外各個半導體設備製造大廠均朝向 將數個有相關性,但不相同的製程機台聚集一起成 為一個生產設備,這種將數種製程機台集中在一起 的半導體製程設備被稱之為多腔式製程設備 (Cluster Tool)[1]。 從自動控制的角度來看,一個多腔式的半導 體製程設備包含了下列的控制系統:1.程序控制 2. 晶元排序控制 3.動作控制。設計的困難在於描述系 統功能和系統動態的需求,以及對於這種經由電腦 控制的複雜系統之持續發展。 軟體設計部分我們採用物件導向[2][3]的方 式、並以 PC-Based 為環境、用設計即時控制軟體 的方式來針對多腔式半導體製程設備,設計一個分 散式、階層性的模型架構以及設計一個能夠協調製 程程序控制上所有需求、排序及動作控制的監管控 制器。設計及規劃方式包括 1.系統需求的收集 2. 系統需求的分析 3.軟體的設計 4.軟體程式碼的撰 寫 5.軟體程式碼的測試,我們使用統一化模式語言 [5][6](Unified Modeling Language, 簡稱 UML) 來做為需求分析及設計程式的工具。 關於本計畫設計所實現之半導體設備的實體平 台,我們藉由多腔式半導體設備控制器的規劃以及傳 輸模組控制器的設計,將多腔式半導體設備中不同廠 商提供之硬體元件作有效的整合。一方面減少半導體 設備製造商之間溝通的問題,一方面增加了系統的可 擴充性,解決了經由電腦控制的複雜系統持續發展的 困難,也增加多腔式半導體設備與設備之間的相容 性。關鍵詞:
多腔式半導體製程設備;即時控制軟體;物件導向; 統一化模式語言 ABSTRACTResearch and development activities in the area of advanced semiconductor manufacturing equipment have increased rapidly in the past few years and have attracted more and more attention among local industries as well as research institutes. Among various kinds of
semiconductor manufacturing equipment, cluster-tool type semiconductor manufacturing equipment has accounted for a significant percentage of equipment installation bases and market shares since its first debut in the late 1980’s. One of the major advantages for a cluster tool compared with a stand-alone system is that cluster tools have the capability of performing several different processing steps to a wafer in the same vacuum environment. In recent years, there has been an upsurge in the use of cluster tools. Some of the important factors that have motivated this trend are increased economic
concerns on yield and throughput, reduced contamination during wafer processing, better clean room floor space utilization, and less human intervention.
From a control perspective, a cluster-tool type semiconductor manufacturing equipment includes the following control subsystems: 1. Process Control. 2. Wafer Sequencing. 3. Motion Control.
In the project, we have designed an object model, which describes the control system hierarchy for a cluster-tool type semiconductor manufacturing
equipment. Also, a supervisory controller is designed to coordinate all the required process control, sequencing, and motion control actions for a cluster-tool type semiconductor manufacturing equipment. Furthermore, real-time control software is implemented based on the designed object model of control systems for cluster tools.
Keywor d:
Cluster tools, real-time software,object-orient, Unified Modeling Language (UML)
二、緣由與目的
目前國內半導體新廠投資已朝向 12 吋晶圓的 發展。對大面積基材(12 吋晶圓及 LCD 液晶面板) 處理的需求,傳統的人工搬送方式已無法滿足,為 了減少人工操作以提高潔淨度、降低生產時間、提 高生產量及降低擁有成本的考慮下,近年來國內外 各個半導體設備製造大廠均朝向將數個有相關 性,但不相同的製程機台聚集一起成為一個生產設 備,這種將數種製程機台集中在一起的半導體製成 設備被稱之為多腔式製成設備(Cluster Tool)[1]。 從自動控制的角度來看,一個多腔式的半導 體製程設備包含了下列的控制系統:1.程序控制 2. 晶元排序控制 3.動作控制。設計這樣一種複雜控制 系統的困難在於描述系統功能和系統動態的需 求,以及對於這種經由電腦控制的複雜系統之持續 發展,例如在及時控制軟體上要增加或是改變他們 已經存在的功能。根據美國半導體製造協會 (SEMATECH)的研究顯示,典型的半導體製造廠 中,控制系統的軟體失誤大約佔了整個設備失效率 的百分之四十。 本計畫之目的在對於多腔式半導體製程設 備,設計一個系統階層性的模型架構以及設計一個 能夠協調製程程序控制上所有需求、排序及動作控 制的監管控制器,控制軟體的設計部分,我們將採 用下列設計觀念: 一、物件導向[2][3]: 物件導向的程式設計具有以下優點:第一為 物件的模型可對應到真實世界的實際物體,利於溝 通瞭解;第二為物件具有封裝性,當程式異動時, 物件介面維持不變,只對內部做更動即可,使程式 擴展容易;第三為物件具有可重用性,功能類似的 物件其程式碼可再利用,以減少程式撰寫時間與測 試時間,容易維護並提高可靠度。 二、分散式: 分散式的系統主要是由多個處理器所組成, 各個處理器各司所職,各個處理器並不共用記憶 體,每個處理器間靠高速的控制網路溝通,以達成 高工作效率的目的。此種分散式控制的好處是模組 化的設計理念與分工清楚。 三、PC-Based: 近年來由於個人電腦的普及化,因此可以運 用個人電腦強大的計算能力以及資料儲存能力,來 完成工作,其好處是可儲存大量資料於硬碟,並完 成複雜計算,以及提供方便及美觀的使用者介面。 四、即時控制: 所謂即時性的控制就是按照工作優先順序在 指定的時間內,完成系統所要求的動作或反應,並 不致於造成系統之傷害。三、研究方法
這節將描述多腔式半導體製程設備的物件導向軟體設計及規劃方式。它們包括 1. 系統需求的收集: 2. 系統需求的分析: 3. 軟體的設計:
3.1 系統需求的收集:
首先將系統要完成的工作目標列出。本計畫所設計 之多腔式半導體製程設備,依據 SEMI 標準書[1],將 半導體製程設備 分成三個模 組,依序 為傳輸模組(transfer module)、卡夾模組(cassette module)及製
程模組(processing module),多腔式半導體製程控制 器(cluster tool controller)簡稱 CTC,負責此三個工 作模組之間之協調;然而,每個工作模組皆有控制器 負責管理,例如傳輸模組控制器(transfer module controller)簡稱 TMC 負責晶園(wafer)的排程,而 每個模組亦有相關之次系統,輔助控制器完成所需工 作,例如傳輸模組分成機械臂系統、真空系統以及卡 夾承載室負責協助完成晶圓傳輸的工作。 本計畫設計之半導體設備的實體平台(如圖 1), 傳輸模組中,使用 MECS 公司生產之 UTV-2500H 機 械臂、倍強公司的真空抽氣系統設備[4,5]、Brook 公 司的 VCE4 Vacuum Cassette Elevator。藉由傳輸模組控 制 器 軟 體 設 計 , 將 這 些 設 備 作 有 效 的 整 合 。 圖 1
3.2 系統需求的分析:
此階段將系統要完成工作目標的方法做分析。系 統需求的分析,可以說是整個軟體發展程序中最重要 的程序;Rosch[6]宣稱在需求分析的程序時,有 65% 的錯誤會顯現出來,而在瀑布模型中,在每一階段的 程序中沒有被修正的錯誤,若延續到下一個階段的程 序才修正,其修正的代價會變成原來的十倍。由此可 見系統需求的收集與分析程序的重要。故我們非常專 注於系統需求分析的正確上。 本計畫中,TMC 負責處理來自 CTC 之命令,並 協調、監督各次系統執行命令;每個子系統將各個相 關功能的元件整合,以提供一完整的功能,如真空系統整合了真空閥門(Vacuum Valve)、真空計(Vacuum
Gauge),以及真空幫浦(Vacuum Pump),提供真空控
制的功能;每個元件皆對應於一實體元件,軟體與實 體之間接有一通訊介面溝通,例如機械臂系統透過 RS232 與機械臂實體溝通。
3.3 軟體的設計:
軟體設計的規格應由系統需求的分析程序轉換 而來。系統分析程序的一般均以文字表示,在轉換成 軟體設計時則須要把系統需求的分析做歸納重組,決 定負責的物件及物件間的界面,並用模型來表達心中 的構思,用以記錄並表達給他人知道。所以設計時使 用的工具,應使用共通的模型語言。在此計畫中我們 使 用 統 一 化 模 式 語 言 [7][8] ( Unified Modeling Language, 簡稱 UML)來做為需求分析及設計程式 的工具。 多腔式半導體製程設備控制器(CTC),我們乃 依據 SEMI 標準書[1]做整體規劃(如圖 2),經過使用 案例圖(圖 3)作系統分析後,我們採用階層式架構, 將整個系統分為五層(參閱圖 4),分別為系統層(System Layer)、子系統層(Sub System Layer)、元
件層(Device Layer)、TMC 驅動介面層(TMC Driver
Interface Layer),以及驅動層(Driver Layer)。其中的
TMC 驅動介面層則將與各元件溝通的通訊協定介面 化,而驅動層則是將通訊協定類別化。在設計過程中, 我們以使用案例圖作系統分析,系統的靜態以類別圖 表示,而系統動態結構則以狀態圖、活動圖或循序圖 表示。TMC 狀態圖及活動圖(圖 5、圖 6、圖 7)
CTC架構圖 Transfer Job Manager CM Transfer Job InterTool Material Transfer Job IntraTool Material Transfer Job TM Transfer Job CM Transfer Job <Active> User Interface Process Job Manager Exception Manager Process Job Receipe Manager Receipe Namespace Receipe Receipe Body Generic Header Agent-Specific Header Alarm Report Error Report Recovery Action 圖 2 CTC 整體架構 TMC使用案例圖 CTC Receive Message Hardware Test (CST) Communication Test (CCT) Reset (CRT) Request Status (CRS) Emergency Stop (CES)
Request Robot Status (RRS) Request Mapping Status
(RMR) Request LoadLocker Status
(RLS) Request Vacuum Status
(RVS) Request GateValve Status
(RGS) Robot Home Send and Receive Message LoadLocker Home LoadLocker Mapping GateValve Open GateValve Close Request Vacuum Status
(RVS) Pause Send Message CTC Send Message TMC 圖 3 TMC 使用案例圖 TMC 類別架構圖 <Active> Transfer Manager LoadLocker RS232 Communication Interface Vacuum System Robot Gate Valve Vacuum Gauge Vacuum Valve Vacuum DIO <Active> 類別:擁有Thread 的類別 CTCRS232 Pump VacuumGauge RS232 Robot RS232 Elevator Platform Door
LoadLocker RS232
DIO Communication
System Layer
Sub System Layer
Device Layer TMC Driver Interface Layer Driver Layer - 53 -圖4. TMC 類別架構 TMC狀態圖
IDLE EXECUTING FAULT
PAUSE 0.initialize 2.execute 7.executing fault or communication fault 4.pause TMC 建立 3.done 9.abort 5.resume READY 1.home 12.stop 13.stop 14.stop 11.stop 8.command fault (Exit) (Exit) (Exit) (Exit) 10. communication fault 6.abort 圖5. TMC 狀態圖 Ready (等待命令) [無命令] [有命令] 檢查命令 送出 ACK="N" [command fault] 送出ACK="Y" 並執行命令 [不需回傳資料] 回傳資料 及等待ACK TMC執行狀態活動圖 TMC 開始執行 Fault [通訊埠錯誤] communication fault [command right] [pause] [需回傳資料] [通訊埠錯誤] communication fault [正確接收] [execute fault] [execute ok] 圖6. TMC 活動圖 1 [有命令] 檢查命令 送出 ACK="N" [command fault] 送出ACK="Y" 並執行命令 [不需回傳資料] 回傳資料 及等待ACK TMC執行狀態 活動圖 TMC 接到命令 FAULT [command right] [pause] [需回傳資料] [通訊埠錯誤] communication fault [正確接收] [execute fault] [execute ok] READY PAUSE 圖7. TMC 活動圖 2
四、結果與討論
本計畫採用的多腔式半導體製程設備是由不同 廠商的硬體元件集合而成,我們透過軟體的設計將這 些硬體元件做有效率的整合,多腔式半導體製程設備 控制器(CTC)乃根據 SEMI 標準書,並以物件導向的方 式規劃了整個軟體的架構,除了有物件導向本身的好 處之外,對於不同廠商的半導體製程設備之間增加了 相容性。 傳輸模組控制器的部分,已建立了 UML 的模型, 除了經由知道 TMC 的行為模式,並且藉由系統層、子 系統層、元件層、TMC 驅動介面層的設計,將整個半 導體製程設備階層化,使系統分工變的較有有效率, 子系統都有一個相對應的硬體設備,子系統的工作乃 是不斷的等待與執行 TMC 所下達的命令,真空機械 臂、卡匣承載室與真空系統的真空計在子系統與設備 實體之間是透過 RS232 通訊介面溝通,真空系統的抽 真空與排氣流程是透過 DIO 控制。 驅動層將驅動程式類別化(圖 8、圖 9),可以簡 化驅動程式,並具有良好的在使用性,不會因驅動裝 置廠商的不同,而需將驅動程式作大幅度的修改,因 此,一方面減少半導體設備製造商之間溝通的問題, 一方面增加了系統的可擴充性,解決了經由電腦控制 的複雜系統持續發展的困難。 RS232+RS232(Port : short, Baud : short, Mode : short, Terminator_code : char, Max_buffer : short)
+~RS232()
+PutDataToOutputBuffer(StringCode : String) : int WINAPI +ReadInputBufferData() : int WINAPI
+GetOutputBufferDataLength() : long WINAPI +GetInputBufferDataLength() : long WINAPI +FlushInputBuffer() : int WINAPI +FlushOutputBuffer() : int WINAPI +FlushInputAndOutputBuffer() : int WINAPI -Baud : short -Port : short -Mode : short -MaxBuffer : unsigned -TerminatorCode : char +RecieveBufferPointer[MaxBuffer] : char 圖8.RS232 類別圖 DIO +DIO() +~DIO() +DigitalInput() : unsigned +DigitalOutput(Data : unsigned ) -CheckErrorCode() : short -CardNumber : 0/1 -BaseIOAddress : short -PacerRateDividerConstantC1 : unsigned -PacerRateDividerConstantC2 : unsigned -OffsetAddressForDIDataBuffferA : unsigned -SegmentAddressForDIDataBufferA : unsigned -OffsetAddressForDIDataBuffferB : unsigned -SegmentAddressForDIDataBufferB : unsigned -NumberOfDigitalInputs : unsigned -OffsetAddressForDODataBuffferA : unsigned -SegmentAddressForDODataBufferA : unsigned -OffsetAddressForDODataBuffferB : unsigned -SegmentAddressForDODataBufferB : unsigned -DOPortSelection : 0/1 -DIPortSelection : 0/1 -ErrorCode : short -MaxBuffer : unsigned -DODataBuffer[MaxBuffer] : unsigned -DIDataBuffer[MaxBuffer] : unsigned -Param[60] : unsigned -Param1[60] : unsigned 圖9. DIO 類別圖 伍、參考文獻
[1] John L Mauer, Roland E A Schelasin, Peter J Miller, “Analysis of Cluster Tool Performance
In Semiconductor Manufacturing”, IEEE/CHMT
Int’l Electronics Manufacturing Technology
Symposium, 1992, p129-134.
[2] J. Rumbaugh et al., Object-Oriented Modeling
and Design, 1991, Prentice-Hall.
[3] Grady Booch, James Rumbaugh, Ivar Jacobson,
“The Unified Modeling Language
User Guide”, ADDISON-WESLEY, 1999.
[4]Vacuum measurement and control unit manual(倍強 真空科技股份有限公司真空計手冊)
[5]倍強真空科技股份有限公司,“抽氣箱使用操作說 明”.
[6] C. M. Davidson and J. M. Whinne, "Engineering the
Control Software Development Process", 5th
International Conference on FACTORY 2000, 2-4 April,
1997.
[7] H. Eriksson and M. Penker, UML Toolkit, John Wiley
& Son, Inc., U.S., 1998.