(57)【要約】【課題】物質の形状の変化を計算する形状シミュレーションの計算時間を短縮することが可能な形状シミュレーション装置、形状シミュレーション方法、および形状シミュレーションプログラムを提供する。【解決手段】一の実施形態によれば、形状シミュレーション装置は、計算領域内の点と前記計算領域内の物質の表面との位置関係を示す関数を設定する関数設定部を備える。前記装置はさらに、前記計算領域内を移動する粒子が、前記物質の表面に衝突したか否かを判定する衝突判定部を備える。前記装置はさらに、前記粒子が前記物質の表面に衝突したと判定されたことを条件に、前記関数の値を更新する関数更新部を備える。【選択図】図６
2017162286.tif 000002
【特許請求の範囲】
【請求項１】
計算領域内の点と前記計算領域内の物質の表面との位置関係を示す関数を設定する関数設定部と、
前記計算領域内を移動する粒子が、前記物質の表面に衝突したか否かを判定する衝突判定部と、
前記粒子が前記物質の表面に衝突したと判定されたことを条件に、前記関数の値を更新する関数更新部と、
を備える形状シミュレーション装置。
【請求項２】
さらに、前記粒子が前記物質の表面に衝突したと判定された場合に、前記物質の表面の形状が前記粒子により変化するか否かを判定する変化判定部を備え、
前記関数更新部は、前記粒子が前記物質の表面に衝突したと判定され、かつ、前記物質の表面の形状が前記粒子により変化すると判定されたことを条件に、前記関数の値を更新する、請求項１に記載の形状シミュレーション装置。
【請求項３】
前記衝突判定部は、前記粒子の軌道を直接シミュレーションモンテカルロ（ＤＳＭＣ）法により計算する、請求項１または２に記載の形状シミュレーション装置。
【請求項４】
前記関数更新部は、前記粒子が衝突するごとの前記物質の表面移動距離が一定となるように、前記関数の値を更新する、請求項１から３のいずれか１項に記載の形状シミュレーション装置。
【請求項５】
前記計算領域は、前記計算領域を分割する複数のセルと、前記セルを構成する複数の格子点とを含む、請求項１から４のいずれか１項に記載の形状シミュレーション装置。
【請求項６】
前記衝突判定部は、前記粒子の衝突位置のセルを特定し、
前記関数更新部は、前記粒子の衝突位置のセルを構成する格子点における前記関数の値を更新する、請求項５に記載の形状シミュレーション装置。
【請求項７】
前記衝突判定部は、前記粒子の衝突位置のセルを、前記物質の表面に位置するセルを構成する格子点における前記関数の値に基づいて特定する、請求項５または６に記載の形状シミュレーション装置。
【請求項８】
前記セルは、前記セル内の前記物質の特性を示す特性情報を有し、
前記関数更新部は、前記特性情報に基づいて前記関数の値を更新する、請求項５から７のいずれか１項に記載の形状シミュレーション装置。
【請求項９】
計算領域内の点と前記計算領域内の物質の表面との位置関係を示す関数を設定し、
前記計算領域内を移動する粒子が、前記物質の表面に衝突したか否かを判定し、
前記粒子が前記物質の表面に衝突したと判定されたことを条件に、前記関数の値を更新する、
ことを含む形状シミュレーション方法。
【請求項１０】
計算領域内の点と前記計算領域内の物質の表面との位置関係を示す関数を設定し、
前記計算領域内を移動する粒子が、前記物質の表面に衝突したか否かを判定し、
前記粒子が前記物質の表面に衝突したと判定されたことを条件に、前記関数の値を更新する、
ことを含む形状シミュレーション方法をコンピュータに実行させる形状シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、形状シミュレーション装置、形状シミュレーション方法、および形状シミュレーションプログラムに関する。
【背景技術】
【０００２】
ＣＶＤ（Chemical Vapor Deposition）やＲＩＥ（Reactive Ion Etching）等により物質を加工する場合、物質の形状の変化（時間発展）を計算する形状シミュレーションを事前に行うことが多い。形状シミュレーションでは例えば、物質の表面を複数の表面セグメントに分割し、各表面セグメントに到達する粒子のフラックスや、物質の局所的な表面移動速度をラジオシティー法を用いて計算する。しかしながら、フラックスや表面移動速度をすべての表面にて矛盾なく計算するには、長い計算時間が必要となる。理由は、計算時間が、表面セグメントの個数の２乗のオーダーで増えていくためである。
【０００３】
一方、フラックス計算に直接シミュレーションモンテカルロ（ＤＳＭＣ）法を用いる技法が知られている。この技法では、計算領域内に粒子を飛ばし、粒子の運動や相互作用のモデルからフラックスを計算する。この場合、計算時間は、粒子の個数に比例し、表面セグメントの個数には依存しない。また、粒子同士の相互作用が無視できる場合、ＤＳＭＣ法の計算は、粒子ごとに独立して行うことが可能であり、並列計算に向いている。しかしながら、ＤＳＭＣ法を用いる場合でも、物質の形状の時間発展を計算する際には、フラックスを微小時間ごとに繰り返し計算する必要がある。時間発展の繰り返し計算の回数が多いと、計算時間が増大してしまう。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Kokkoris, G. et al., J. Vac. Sci. Technol. A 22(4), 1896 (2004)
【非特許文献２】Al-Mohssen, H., マサチューセッツ工科大学修士論文 (2003)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
物質の形状の変化を計算する形状シミュレーションの計算時間を短縮することが可能な形状シミュレーション装置、形状シミュレーション方法、および形状シミュレーションプログラムを提供する。
【課題を解決するための手段】
【０００６】
一の実施形態によれば、形状シミュレーション装置は、計算領域内の点と前記計算領域内の物質の表面との位置関係を示す関数を設定する関数設定部を備える。前記装置はさらに、前記計算領域内を移動する粒子が、前記物質の表面に衝突したか否かを判定する衝突判定部を備える。前記装置はさらに、前記粒子が前記物質の表面に衝突したと判定されたことを条件に、前記関数の値を更新する関数更新部を備える。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の形状シミュレーション方法を示すフローチャートである。
【図２】第１実施形態における物質の初期構造の例を示す斜視図である。
【図３】レベルセット関数について説明するための模式図である。
【図４】物質表面を複数の表面セグメントに分割した様子を示す模式図である。
【図５】第１実施形態で取り扱う物理現象の例を示す断面図である。
【図６】図１のステップＳ４の詳細を示すフローチャート図である。
【図７】第１実施形態のレベルセット関数の更新方法を説明するための模式図である。
【図８】第１実施形態のレベルセット関数の更新方法を説明するための模式図である。
【図９】第１実施形態で取り扱う境界条件の例を示す断面図である。
【図１０】第２実施形態の形状シミュレーション方法を説明するための模式図である。
【図１１】第３実施形態の形状シミュレーション方法を説明するための模式図である。
【図１２】第３実施形態の形状シミュレーション方法を説明するための模式図である。
【図１３】第３実施形態の形状シミュレーション方法を示すフローチャートである。
【図１４】第４実施形態の形状シミュレーション方法を説明するための模式図である。
【図１５】第５実施形態の形状シミュレーション装置の構成を示す外観図である。
【図１６】図１５の制御部の構成を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態を、図面を参照して説明する。
【０００９】
（第１実施形態）
図１は、第１実施形態の形状シミュレーション方法を示すフローチャートである。本実施形態の形状シミュレーション方法は、パーソナルコンピュータやワークステーション等の情報処理装置を使用して行われる。
【００１０】
まず、物質の初期構造を情報処理装置に入力する（ステップＳ１）。図２は、第１実施形態における物質の初期構造の例を示す斜視図である。図２に示す初期構造は、基板１と、基板１上に形成された第１の被加工層２と、第１の被加工層２上に形成された第２の被加工層３と、第１および第２の被加工層２、３を貫通する開口部４とを含んでいる。基板１の例は、シリコン基板である。第１の被加工層２の例は、シリコン窒化膜である。第２の被加工層３の例は、シリコン酸化膜である。
【００１１】
次に、入力された初期構造から初期レベルセット関数を作成する（ステップＳ２）。図３は、レベルセット関数について説明するための模式図である。図３は、レベルセット関数ψを形状シミュレーションの計算領域（計算空間）内に示している。図３に示す計算領域は、計算領域を分割する複数のセル（メッシュ）Ｃと、これらのセルＣの頂点を構成する複数の格子点（メッシュ点）Ｂとを含んでいる。符号Ｓは、計算領域内の物質の表面を示している。
【００１２】
レベルセット関数ψは、格子点と物質表面Ｓとの位置関係を示す関数である。具体的には、レベルセット関数ψは、格子点と物質表面Ｓとの距離ｄにより定義され、格子点ごとに値を有している。レベルセット関数ψの値は、物質表面Ｓにおいて０と定義される（ψ＝０）。また、物質の外部（真空中）ではψ＞０であり、物質の内部（物質中）ではψ＜０である。初期レベルセット関数を作成する際には、各格子点から最も近い物質表面Ｓの位置を探し、この格子点とこの位置との距離ｄを計算する。そして、この格子点が真空中であれば、この格子点での初期レベルセット関数の符号を正とする。一方、この格子点が物質中であれば、この格子点での初期レベルセット関数の符号を負とする。なお、初期レベルセット関数は、ステップＳ２で作成する代わりに、ステップＳ１で情報処理装置に入力してもよい。ステップＳ１およびＳ２の処理を行うブロックは、関数設定部の例である。
【００１３】
次に、物質表面Ｓを複数の表面セグメントに分割する（ステップＳ３）。図４は、物質表面Ｓを複数の表面セグメントに分割した様子を示す模式図である。図４では、物質表面ＳがセルＣごとに分割されている。その結果、１つのセルＣ内の物質表面Ｓが、１つの表面セグメントとなっている。符号Ａ１、Ａ２は、表面セグメントの例を示している。なお、図４に示す計算領域は、２次元領域となっているが、代わりに３次元領域としてもよい。また、図４に示す各表面セグメントの形状は、線分となっているが、代わりに点や多角形としてもよい。
【００１４】
符号Ｐ１、Ｐ２は、計算領域内を移動する粒子（反応種）の例を示す。符号Ｋ１は、気層から表面セグメントＡ１に直接的に到達する粒子の軌道を示す。符号Ｋ２は、気層から表面セグメントＡ２に直接的に到達する粒子の軌道を示す。符号Ｋ３は、気層から表面セグメントＡ１を介して表面セグメントＡ２へと間接的に到達する粒子の軌道を示す。一般に、符号Ｋ１、Ｋ２で示す粒子移動は直接フラックスを計算する際に考慮され、符号Ｋ３で示す粒子移動は間接フラックスを計算する際に考慮される。計算領域内の粒子移動の詳細については後述する。
【００１５】
次に、物質の形状の変化をＤＳＭＣ法を用いて計算する（ステップＳ４）。その結果、物質の最終形状が計算される。ステップＳ４の詳細については後述する。その後、物質の最終形状を情報処理装置から出力し（ステップＳ５）、計算終了となる。物質の最終形状は、情報処理装置の画面への表示、情報処理装置のメモリへの保存、情報処理装置の外部への送信などにより出力可能である。
【００１６】
図５は、第１実施形態で取り扱う物理現象の例を示す断面図である。
【００１７】
図５は、基板１と、基板１上に形成されたセルトランジスタ５とを示している。各セルトランジスタ５は、ゲート絶縁膜として機能する第１絶縁膜５ａと、浮遊ゲートとして機能する第１電極層５ｂと、ゲート間絶縁膜として機能する第２絶縁膜５ｃと、制御ゲートとして機能する第２電極層５ｄとを含んでいる。セルトランジスタ５は例えば、ＮＡＮＤフラッシュメモリを構成している。
【００１８】
図５は、プラズマを用いた異方性エッチングにより、基板１、第１絶縁膜５ａ、第１電極層５ｂ、第２絶縁膜５ｃ、および第２電極層５ｄ（以下「被加工層」と呼ぶ）を加工する様子を示している。図５において、符号Ｐ１は、プラズマで活性化され、被加工層に等方的に入射する中性分子を示す。符号Ｐ２は、被加工層付近に電界勾配を形成するシース領域にて加速され、被加工層に異方的に入射するイオンを示す。異方性エッチングは、中性分子とイオンが被加工層の表面で引き起こす化学反応により進行する。
【００１９】
被加工層付近に飛来した中性分子やイオンは、被加工層の表面に入射し、入射地点の局所表面の材質や状態に応じた反応を起こす。反応の例は、吸着、反射、脱離、堆積反応、エッチング反応、スパッタ反応などである。符号Ｋ１は、中性分子Ｐ１の吸着の例を示している。符号Ｋ２は、イオンＰ２の反射の例を示している。符号Ｋ３は、中性分子Ｐ３の脱離の例を示している。中性分子やイオンが反射や脱離により被加工層の表面から再放出されると、これらの中性分子やイオンが別の表面に入射して再度反応を起こす。本実施形態の形状シミュレーションは、中性分子やイオンの輸送（移動）と、これらの反応による表面形状の変化とをリンクさせて行われる。
【００２０】
図６は、図１のステップＳ４の詳細を示すフローチャート図である。
【００２１】
本実施形態では、分子やイオンを模擬する粒子を計算領域内に１つずつ飛ばし、各粒子の軌道をＤＳＭＣ法により計算する。そして、粒子が物質表面に衝突したら、衝突に伴う表面形状の変化を計算する。
【００２２】
そこで、本実施形態では、粒子同士を区別する変数Ｎを導入し、変数Ｎの初期値を０に設定する（ステップＳ１１）。そして、変数Ｎの値を１だけ増加させるごとに、計算領域内に１つの粒子を生成する（ステップＳ１２、Ｓ１３）。ステップＳ１４以降では、各粒子の軌道等を計算する。
【００２３】
一般的な形状シミュレーションでは、時間ステップΔｔを設定し、Δｔ間の粒子の移動と、Δｔ間の表面形状の変化とを交互に計算する。一方、本実施形態では、計算領域内に飛ばした粒子が、物質表面に衝突したか否かを判定する（ステップＳ１４）。そして、本実施形態では、粒子が物質表面に衝突しない限り、表面形状の変化は計算しない。ステップＳ１４の処理を行うブロックは、衝突判定部の例である。
【００２４】
粒子が物質表面に衝突したと判定された場合には、物質表面の形状がこの粒子により変化するか否かを判定する（ステップＳ１５）。例えば、粒子が局所表面に堆積する反応種である場合や、粒子が局所表面をエッチングする反応種である場合には、表面形状が変化すると判定され得る。ステップＳ１５の処理を行うブロックは、変化判定部の例である。
【００２５】
表面形状がこの粒子により変化すると判定された場合には、レベルセット関数の値を更新する（ステップＳ１６）。具体的には、レベルセット関数の値を、形状変化前の表面形状を表す値から、形状変化後の表面形状を表す値に変更する。ステップＳ１６の処理を行うブロックは、関数更新部の例である。このように、本実施形態では、粒子が物質表面に衝突したと判定され、かつ表面形状がこの粒子により変化すると判定されたことを条件に、レベルセット関数の値を更新する。
【００２６】
粒子が物質表面に衝突したと判定された場合には、衝突によりこの粒子が消失するか否かも判定する（ステップＳ２１）。消失する場合の例は、吸着である。消失しない場合の例は、反射である。粒子が消失しないと判定された場合には、この粒子の軌道を修正し（ステップＳ２２）、この粒子についてステップＳ１４を再び実行する。
【００２７】
例えば、粒子が現実では確率Ｗで反射する場合には、ステップＳ２１で０から１の乱数を発生させてもよい。この場合、乱数の値が０からＷであれば、粒子は消失しない（粒子は反射する）と判定する。一方、乱数の値がＷから１であれば、粒子は消失する（粒子は吸着する）と判定する。粒子が反射すると判定された場合、粒子の反射角は、粒子の入射角に基づいて決定してもよいし、乱数によりランダムに決定してもよい。
【００２８】
粒子が物質表面に衝突したと判定された場合にはさらに、計算領域内に新たな粒子が生成されるか否かも判定する（ステップＳ２３）。生成される場合の例は、脱離である。新たな粒子が生成されると判定された場合には、この粒子についてステップＳ１４を再び実行する。
【００２９】
粒子が物質表面に衝突しなかったと判定された場合には、この粒子が体系外に移動したか否かを判定する（ステップＳ２４）。体系外への移動の詳細については後述する。粒子が体系外に移動していないと判定された場合には、この粒子の軌道を修正し（ステップＳ２５）、この粒子についてステップＳ１４を再び実行する。一方、粒子が体系外に移動したと判定された場合には、この粒子についての計算を終了する。
【００３０】
以上の処理は、変数Ｎの値が所定の値Ｎ０を超えるまで繰り返し実行される（ステップＳ１７）。値Ｎ０は、本実施形態の形状シミュレーションで取り扱う粒子の個数を表す。値Ｎ０の例は、１００万程度である。変数Ｎの値が所定の値Ｎ０を超えた場合には、ステップＳ４を終了し、ステップＳ５にて物質の最終形状を出力する（図１参照）。
【００３１】
なお、本実施形態では、変数Ｎの値以外の基準により、ステップＳ４を終了するタイミングを規定してもよい。このような基準の例は、堆積処理における膜厚、エッチング処理におけるエッチング深さ、種々の処理における処理時間などである。また、複数の基準を使用し、いずれかの基準が満たされた時点でステップＳ４を終了してもよい。
【００３２】
図７は、第１実施形態のレベルセット関数の更新方法を説明するための模式図である。
【００３３】
図７(ａ)は、計算領域内の２７個（３×３×３個）のセルＣを示している。図７(ｂ)は、図７(ａ)の中央のセルＣ１を示している。セルＣ１は、図７(ａ)のその他の２６個のセルＣに隣接している。図７(ｂ)はさらに、セルＣ１内の表面セグメントＡ１と、セルＣ１の頂点を構成する格子点Ｂ１〜Ｂ８とを示している。格子点Ｂ１〜Ｂ８は、セルＣ１とその他の２６個のセルＣとの間で共有されている。
【００３４】
上記のステップＳ１４では、各粒子の衝突位置のセルＣを特定する。このセルＣを衝突セルと呼ぶ。そして、衝突セルがセルＣ１である場合には、ステップＳ１６では、レベルセット関数の値のうち、セルＣ１の格子点Ｂ１〜Ｂ８におけるレベルセット関数の値のみを更新する。その結果、図７(ａ)の２７個のセルＣ内の表面セグメントの形状が変化する。これは、１つの粒子の衝突により物質表面の形状が局所的に変化する現象をモデル化したものである。
【００３５】
図８は、第１実施形態のレベルセット関数の更新方法を説明するための模式図である。
【００３６】
図８は、セルＣ１と、セルＣ１に衝突した粒子Ｐを示している。図８はさらに、物質表面Ｓが、粒子Ｐの衝突によりＳ１からＳ２に変化した様子を示している。図８から、物質表面Ｓの形状が局所的に変化していることが分かる。
【００３７】
ここで、本実施形態のプロセスと現実のプロセスとを比較する。
【００３８】
現実のプロセスでは、多数の粒子が空間内に同時に存在し、これらの粒子が、物質表面との衝突や表面形状の変化を同時並行的に起こす。一方、本実施形態では、計算領域内に複数の粒子を順番に与え、これらの粒子の物質に対する作用を別々に計算する。
【００３９】
また、現実のプロセスでは、１つの粒子が衝突するごとの表面形状の変化量が、物質の密度に依存する。一方、本実施形態では、１つの粒子が衝突するごとの表面形状の変化量が、セルＣのサイズに依存する。
【００４０】
そのため、本実施形態における衝突ごとの表面形状の変化は、現実のプロセスにおける変化を模擬するものではなく、仮想的な変化に相当する。理由は、本実施形態で衝突順に表面形状が変化していく様子は、現実のプロセスで時間順に表面形状が変化していく様子に対応するものではないからである。本実施形態では、多数の粒子の衝突により得られた表面形状の変化が、現実のプロセスでの変化と対応しており、その計算途中における表面形状の変化は、現実のプロセスでの変化とは対応していない。
【００４１】
本実施形態のレベルセット関数の更新は、レベルセット関数の更新が局所的に行われることを除き、一般的なレベルセット法でのレベルセット関数の更新ルーチンにより実行可能である。具体的には、レベルセット関数ψと速度関数Ｆが次の式（１）を満たすように更新を行う。
【００４２】
ψｔ＋Ｆ｜∇ψ｜＝０  ・・・（１）
ただし、∇はベクトル微分演算子を表し、｜∇ψ｜は∇ψのノルムを表し、ψｔはψの時間偏微分を表す。また、速度関数Ｆは、物質の局所的な表面移動速度を表す。
【００４３】
図９は、第１実施形態で取り扱う境界条件の例を示す断面図である。
【００４４】
上述のように、粒子が物質表面に衝突しなかったと判定された場合には、この粒子が体系外に移動したか否かを判定する（ステップＳ２４）。図９(ａ)は、体系外に移動する粒子Ｐの軌道Ｋ１を示している。本実施形態では、粒子Ｐが計算領域Ｒの上端に達した場合、粒子Ｐが体系外に移動したと判定する。この場合、粒子Ｐについての計算を終了する。
【００４５】
一方、図９(ｂ)と図９(ｃ)は、体系外に移動していない粒子Ｐを示している。本実施形態では、粒子Ｐが計算領域Ｒの側端に到達した場合、粒子Ｐが体系外に移動していないと判定する。この場合、粒子Ｐの軌道を境界条件により修正する（ステップＳ２５）。図９(ｂ)は、鏡面境界条件により修正された軌道Ｋ２を示している。図９(ｃ)は、周期境界条件により修正された軌道Ｋ３を示している。本実施形態では、鏡面境界条件と周期境界条件のいずれを適用してもよい。
【００４６】
以上のように、本実施形態では、粒子が物質表面に衝突するごとにレベルセット関数の更新を繰り返すことで、物質の最終形状を計算する。この際、粒子の軌道はＤＳＭＣ法により計算する。よって、本実施形態によれば、表面セグメントの個数の増大による計算速度の低下や計算時間の増大を抑制し、高速な形状シミュレーションを実現することが可能となる。また、本実施形態によれば、形状シミュレーションの高速化により、計算コストを低減することが可能となる。
【００４７】
また、本実施形態では、レベルセット関数の更新を、時間ステップごとではなく、粒子の衝突ごとに行う。よって、本実施形態によれば、時間ステップごとの関数更新による計算速度の低下や計算時間の増大を抑制し、さらに高速な形状シミュレーションを実現することが可能となる。例えば、本実施形態によれば、粒子フラックス分布の収束と物質形状の変形の計算を同時並行で実行できるため、時間ステップごとに粒子フラックス分布の収束を待つ必要がなくなり、物質の形状の時間発展の計算を高速化できる。
【００４８】
本実施形態では、レベルセット関数以外の関数を使用してもよいし、レベルセット関数用の格子点以外の点の関数値を使用してもよい。ただし、一般にレベルセット法は、形状表現が安定であり、形状精度も高い。例えばイオンと物質表面との相互作用を考慮する際には、イオンの入射角度により反応速度が大きく変化することが知られており、局所表面の方向ベクトルを高い精度で求める必要がある。この場合、レベルセット法では、レベルセット関数の傾きから精度良く簡単に表面ベクトルを算出することができる。よって、本実施形態の形状シミュレーションでは、レベルセット法を適用することが望ましい。
【００４９】
（第２実施形態）
図１０は、第２実施形態の形状シミュレーション方法を説明するための模式図である。
【００５０】
図１０は、物質表面Ｓを複数の表面セグメントＡに分割した様子を示している。図１０では、物質表面ＳがセルＣごとに分割されている。その結果、１つのセルＣ内の物質表面Ｓが、１つの表面セグメントＡとなっている。
【００５１】
堆積反応のシミュレーションにて堆積膜の堆積量を計算する場合、堆積量は、堆積反応に関わる粒子の大きさと、堆積膜の密度とに依存すると考えるのが自然である。よって、同じ種類の粒子Ｐ１、Ｐ２が物質表面に入射する場合には、粒子Ｐ１による堆積量と、粒子Ｐ２による堆積量は、同じであると考えるのが自然である。よって、第１実施形態のステップＳ１６では、堆積反応にて同じ種類の粒子Ｐ１、Ｐ２が物質表面に入射する場合、粒子Ｐ１による物質の体積増加量と、粒子Ｐ２による物質の体積増加量が同じになるように、レベルセット関数の値を更新する。
【００５２】
これは、エッチング反応でも同様である。第１実施形態のステップＳ１６では、エッチング反応にて同じ種類の粒子Ｐ１、Ｐ２が物質表面に入射する場合、粒子Ｐ１による物質の体積減少量と、粒子Ｐ２による物質の体積減少量が同じになるように、レベルセット関数の値を更新する。
【００５３】
しかしながら、物質の体積増加や体積減少を取り扱う場合、図１０に示すように、表面セグメントＡの面積が一定ではないことが問題となる。例えば、堆積反応にて粒子Ｐ１が小さい表面セグメントＡに衝突した場合には、表面セグメントＡの移動量が大きくなる。一方、堆積反応にて粒子Ｐ２が大きい表面セグメントＡに衝突した場合には、表面セグメントＡの移動量が小さくなる。理由は、粒子Ｐ１による物質の体積増加量と、粒子Ｐ２による物質の体積増加量が同じになるように、レベルセット関数の値を更新するからである。なお、体積増加量はおおむね、表面セグメントＡの面積と表面セグメントＡの移動量との積で決まる。
【００５４】
このように、粒子ごとの体積変化量を同じにすると、表面セグメントＡの位置によって表面セグメントＡの移動量が変化する。その結果、平坦な物質表面Ｓに複数の粒子が一様に入射する状況をシミュレートする場合に、物質表面Ｓに凹凸が生じるシミュレーション結果が得られてしまう。一方、平坦な物質表面Ｓに複数の粒子が一様に入射するプロセスを現実に行う場合、物質表面Ｓに凹凸は生じないことが一般的である。例えば、現実の堆積反応では、物質表面Ｓは一様に上昇していく。また、現実のエッチング反応では、物質表面Ｓは一様に下降していく。よって、粒子ごとの体積変化量を同じにすると、シミュレーション結果が現実の結果と整合しなくなる可能性がある。
【００５５】
そこで、本実施形態では、上記のステップＳ１６を実行する際に、粒子が衝突するごとの物質の表面移動距離が一定となるように、レベルセット関数の値を更新する。具体的には、物質表面Ｓに１つの粒子が衝突した場合に、この衝突による表面移動距離が式（１）のＦ｜∇ψ｜の値になるように、レベルセット関数の値を更新する。よって、本実施形態によれば、形状シミュレーションの結果を現実の結果に近づけることが可能となる。
【００５６】
ここで、本実施形態と一般的な形状シミュレーションとを比較する。
【００５７】
一般的な形状シミュレーションでは、物質表面Ｓのフラックスを計算する際に速度関数Ｆを取り扱う。速度関数Ｆは、堆積速度やエッチング速度に対応する。一方、ＤＳＭＣ法による形状シミュレーションでは、多数の粒子を飛ばして衝突をシミュレートした後でなければ、物質表面Ｓのフラックスを計算することはできない。よって、本実施形態では、衝突ごとにフラックスを計算することはできず、衝突ごとのフラックスにより堆積量やエッチング量を決定することはできない。しかしながら、本実施形態では、Ｆ｜∇ψ｜の値を用いて衝突ごとのレベルセット関数の値を更新することで、フラックスを用いる場合と同様の精度のよい形状シミュレーションを実現することが可能となる。
【００５８】
（第３実施形態）
図１１は、第３実施形態の形状シミュレーション方法を説明するための模式図である。
【００５９】
図１１は、セルＣ１と、セルＣ１内の表面セグメントＡ１と、セルＣ１の頂点を構成する格子点Ｂ１〜Ｂ４とを示している。格子点Ｂ１、Ｂ２は物質の外部に位置しているため、格子点Ｂ１、Ｂ２におけるレベルセット関数ψの値は正である（ψ＞０）。一方、格子点Ｂ３、Ｂ４は物質の外部に位置しているため、格子点Ｂ３、Ｂ４におけるレベルセット関数ψの値は負である（ψ＜０）。このように、セルＣ１が物質表面Ｓに位置する場合、セルＣ１を構成する格子点Ｂ１〜Ｂ４におけるレベルセット関数ψの値は、正の値と負の値の両方を取り得る。
【００６０】
図１２は、第３実施形態の形状シミュレーション方法を説明するための模式図である。
【００６１】
図１２は、物質表面Ｓに入射する粒子Ｐを示している。符号ｎは、物質表面Ｓの法線ベクトルを示す。符号θは、粒子Ｐの運動方向と法線ベクトルｎとの角度を示す。図１２はさらに、物質の外部に位置する空間セルＣＡと、物質表面Ｓに位置する表面セルＣＢと、物質の内部に位置する内部セルＣＣとを示している。空間セルＣＡを構成する各格子点では、レベルセット関数ψの値が正になる。内部セルＣＣを構成する各格子点では、レベルセット関数ψの値が負になる。
【００６２】
ここで、図１１と図１２を参照して、上記のステップＳ１４について説明する。図１１のセルＣ１は、表面セルＣＢに相当する。第１および第２実施形態では、粒子ＰがセルＣ１に衝突したか否かを、粒子Ｐの軌道がセルＣ１内の表面セグメントＡ１と交差するか否かに基づいて判定する（ステップＳ１４）。一方、本実施形態では、粒子ＰがセルＣ１に衝突したか否かを、セルＣ１を構成する格子点Ｂ１〜Ｂ４におけるレベルセット関数ψの値、または、セルＣ１以外の表面セルＣＢを構成する格子点におけるレベルセット関数ψの値に基づいて判定する（ステップＳ１４）。本実施形態によれば、表面セグメントＡ１の位置の計算を省略して衝突判定を行うことで、頻繁に行われる衝突判定の計算を高速化することが可能となる。
【００６３】
図１３は、第３実施形態の形状シミュレーション方法を示すフローチャートである。図１３は、第３実施形態におけるステップＳ１４の流れを示している。
【００６４】
まず、粒子の軌道を計算し、軌道上の各セルの種類を特定する。あるセルを構成する全格子点におけるψが正であれば、そのセルは空間セルＣＡである。また、あるセルを構成する全格子点におけるψが負であれば、そのセルは内部セルＣＣである。また、あるセルを構成する格子点におけるψが０を含む、または正の値と負の値の両方を含む場合には、そのセルは表面セルＣＢである。これにより、粒子が最初に入射する内部セルＣＣを特定する（ステップＳ３１）。この場合、粒子は、この内部セルＣＣに到達する前に通過したいずれかの表面セルＣＢで、物質表面Ｓに衝突したと考えられる。
【００６５】
そこで、粒子が最初に入射する内部セルＣＣを特定したら、粒子がこの内部セルＣＣに到達する前に最後に通過した表面セルＣＢを特定する（ステップＳ３２）。ここで、ステップＳ３１にて特定された内部セルＣＣの中心と物質表面Ｓは、平均してセルサイズ程度の距離だけ離れていると考えられる。この場合、衝突位置からこの内部セルＣＣまでの粒子の平均移動距離は、セルサイズ／ｃｏｓθで与えられる。よって、粒子は、軌道上でこの内部セルＣＣからセルサイズ／ｃｏｓθだけ離れた表面セルＣＢで、物質表面Ｓに衝突したと考えられる。よって、本実施形態では、セルサイズ／ｃｏｓθの値を用いて衝突位置を特定する。
【００６６】
具体的には、ステップＳ３２にて特定された表面セルＣＢにおける法線ベクトルｎを計算し、法線ベクトルｎから上記の角度θを計算する（ステップＳ３３、Ｓ３４）。この表面セルＣＢにおける法線ベクトルｎは、この表面セルＣＢを構成する格子点におけるレベルセット関数ψの値から計算可能である。例えば、この表面セルＣＢが図１１のセルＣ１である場合には、この法線ベクトルｎは、セルＣ１を構成する格子点Ｂ１〜Ｂ４におけるレベルセット関数ψの値から計算可能である。
【００６７】
次に、粒子の位置を、ステップＳ３１にて特定された内部セルＣＣから軌道上でセルサイズ／ｃｏｓθの距離だけ戻す。そして、この位置のセルが表面セルＣＢであれば、この表面セルＣＢが衝突位置にあると判断する。この表面セルＣＢは、ステップＳ３２にて特定された表面セルＣＢと同じ場合もあるし異なる場合もある。一方、この位置のセルが空間セルＣＡであれば、粒子がこの空間セルＣＡを通過した後に最初に到達した表面セルＣＢが衝突位置にあると判断する。このようにして、粒子の衝突位置が決定される（ステップＳ３５）。
【００６８】
以上のように、本実施形態では、粒子が最初に入射する内部セルＣＣを特定し、粒子がこの内部セルＣＣに到達する前に最後に通過した表面セルＣＢを特定し、粒子の衝突位置のセルを、この表面セルＣＢを構成する格子点におけるレベルセット関数ψの値に基づいて特定する。具体的には、レベルセット関数ψの値から法線ベクトルｎを計算し、法線ベクトルｎから角度θを計算し、セルサイズ／ｃｏｓθの値に基づいて衝突位置のセルを特定する。よって、本実施形態によれば、表面セグメントに関する計算を省略して衝突判定を行うことで、衝突判定の計算を高速化することが可能となる。
【００６９】
（第４実施形態）
図１４は、第４実施形態の形状シミュレーション方法を説明するための模式図である。
【００７０】
本実施形態のセルＣは、セルＣ内の物質の特性を示す特性情報を保持可能である。例えば、図１４(ａ)の各セルＣは、各セルＣ内の物質の種類を示す識別子として、０または１の値を有している。値０は、物質がシリコンであることを示す。値１は、物質がシリコン酸化物であることを示す。このような識別子は例えば、シリコンの酸化反応における形状シミュレーションを行う場合に使用される。
【００７１】
本実施形態の形状シミュレーションは、セルＣが保持する特性情報を使用して実行される。例えば、酸素分子があるセルＣに衝突した場合には、このセルＣの形状が変化するか否かを、このセルＣの識別子に基づいて判定する（図６のステップＳ１５）。このとき、識別子が０（シリコン）である場合には、シリコンの酸化に対応して識別子を１（シリコン酸化物）に変更すると共に、このセルＣの形状が変化すると判定する。その結果、このセルＣを構成する格子点におけるレベルセット関数の値が更新される（ステップＳ１６）。一方、識別子が１（シリコン酸化物）である場合には、このセルＣの形状は変化しないと判定する。その結果、このセルＣを構成する格子点におけるレベルセット関数の値は更新されない（ステップＳ１６）。このように、本実施形態では、セルＣが保持する特性情報が、レベルセット関数の値の更新に影響する。
【００７２】
同様に、フッ素分子があるセルＣに衝突した場合にも、このセルＣの形状が変化するか否かを、このセルＣの識別子に基づいて判定する（図６のステップＳ１５）。このとき、識別子が１（シリコン酸化物）である場合には、シリコン酸化物の還元に対応して識別子を０（シリコン）に変更すると共に、このセルＣの形状が変化すると判定する。その結果、このセルＣを構成する格子点におけるレベルセット関数の値が更新される（ステップＳ１６）。一方、識別子が０（シリコン）である場合には、このセルＣの形状は変化しないと判定する。その結果、このセルＣを構成する格子点におけるレベルセット関数の値は更新されない（ステップＳ１６）。
【００７３】
なお、図１４(ａ)の例では、各セルＣはシリコンとシリコン酸化物の一方のみを含むと想定しており、各セルＣがシリコンとシリコン酸化物の両方を含み得るとは想定していない。各セルＣがこれらの両方を含み得ると想定する場合には、各セルＣの被覆率を導入することが考えられる。例えば、あるセルＣの被覆率が３０％である場合には、このセルＣは、３０％のシリコンと７０％のシリコン酸化物とを含んでいる。図１４(ａ)の例では、ある程度長い時間のプロセスを模擬する形状シミュレーションを行うことで、被覆率を導入した場合と同等の精度の最終形状を出力することができる。
【００７４】
また、図１４(ｂ)の各セルＣは、各セルＣ内の物質の組成を示す識別子として、０〜１の値を有している。この値は、ＳｉＸＮ１−Ｘ（シリコン窒化物）におけるシリコンの組成比を示す。このような識別子は例えば、シリコン窒化物の堆積反応における形状シミュレーションを行う場合に使用される。
【００７５】
このように、各セルＣの特性情報を数値で表す場合、この数値の種類は、図１４(ａ)のように少なくてもよいし、図１４(ｂ)のような多くてもよい。例えば、セルＣ内の物質の種類を図１４(ａ)のような値で取り扱うことには、吸着や脱離の平衡を考慮するラングミュアタイプの表面反応を取り扱いやすいという利点がある。また、セルＣ内の物質の特性を図１４(ｂ)のような値で取り扱うことには、複雑な特性を有する物質を正確に取り扱うことができるという利点がある。
【００７６】
（第５実施形態）
図１５は、第５実施形態の形状シミュレーション装置の構成を示す外観図である。
【００７７】
図１５の形状シミュレーション装置は、制御部１１と、表示部１２と、入力部１３とを備えている。
【００７８】
制御部１１は、形状シミュレーション装置の動作を制御するデバイスである。制御部１１は例えば、第１から第４実施形態のいずれかの形状シミュレーション方法を実行する。
【００７９】
表示部１２は、液晶モニタなどの表示デバイスを備えている。表示部１２は例えば、形状シミュレーションの設定情報の入力画面や、形状シミュレーションの計算結果の出力画面を表示する。
【００８０】
入力部１３は、キーボード１３ａやマウス１３ｂなどの入力デバイスを備えている。入力部１３は例えば、形状シミュレーションの設定情報の入力用に使用される。
【００８１】
図１６は、図１５の制御部１１の構成を示すブロック図である。
【００８２】
制御部１１は、ＣＰＵ（Central Processing Unit）２１と、ＲＯＭ（Read Only Memory）２２と、ＲＡＭ（Random Access Memory）２３と、ＨＤＤ（Hard Disk Drive）２４と、ＣＤ（Compact Disc）ドライブやＤＶＤ（Digital Versatile Disk）ドライブなどのメモリドライブ２５と、メモリポートやメモリスロットなどのメモリＩ／Ｆ（Interface）２６とを備えている。
【００８３】
本実施形態では、第１から第４実施形態のいずれかの形状シミュレーション方法を実行するための形状シミュレーションプログラムが、ＲＯＭ２２またはＨＤＤ２４内に格納されている。入力部１３から所定の指示が入力されると、ＣＰＵ２１は、ＲＯＭ２２またはＨＤＤ２４から形状シミュレーションプログラムを読み出し、読み出したプログラムをＲＡＭ２３に展開し、このプログラムにより形状シミュレーションを実行する。この処理の際に生じる各種データは、ＲＡＭ２３内に保持される。
【００８４】
なお、本実施形態では、形状シミュレーションプログラムを非一時的に記録したコンピュータ読み取り可能な記録媒体を用意し、この記録媒体からＲＯＭ２２またはＨＤＤ２４内に形状シミュレーションプログラムをインストールしてもよい。このような記録媒体の例は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭである。
【００８５】
また、本実施形態では、形状シミュレーションプログラムをインターネットなどのネットワーク経由でダウンロードして、ＲＯＭ２２またはＨＤＤ２４内にインストールしてもよい。
【００８６】
以上のように、本実施形態によれば、第１から第４実施形態の形状シミュレーション方法を実行するための形状シミュレーション装置や形状シミュレーションプログラムを提供することが可能となる。
【００８７】
以上、いくつかの実施形態を説明したが、これらの実施形態は、例としてのみ提示したものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新規な装置、方法、およびプログラムは、その他の様々な形態で実施することができる。また、本明細書で説明した装置、方法、およびプログラムの形態に対し、発明の要旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。添付の特許請求の範囲およびこれに均等な範囲は、発明の範囲や要旨に含まれるこのような形態や変形例を含むように意図されている。
【符号の説明】
【００８８】
１：基板、２：第１の被加工層、３：第２の被加工層、
４：開口部、５：セルトランジスタ、
５ａ：第１絶縁膜、５ｂ：第１電極層、５ｃ：第２絶縁膜、５ｄ：第２電極層、
１１：制御部、１２：表示部、１３：入力部、
１３ａ：キーボード、１３ｂ：マウス、
２１：ＣＰＵ、２２：ＲＯＭ、２３：ＲＡＭ、２４：ＨＤＤ、
２５：メモリドライブ、２６：メモリＩ／Ｆ
【図１】
2017162286.tif 000003
【図２】
2017162286.tif 000004
【図３】
2017162286.tif 000005
【図４】
2017162286.tif 000006
【図５】
2017162286.tif 000007
【図６】
2017162286.tif 000008
【図７】
2017162286.tif 000009
【図８】
2017162286.tif 000010
【図９】
2017162286.tif 000011
【図１０】
2017162286.tif 000012
【図１１】
2017162286.tif 000013
【図１２】
2017162286.tif 000014
【図１３】
2017162286.tif 000015
【図１４】
2017162286.tif 000016
【図１５】
2017162286.tif 000017
【図１６】
2017162286.tif 000018