JPH06318571A - End point monitor - Google Patents
End point monitorInfo
- Publication number
- JPH06318571A JPH06318571A JP5128487A JP12848793A JPH06318571A JP H06318571 A JPH06318571 A JP H06318571A JP 5128487 A JP5128487 A JP 5128487A JP 12848793 A JP12848793 A JP 12848793A JP H06318571 A JPH06318571 A JP H06318571A
- Authority
- JP
- Japan
- Prior art keywords
- value
- end point
- computer
- argument
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Drying Of Semiconductors (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、半導体製造装置等にお
ける反応プロセスの終了を検出するエンドポイントモニ
タに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an end point monitor for detecting the end of a reaction process in a semiconductor manufacturing apparatus or the like.
【0002】[0002]
【従来の技術】従来のエンドポイントモニタは、半導体
製造装置等を構成する化学反応室すなわちチャンバ内に
発生する光から所望のスペクトルのみを通過させるモノ
クロメータと、発光スペクトルの経時的な強度変化を対
応する波形信号に変換するフォトセンサと、波形信号を
演算処理して反応プロセスの終了を判別するコンピュー
タとから構成されている。かかるエンドポイントモニタ
は、例えば特開昭63−107026号公報、特開平4
−37127号公報、特開平4−177833号公報、
特開平4−186727号公報等に開示されている。反
応プロセスの種類によりチャンバ内で発生するプラズマ
光のスペクトル分布は、例えばある波長において反応時
間とともに最大強度となり、やがて消滅する。そこで、
特異的な波長のみを通過させるモノクロメータを直接又
は光ファイバを介してチャンバのガラス窓に取り付け、
この波長の発光スペクトルの強度変化をフォトセンサ等
で対応する波形信号に変換する。コンピュータは、予め
構築されたアルゴリズムに従って該波形信号を演算処理
する事により反応プロセスの終点を検出する。例えば、
入力された波形信号のレベルポンイト及びエンドポイン
トを計測する事により、反応プロセスの終了を判別す
る。具体的には、波形信号が所定のレベルポイントを越
えて低下した後、最小ピークを検出する。2. Description of the Related Art A conventional endpoint monitor is a monochromator that allows only a desired spectrum to pass from the light generated in a chemical reaction chamber, that is, a chamber that constitutes a semiconductor manufacturing apparatus, and an intensity change of an emission spectrum with time. It is composed of a photosensor for converting into a corresponding waveform signal and a computer for calculating the waveform signal to determine the end of the reaction process. Such end point monitors are disclosed, for example, in Japanese Patent Laid-Open Nos. 63-107026 and 4
-37127, Unexamined-Japanese-Patent No. 4-177833,
It is disclosed in Japanese Patent Laid-Open No. 4-186727. Depending on the type of reaction process, the spectral distribution of the plasma light generated in the chamber has a maximum intensity with the reaction time at a certain wavelength, for example, and then disappears. Therefore,
A monochromator that passes only specific wavelengths is attached to the glass window of the chamber directly or through an optical fiber,
A change in the intensity of the emission spectrum of this wavelength is converted into a corresponding waveform signal by a photosensor or the like. The computer detects the end point of the reaction process by arithmetically processing the waveform signal according to a previously constructed algorithm. For example,
The end of the reaction process is determined by measuring the level point and end point of the input waveform signal. Specifically, the minimum peak is detected after the waveform signal has dropped below a predetermined level point.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、従来の
エンドポイントモニタは可変型単波長光測定器であるモ
ノクロメータから取り込んだ波形信号データを、固定化
されたアルゴリズムにより演算処理して終点検出を行な
っている為、以下の解決すべき課題がある。第1に、個
々の反応プロセスに特異的な波長を特定する為、モノク
ロメータとは別にスペクトルアナライザ等の分光分析器
が必要であり、エンドポイントモニタの高価格化を招い
ていた。又、モノクロメータにより分別された単一の発
光スペクトルのみにより終点検出を行なっていたので、
スペクトラム分布が複雑に変化する反応プロセスに対し
ては正確な判別結果を得る事が困難であった。第2に、
入力された波形信号の演算処理を行なうコンピュータ
は、予め固定されたアルゴリズムにより処理を行なう
為、多種多様の反応プロセスに対して必ずしも最適な終
点判別結果を与えるものではないという課題がある。ア
ルゴリズムのプログラミングに関し自由度がない為、機
能的に必ずしも満足できるものではなかった。However, in the conventional endpoint monitor, the waveform signal data captured from the monochromator, which is a variable type single wavelength optical measuring instrument, is processed by the fixed algorithm to detect the end point. Therefore, there are the following problems to be solved. First, in order to specify the wavelength specific to each reaction process, a spectral analyzer such as a spectrum analyzer is required in addition to the monochromator, which has led to an increase in the price of the endpoint monitor. Also, since the end point was detected only by the single emission spectrum separated by the monochromator,
It is difficult to obtain accurate discrimination results for reaction processes in which the spectrum distribution changes intricately. Second,
A computer that performs arithmetic processing of an input waveform signal has a problem that it does not necessarily give an optimum end point determination result to a wide variety of reaction processes because it performs processing by a fixed algorithm. Since there is no freedom in programming the algorithm, it was not always functionally satisfactory.
【0004】[0004]
【課題を解決するための手段】上述した従来の技術の課
題を解決する為、以下の手段を講じた。即ち、本発明に
かかるエンドポイントモニタは、所定の加工を行なう処
理装置に接続されるポリクロメータと、プログラミング
可能なコンピュータとから構成されている。前記ポリク
ロメータは、加工中該処理装置に発生する広帯域の光を
受光して複数のスペクトルに分別可能であり、これらス
ペクトルの強度変化を経時的に計測して対応する波形信
号を出力する。前記コンピュータは、定式化及び簡略化
されたプログラム言語を用いて所望の終点検出アルゴリ
ズムを随意にプログラミング可能であり、少なくとも一
個の特異的な波形信号を該終点検出アルゴリズムに従い
演算処理して該加工の終点検出を行なう。このコンピュ
ータは、該終点検出アルゴリズムに従い異なるスペクト
ルに対応する複数の波形信号を同時に演算処理して終点
検出を行なう事もできる。このコンピュータは、定式化
された関数及び演算子の組み合わせにより、所望の終点
検出アルゴリズムをプログラミングする事ができる。
又、前記ポリクロメータは、好ましくは光ファイバを介
して該処理装置内に発生した光を受光する様にしてい
る。Means for Solving the Problems In order to solve the above-mentioned problems of the conventional technique, the following means were taken. That is, the endpoint monitor according to the present invention includes a polychromator connected to a processing device that performs a predetermined process, and a programmable computer. The polychrometer is capable of receiving wide band light generated in the processing device during processing and separating it into a plurality of spectra, and outputs a corresponding waveform signal by measuring the intensity change of these spectra over time. The computer can optionally program a desired endpoint detection algorithm using a formalized and simplified programming language, wherein at least one specific waveform signal is arithmetically processed according to the endpoint detection algorithm to perform the processing. Detect the end point. This computer can also carry out arithmetic processing on a plurality of waveform signals corresponding to different spectra at the same time according to the end point detection algorithm to detect the end point. The computer can program the desired endpoint detection algorithm by a combination of formulated functions and operators.
The polychromator preferably receives light generated in the processing device through an optical fiber.
【0005】[0005]
【作用】本発明によれば、広帯域分光器であるポリクロ
メータを組み込んで反応プロセスの終点検出を行なって
いる。例えば、近紫外領域から近赤外領域までの広範囲
に渡って発光波長計測が可能であり、終点検出に必要な
スペクトルを特定できる。従って、従来のモノクロメー
タを使用したエンドポイントモニタと異なり、別途スペ
クトルアナライザを装備する事なく、スペクトラムスコ
ープ機能が得られる。又、多波長を同時に計測できるの
で、複数の特異的なスペクトラムを組み合わせて精密且
つ高度な終点検出を行なう事が可能である。例えば、リ
ファレンス光によるバックグランド処理により、発光量
のドリフトや雑音を軽減し終点検出演算に必要な信号を
抽出する事ができる。ポリクロメータは光ファイバを介
して受光検出を行なうので、処理装置に内蔵されている
高周波電源等からのノイズを受けにくくしている。ポリ
クロメータに組み込まれる光電センサの蓄積効果により
高レベルの波形信号が得られるとともにローパスフィル
タ効果もある為、検出誤差が低減できる。According to the present invention, the end point of the reaction process is detected by incorporating a polychromator which is a broadband spectroscope. For example, the emission wavelength can be measured over a wide range from the near-ultraviolet region to the near-infrared region, and the spectrum required for end point detection can be specified. Therefore, unlike an endpoint monitor using a conventional monochromator, a spectrum scope function can be obtained without separately installing a spectrum analyzer. Further, since multiple wavelengths can be measured simultaneously, it is possible to perform precise and sophisticated end point detection by combining a plurality of specific spectra. For example, by performing background processing with reference light, it is possible to reduce the drift and noise of the light emission amount and extract the signal required for the end point detection calculation. Since the polychromator detects the light received through the optical fiber, it is less susceptible to noise from the high frequency power source and the like built in the processing device. Due to the accumulation effect of the photoelectric sensor incorporated in the polychromator, a high-level waveform signal can be obtained, and there is also a low-pass filter effect, so the detection error can be reduced.
【0006】一方、本発明に使用されるコンピュータは
プログラミング可能であり、オペレータが自由に所望の
終点検出アルゴリズムを構築できる。これにより、多種
多様な反応プロセスにおいて、終点検出の複雑化に十分
対処する事が可能である。加えて、一旦サンプリングし
た波形信号を記録保存しておく事ができる。記録された
データを読み出しシミュレーションを行なう事により、
異なった判定アルゴリズムによる検証が可能である。従
って最適な判定アルゴリズムを設定するまでの過程で、
実際の反応プロセスを繰り返し試行する必要がなく処理
装置の稼働を最小限に抑える事ができる。On the other hand, the computer used in the present invention is programmable, and the operator can freely construct a desired end point detection algorithm. This makes it possible to sufficiently deal with the complicated end point detection in a wide variety of reaction processes. In addition, the waveform signal once sampled can be recorded and saved. By reading the recorded data and performing a simulation,
Verification by different judgment algorithms is possible. Therefore, in the process of setting the optimal judgment algorithm,
The operation of the processing equipment can be minimized without the need to repeat the actual reaction process.
【0007】[0007]
【実施例】以下図面を参照して本発明の好適な実施例を
詳細に説明する。図1は、本発明にかかるエンドポイン
トモニタの基本的な構成を示すブロック図である。図示
する様に、本エンドポイントモニタは、所定の加工を行
なう処理装置1に接続されるポリクロメータ2と、プロ
グラミング可能なコンピュータ3とから構成されてい
る。ポリクロメータ2は、集光レンズ41及び光ファイ
バ4を介して処理装置1に接続されている。なお、集光
レンズは必ずしも使う必要は無い。コンピュータ3はケ
ーブル5を介してポリクロメータ2に接続されている。
このコンピュータ3にはディスプレイ6とキーボード7
も接続されている。又、開始信号入力端子8及び終点信
号出力端子9を有している。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described in detail below with reference to the drawings. FIG. 1 is a block diagram showing the basic configuration of an endpoint monitor according to the present invention. As shown in the figure, the endpoint monitor comprises a polychromator 2 connected to a processing device 1 for performing a predetermined process, and a programmable computer 3. The polychrometer 2 is connected to the processing device 1 via a condenser lens 41 and an optical fiber 4. The condenser lens does not necessarily have to be used. The computer 3 is connected to the polychrometer 2 via a cable 5.
The computer 6 has a display 6 and a keyboard 7
Is also connected. It also has a start signal input terminal 8 and an end signal output terminal 9.
【0008】本例では、終点検出対象となる処理装置1
はプラズマエッチング装置である。ポリクロメータ2
は、プラズマエッチング加工中処理装置1に発生する広
帯域の光を受光して複数のスペクトルに分別可能であ
り、これらスペクトルの強度変化を経時的に計測して対
応する波形信号を出力する。コンピュータ3は、定式化
及び簡略化されたプログラム言語を用いて所望の終点検
出アルゴリズムを随意にプログラミング可能であり、少
なくとも一個の特異的な波形信号を該終点検出アルゴリ
ズムに従い演算処理してプラズマエッチング加工の終点
検出を行なう。このコンピュータ3は、終点検出アルゴ
リズムに従い異なるスペクトルに対応する複数の波形信
号を同時に演算処理して終点検出を行なう事もできる。
又、コンピュータ3は定式化された関数及び演算子の組
み合わせにより、所望の終点検出アルゴリズムをプログ
ラミングする。In this example, the processing device 1 which is the end point detection target
Is a plasma etching apparatus. Polychromator 2
Can receive wide band light generated in the plasma processing apparatus 1 during plasma etching and separate it into a plurality of spectra. The intensity change of these spectra is measured with time and a corresponding waveform signal is output. The computer 3 can arbitrarily program a desired end point detection algorithm using a formalized and simplified programming language, and performs plasma etching processing by arithmetically processing at least one specific waveform signal according to the end point detection algorithm. The end point of is detected. The computer 3 can also perform arithmetic processing on a plurality of waveform signals corresponding to different spectra at the same time according to the endpoint detection algorithm to detect the endpoint.
The computer 3 also programs a desired end point detection algorithm with a combination of formulated functions and operators.
【0009】引き続き図1を参照してエンドポイントモ
ニタの動作を説明する。プラズマエッチング処理のスタ
ートに応じて入力端子8に開始信号が印加されると、コ
ンピュータ3はケーブル5を介してポリクロメータ2に
対しデータ収集のコマンドを送出する。一方、ポリクロ
メータ2には、集光レンズ41及び光ファイバ4を介し
て処理装置1に発生したプラズマ光が入力されている。
広帯域のプラズマ発光はポリクロメータ2により対応す
る波形信号に変換され、コンピュータ3に送信される。
コンピュータ3は予めオペレータが作成したアルゴリズ
ムに基きデータを収集する。又、予めオペレータの作成
した終点検出アルゴリズムに基き波形信号データの演算
処理を行なう。この処理には論理演算、数値演算、時間
演算が含まれており、複雑なプラズマ光の経時変化に対
応した処理を行なう。その結果、エッチングの終点を検
出すると、出力端子9から終了信号を送り出し、プラズ
マエッチング処理装置1に対してプロセス終了指令を与
える。なお、所望のアルゴリズムはキーボード7を介し
てコンピュータ3に書き込まれる。又、入力された波形
信号等は随時ディスプレイ6に表示される。The operation of the endpoint monitor will be described with reference to FIG. When a start signal is applied to the input terminal 8 in response to the start of the plasma etching process, the computer 3 sends a data collection command to the polychrometer 2 via the cable 5. On the other hand, the plasma light generated in the processing apparatus 1 is input to the polychrometer 2 via the condenser lens 41 and the optical fiber 4.
The broadband plasma emission is converted into a corresponding waveform signal by the polychromator 2 and transmitted to the computer 3.
The computer 3 collects data based on an algorithm created by the operator in advance. Further, the arithmetic processing of the waveform signal data is performed based on the end point detection algorithm created by the operator in advance. This processing includes a logical operation, a numerical operation, and a time operation, and performs a process corresponding to a complicated temporal change of plasma light. As a result, when the etching end point is detected, an end signal is sent from the output terminal 9 to give a process end command to the plasma etching processing apparatus 1. The desired algorithm is written in the computer 3 via the keyboard 7. The input waveform signal and the like are displayed on the display 6 as needed.
【0010】以下、終点検出対象となる処理装置1、エ
ンドポイントモニタを構成するポリクロメータ2とコン
ピュータ3について夫々詳細な説明を加える。先ず最初
に、再び図1を参照して処理装置1を説明する。前述し
た様に、処理装置1はプラズマエッチング装置であり、
本例ではプレーナ構造を有している。アノードカップル
方式の平行平板型装置であり、石英等からなるチャンバ
10の内部には接地電極11が設けられてる。この接地
電極11上に半導体ウェハ12を載置してエッチングを
行なう。チャンバ10を真空排気した後ガス導入口13
から所定の反応ガスを導入するとともに、RF電極14
に所定の高周波電力を供給し、プラズマ15を発生させ
て半導体ウェハ12のドライエッチングを行なう。エッ
チング処理の種類としては、例えばSiO2 ドライエッ
チングが挙げられる。これは、主としてコンタクトの窓
開け工程に用いられる。シリコンウェハの表面に成膜さ
れたSiO2 膜に微細なコンタクトホールを精度良く形
成する必要がある為、十分な選択比と異方性が要求され
る。通常は選択比を高くする為に、CF4 +H2 ,C2
F6 ,C3 F8 ,CHF3 等の反応ガスが用いられる。
このプラズマエッチング工程でシリコンウェハの表面を
損傷させない為、正確な終点検出が必要である。この
為、例えばエッチングの進行に伴なって増大するフッ素
原子からのスペクトルを選択的にモニタする。他に、S
i3 N4 のドライエッチングを行なう場合もある。Si
3 N4 はLSIのフィールド領域あるいは絶縁領域上に
選択酸化をする際の耐酸化マスクとして用いられてお
り、通常はシリコンウェハ上のSiO2 膜に重ねて堆積
されている。これは、例えばCF4 ガスを用いてエッチ
ングする事ができる。エッチングの進行に伴なって減少
する窒素原子からの発光スペクトルをモニタして終点検
出を行なう事が可能である。なお、上述した例ではドラ
イエッチングプロセスの終点検出を行なっているが、本
発明にかかるエンドポイントモニタの適用範囲はこれに
限られるものではない。例えば、CVD装置やスパッタ
装置等で成膜工程の終点検出に利用する事も可能であ
る。A detailed description will be given below of each of the processing device 1, which is an end point detection target, the polychrometer 2 and the computer 3 which constitute the end point monitor. First, the processing apparatus 1 will be described with reference to FIG. 1 again. As described above, the processing apparatus 1 is a plasma etching apparatus,
This example has a planar structure. This is an anode-coupled parallel plate type device, and a ground electrode 11 is provided inside a chamber 10 made of quartz or the like. The semiconductor wafer 12 is placed on the ground electrode 11 and etching is performed. After evacuating the chamber 10, the gas inlet 13
While introducing a predetermined reaction gas from the RF electrode 14
Then, a predetermined high frequency power is supplied to generate a plasma 15, and the semiconductor wafer 12 is dry-etched. Examples of the type of etching treatment include SiO 2 dry etching. It is mainly used in the contact window opening process. Since it is necessary to accurately form fine contact holes in the SiO 2 film formed on the surface of the silicon wafer, sufficient selectivity and anisotropy are required. Usually, in order to increase the selection ratio, CF 4 + H 2 , C 2
A reaction gas such as F 6 , C 3 F 8 or CHF 3 is used.
Since the surface of the silicon wafer is not damaged in this plasma etching process, accurate end point detection is necessary. Therefore, for example, the spectrum from fluorine atoms, which increases with the progress of etching, is selectively monitored. Besides, S
In some cases, i 3 N 4 dry etching is performed. Si
3 N 4 is used as an oxidation resistant mask when performing selective oxidation on a field region or an insulating region of an LSI, and is usually deposited so as to be overlaid on a SiO 2 film on a silicon wafer. This can be etched using, for example, CF 4 gas. It is possible to detect the end point by monitoring the emission spectrum from nitrogen atoms which decreases with the progress of etching. Although the end point of the dry etching process is detected in the above example, the applicable range of the end point monitor according to the present invention is not limited to this. For example, it is also possible to use it for detecting the end point of the film forming process with a CVD device, a sputtering device or the like.
【0011】次に、図2を参照してポリクロメータ2を
説明する。ポリクロメータ2にはアダプタ20を介して
光ファイバ4が接続されており、処理装置(図示せず)
に発生した光を受光する。なお、アダプタ20内には入
射スリット21が装着されている。ポリクロメータ2の
内部には分光光学系22が収納されており、プラズマ発
光を分光して所望のスペクトラムが得られる。分光光学
系22の出射側にはマルチチャンネル検出器23が配置
されている。この検出器23はリニアイメージセンサ2
4を備えており、近紫外領域から近赤外領域まで同時に
スペクトルの観察が可能である。例えば、リニアイメー
ジセンサ24は512素子のアレイからなり、個々の素
子の受光面積は50μm×2.5mmである。検出波長範
囲は200〜800nmである。リニアイメージセンサ2
4からの出力はデータ処理ユニット25を中継してケー
ブル5を介しコンピュータ(図示せず)に送信される。
リニアイメージセンサ24の蓄積効果によって高レベル
の波形信号が得られ、又ローパスフィルタ効果も得る事
ができる。このポリクロメータ2は光スペクトラムアナ
ライザの機能を有しており、所望のスペクトル波長を特
定する事が可能である。Next, the polychrometer 2 will be described with reference to FIG. An optical fiber 4 is connected to the polychromator 2 via an adapter 20, and a processing device (not shown)
Receives the light generated at. An entrance slit 21 is installed in the adapter 20. A spectroscopic optical system 22 is housed inside the polychromator 2 to disperse plasma emission to obtain a desired spectrum. A multi-channel detector 23 is arranged on the emission side of the spectroscopic optical system 22. This detector 23 is a linear image sensor 2
4 is provided, and it is possible to simultaneously observe the spectrum from the near-ultraviolet region to the near-infrared region. For example, the linear image sensor 24 is composed of an array of 512 elements, and the light receiving area of each element is 50 μm × 2.5 mm. The detection wavelength range is 200 to 800 nm. Linear image sensor 2
The output from 4 is relayed through the data processing unit 25 and transmitted to the computer (not shown) via the cable 5.
Due to the storage effect of the linear image sensor 24, a high-level waveform signal can be obtained, and a low-pass filter effect can also be obtained. This polychromator 2 has a function of an optical spectrum analyzer and can specify a desired spectrum wavelength.
【0012】次に、コンピュータのプログラミング機能
について説明する。本発明にかかるエンドポイントモニ
タでは、独自の定式化及び簡易化された制御プログラム
言語を用い、ロジック演算及びアナログデータの処理を
行ない最適な終点検出を実行している。この制御プログ
ラム言語はエンドポイントモニタ用に独自に考案された
ものであり、一般的なプログラム作成等に比べ比較的簡
便に取り扱う事が可能である。プログラム作成手順とし
ては、最初に制御フローを作成し、所望の終点検出アル
ゴリズムあるいは判定アルゴリズムを図式化する。次
に、この制御フローチャートに従って所定の関数及び演
算子を組み合わせプログラムリストを作成する。その
後、コンピュータ内に組み込んである編集プログラムを
起動させ、キーボードとCRT等のディスプレイを使い
ながら所望のレシピ番号に対して作成したプログラムリ
ストを打ち込む。次に、コンピュータ内に組み込んであ
る解読プログラムを起動させこれを実行する。作成した
プログラムに文法上の間違い等がある場合にはディスプ
レイ上に表示される。プログラムの解読が終了すると、
ディスクに格納する。これら一連の作業は、コンピュー
タ内に組み込んである支援プログラムにより会話的に進
める事ができる。以上で、プログラム作成作業は終了す
る。これを実機で利用する場合にはレシピ番号を指定す
るだけで繰り返し使用する事が可能である。Next, the programming function of the computer will be described. The endpoint monitor according to the present invention uses a uniquely formulated and simplified control program language to perform logic operation and analog data processing to execute optimum endpoint detection. This control program language was originally devised for the endpoint monitor, and can be handled relatively easily as compared with general program creation. As a program creation procedure, first, a control flow is created and a desired end point detection algorithm or determination algorithm is diagrammed. Next, a program list is created by combining predetermined functions and operators according to this control flowchart. After that, the editing program installed in the computer is activated, and the program list created for the desired recipe number is entered using the keyboard and the display such as the CRT. Next, the decryption program installed in the computer is activated and executed. If there is a grammatical error in the created program, it will be displayed on the display. When the program is decrypted,
Store on disk. These series of tasks can be carried out interactively by a support program installed in the computer. This is the end of the program creation work. When using this on an actual machine, it can be used repeatedly just by specifying the recipe number.
【0013】以下、表1〜表10及び図3〜図5を参照
して、本発明に採用されたプログラム言語の仕様を詳細
に説明する。先ず最初に、プログラミング環境について
説明する。以下の表1はユーザ情報領域を示す。ユーザ
はビット情報とレジスタ情報の2種類の情報領域を自由
に扱う事ができる。ビット情報は64個まで設定可能で
あり、データ範囲は0又は1である。ビット情報はbで
表わされ、特に個々のビット情報を特定する場合には、
例えば25番目のビット情報はb24で表わされる。レ
ジスタ情報も64個まで設定可能である。データ範囲は
−32767から+32767までの整数値をとり得
る。レジスタ情報はrで表わされ、個々に特定する場合
には、例えば13番目のレジスタ情報はr12で表示さ
れる。The specifications of the programming language adopted in the present invention will be described in detail below with reference to Tables 1 to 10 and FIGS. First, the programming environment will be described. Table 1 below shows the user information area. The user can freely handle two types of information areas, bit information and register information. Up to 64 pieces of bit information can be set, and the data range is 0 or 1. Bit information is represented by b, and particularly when specifying individual bit information,
For example, the 25th bit information is represented by b24. Up to 64 pieces of register information can be set. The data range can take integer values from -32767 to +32767. The register information is represented by r. When individually specified, for example, the 13th register information is displayed by r12.
【表1】 [Table 1]
【0014】次に、図3を参照してコンピュータ3の入
出力仕様を説明する。コンピュータ3を取り巻く外部の
情報には入出力のデータがあり、これらを監視し、制御
する事により所望の機能を達成する。入力としては同時
に最大4個までの波形信号を受け入れる事ができる。こ
れはレジスタ情報であって、波長データ1ないし波長デ
ータ4で表わされる。この波長データは特定のスペクト
ルの強度もしくはエネルギーを表わしており、数値が大
きい程エネルギーは強くなる。出力側では、レジスタ情
報として最大4個までの出力データ1ないし出力データ
4が得られる。この出力データは所定の演算結果を表わ
すものである。これに加えて、ビット情報として一対の
エンド信号とアラーム信号が得られる。エンド信号は終
点検出時点を表わす信号であり、アラーム信号は異常状
態の発生を示すものである。Next, the input / output specifications of the computer 3 will be described with reference to FIG. External information surrounding the computer 3 includes input and output data, and a desired function is achieved by monitoring and controlling these. As input, up to 4 waveform signals can be accepted at the same time. This is register information and is represented by wavelength data 1 to wavelength data 4. This wavelength data represents the intensity or energy of a specific spectrum, and the larger the value, the stronger the energy. On the output side, a maximum of four pieces of output data 1 to output data 4 can be obtained as register information. This output data represents a predetermined calculation result. In addition to this, a pair of end signal and alarm signal are obtained as bit information. The end signal is a signal indicating the time point at which the end point is detected, and the alarm signal indicates the occurrence of an abnormal state.
【0015】以下の表2はまとめとして波長データ、出
力データ、エンド信号、アラーム信号の個数、データ範
囲及び対応情報種類を示している。前述した様に波長デ
ータは4個まで入力可能であり、レジスタ情報として0
〜32767までの整数値をとり得る。出力データは4
個まで送出可能であり、レジスタ情報として−3276
7〜+32767までの整数値をとり得る。エンド信号
はビット情報として0又は1をとり得る。値1でエンド
信号は有効状態になる。同様に、アラーム信号もビット
情報として0又は1の値をとり得る。値1で有効化され
る。Table 2 below shows the wavelength data, output data, number of end signals, alarm signals, data range, and corresponding information type as a summary. As mentioned above, up to 4 wavelength data can be input, and 0 as register information.
It can take an integer value up to 32767. Output data is 4
It is possible to send up to a maximum of -3, and register information of -3276
It can take an integer value from 7 to +32767. The end signal can take 0 or 1 as bit information. A value of 1 puts the end signal into a valid state. Similarly, the alarm signal can take a value of 0 or 1 as bit information. Enabled with a value of 1.
【表2】 [Table 2]
【0016】次に図4を参照してエンドポイントモニタ
のシステム状態遷移を説明する。図示する様にシステム
状態には実際にプログラムを実行している時間帯とそれ
以外の時間帯がある。これらは、各々システム状態(ス
テータス)として意味を持ち全体の機能に影響を与え
る。これらステータスのタイミングと内容を説明する。
RF Onは、外部より入力されるシステム起動信号の
発生タイミングを表わす。RF Offは外部へ送出す
るシステム終了信号(エンド信号)の発生タイミングを
示す。ステータスDead timeは、初期の不安定
な時期に、終点判定を行なわない為に設けられた時間帯
である。システム起動信号が入力されてから設定時間
(Dead time)経過までの時間帯である。ステ
ータスExec timeはプログラムが実行されてい
る時間帯である。Dead timeが終了してからエ
ンド信号End又はアラーム信号Alarmが発生する
までの時間である。ステータスOver timeはエ
ッチング不足な部分を補う為に設けられた予備時間帯で
ある。エンド信号Endが発生した後設定時間(Ove
r time)が経過するまでの時間帯である。なお、
アラーム信号Alarmが発生した場合にはこのステー
タスはなく即時にシステム終了信号が出力される。最後
に、Scan intervalはプログラムの実行周
期を表わしており所定の値に設定される。各実行周期内
で点線部が実際にプログラムが動作している時間帯を表
わしている。Next, the system state transition of the endpoint monitor will be described with reference to FIG. As shown in the figure, the system state includes a time zone in which the program is actually executed and a time zone other than that. Each of these has a meaning as a system state (status) and affects the overall function. The timing and contents of these statuses will be described.
RF On represents the generation timing of a system activation signal input from the outside. RF Off indicates the generation timing of the system end signal (end signal) sent to the outside. The status Dead time is a time zone provided for not performing the end point determination during the initial unstable period. It is a time period from the input of the system activation signal to the elapse of a set time (Dead time). The status Exec time is a time zone during which the program is being executed. This is the time from the end of Dead time to the generation of the end signal End or the alarm signal Alarm. The status Over time is a spare time zone provided to compensate for the insufficient etching portion. After the end signal End is generated, the set time (Ove
r time) is the time period until the elapse. In addition,
When the alarm signal Alarm is generated, this status does not exist and the system end signal is output immediately. Finally, Scan interval represents the execution cycle of the program and is set to a predetermined value. The dotted line portion in each execution cycle represents the time zone during which the program is actually operating.
【0017】次にシステム設定について説明する。これ
は判定動作に必要なシステムの基本となる値を設定する
ものである。設定文の種類と記述方法を以下の表3に示
す。Next, the system setting will be described. This is to set the basic value of the system necessary for the judgment operation. Table 3 below shows the types of setting statements and description methods.
【表3】 [Table 3]
【0018】Scan intervalを設定する場
合には、上の表3に示した様に例えばscaniv
2.5と記述する。なお、システム設定である事を明確
にする為記述文の頭には#setを付す。これは、プロ
グラムが実行される周期間隔を設定するものであり、
0.1秒〜10.0秒の範囲で0.1秒刻みに設定でき
る。特に、指定がない場合には1.0秒に自動設定され
る。Dead timeについては、例えばdeadt
m 30の様に記述する。これは、初期の不安定な時期
において終点判定を行わない為に設定される。外部から
の起動信号が入力されてからこの時間経過後に制御動作
に入る。0秒〜99秒の間で1秒刻みに設定可能であ
る。特に指定がない場合には0秒に設定される。Ove
r timeについては、例えばovertm 12の
様に記述する。これは、エッチング不足な箇所を補う為
の予備時間を設定する為のものである。実際には、終点
判定後(End)からRF電源を落とすまでの時間であ
り、アラーム信号が発生した場合には意味を有さない。
0秒〜99秒の間で1秒刻みに設定できる。特に指定の
ない場合には0秒に自動設定される。Storage
timeはポリクロメータにおける光エネルギーの蓄積
時間を表わしている。時間が長い程比例的に光エネルギ
ーは増加する。例えば、strgtm 1.0の様に設
定される。0.1秒〜12.0秒の範囲で0.1秒刻み
に設定可能である。特に、指定のない場合には1.0秒
に自動設定される。Input gainはポリクロメ
ータにおける光エネルギーの入力増幅率を表わす。これ
を設定する為、例えばigain 4の様に記述され
る。この増幅率は1〜8の間で1刻みに設定可能であ
り、特に指定のない場合には増幅率1が自動設定され
る。Input Wave1〜4は、入力波長を表わし
ており、最大4種類の波長が選択可能である。記述方法
として、例えばiwave1 420.3の様に表わ
す。200.0nm〜800.0nmまで0.1nm刻みで設
定可能である。When the Scan interval is set, as shown in Table 3 above, for example, scaniv
Write 2.5. Note that #set is added to the head of the description to clarify that it is a system setting. This sets the interval at which the program will run,
It can be set in 0.1 second increments in the range of 0.1 second to 10.0 seconds. Especially, if not specified, it is automatically set to 1.0 second. Regarding Dead time, for example, deadt
Describe as m 30. This is set so that the end point determination is not performed in the initial unstable period. The control operation starts after the elapse of this time from the input of the activation signal from the outside. It can be set in 1 second increments from 0 to 99 seconds. Unless otherwise specified, it is set to 0 seconds. Ove
The r time is described as, for example, overtm 12. This is to set a preliminary time for compensating for the insufficient etching portion. Actually, it is the time from the end point determination (End) until the RF power is turned off, and it has no meaning when an alarm signal is generated.
It can be set in 1 second increments from 0 to 99 seconds. Unless otherwise specified, it is automatically set to 0 seconds. Storage
time represents the accumulation time of light energy in the polychrometer. The light energy increases proportionally as the time increases. For example, it is set as strgtm 1.0. It can be set in 0.1 second increments in the range of 0.1 second to 12.0 seconds. Unless otherwise specified, it is automatically set to 1.0 second. Input gain represents the input amplification factor of light energy in the polychromator. In order to set this, it is described as, for example, igain 4. This amplification factor can be set in increments of 1 to 8, and an amplification factor of 1 is automatically set unless otherwise specified. Input Waves 1 to 4 represent input wavelengths, and a maximum of 4 types of wavelengths can be selected. As a description method, for example, it is expressed as iwave1 420.3. It can be set in steps of 0.1 nm from 200.0 nm to 800.0 nm.
【0019】次に、入出力設定について説明する。これ
は、制御プログラムが必要とする入力及び出力の情報割
り付けを行なうものであり、その種類と記述方法を以下
の表4に示す。入出力設定文である事を明示する為、#
defに続き所定の記述を行なう。Next, the input / output setting will be described. This is for allocating input and output information required by the control program. The types and description methods are shown in Table 4 below. To clarify that it is an input / output setting statement, #
Following def, a predetermined description is given.
【表4】 [Table 4]
【0020】先ず、#def input1〜4は、#
set iwave1〜4で設定されたInput W
ave1〜4に対し、レジスタ情報の割り当てを行なう
為に用いられる。#def output1〜4は演算
結果を外部に出力する為のレジスタ情報割り当てを行な
う。#def endは、エンド信号として出力する為
のビット情報割り当てを行なう。#def alarm
はアラーム信号として出力する為のビット情報割り当て
を行なう。First, #def inputs 1-4 are #
Input W set in set iwaves 1 to 4
It is used to assign register information to ave1 to ave4. #Def outputs 1 to 4 perform register information allocation for outputting the calculation result to the outside. #Def end allocates bit information for outputting as an end signal. #Def alarm
Assigns bit information for outputting as an alarm signal.
【0021】次にプログラム言語仕様について説明す
る。このプログラム言語は所定の関数と演算子を組み合
わせて1つの値を表わす式を含んでいる。用いられる演
算子を以下の表5に示す。Next, the programming language specifications will be described. This programming language includes expressions that represent a single value by combining certain functions and operators. The operators used are shown in Table 5 below.
【表5】 [Table 5]
【0022】本プログラム言語仕様では、文は以下の形
態で記述される。 [返値][=]関数名([引数],[引数],[…]) なお、各文についてコメントを付する場合には(;)で
区切って表示する。In this programming language specification, a statement is described in the following form. [Return value] [=] Function name ([argument], [argument], [...]) When adding a comment to each sentence, delimit with (;) and display.
【0023】次に、本プログラム言語仕様に用いられる
関数一覧を次の表6に示すとともに、以下個々の関数に
ついて簡潔な説明を加える。Next, a list of functions used in this programming language specification is shown in Table 6 below, and a brief description of each function will be added below.
【表6】 [Table 6]
【0024】論理和関数orは以下の様に表記される。 or(B,B1,B2,B3,B4,B5,B6,B
7,B8) ここで、Bはビット値又は即値1をとり得る。又、引数
B1〜B8はビット情報である。この論理和関数の返値
はビット情報で与えられる。機能としては、引数Bがビ
ット値1又は即値1の場合に論理和演算を実行する。最
大8個のビット情報の論理和をとり出力ビットに代入す
る。B1〜B8は可変の個数で最低1個のビット情報が
必要である。なお引数Bが0の場合には出力ビットは変
化しない。例えば、ビット情報b1を条件としてビット
情報b2〜b6間の論理和をとりb10に代入する場合
以下の様に表記される。The logical sum function or is expressed as follows. or (B, B1, B2, B3, B4, B5, B6, B
7, B8) Here, B can take a bit value or an immediate value 1. The arguments B1 to B8 are bit information. The return value of this logical sum function is given by bit information. As a function, when the argument B has the bit value 1 or the immediate value 1, the logical sum operation is executed. A logical sum of up to eight bit information is calculated and assigned to the output bit. B1 to B8 are variable in number and require at least one bit information. When the argument B is 0, the output bit does not change. For example, when the logical sum of the bit information b2 to b6 is obtained and substituted for b10 under the condition of the bit information b1, the following expression is used.
【0025】 b10=or(b1,b2,b3,b4,b5,b6) あるいは、常にb2〜b6の論理和をとりb10に代入
する場合以下の様に表記される。 b10=or(1,b2,b3,b4,b5,b6)B10 = or (b1, b2, b3, b4, b5, b6) Alternatively, when the logical sum of b2 to b6 is always taken and substituted into b10, it is expressed as follows. b10 = or (1, b2, b3, b4, b5, b6)
【0026】論理積関数は以下の様に表記される。 and(B,B1,B2,B3,B4,B5,B6,B
7,B8) ここで引数Bはビット値又は即値1をとり得る。他の引
数B1〜B8はビット情報である。この論理積関数の返
値はビット情報になる。機能としては、Bがビット値1
又は即値1の場合に論理積を実行する。最大8個のビッ
ト情報の論理積をとり出力ビットに代入する。B1〜B
8は可変の個数で最低1個のビット情報が必要である。
引数Bが0の場合には出力ビットは変化しない。使用例
としては、例えばb1を条件としてb2〜b5間の論理
積をとりb10に代入する場合以下の様に表記する。 b10=and(b1,b2,b3,b4,b5) あるいは、b1を否定条件としてb2〜b5間の論理積
をとりb10に代入する場合以下の様に表記される。 b10=and(!b1,b2,b3,b4,b5)The logical product function is expressed as follows. and (B, B1, B2, B3, B4, B5, B6, B
7, B8) Here, the argument B can take a bit value or an immediate value 1. The other arguments B1 to B8 are bit information. The return value of this logical product function becomes bit information. As a function, B is bit value 1
Alternatively, if the immediate value is 1, the logical product is executed. A logical product of up to eight pieces of bit information is taken and assigned to the output bit. B1-B
8 is a variable number and requires at least one bit information.
When the argument B is 0, the output bit does not change. As an example of use, when a logical product between b2 and b5 is obtained and substituted into b10 under the condition of b1, the following expression is used. b10 = and (b1, b2, b3, b4, b5) Alternatively, when the logical product between b2 and b5 is taken and substituted for b10 with b1 as a negative condition, it is expressed as follows. b10 = and (! b1, b2, b3, b4, b5)
【0027】排他的論理和関数は以下の様に表記され
る。 xor=(B,B1,B2,B3,B4,B5,B6,
B7,B8) ここで先頭の引数Bはビット値又は即値1をとり得る。
残りの引数B1〜B8は夫々ビット情報をとり得る。こ
の排他的論理和関数の返値はビット情報である。機能と
しては、最大8個のビット情報の排他的論理和をとり出
力ビットに代入する。B1〜B8は可変の個数で最低1
個分のビット情報が必要である。引数Bが0の場合には
出力ビットは変化しない。ここで、排他的論理和とは全
てのビットが同じ場合に出力が0となり、1つでも異な
る場合に出力が1となるものである。使用例としては、
b1を条件としてb2及びb3の排他的論理和をとりb
10に代入する場合、以下の様に表記される。 b10=xor(b1,b2,b3)The exclusive OR function is expressed as follows. xor = (B, B1, B2, B3, B4, B5, B6
B7, B8) Here, the first argument B can take a bit value or an immediate value 1.
The remaining arguments B1 to B8 can each take bit information. The return value of this exclusive OR function is bit information. As a function, an exclusive OR of up to 8 pieces of bit information is taken and assigned to the output bit. B1 to B8 are variable numbers and at least 1
Bit information for each piece is required. When the argument B is 0, the output bit does not change. Here, the exclusive OR means that the output is 0 when all the bits are the same, and the output is 1 when even one bit is different. As a usage example,
The exclusive OR of b2 and b3 is obtained on condition that b1 is b.
When substituting into 10, it is expressed as follows. b10 = xor (b1, b2, b3)
【0028】移動関数は、mov(B,R)の様に表記
される。最初の引数Bはビット値又は即値1をとり得
る。次の引数Rはレジスタ情報又は即値(−32767
〜+32767)をとり得る。返値はレジスタ情報とな
る。機能としては、引数Bがビット値1又は即値1の場
合に移動処理を実行する。即ち、引数Rを出力レジスタ
に代入する。引数Bが0の場合には出力レジスタは変化
しない。使用例としては、b1を条件としてr10をr
11に移動する場合以下の様に表記される。 r11=mov(b1,r10) 又、常にr10をr11に移動する場合以下の様に表記
される。 r11=mov(1,r10) あるいは、b1が0の時に限りr11を0にリセットし
たい場合以下の様に表記する。 r11=mov(!b1,0)The transfer function is represented as mov (B, R). The first argument B can be a bit value or an immediate value 1. The next argument R is register information or an immediate value (-32767).
~ + 32767). The return value becomes register information. As a function, when the argument B has the bit value 1 or the immediate value 1, the movement process is executed. That is, the argument R is assigned to the output register. When the argument B is 0, the output register does not change. As an example of use, r10 is replaced by r1 with b1 as a condition.
When moving to 11, it is written as follows. r11 = mov (b1, r10) Also, when always moving r10 to r11, it is expressed as follows. r11 = mov (1, r10) Alternatively, when it is desired to reset r11 to 0 only when b1 is 0, it is expressed as follows. r11 = mov (! b1,0)
【0029】加減算関数はadd(B,R1,R2)の
様に表記される。最初の引数Bはビット値又は即値1を
とり得る。又、引数R1はレジスタ情報である。引数R
2はレジスタ情報又は即値(−32767〜+3276
7)をとり得る。この加減算関数の返値はレジスタ情報
である。機能としては、引数Bがビット値1又は即値1
の場合に加減算を実行する。即ち、引数R1に引数R2
を加えて出力レジスタに代入する。引数Bが0の場合に
は出力レジスタは変化しない。使用例としては、b1を
条件としてr10とr11を加算してr12に代入する
場合以下の様に表記される。 r12=add(b1,r10,r11) 又、b1を条件としてr10からr11を減算してr1
2に代入する場合以下の様に表記される。 r12=add(b1,r10,−r11) あるいは、b1を条件としてr10から即値150を減
算してr12に代入する場合以下の様に表記される。 r12=add(b1,r10,−150)The addition / subtraction function is expressed as add (B, R1, R2). The first argument B can be a bit value or an immediate value 1. The argument R1 is register information. Argument R
2 is register information or an immediate value (-32767 to +3276)
7) can be taken. The return value of this addition / subtraction function is register information. As a function, the argument B is a bit value 1 or an immediate value 1
In case of, addition / subtraction is executed. That is, the argument R1 is replaced by the argument R2
And add it to the output register. When the argument B is 0, the output register does not change. As an example of use, when r10 and r11 are added under the condition of b1 and substituted into r12, it is expressed as follows. r12 = add (b1, r10, r11) Further, r1 is subtracted from r10 under the condition of b1 to obtain r1.
When substituting into 2, it is expressed as follows. r12 = add (b1, r10, -r11) Alternatively, when b1 is used as a condition and immediate value 150 is subtracted from r10 and substituted into r12, the following expression is made. r12 = add (b1, r10, -150)
【0030】乗除算関数はmult(B,R1,R2,
R3)の様に表記される。引数Bはビット値又は即値1
をとり得る。引数R1は分子となるレジスタ情報をとり
得る。引数R2は同じく分子となるレジスタ情報又は即
値(−32767〜+32767)をとる。最後の引数
R3は分母となるレジスタ情報又は即値(−32767
〜+32767)をとる。この乗除算関数の返値はレジ
スタ情報である。機能としては、引数Bがビット値1又
は即値1の場合に乗除算を実行する。即ち、R1に分子
R2と分母R3を乗除して出力レジスタに代入する。B
が0の場合には出力レジスタは変化しない。使用例とし
ては、例えばb1を条件としてr10×r11/r12
をr13に代入する場合以下の様に表記される。 r13=mult(b1,r10,r11,r12) 又、b1を条件としてr10×r11をr13に代入す
る場合以下の様に表記される。 r13=mult(b1,r10,r11,1) あるいは、b1を条件としてr10/300をr13に
代入する場合以下の様に表記する。 r13=mult(b1,r10,1,300)The multiplication / division function is multi (B, R1, R2,
Notated as R3). Argument B is bit value or immediate value 1
Can be taken. The argument R1 can take register information as a numerator. The argument R2 also takes register information or an immediate value (-32767 to +32767) that is also a numerator. The final argument R3 is the denominator register information or the immediate value (-32767).
~ +32767). The return value of this multiplication / division function is register information. As a function, when the argument B has the bit value 1 or the immediate value 1, the multiplication / division is executed. That is, R1 is multiplied by the numerator R2 and the denominator R3, and the result is substituted into the output register. B
When is 0, the output register does not change. As an example of use, r10 × r11 / r12, for example, under the condition of b1
When is substituted for r13, it is expressed as follows. r13 = multi (b1, r10, r11, r12) Further, when r10 × r11 is substituted for r13 under the condition of b1, it is expressed as follows. r13 = multi (b1, r10, r11, 1) Alternatively, when substituting r10 / 300 for r13 with b1 as the condition, it is expressed as follows. r13 = multi (b1, r10, 1,300)
【0031】積分関数はintg(B,R)で表記され
る。引数Bはビット値又は即値1をとり得る。他の引数
Rはレジスタ情報であり、この積分関数の返値もレジス
タ情報となる。機能としては、引数Bがビット値1又は
即値1の場合に積分演算を実行する。即ち、引数Rの積
分値を出力レジスタに代入する。実際には、前回のスキ
ャン動作で得られた出力レジスタ値に今回のスキャン動
作で得られた引数Rを加算して出力レジスタに代入す
る。引数Bが0の場合には出力レジスタは変化しない。
使用例としては、b20を条件としてr10をr50に
蓄積する場合、以下の様に表記される。 r50=intg(b20,r10) 又、常にr10をスキャン動作毎にr50に蓄積する場
合以下の様に表記する。 r50=intg(1,r10) あるいは、b20がビット値1にセットされた場合r1
0をr50に蓄積し、b20がビット値0にセットされ
た時にはr50をクリアする場合、以下の様に表記され
る。 r50=intg(b20,r10) r50=mov(!b20,0)The integral function is represented by intg (B, R). The argument B can be a bit value or an immediate value 1. The other argument R is register information, and the return value of this integration function is also register information. As a function, when the argument B has the bit value 1 or the immediate value 1, the integral operation is executed. That is, the integrated value of the argument R is assigned to the output register. Actually, the argument R obtained in the current scan operation is added to the output register value obtained in the previous scan operation and substituted in the output register. When the argument B is 0, the output register does not change.
As an example of use, when r10 is stored in r50 under the condition of b20, it is expressed as follows. r50 = intg (b20, r10) When r10 is always stored in r50 for each scanning operation, it is expressed as follows. r50 = intg (1, r10) or r1 when b20 is set to bit value 1
If 0 is stored in r50 and r50 is cleared when b20 is set to the bit value 0, it is expressed as follows. r50 = intg (b20, r10) r50 = mov (! b20,0)
【0032】微分関数はdiff(B,R)の様に表記
される。最初の引数Bはビット値又は即値1をとる。次
の引数Rはレジスタ情報であり、返値もレジスタ情報と
なる。機能としては、引数Bがビット値1又は即値1の
場合に微分演算を実行する。即ち、引数Rの微分値を出
力レジスタに代入する。実際には、今回のスキャン動作
時に得られた引数Rから前回スキャン動作時に得られた
Rを減算した値が出力レジスタに代入される。但し、プ
ログラムが開始されてから第1回目のスキャン動作にお
いてはその前のRの値が不定である為出力レジスタには
無条件に数値0が代入される。Bが0の場合には出力レ
ジスタ値は変化しない。使用例としては、例えばb20
を条件としてr10をr50に微分する場合、以下の様
に表記される。 r50=diff(b20,r10) あるいは常にスキャン動作毎にr10をr50に微分す
る場合、以下の様に表記される。 r50=diff(1,r10)The differential function is expressed as diff (B, R). The first argument B takes a bit value or an immediate value 1. The next argument R is register information, and the return value is also register information. As a function, when the argument B has the bit value 1 or the immediate value 1, the differential operation is executed. That is, the differential value of the argument R is assigned to the output register. Actually, the value obtained by subtracting R obtained in the previous scan operation from the argument R obtained in the current scan operation is substituted in the output register. However, in the first scan operation after the program is started, the value of R before that is undefined, so that the value 0 is unconditionally assigned to the output register. When B is 0, the output register value does not change. As an example of use, for example, b20
When r10 is differentiated to r50 under the condition of, the notation is as follows. r50 = diff (b20, r10) Alternatively, when r10 is always differentiated to r50 for each scanning operation, it is expressed as follows. r50 = diff (1, r10)
【0033】コンパレータ関数はcmp(B1,B2,
R1,R2)の様に表記される。引数B1はビット値又
は即値1をとり得る。次の引数B2は即値0又は1をと
り得る。即値0に設定された場合には正方向で比較判定
を行なう事を意味する。逆に、即値1に設定された場合
には負方向で比較判定を行なう事を意味する。引数R1
はレジスタ情報であり、引数R2はレジスタ情報又は即
値(−32767〜+32767)をとり得る。このコ
ンパレータ関数の返値はビット情報で与えられる。機能
としては、引数B1がビット値1又は即値1の場合に比
較演算を実行する。具体的には、引数B2が正方向での
判定を指示した場合、R1≧R2の時に出力ビットが1
となる。逆に、引数B2が負方向での判定を指示した場
合、R1≦R2の時に出力ビットが1となる。それ以外
の場合には出力ビットは0となる。なお、B1が0の場
合には出力ビット値は変化しない。使用例としては、例
えばb1を条件としてr1がr2より大きい場合にb2
を1にセットする時、以下の様に表記される。 b2=cmp(b1,0,r1,r2) あるいは、b1を条件としてr1がr2より小さい場合
にb2を1にセットする時、以下の様に表記する。 b2=cmp(b1,1,r1,r2) さらには、b1を条件としてr1が即値1500より大
きい場合にb2を1にセットする時、以下の様に表記す
る。 b2=cmp(b1,1,r1,1500)The comparator function is cmp (B1, B2
Notated as R1, R2). The argument B1 can take a bit value or an immediate value 1. The next argument B2 can be an immediate value 0 or 1. When the immediate value is set to 0, it means that the comparison determination is performed in the forward direction. On the contrary, when the immediate value is set to 1, it means that the comparison determination is performed in the negative direction. Argument R1
Is register information, and the argument R2 can take register information or an immediate value (-32767 to +32767). The return value of this comparator function is given as bit information. As a function, the comparison operation is executed when the argument B1 has a bit value 1 or an immediate value 1. Specifically, when the argument B2 indicates the determination in the forward direction, the output bit is 1 when R1 ≧ R2.
Becomes On the contrary, when the argument B2 indicates the determination in the negative direction, the output bit becomes 1 when R1 ≦ R2. In other cases, the output bit is 0. When B1 is 0, the output bit value does not change. As an example of use, when r1 is larger than r2 under the condition of b1, b2
When is set to 1, the notation is as follows. b2 = cmp (b1,0, r1, r2) Alternatively, when b1 is set to 1 when r1 is smaller than r2 under the condition of b1, it is expressed as follows. b2 = cmp (b1,1, r1, r2) Further, when b1 is set to 1 when r1 is larger than the immediate value 1500 under the condition of b1, it is expressed as follows. b2 = cmp (b1,1, r1,1500)
【0034】絶対値関数はabs(B,R)の様に表記
する。引数Bはビット値又は即値1をとる。他の引数R
はレジスタ情報であり、この絶対値関数の返値もレジス
タ情報となる。機能としては、引数Bがビット値1又は
即値1の場合に絶対値演算を実行する。即ち、引数Rの
絶対値が出力レジスタに代入される。なお、引数Bが0
の場合には出力レジスタは変化しない。使用例として
は、例えばb30を条件としてr10の絶対値をr11
にとる場合、以下の様に表記する。 r11=abs(b30,r10)The absolute value function is expressed as abs (B, R). The argument B takes a bit value or an immediate value 1. Other argument R
Is register information, and the return value of this absolute value function is also register information. As a function, when the argument B has the bit value 1 or the immediate value 1, the absolute value operation is executed. That is, the absolute value of the argument R is assigned to the output register. The argument B is 0
In case of, the output register does not change. As an example of use, the absolute value of r10 is set to r11 under the condition of b30.
When it is taken, the notation is as follows. r11 = abs (b30, r10)
【0035】平方根関数はsqr(B,R)の様に表記
される。引数Bはビット値又は即値1をとり、引数Rは
レジスタ情報である。この平方根関数の返値もレジスタ
情報となる。機能としては、引数Bがビット値1又は即
値1の場合に平方根演算を実行する。即ち、引数Rの平
方根が出力レジスタに代入される。Bが0の場合には出
力レジスタは変化しない。なお、引数Rが負の値の時に
は出力レジスタは0にセットされる。使用例としては、
b30を条件としてr10の平方根をr11にとる場
合、以下の様に表記される。 r11=sqr(b30,r10)The square root function is expressed as sqr (B, R). The argument B is a bit value or an immediate value 1, and the argument R is register information. The return value of this square root function also becomes register information. As a function, the square root operation is executed when the argument B has a bit value 1 or an immediate value 1. That is, the square root of the argument R is substituted into the output register. When B is 0, the output register does not change. When the argument R has a negative value, the output register is set to 0. As a usage example,
When the square root of r10 is taken as r11 under the condition of b30, it is expressed as follows. r11 = sqr (b30, r10)
【0036】タイマ関数はtimer(B,B1,R)
の様に表記される。引数Bはビット値又は即値1をと
り、次の引数B1はビット値をとり、最後の引数Rは即
値(0〜+32767)をとる。このタイマ関数の返値
はビット情報で与えられる。機能としては、Bがビット
値1又は即値1の場合にタイマ演算を実行する。具体的
には、引数B1が1にセットされてから、即値R×(S
can interval)で与えられる所定時間経過
後に出力ビットが1になる。なお、引数B1が0の場合
は即座に出力ビットは0になる。使用例としては、例え
ばb5を条件として60秒後に出力ビットb6を1にす
る場合以下の様に表記される。但し、Scan int
ervalは2.0にセットされているとする。 b6=timer(1,b5,30)The timer function is timer (B, B1, R)
It is written like. The argument B takes a bit value or an immediate value 1, the next argument B1 takes a bit value, and the last argument R takes an immediate value (0 to +32767). The return value of this timer function is given as bit information. As a function, when B has a bit value 1 or an immediate value 1, a timer operation is executed. Specifically, after the argument B1 is set to 1, the immediate value R × (S
The output bit becomes 1 after a predetermined time given by (can interval). When the argument B1 is 0, the output bit immediately becomes 0. As an example of use, when the output bit b6 is set to 1 after 60 seconds under the condition of b5, it is expressed as follows. However, Scan int
It is assumed that the interval is set to 2.0. b6 = timer (1, b5,30)
【0037】スタート関数はstart()の様に表記
され、引数及び返値はない。このスタート関数の機能は
プログラムの記述の先頭を示す事である。同様に、エン
ド関数はend()の様に表記され、引数及び返値を含
まない。このエンド関数の機能はプログラムの記述の最
終を示す事である。The start function is written like start () and has no argument or return value. The function of this start function is to show the beginning of the program description. Similarly, the end function is written like end () and does not include an argument and a return value. The function of this end function is to indicate the end of the program description.
【0038】目的の終点検出アルゴリズムをコンピュー
タに入力する為には一連のプログラミング作業を行なう
必要がある。これらの作業のうち、設計作業以外はシス
テム上で実行する事ができる。図5に作業フローを示
す。先ずステップS1でプログラム設計を行なう。これ
は、前述したプログラム言語仕様に基き所望のプログラ
ムリストを作成するものである。次に、コンピュータを
起動しステップS2でエディターによりプログラムをタ
イプインする。ステップS3で、入力されたプログラム
のトランスレーションを行なう。具体的には、エラーチ
ェックや実行型ファイルへの変換作業を行なう。ステッ
プS4で、トランスレーションの結果エラーが含まれて
いるかどうかを判断する。エラーがない場合にはステッ
プS5に移行し実機による動作確認を行なう。この結果
ステップS6で設計通りの動作ができたかどうかを判断
する。なお設計通りの動作が得られなかった場合には、
ステップS1のプログラム設計あるいはステップS2の
プログラムタイプインに戻る。It is necessary to perform a series of programming operations in order to input the desired end point detection algorithm into the computer. Of these tasks, other than the design task can be executed on the system. The work flow is shown in FIG. First, in step S1, a program is designed. This is to create a desired program list based on the above-mentioned programming language specifications. Next, the computer is started and the program is typed in by an editor in step S2. In step S3, the input program is translated. Specifically, it performs error checking and conversion into executable files. In step S4, it is determined whether or not an error is included as a result of the translation. If there is no error, the process proceeds to step S5 to check the operation by the actual machine. As a result, it is determined in step S6 whether or not the operation as designed can be performed. In addition, when the operation as designed is not obtained,
Return to program design in step S1 or program type in in step S2.
【0039】参考の為、トランスレーションエラーの一
覧を表7に示しておく。For reference, a list of translation errors is shown in Table 7.
【表7】 [Table 7]
【0040】最後に、複数の具体例を挙げて終点検出ア
ルゴリズムを説明する。図6は、プラズマエッチング装
置を用いてシリコンウェハ上の窒化膜をエッチング処理
した場合に観測される窒素原子スペクトルの経時変化を
示す波形である。この波形に基いて終点検出を行なう為
にプログラミングされたアルゴリズムを説明する。図6
のグラフに示す様に、エッチングを開始するとスペクト
ルの強度(カウント値)が一旦上昇し、その後エッチン
グの進行とともに下降する。窒化膜がほぼ除去されると
干渉状態に入り小さな起伏を繰り返した後定常状態に至
る。本具体例では、エッチング残りを防止する為、エン
ドポイントEndを干渉状態に入ったまもなくの時点に
設定する事にする。即ち、最弱点(MIN値)から僅か
に上昇した部分である。ここでは、終点検出アルゴリズ
ムとして最強点(MAX値)から最弱点(MIN値)ま
での振幅変化を100%として、10%だけ戻った箇所
を終点Endとする。但し、早い時期の終点検出は不都
合である為、終点検出範囲は+15000カウント以下
の領域で行なう事とする。又、エッチング初期の時点を
検出領域から除く為に所定のDead timeを設け
る事にする。Finally, the end point detection algorithm will be described with reference to a plurality of concrete examples. FIG. 6 is a waveform showing changes over time in the nitrogen atom spectrum observed when the nitride film on the silicon wafer is etched by using the plasma etching apparatus. An algorithm programmed to perform end point detection based on this waveform will be described. Figure 6
As shown in the graph, when the etching is started, the spectrum intensity (count value) once rises, and then decreases with the progress of the etching. When the nitride film is almost removed, an interference state is entered and small undulations are repeated, and then a steady state is reached. In this specific example, the end point End is set at a time point shortly after entering the interference state in order to prevent etching residue. That is, it is a portion slightly increased from the weakest point (MIN value). Here, as the end point detection algorithm, the change in amplitude from the strongest point (MAX value) to the weakest point (MIN value) is 100%, and the point returned by 10% is the end point End. However, since the end point detection at an early stage is inconvenient, the end point detection range is set to +15000 counts or less. In addition, a predetermined dead time is provided in order to exclude the time point at the initial stage of etching from the detection area.
【0041】以上に説明した終点検出条件に基いて作成
されたアルゴリズムのプログラムリストを表8に示す。Table 8 shows a program list of the algorithm created on the basis of the end point detection conditions described above.
【表8】 [Table 8]
【0042】表8のシステム設定文(#set)から明
らかな様に、本具体例ではScaninterval
(プログラムが実行される周期間隔)を1.0秒に設定
している。又、Dead timeを20秒に設定して
いる。Over time(エッチング不足な箇所を補
う為の予備時間)を10秒に設定している。さらに、S
torage time(ポリクロメータにおける光エ
ネルギーの蓄積時間)を1秒に設定している。加えて、
Input gain(ポリクロメータにおける光エネ
ルギーの入力増幅率)を4に設定している。最後にIn
put Wave1は窒素原子スペクトルを対象とする
為336.0nmに設定している。本例では、単一のスペ
クトルで終点検出を行なう。但し、本発明はこれに限ら
れるものではなく2以上の異なったスペクトルを同時に
処理して終点検出を行なう事もできる。又、表8の入出
力設定文(#def)から理解される様に、Input
1にはレジスタr0が割り付けられ、End信号につい
てはビットb10が割り付けられている。以上の設定文
に続き、start()からend()まで本プログラ
ムの内容文が記述されている。As is clear from the system setting statement (#set) in Table 8, in this specific example, Scan interval
(Period of program execution) is set to 1.0 second. Also, the dead time is set to 20 seconds. The Over time (preliminary time for compensating for the insufficient etching portion) is set to 10 seconds. Furthermore, S
The transfer time (accumulation time of light energy in the polychrometer) is set to 1 second. in addition,
Input gain (input gain of light energy in the polychrometer) is set to 4. Finally In
put Wave1 is set to 336.0 nm in order to target the nitrogen atom spectrum. In this example, the end point is detected with a single spectrum. However, the present invention is not limited to this, and it is also possible to simultaneously process two or more different spectra to detect the end point. Also, as understood from the input / output setting statement (#def) in Table 8, Input
The register r0 is allocated to 1, and the bit b10 is allocated to the End signal. Following the above setting statements, the content statements of this program are described from start () to end ().
【0043】図7のフローチャートを参照して、表8の
終点検出アルゴリズムを詳細に説明する。本アルゴリズ
ムを開始すると、先ず全てのビット及びレジスタが0に
初期化される。次にステップS71でビットb0が0で
あるかどうかを判断する。初期においてはこのビットb
0は0であるので、次のステップS72に進みレジスタ
r11に所定の初期値32767をセットする。続いて
ステップS73でビットb0を1に書き換える。次に、
ステップS74でレジスタr0とr10の大小比較を行
なう。レジスタr0は入力された波形データの現在カウ
ント値が逐次書き込まれる一方、レジスタr10には前
回までの波形データのうち最大値MAXが格納されてい
る。このステップS74でr0≧r10と判断された場
合には、次のステップS75でr0の内容をr10に書
き込みMAXの値を更新する。続いて、ステップS76
においてレジスタr0とr11の大小比較を行なう。レ
ジスタr11には前回まで入力された波形データのうち
最小値MINが格納されている。このステップS76で
r0≦r11と判断された場合には、次のステップS7
7でr0の値をr11に移し換えMINの値を更新す
る。この様にして、ステップS75及びステップS77
で、常にMAX値及びMIN値がモニタされている事に
なる。The end point detection algorithm of Table 8 will be described in detail with reference to the flowchart of FIG. When the present algorithm is started, all bits and registers are first initialized to 0. Next, in step S71, it is determined whether or not the bit b0 is 0. Initially this bit b
Since 0 is 0, the flow advances to the next step S72 to set a predetermined initial value 32767 in the register r11. Then, in step S73, the bit b0 is rewritten to 1. next,
In step S74, the sizes of the registers r0 and r10 are compared. The current count value of the input waveform data is sequentially written in the register r0, while the maximum value MAX of the waveform data up to the previous time is stored in the register r10. If it is determined in step S74 that r0 ≧ r10, the content of r0 is written to r10 in the next step S75, and the value of MAX is updated. Then, step S76.
In, the magnitude comparison of the registers r0 and r11 is performed. The register r11 stores the minimum value MIN of the waveform data input up to the previous time. When it is determined in step S76 that r0 ≦ r11, the next step S7
In step 7, the value of r0 is transferred to r11 and the value of MIN is updated. In this way, step S75 and step S77
Therefore, the MAX value and the MIN value are constantly monitored.
【0044】ステップS78で現在の波形データr0が
15000カウント以下であるかどうかを判断する。判
断結果が否定的である場合には以降の関数は実行しな
い。ステップS78の判断結果が肯定的である場合に
は、入力波形データのカウント値が終点検出領域に入っ
てきた事を意味する。従って、次のステップS79で最
大値MAXと最小値MINの差(Full)を計算す
る。次にステップS80でFullの10%に相当する
カウント値を算出し、レジスタr13に格納する。続い
てステップS81で現在の波形データカウント値r0と
MIN値の差を演算しレジスタr14に格納する。次に
ステップS82でレジスタr14のカウント値がレジス
タr13の内容より大きいかどうかを判断する。判断結
果が否定的である場合には未だ終点に至っていないので
このスキャンにおける処理を終了する。逆に、ステップ
S82の判断結果が肯定的である場合には、エンドポン
イトに至ったので、ステップS83においてビットb1
0に1をたてエンド信号を出力する。In step S78, it is determined whether the current waveform data r0 is 15000 counts or less. If the result of the judgment is negative, the subsequent functions are not executed. If the determination result of step S78 is affirmative, it means that the count value of the input waveform data has entered the end point detection area. Therefore, in the next step S79, the difference (Full) between the maximum value MAX and the minimum value MIN is calculated. Next, in step S80, a count value corresponding to 10% of Full is calculated and stored in the register r13. Then, in step S81, the difference between the current waveform data count value r0 and the MIN value is calculated and stored in the register r14. Next, in step S82, it is determined whether the count value of the register r14 is larger than the content of the register r13. If the result of the determination is negative, the end point has not yet been reached, so the processing in this scan ends. On the other hand, if the result of the determination in step S82 is affirmative, it means that an end point has been reached, and therefore bit b1 is determined in step S83.
The end signal is output by adding 1 to 0.
【0045】次に、図8のグラフを参照して第2具体例
を説明する。本例では、プラズマエッチング装置を用い
てシリコンウェハ上に形成された酸化膜のエッチング処
理を行なっている。プラズマ反応ガスとしてフッ素系の
気体を用いており、ここでは終点検出の為フッ素原子ス
ペクトルを選択している。図8の入力波形に示す様に、
フッ素原子スペクトルのカウント値はエッチング開始と
ともに上昇しエッチング終了に至ると平坦になる。しか
しながら、終点領域では入力波形の変化が極めてなだら
かである為このままでは正確なエンドポイント検出が困
難である。そこで、本具体例では入力波形を2次微分し
て、その値が0レベル近辺の状態で所定時間継続した時
点をエンドポンイトとする。なお、エッチング初期では
入力波形が不安定となる為所望のDead timeを
設け終点検出を行なわない様にしている。Next, a second specific example will be described with reference to the graph of FIG. In this example, an oxide film formed on a silicon wafer is etched using a plasma etching apparatus. A fluorine-based gas is used as the plasma reaction gas, and the fluorine atom spectrum is selected here for end point detection. As shown in the input waveform of FIG.
The count value of the fluorine atom spectrum increases with the start of etching and becomes flat when the etching is completed. However, since the change of the input waveform is extremely gentle in the end point region, it is difficult to detect the end point accurately as it is. Therefore, in this specific example, the input waveform is second-order differentiated, and the time when the value is near the 0 level and continued for a predetermined time is defined as the end point. Since the input waveform becomes unstable at the initial stage of etching, a desired dead time is provided so that the end point is not detected.
【0046】上述した終点検出条件に基き作成されたア
ルゴリズムのプログラミングリストを以下の表9に示
す。Table 9 below shows a programming list of algorithms created based on the above-mentioned end point detection conditions.
【表9】 [Table 9]
【0047】表9のプログラミングリストのシステム設
定文(#set)に記述する様に、本例ではScan
intarvalを1.0秒に設定している。即ち、本
プログラムは1秒周期間隔で実行される。又、Dead
timeは50秒に設定されている。Over ti
meは30秒に設定されている。Storage ti
meは1.5秒に設定されている。Input gai
nは3に設定されており、ポリクロメータにおける光エ
ネルギーの入力増幅率を指定する。InputWave
1は660.0nmに設定されており、前述した様にフッ
素原子スペクトルを選択している。なお、本具体例では
選択された1種類のスペクトルに基き終点検出を行なっ
ている。表9のプログラムリストの入出力設定文(#d
ef)によれば、Input1にはレジスタr0が割り
付けられている。End信号にはビットr3が割り付け
られている。さらに、Alarm信号の為ビットb7が
割り付けられる。このプログラミングリストの内容文は
start()からend()の間に記述されている。As described in the system setting statement (#set) of the programming list in Table 9, Scan is used in this example.
The internalval is set to 1.0 second. That is, this program is executed at intervals of 1 second. Also, Dead
The time is set to 50 seconds. Over ti
me is set to 30 seconds. Storage ti
me is set to 1.5 seconds. Input kai
n is set to 3 and specifies the input amplification factor of light energy in the polychromator. InputWave
1 is set to 660.0 nm, and the fluorine atom spectrum is selected as described above. In this specific example, the end point detection is performed based on the selected one type of spectrum. Input / output setting statement (#d
According to ef), register r0 is assigned to Input1. Bit r3 is assigned to the End signal. Further, bit b7 is assigned because of the Alarm signal. The content statement of this programming list is described between start () and end ().
【0048】図9のフローチャートを参照して、表9に
示したアルゴリズムに基く終点検出動作を詳細に説明す
る。先ず、コンピュータを起動した後、ステップS91
で入力波形データのカウント値を表わすレジスタ情報r
0を1次微分し、他のレジスタr1に格納する。続いて
ステップS92でレジスタ情報r1を再び微分しその結
果をレジスタr2に格納する。従って、r2は入力波形
データの2次微分値を表わす。次にステップS93でr
2の値を10倍してスケールを拡大しその結果をレジス
タr6に格納する。次にステップS94でレジスタr1
2を数値1だけインクリメントする。このレジスタr1
2はスキャン動作の繰り返し回数を計測するカウンタと
して機能し、所定の持続時間をモニタする為に用いられ
る。次にステップS95で2次微分値を表わすr6の絶
対値をレジスタr9に格納する。The end point detecting operation based on the algorithm shown in Table 9 will be described in detail with reference to the flowchart of FIG. First, after starting the computer, step S91
Register information r indicating the count value of the input waveform data
0 is first-order differentiated and stored in another register r1. Then, in step S92, the register information r1 is differentiated again and the result is stored in the register r2. Therefore, r2 represents the secondary differential value of the input waveform data. Next, in step S93, r
The value of 2 is multiplied by 10 to expand the scale, and the result is stored in the register r6. Next, in step S94, the register r1
Increment 2 by the number 1. This register r1
Reference numeral 2 functions as a counter for measuring the number of times the scanning operation is repeated, and is used for monitoring a predetermined duration. Next, in step S95, the absolute value of r6 representing the second derivative is stored in the register r9.
【0049】続いて、ステップS96でr9の値が設定
値80よりも小さいかどうかを判断する。判断結果が肯
定的な場合には入力波形の2次微分値が収束状態に向か
った可能性がある。この時にはステップS97に進み、
r12の値を他のレジスタr10に移動させる。一方、
ステップS96の判断結果が否定的である場合には、ス
テップS98においてこのレジスタr10を随時0にリ
セットする。続いてステップS99でレジスタr10の
値が100以上であるかどうかを判断する。この判断結
果が肯定的である場合には、2次微分値が設定レベル以
下になって所定の時間を経過した事を意味する。そこ
で、ステップS100においてビットb3に値1をたて
End信号を出力する。一方、ステップS99の判断結
果が否定的である場合には、ステップS101に進みタ
イマが200秒経過しているかどうかを判断する。判断
結果が肯定的である場合には、異常状態の発生と見な
し、ステップS102でビットb7に数値1をたてAl
arm信号を出力する。一方、ステップS101におけ
る判断結果が否定的である場合には、このスキャンにお
ける処理を終了する。Succeedingly, in a step S96, it is determined whether or not the value of r9 is smaller than the set value 80. If the determination result is affirmative, it is possible that the second-order differential value of the input waveform has moved toward a convergent state. At this time, the process proceeds to step S97,
The value of r12 is moved to another register r10. on the other hand,
If the determination result in step S96 is negative, the register r10 is reset to 0 at any time in step S98. Succeedingly, in a step S99, it is determined whether or not the value of the register r10 is 100 or more. If the result of this determination is affirmative, it means that the secondary differential value has become less than or equal to the set level and a predetermined time has elapsed. Therefore, in step S100, the value b is set to 1 and the End signal is output. On the other hand, if the determination result of step S99 is negative, the process proceeds to step S101, and it is determined whether the timer has passed 200 seconds. If the determination result is affirmative, it is considered that an abnormal state has occurred, and the bit b7 is set to the numerical value 1 in step S102 and Al is set.
Output the arm signal. On the other hand, if the determination result in step S101 is negative, the process in this scan ends.
【0050】最後に、図10のグラフを参照して第3の
具体例を詳細に説明する。この例では、プラズマイオン
エッチング装置を用いてフッ素系の反応ガスを導入しシ
リコンウェハ上に形成された窒化膜のエッチング処理を
行なっている。本例では、二個の異なったスペクトルを
選択して終点検出を行なっている。入力波形Aは窒素原
子スペクトルの経時的な強度変化を表わしており、エッ
チング処理の進行とともにそのカウント値は低下し定常
状態に至る。一方、入力波形Bはフッ素原子スペクトル
の経時的な強度変化を表わしており、エッチング処理の
進行とともにカウント値が増大し定常レベルに至る。こ
こでは、両入力波形が定常状態に至り且つ入力波形Bが
入力波形Aよりも大きな場合にエンドポイントと判断す
る。前述した例と同様に、エッチング処理の終点領域で
両波形ともなだらかな変化を示す為、このままでは精密
な終点検出が行なえない。そこで、両波形とも2次微分
を施し、その値が予め与えられた設定値以下になった時
点から所定の持続時間だけ経過した場合にエッチング終
了と判定する事にする。なお前述の例と同様に、エッチ
ング初期における不安定な状態で終点検出を行なわない
為所定のDeadtimeを設ける事にする。Finally, the third specific example will be described in detail with reference to the graph of FIG. In this example, a plasma ion etching apparatus is used to introduce a fluorine-based reaction gas to etch the nitride film formed on the silicon wafer. In this example, two different spectra are selected to detect the end point. The input waveform A represents the intensity change of the nitrogen atom spectrum over time, and the count value decreases with the progress of the etching process to reach a steady state. On the other hand, the input waveform B represents the intensity change of the fluorine atom spectrum over time, and the count value increases with the progress of the etching process and reaches a steady level. Here, when both input waveforms reach a steady state and the input waveform B is larger than the input waveform A, it is determined as the end point. Similar to the above-mentioned example, since both waveforms show a gentle change in the end point region of the etching process, the end point cannot be precisely detected as it is. Therefore, both waveforms are subjected to a second derivative, and it is determined that the etching is completed when a predetermined duration elapses from the time when the value becomes less than or equal to a preset set value. Similar to the above-mentioned example, a predetermined Deadtime is provided because the end point is not detected in an unstable state at the initial stage of etching.
【0051】上述した終点検出条件に基き作成されたプ
ログラミングリストを以下の表10に示す。Table 10 below shows a programming list created based on the above-mentioned end point detection conditions.
【表10】 [Table 10]
【0052】表10のプログラミングリストのシステム
設定文(#set)に示した様に、本例ではScan
intervalを1.0秒に設定している。Dead
timeを30秒に設定している。Over tim
eも同じく30秒に設定している。Storage t
imeを1.5秒に設定し、ポリクロメータにおける光
エネルギーの蓄積時間を指定している。Input g
ainを3に設定し、ポリクロメータにおける光エネル
ギーの入力増幅率を指定している。InputWave
1として336.0nmを設定し、図10に示した入力波
形Aを選択している。同様に、Input Wave2
として660.0nmを設定し、図10に示した入力波形
Bを選択している。この様に、本具体例では二個の異な
った入力波形を同時に処理して終点検出を行なう。次
に、表10のプログラミングリストに記載された入出力
設定文(#def)から明らかな様に、Input1に
はレジスタr0が割り付けられ、Input2には同じ
くレジスタr1が割り付けられ、End信号にはビット
b0が割り付けられる。この終点検出アルゴリズムの内
容文は、start()とend()の間に記載されて
いる。As shown in the system setting statement (#set) of the programming list in Table 10, in this example, Scan
The interval is set to 1.0 second. Dead
The time is set to 30 seconds. Over tim
e is also set to 30 seconds. Storage t
The time is set to 1.5 seconds and the accumulation time of the light energy in the polychromator is specified. Input g
The ain is set to 3, and the input amplification factor of the light energy in the polychromator is designated. InputWave
336.0 nm is set as 1, and the input waveform A shown in FIG. 10 is selected. Similarly, Input Wave2
Is set to 660.0 nm and the input waveform B shown in FIG. 10 is selected. In this way, in this specific example, two different input waveforms are simultaneously processed to detect the end point. Next, as is clear from the input / output setting statement (#def) described in the programming list in Table 10, the register r0 is assigned to Input1, the register r1 is also assigned to Input2, and the bit is assigned to the End signal. b0 is allocated. The content sentence of this end point detection algorithm is described between start () and end ().
【0053】図11のフローチャートを参照して、表1
0に示した終点検出アルゴリズムを詳細に説明する。先
ず、コンピュータを起動した後、ステップS111にお
いて入力波形Aのカウント値を表わすr0の1次微分を
行ない、その結果をレジスタ情報r10とする。続いて
ステップS112でレジスタ情報r10を微分しその結
果をレジスタ情報r11とする。従って、レジスタ情報
r11は入力波形Aの2次微分データを表わす。ステッ
プS113でレジスタ情報r11を10倍にしスケール
を拡大して、その結果をレジスタ情報r12とする。次
に、ステップS114でレジスタ情報r12の絶対値を
とりレジスタ情報r13とする。続いてステップS11
5でレジスタ情報r13が予め与えられた設定値100
以下であるかどうかを判断する。この判断結果が肯定的
である場合には入力波形Aが収束状態に向かっている可
能性がある。この場合には、次のステップS116で予
め設定されたタイマが3秒経過したかどうかを判断す
る。この3秒の時間は予め決められた持続時間を表わし
ている。ステップS116の判断結果が肯定的である場
合には、入力波形Aが定常状態に至ったものと見なさ
れ、次のステップS117でビット情報b11が数値1
にセットされる。一方、上述したステップS115及び
S116で判断結果が何れも否定的な場合には、まだ終
点に至っていないので次のステップに進行する。Referring to the flowchart of FIG. 11, Table 1
The end point detection algorithm shown in 0 will be described in detail. First, after starting the computer, in step S111, the first derivative of r0 representing the count value of the input waveform A is performed, and the result is set as the register information r10. Then, in step S112, the register information r10 is differentiated and the result is set as the register information r11. Therefore, the register information r11 represents the secondary differential data of the input waveform A. In step S113, the register information r11 is multiplied by 10 to expand the scale, and the result is set as the register information r12. Next, in step S114, the absolute value of the register information r12 is taken and used as the register information r13. Then step S11
5, the register information r13 is set to a preset value 100
Determine if: If this determination result is affirmative, there is a possibility that the input waveform A is heading toward a convergent state. In this case, it is determined in the next step S116 whether or not the preset timer has elapsed for 3 seconds. This 3 second time period represents a predetermined duration. If the determination result of step S116 is affirmative, it is considered that the input waveform A has reached a steady state, and the bit information b11 is set to the numerical value 1 in the next step S117.
Is set to. On the other hand, if the determination results in both steps S115 and S116 described above are negative, the end point has not yet been reached, and the process proceeds to the next step.
【0054】ここで、他方の入力波形Bの処理に移行
し、ステップS118でレジスタ情報r1の1次微分を
行ない、その結果をレジスタ情報r20とする。レジス
タ情報r1は入力波形Bのカウント値を表わすものであ
る。続いてステップS119でレジスタ情報r20の微
分処理を行ないその結果をレジスタ情報r21とする。
この結果、r21は入力波形Bのカウント値の2次微分
データを表わす事になる。ステップS120で2次微分
レジスタ情報r21を10倍しスケールを拡大して、そ
の結果をレジスタ情報r22とする。ステップS121
でレジスタ情報r22の絶対値をとりその結果をレジス
タ情報r23とする。次にステップS122においてレ
ジスタ情報r23が所定の設定値60以下であるかどう
かを判断する。この判断結果が肯定的である場合には、
次のステップS123に進み所定のタイマが5秒経過し
たかどうかを判断する。ステップS123における判断
結果が肯定的である場合には、入力波形Bは定常状態に
至ったと推定され、次のステップS124でビット情報
b21に数値1がたてられる。Here, the processing shifts to the processing of the other input waveform B, and the primary differentiation of the register information r1 is performed in step S118, and the result is set as the register information r20. The register information r1 represents the count value of the input waveform B. Subsequently, in step S119, the register information r20 is differentiated, and the result is set as the register information r21.
As a result, r21 represents the secondary differential data of the count value of the input waveform B. In step S120, the secondary differential register information r21 is multiplied by 10 to expand the scale, and the result is set as register information r22. Step S121
Takes the absolute value of the register information r22 and sets the result as the register information r23. Next, in step S122, it is determined whether the register information r23 is less than or equal to a predetermined set value 60. If the result of this judgment is positive,
In step S123, it is determined whether a predetermined timer has passed for 5 seconds. If the determination result in step S123 is affirmative, it is estimated that the input waveform B has reached a steady state, and the bit information b21 is set to the numerical value 1 in the next step S124.
【0055】続いて、ステップS125でレジスタ情報
r0がレジスタ情報r1より小さいかどうかを判断す
る。この判断結果が肯定的である場合には、図10のグ
ラフに示す様に終点領域近傍の定常状態で入力波形Aの
カウント値が入力波形Bのカウント値より下回っている
事になる。従って、次のステップS126でビット情報
b11とb21の論理積処理を施す。その処理結果が1
である場合には最終のステップS127で出力ビットb
0に1をたてる。この結果、End信号が出力される。
一方、ステップS125における判断結果が否定的であ
り、ステップS126における処理結果が数値0を表わ
す場合には、このスキャンにおける処理を終了する。Succeedingly, in a step S125, it is determined whether or not the register information r0 is smaller than the register information r1. If the determination result is affirmative, it means that the count value of the input waveform A is lower than the count value of the input waveform B in the steady state near the end point region as shown in the graph of FIG. Therefore, in the next step S126, the logical product process of the bit information b11 and b21 is performed. The processing result is 1
Output bit b in the final step S127
Add 1 to 0. As a result, the End signal is output.
On the other hand, if the determination result in step S125 is negative and the processing result in step S126 indicates the numerical value 0, the processing in this scan ends.
【0056】[0056]
【発明の効果】以上説明した様に、本発明にかかるエン
ドポイントモニタは光センサ部に光ファイバとポリクロ
メータを使用している為、複数の波長の光を同時に計測
し、相互の関係に基いて精密な終点検出を行なう事がで
きるという効果がある。ポリクロメータを使用している
為、従来の様にスペクトルアナライザ等の器材を使用す
る事なく広範囲の波長計測が可能であり、終点検出に必
要な特異波長を自由に選択する事ができるという効果が
ある。例えば、リファレンス光と信号光の2本のスペク
トルを選択し、リファレンス光によるバックグランド処
理により、雑音を軽減し演算に必要な信号のみを抽出す
る事が可能である。又、多波長同時計測により、時差を
もって変化する光の計測演算が可能であり、例えば多層
膜エッチングの終点検出も精密且つ効果的に行なえる。
あるいは、終点付近で急激に変化する光とエッチング開
始から緩やかに変化する光を同時に演算処理する事もで
きる。この様に、複数光の変化から様々なエッチング処
理内容に応じた判定を行なう事が可能である。本発明で
は、ポリクロメータは光ファイバを介してプラズマエッ
チング装置等の処理装置に接続されている為、高周波電
源からの妨害を受けにくいという効果がある。又、ポリ
クロメータに内蔵される光電センサの蓄積効果によって
高レベルの信号が得られ、且つフィルタ効果も得られ
る。As described above, since the endpoint monitor according to the present invention uses the optical fiber and the polychromator in the optical sensor section, it simultaneously measures the light of a plurality of wavelengths and determines the mutual relationship. The effect is that precise end point detection can be performed. Since a polychromator is used, it is possible to measure a wide range of wavelengths without using equipment such as a spectrum analyzer as in the past, and it is possible to freely select the specific wavelength required for end point detection. is there. For example, it is possible to reduce noise and extract only signals necessary for calculation by selecting two spectra of reference light and signal light and performing background processing with reference light. In addition, simultaneous measurement of multiple wavelengths enables measurement and calculation of light that changes with time difference, and for example, the end point of multilayer film etching can be precisely and effectively detected.
Alternatively, light that changes rapidly near the end point and light that changes gradually from the start of etching can be simultaneously processed. In this way, it is possible to make a determination according to various etching processing contents from changes in a plurality of lights. In the present invention, since the polychromator is connected to the processing device such as the plasma etching device through the optical fiber, there is an effect that it is less likely to be interfered with by the high frequency power supply. In addition, a high-level signal can be obtained and a filter effect can be obtained due to the accumulation effect of the photoelectric sensor incorporated in the polychromator.
【0057】本発明にかかるエンドポイントモニタはプ
ログラミング可能なコンピュータを用いて制御を行なっ
ている。終点検出アルゴリズムは、簡易且つ定式化され
たプログラム言語を用いて自由に構築する事ができ、極
めて汎用性に優れているという効果がある。これによ
り、多種多様なエッチングプロセスにおいてその終点検
出の複雑化に対応する事が可能である。必要に応じ構築
された終点検出アルゴリズムには夫々レシピ番号が付さ
れ随時読み出す事が可能である。又、1度採取した入力
波形を記録保存しておき、そのデータを再度シミュレー
ションする事により、異なったレシピ番号の判定アルゴ
リズムによる検証が可能になり、実用的なシミュレーシ
ョン機能を果たすという効果がある。この為、最終的な
判定アルゴリズムを決定するまで、実験に使用するウェ
ハの枚数及び処理装置の稼働を最小限に抑える事ができ
るという効果がある。The endpoint monitor according to the present invention is controlled using a programmable computer. The end point detection algorithm can be freely constructed by using a simple and formalized programming language, and has an effect of being extremely versatile. This makes it possible to deal with the complicated end point detection in various etching processes. A recipe number is attached to each of the end point detection algorithms constructed as needed, and the algorithms can be read out at any time. Further, by recording and saving the input waveform once sampled and simulating the data again, it is possible to verify by a determination algorithm of a different recipe number, and there is an effect that a practical simulation function is achieved. Therefore, the number of wafers used in the experiment and the operation of the processing apparatus can be minimized until the final determination algorithm is determined.
【図1】本発明にかかるエンドポイントモニタの基本的
な構成を示すブロック図である。FIG. 1 is a block diagram showing a basic configuration of an endpoint monitor according to the present invention.
【図2】エンドポイントモニタに組み込まれるポリクロ
メータの具体例を示すブロック図である。FIG. 2 is a block diagram showing a specific example of a polychromator incorporated in an endpoint monitor.
【図3】エンドポイントモニタに組み込まれるコンピュ
ータの入出力関係を表わす模式図である。FIG. 3 is a schematic diagram showing an input / output relationship of a computer incorporated in an endpoint monitor.
【図4】エンドポイントモニタの処理システム状態の遷
移を表わすタイミングチャートである。FIG. 4 is a timing chart showing a transition of a processing system state of the endpoint monitor.
【図5】終点検出プログラムの作成作業を示すフローチ
ャートである。FIG. 5 is a flowchart showing the work of creating an end point detection program.
【図6】入力波形の一例を示すグラフである。FIG. 6 is a graph showing an example of an input waveform.
【図7】図6に示した入力波形を処理する為の終点検出
アルゴリズムを表わすフローチャートである。7 is a flowchart showing an endpoint detection algorithm for processing the input waveform shown in FIG.
【図8】入力波形の他の例を示すグラフである。FIG. 8 is a graph showing another example of the input waveform.
【図9】図8に示した入力波形の処理を行なう為にプロ
グラミングされた終点検出アルゴリズムを示すフローチ
ャートである。9 is a flowchart showing an end point detection algorithm programmed to perform the processing of the input waveform shown in FIG.
【図10】入力波形のさらに他の例を示すグラフであ
る。FIG. 10 is a graph showing still another example of the input waveform.
【図11】図10に示した入力波形の処理を行なう為に
プログラミングされた終点検出アルゴリズムを示すフロ
ーチャートである。11 is a flowchart showing an end point detection algorithm programmed to perform the processing of the input waveform shown in FIG.
【符号の説明】 1 処理装置 2 ポリクロメータ 3 コンピュータ 4 光ファイバ 5 ケーブル 6 ディスプレイ 7 キーボード 8 入力端子 9 出力端子[Explanation of reference numerals] 1 processing device 2 polychromator 3 computer 4 optical fiber 5 cable 6 display 7 keyboard 8 input terminal 9 output terminal
Claims (3)
接続されるポリクロメータと、コンピュータとからなる
エンドポイントモニタであって、 前記ポリクロメータは、加工中該処理装置に発生する広
帯域の光を受光して複数のスペクトルに分別可能であ
り、これらスペクトルの強度変化を経時的に計測して対
応する波形信号を出力するとともに、 前記コンピュータは、定式化及び簡略化されたプログラ
ム言語を用いて所望の終点検出アルゴリズムを随意にプ
ログラミング可能であり、少なくとも一個の特異的な波
形信号を該終点検出アルゴリズムに従い演算処理して該
加工の終点検出を行なうエンドポイントモニタ。1. An endpoint monitor comprising a computer and a polychromator connected to a processing device for processing a semiconductor wafer, wherein the polychrometer receives broadband light generated in the processing device during processing. Then, it is possible to separate into a plurality of spectra, the intensity change of these spectra is measured over time, and the corresponding waveform signal is output, and the computer uses a formalized and simplified programming language to obtain the desired waveform. An end-point monitor, which can be programmed with an end-point detection algorithm, and which performs at least one specific waveform signal according to the end-point detection algorithm to detect the end point of the machining.
リズムに従い異なるスペクトルに対応する複数の波形信
号を同時に演算処理して終点検出を行なう請求項1記載
のエンドポイントモニタ。2. The endpoint monitor according to claim 1, wherein the computer simultaneously performs arithmetic processing on a plurality of waveform signals corresponding to different spectra according to the endpoint detection algorithm to detect the endpoint.
算子の組み合わせにより、所望の終点検出アルゴリズム
をプログラミングする請求項1記載のエンドポイントモ
ニタ。3. The endpoint monitor of claim 1, wherein the computer programs a desired endpoint detection algorithm with a combination of predetermined functions and operators.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5128487A JPH06318571A (en) | 1993-04-30 | 1993-04-30 | End point monitor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5128487A JPH06318571A (en) | 1993-04-30 | 1993-04-30 | End point monitor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06318571A true JPH06318571A (en) | 1994-11-15 |
Family
ID=14985971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5128487A Pending JPH06318571A (en) | 1993-04-30 | 1993-04-30 | End point monitor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06318571A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006245097A (en) * | 2005-03-01 | 2006-09-14 | Tokyo Electron Ltd | F density measurement method in plasma processing apparatus, plasma processing method and plasma processing apparatus |
-
1993
- 1993-04-30 JP JP5128487A patent/JPH06318571A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006245097A (en) * | 2005-03-01 | 2006-09-14 | Tokyo Electron Ltd | F density measurement method in plasma processing apparatus, plasma processing method and plasma processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6652710B2 (en) | Process monitoring apparatus and method | |
US6368975B1 (en) | Method and apparatus for monitoring a process by employing principal component analysis | |
JP4833687B2 (en) | Plasma processing equipment | |
US6157867A (en) | Method and system for on-line monitoring plasma chamber condition by comparing intensity of certain wavelength | |
US5658418A (en) | Apparatus for monitoring the dry etching of a dielectric film to a given thickness in an integrated circuit | |
US5576629A (en) | Plasma monitoring and control method and system | |
JP6033453B2 (en) | Plasma endpoint detection using multivariate analysis | |
JP3429137B2 (en) | Method for real-time in-situ monitoring of trench formation process | |
US6745095B1 (en) | Detection of process endpoint through monitoring fluctuation of output data | |
KR100912748B1 (en) | Method and apparatus for endpoint detection using partial least squares | |
US20070095789A1 (en) | Method for automatic determination of semiconductor plasma chamber matching and source of fault by comprehensive plasma monitoring | |
JP2008218898A (en) | Plasma processing device | |
WO2004003969A2 (en) | Method and system for predicting process performance using material processing tool and sensor data | |
JP2002525867A (en) | Apparatus and method for detecting endpoint in a non-ionized gas reactor environment | |
JP2010518597A (en) | Method and apparatus for determining process parameters of a plasma etching process | |
JP4943716B2 (en) | Plasma processing equipment | |
JP3854810B2 (en) | Method and apparatus for measuring film thickness of material to be processed by emission spectroscopy, and method and apparatus for processing material using the same | |
JP2016213445A (en) | Plasma etching systems and methods using empirical mode decomposition | |
JP5411215B2 (en) | Plasma processing equipment | |
JP4220378B2 (en) | Processing result prediction method and processing apparatus | |
JPH06318571A (en) | End point monitor | |
JP3732768B2 (en) | Semiconductor processing equipment | |
JP2004235349A (en) | Method and apparatus for plasma processing | |
KR20130064472A (en) | Method for process diagnosis using multi light wavelength monitoring | |
JP2006119145A (en) | Method and device for processing semiconductor wafer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |