(57)【特許請求の範囲】
【請求項１】
複数の構造因子に複数の目標特性値が依存する一続きの系について、前記構造因子から前記目標特性値に調整するために選択した複数の制御因子に複数の水準を設定し、
前記水準を直交させて選択した複数の実験の組を設定し、
トレードオフの関係にある前記目標特性値を基準特性値として選択し、
前記基準特性値の前記系において満たすべき基準値を設定し、
前記基準特性値を増減可能な前記構造因子を前記制御因子とは別に事前調整因子として選択し、
前記基準特性値が前記基準値になるように前記実験の組毎に対応する前記系の事前調整因子の調整値を計算機を用いて決定し、
前記調整値と前記実験の組毎に対応する前記系の前記目標特性値を前記調整値を用いて複数の実験特性値として求め、
前記実験の組と前記実験特性値に基づいて前記目標特性値の最適値と前記最適値を与える前記水準の組を直交表の工程平均値計算により最適の組として求めることを特徴とする最適化方法。
【請求項２】
構造を規定する複数の目標特性値を増減可能な複数の構造因子を制御因子として選択し、
前記目標特性値とトレードオフの関係にある前記構造の基準特性値を選択し、
前記構造において満たすべき前記基準特性値の基準値を設定し、
前記基準特性値を増減可能な前記構造因子を制御因子とは別に事前調整因子として選択し、
前記構造因子毎の値からなる複数のサンプル組を設定し、
前記サンプル組毎に対応して前記基準特性値が前記基準値になるように前記事前調整因子の調整値を計算機を用いて決定し、
計算機を用いて前記調整値と前記サンプル組毎に対応する前記構造の前記目標特性値のサンプル値を前記調整値を用いて求め、
前記サンプル組と前記サンプル値に基づいて前記目標特性値の最適値と前記最適値を有する前記構造に対応する前記構造因子の値の最適組を求めることを特徴とする最適化方法。
【請求項３】
前記サンプル組毎に対応して前記基準特性値が前記基準値になるように前記事前調整因子の調整値を計算機を用いて決定することでは、
前記計算機が出力した前記調整値に基づく前記基準特性値を含む出力データを、前記出力データの計算機出力フォーマットに基づいてトークンに分割し、
分割された前記トークンを並べた第１トークン列を生成し、
前記計算機出力フォーマットに基づいて、前記第１トークン列から前記基準特性値が抽出可能な第２トークン列を生成し、
前記第２トークン列を用いて、前記第１トークン列から前記基準特性値を抽出することを特徴とする請求項２に記載の最適化方法。
【請求項４】
前記サンプル組毎に対応して前記基準特性値が前記基準値になるように前記事前調整因子の調整値を計算機を用いて決定することでは、
前記計算機が出力した前記調整値に基づく前記基準特性値を含む出力データを、前記出力データの計算機出力フォーマットに基づいてトークンに分割し、
分割された前記トークンを並べた第１トークン列を生成し、
前記計算機出力フォーマットに基づいて、前記第１トークン列から前記基準特性値を生成可能であり複数の第３トークン列を有する第２トークン列を生成し、
前記第１トークン列から前記第２トークン列を抽出することを特徴とする請求項２又は請求項３に記載の最適化方法。
【請求項５】
複数の構造因子に複数の目標特性値が依存する一続きの系について、前記構造因子から選択した複数の制御因子に複数の水準を設定する条件表エディター部と、
前記水準を直交させて選択した複数の実験の組を設定する直交表生成部と、
トレードオフの関係にある前記目標特性値を基準特性値として選択し、前記基準特性値の前記系において満たすべき基準値を設定し、前記基準特性値を増減可能な前記構造因子を事前調整因子として選択する入力データエディター部と、
前記基準特性値が前記基準値になるように前記実験の組毎に対応する前記系の事前調整因子の調整値を計算機を用いて決定する調整部と、
前記調整値と前記実験の組毎に対応する前記系の前記目標特性値を前記調整値を用いて複数の実験特性値として求める直交表実験実施制御部と、
前記実験の組と前記実験特性値に基づいて前記目標特性値の最適値と前記最適値を与える前記水準の組を最適の組として求める後処理部を有することを特徴とする最適化システム。
【請求項６】
複数の構造因子に複数の目標特性値が依存する一続きの系について、前記構造因子から前記目標特性値に調整するために選択した複数の制御因子に複数の水準を設定し、
前記水準を直交させて選択した複数の実験の組を設定し、
トレードオフの関係にある前記目標特性値を基準特性値として選択し、
前記基準特性値の前記系において満たすべき基準値を設定し、
前記基準特性値を増減可能な前記構造因子を前記制御因子とは別に事前調整因子として選択し、
前記基準特性値が前記基準値になるように前記実験の組毎に対応する前記系の事前調整因子の調整値を計算機を用いて決定し、
前記調整値と前記実験の組毎に対応する前記系の前記目標特性値を前記調整値を用いて複数の実験特性値として求め、
前記実験の組と前記実験特性値に基づいて前記目標特性値の最適値と前記最適値を与える前記水準の組を直交表の工程平均値計算により最適の組として求める最適化を行い、
最適化した組に基づいて前記系を構成する被処理体に処理を行って装置を製造する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機を用いて構造など多数のパラメータに依存する系の最適化を行う最適化方法、及びその最適化システム、さらに、その系を構成する被処理体に最適化方法の処理を行って装置を製造する方法に関する。
【背景技術】
【０００２】
近年、TCAD（Technology Computer Aided Design）技術を用い、半導体の製造工程および電気特性評価のシミュレーションを行うことによって半導体素子を最適化設計することが頻繁に行われるようになってきている。
【０００３】
微細なMOSFETなどの構造を最適化して優れた特性を実現するために、応答曲面法や直交表実験に従って実験やシミュレーションが用いられている。特に、これらの最適化方法とシミュレーションを用いることは、実際の試作をせずに最適化の検討を行うことができるため、有効である。
【０００４】
これに伴って、直交表を用いた実験計画法や、準Newton法などの最適値の探索法を用い、予め指定された条件にしたがって、シミュレーションの入力データを自動的に変更し、所望の計算結果を得るためのシステムが提案されている（例えば、特許文献１参照。）。
【０００５】
そのような半導体素子のシミュレーションで用いられる入力データは、通常、数百から数千の変更可能な製造パラメータが含まれているが、構造の最適化を行う一連のシミュレーションでは、それら全てを変化させることはほとんどなく、目的とする目標特性に影響が大きいと思われる製造パラメータを変化させる。これは、著しく多数のパラメータ（現状では一般的に１０個以上）を扱うと最適解探索空間の次元が過大となり、直交表を用いた実験計画表や、準Newton法などの最適値の探索法では膨大な演算回数を要する様になるためである。ただし仮に、実験計画法等の最適解探索法で、パラメータの目標特性に対する効果が主効果だけ大きな交互作用や特異点が無い事を前提にすれば、演算回数を大幅に減らす事が可能になる。
【０００６】
しかしながら、例えば閾値電圧Vthによって大きく変化するようなMOSFETの駆動電流Ion特性、オフリーク電流Ioff特性の最適化設計を直交表を用いた実験計画法で行う場合に、平均値や分散を直交表の工程平均値計算で推定すると、交互作用成分が有ると推定の誤差が大きくなってしまうため、主効果により最適解を推定する事と多数のパラメータを扱う事は、両立しなかった。
【０００７】
MOSFET等の複雑な構造の最適化においては、最適化される構造は複数の特性値と複数の共有する製造パラメータ(構造因子)を有する系であると考えられる。複数の特性値が、構造因子を共有して依存する。そして、一つの特性値の仕様を満たそうとすると、他の目標が満たされないトレードオフの関係が、最適化の検討の際に生じやすい。このように、互いに目標に対して相反するトレードオフの関係に有る目標特性間や特性間で共有する因子水準の寄与方向にトレードオフの関係を有する構造因子を有する系の最適化設計は、目標特性間で共有されていない構造因子や因子水準の向きにトレードオフが無い構造因子を見つけなければならず、必然的に多数の構造因子の水準値を扱わないと前記トレードオフ関係を解消する事はできない。
【０００８】
ＥＷＳの演算能力の進歩により、従来人的リソースを使用することで対処されてきたシミュレータの入力データの変更、シミュレータの起動、シミュレータの計算結果の整理が自動化され、半導体素子の最適化設計の効率が大幅に向上してきた。多数のパラメータを直交表に従って割り付け入力してシミュレーションを実行する事が容易になってきた。シミュレーションで多数のパラメータを扱って複数の目標特性値を同時に満足する全体最適設計を行うと全体最適化設計が著しく効率化するが、交互作用や特異点が存在する可能性が、多パラメータ化を困難にしている。
【特許文献１】特開２００２−２５９４６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、複数の特性値がトレードオフの関係を有していても構造因子の最適化が可能な最適化方法を提供することにある。
【００１０】
また、本発明の目的は、複数の特性値がトレードオフの関係を有していても構造因子の最適化が可能な最適化システムを提供することにある。
【００１１】
また、本発明の目的は、複数の特性値がトレードオフの関係を有していても構造因子の最適化が可能な最適化方法を用いて装置を製造する方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するための本発明の第１の特徴は、複数の構造因子に複数の目標特性値が依存する一続きの系について構造因子から目標特性値に調整するために選択した複数の制御因子に複数の水準を設定し、水準を直交させて選択した複数の実験の組を設定し、トレードオフの関係にある目標特性値を基準特性値として選択し、基準特性値の系において満たすべき基準値を設定し、基準特性値を増減可能な構造因子を制御因子とは別に事前調整因子として選択し、基準特性値が基準値になるように実験の組毎に対応する系の事前調整因子の調整値を計算機を用いて決定し、調整値と実験の組毎に対応する系の目標特性値を調整値を用いて複数の実験特性値として求め、実験の組と実験特性値に基づいて目標特性値の最適値と最適値を与える水準の組を直交表の工程平均値計算により最適の組として求める最適化方法にある。
【００１３】
本発明の第２の特徴は、構造を規定する複数の目標特性値を増減可能な複数の構造因子を制御因子として選択し、目標特性値とトレードオフの関係にある構造の基準特性値を選択し、構造において満たすべき基準特性値の基準値を設定し、基準特性値を増減可能な構造因子を制御因子とは別に事前調整因子として選択し、構造因子毎の値からなる複数のサンプル組を設定し、サンプル組毎に対応して基準特性値が基準値になるように事前調整因子の調整値を計算機を用いて決定し、計算機を用いて調整値とサンプル組毎に対応する構造の目標特性値のサンプル値を調整値を用いて求め、サンプル組とサンプル値に基づいて目標特性値の最適値と最適値を有する構造に対応する構造因子の値の最適組を求める最適化方法にある。
【００１４】
本発明の第３の特徴は、複数の構造因子に複数の目標特性値が依存する一続きの系について構造因子から選択した複数の制御因子に複数の水準を設定する条件表エディター部と、水準を直交させて選択した複数の実験の組を設定する直交表生成部と、トレードオフの関係にある目標特性値を基準特性値として選択し、基準特性値の系において満たすべき基準値を設定し、基準特性値を増減可能な構造因子を事前調整因子として選択する入力データエディター部と、基準特性値が基準値になるように実験の組毎に対応する系の事前調整因子の調整値を計算機を用いて決定する調整部と、調整値と実験の組毎に対応する系の目標特性値を調整値を用いて複数の実験特性値として求める直交表実験実施制御部と、実験の組と実験特性値に基づいて目標特性値の最適値と最適値を与える水準の組を最適の組として求める後処理部を有する最適化システムにある。本発明の第４の特徴は、複数の構造因子に複数の目標特性値が依存する一続きの系について、構造因子から目標特性値に調整するために選択した複数の制御因子に複数の水準を設定し、水準を直交させて選択した複数の実験の組を設定し、トレードオフの関係にある目標特性値を基準特性値として選択し、基準特性値の系において満たすべき基準値を設定し、基準特性値を増減可能な構造因子を制御因子とは別に事前調整因子として選択し、基準特性値が基準値になるように実験の組毎に対応する系の事前調整因子の調整値を計算機を用いて決定し、調整値と実験の組毎に対応する系の目標特性値を調整値を用いて複数の実験特性値として求め、実験の組と実験特性値に基づいて目標特性値の最適値と最適値を与える水準の組を直交表の工程平均値計算により最適の組として求める最適化を行い、最適化した組に基づいて系を構成する被処理体に処理を行って装置を製造する方法にある。
【発明の効果】
【００１５】
以上説明したように、本発明によれば、複数の特性値がトレードオフの関係を有していても構造因子の最適化が可能な最適化方法を提供できる。
【００１６】
また、本発明によれば、複数の特性値がトレードオフの関係を有していても構造因子の最適化が可能な最適化システムを提供できる。
【００１７】
また、本発明によれば、複数の特性値がトレードオフの関係を有していても構造因子の最適化が可能な最適化方法を用いて装置を製造する方法を提供できる。
【発明を実施するための最良の形態】
【００１８】
次に、図面を参照して、本発明の実施の形態について説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。また、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なることに留意すべきである。
【００１９】
（実施の形態）
（最適化システム）
図１に示すように、実施の形態に係る最適化システム１は、事前調整因子の探索条件設定部２、探索条件記憶部３、シミュレーション制御部４、探索制御部５、事前調整因子の水準記憶部６、文字列置換部７、シミュレータ８、文字列抽出部１２、基準特性と目標特性の特性値記憶部１３、入力データ記憶部１４、条件表記憶部１５、直交表生成部１６、入力データエディター部１７、条件表エディター部１８、整理部１９、結果一覧表記憶部２０、調整部２１、事前調整因子の調整済み水準値と基準特性の特性値記憶部２２、基準特性の特性値判定部２３、直交表実験実施制御部２４、後処理部２５と目標特性の特性値判定部２６を有している。
【００２０】
条件表エディター部１８は、複数の構造因子に複数の目標特性値が依存する一続きの系について、構造因子から目標値に調整するために選択した複数の制御因子に複数の水準を設定する。
【００２１】
直交表生成部１６は、水準を直交させて選択した複数の実験の組を設定する。条件表記憶部１５は、制御因子、制御因子の水準と、水準を直交させて選択した複数の実験の組を記憶する。
【００２２】
入力データエディター部１７は、トレードオフの関係にある目標特性値を基準特性値として選択し、基準特性値の系において満たすべき基準値を設定し、基準特性値を増減可能な構造因子を制御因子とは別に事前調整因子として選択する。なお、他の目標特性値に合わせ込むために用意した制御因子との間に交互作用ができるだけ少ない構造因子を制御因子とは別に選択したものが事前調整因子である。また、入力データエディター部１７は、誤差因子を選択し、誤差因子の水準値、誤差因子の水準値から調合された誤差条件を設定する。入力データ記憶部１４は、基準特性値、基準値、事前調整因子、誤差因子、誤差因子の水準値、誤差因子の水準値から調合された誤差条件を記憶している。なお、事前調整因子と制御因子は互いに異なる構造因子である。入力データエディター部１７は、目標特性値とトレードオフの関係にある基準特性値を選択することでは、目標特性値毎に許容範囲を設定し、許容範囲を満たさない目標特性値の中から基準特性値を選択する。入力データエディター部１７は、目標特性値とトレードオフの関係にある基準特性値を選択することでは、目標特性値毎に目標特性値のバラツキの許容範囲を設定し、許容範囲を満たさない目標特性値の中から基準特性値を選択する。入力データエディター部１７は、基準特性値を増減可能な構造因子を調整因子として選択することでは、基準特性値に対する構造因子の感度を計算し、感度の高い構造因子から事前調整因子を選択する。
【００２３】
事前調整因子の探索条件設定部２は、基準特性値が実質的に基準値になるように実験の組毎に対応する系の事前調整因子の値の探索方法として準ニュートン法、２分法、反復法、内挿と外挿等の方法が選択され、それぞれの方法を実施するためのシミュレーションの条件を設定する。探索条件記憶部３では、設定された探索方法を実施するためのシミュレーションの条件を記憶する。
【００２４】
探索制御部５では、シミュレーションの条件に基づいて、事前調整因子の水準値を変更する。事前調整因子の水準記憶部６は、変更される度に事前調整因子の水準値を記憶する。
【００２５】
文字列置換部７は、シミュレータ８が入力可能なデータのフォーマットに、事前調整因子の水準記憶部６の事前調整因子の水準値、条件表記憶部１５の制御因子の水準と、入力データ記憶部１４の誤差因子の水準値を変換する。
【００２６】
シミュレータ８は、入力値記憶部９、シミュレーション実行部１０と出力値記憶部１１を有している。入力値記憶部９は、フォーマットされた事前調整因子の水準値、制御因子の水準と、誤差因子の水準値を記憶する。シミュレーション実行部１０は、事前調整因子の水準値である探索値、制御因子の水準の実験の組と、誤差因子の水準値に基づいて、系の目標特性の特性値と基準特性の探索特性値を算出する。出力値記憶部１１は、算出された目標特性の特性値と基準特性の探索特性値を記憶する。また、シミュレーション制御部４は、シミュレータ８の入力値の入力のタイミングと、出力値の出力のタイミングを調整し、シミュレータの連続動作を可能にする。
【００２７】
文字列抽出部１２は、目標特性の特性値と基準特性の基準特性値を最適化システム１が処理可能なデータのフォーマットに変換する。具体的には、シミュレータ８から目標特性の特性値と基準特性の基準特性値はＡＳＣＩＩ文字による文字列として出力される。文字列抽出部１２は、この文字列から目標特性の特性値と基準特性の特性値を抽出する。基準特性と目標特性の特性値記憶部１３は、抽出された目標特性の特性値と基準特性の基準特性値を記憶する。
【００２８】
整理部１９は、シミュレータ８の入力値と対応するシミュレータ８の出力値を互いに一方から他方が抽出可能なように関係付けた結果一覧表を生成する。結果一覧表記憶部２０は、生成した結果一覧表を記憶する。
【００２９】
調整部２１は、結果一覧表の探索値と探索特性値に基づいて、基準特性値が実質的に基準値になるように実験の組毎に対応する系の事前調整因子の調整済み水準値である調整値を決定する。また、調整部２１は、調整値における基準特性の基準特性値を出力する。調整部２１は、基準特性値の基準値からのずれの許容値を設定し、基準特性値の基準値からのずれを許容値以下とする事前調整因子の水準値を調整値に設定する。調整値と基準特性の基準特性値記憶部２２は、調整値と対応する基準特性の基準特性値を記憶する。
【００３０】
基準特性の特性値判定部２３は、調整値における基準特性値が実質的に基準値であるか否か判定する。調整値における基準特性値が実質的に基準値でない場合は、入力データエディター部１７と条件表エディター部１８で出力値の変更を行う。調整値における基準特性値が実質的に基準値である場合は、直交表実験実施制御部２４において処理が行われる。
【００３１】
直交表実験実施制御部２４は、調整値と実験の組毎に対応する系の目標特性値を複数の実験特性値として求める。直交表実験実施制御部２４は、事前調整因子の水準記憶部６の事前調整因子の値を調整値に変更する。シミュレータ８は、この調整値を用いて目標特性の実験特性値を算出する。
【００３２】
後処理部２５は、実験の組と実験特性値に基づいて目標特性値の最適値と最適値を与える水準の組を直交表の工程平均値計算により最適の組として求める。
【００３３】
目標特性の特性値判定部２６は、目標特性値の最適値が所望の目標値を達成しているか否か判定する。目標特性値の最適値が所望の目標値を達成していない場合は、入力データエディター部１７と条件表エディター部１８で出力値の変更を行う。目標特性値の最適値が所望の目標値を達成している場合は、最適化を終了する。
【００３４】
図２に示すように、文字列抽出部１２は、抽出位置とフォーマットデータ作成登録部３１、複数の記憶部である第１抽出位置と第１フォーマット記憶部３２、・・・、第ｎ抽出位置と第ｎフォーマット記憶部３３、抽出位置とフォーマットデータ選択部３４、適応位置と適応フォーマット記憶部３５、抽出実行部３６を有している。
【００３５】
抽出位置とフォーマットデータ作成登録部３１は、オペレータによる端末２７からの入力により、出力値記憶部１１に記憶されている基準特性値等を含んだ出力値のＡＳＣＩＩ文字の文字列から基準特性値等の所望の文字列を抽出する抽出位置のデータと、出力値のＡＳＣＩＩ文字の文字列と抽出された文字列のフォーマットのデータを作成する。第１抽出位置と第１フォーマット記憶部３２、・・・、第ｎ抽出位置と第ｎフォーマット記憶部３３は、抽出位置のデータとフォーマットのデータを記憶する。抽出位置のデータとフォーマットのデータは、シミュレータ８毎に異なり、シミュレーション８が算出する基準特性値や目標特性値の算出対象によっても異なるので、複数の記憶部３２、３３を有していると便利である。なお、抽出位置のデータとは、所望の文字列の存在する行数、列数の指定、検索可能なタイトル文字の指定、デリミタと単語の順番の指定等である。また、フォーマットのデータとは、いわゆるフォーマット形式とか格納変数のことである。
【００３６】
抽出位置とフォーマットデータ選択部３４は、出力値記憶部１１に記憶されている出力値のＡＳＣＩＩ文字の文字列に対応する抽出位置のデータとフォーマットのデータを、記憶部３２、３３から選択する。
【００３７】
抽出実行部３６は、選択された抽出位置のデータとフォーマットのデータに基づいて、出力値記憶部１１に記憶されている基準特性値等を含んだ出力値のＡＳＣＩＩ文字の文字列から基準特性値等の所望の文字列を抽出する。そして、抽出した文字列から最適化システム１で処理可能なフォーマットで書かれた基準特性値等のデータを出力する。基準特性値等は、基準特性と目標特性の特性値記憶部１３に記憶される。
【００３８】
図３に示すように、図２の抽出実行部３６は、ファイル読み込み部１０１、文字列比較範囲抽出部１０２、トークン分割部１０３、トークン比較＆抽出対象トークン記憶部１０４、抽出対象トークン出力部１０５と、変数名とトークン値記憶部１３１を有している。また、図２の適用抽出位置＆適用フォーマット記憶部３５は、適用抽出位置記憶部３５ａと、適応フォーマット記憶部３５ｂを有している。
【００３９】
ファイル読み込み部１０１は、シミュレーション出力値１１のファイル全体を読み込む。
【００４０】
文字列比較範囲抽出部１０２は、ファイル読み込み部１０１で読み込んだシミュレーション出力値１１から、適応抽出位置記憶部３５ａが記憶しているシミュレーション出力値１１の中の基準特性値を含む抽出範囲の開始行および終了行などの適用抽出位置を用いて、シミュレーション出力値１１の中の基準特性値を含む抽出範囲を抽出する。
【００４１】
トークン分割部１０３は、シミュレーション出力値１１からの抽出範囲を、出力値１１の計算機出力フォーマットの中から適用する適用フォーマットに基づいて複数のトークンに分割する。適用フォーマットは、複数のトークン間に配置されたデリミタ、リターンキーおよび空白文字等の情報を有している。トークン分割部１０３は、分割された複数のトークンを並べた第１トークン列を生成する。
【００４２】
トークン比較＆抽出対象トークン記憶部１０４は、適用フォーマットに基づいて、第１トークン列から基準特性値が抽出可能な第２トークン列を生成する。第２トークン列は、トークン毎に、比較文字列、比較可否判別子、第２トークン列において当トークンの次に配列される記憶対象トークン等のリスト情報を有する。トークン比較＆抽出対象トークン記憶部１０４は、第２トークン列を用いて、第１トークン列から前記基準特性値を抽出する。トークン比較＆抽出対象トークン記憶部１０４は、抽出対象となる第２トークン列を第１トークン列から抽出し、抽出された情報で指定された部分の前記基準特性値等の情報を変数名とトークン値として、変数名とトークン値のテーブル記憶部１３１に記憶する。
【００４３】
抽出対象トークン出力部１０５は、適用フォーマット記憶部３５ｂに記憶された出力フォーマットにしたがって、変数名とトークン値のテーブル記憶部１３１に記憶された出力すべき基準特性の特性値と目標特性の特性値１３を出力する。ここで、適用抽出位置および適用フォーマットは図１の探索制御部５から文字列抽出部１２へ送られる情報である。
【００４４】
図４に示すように、図３の適用フォーマットの第２トークン列は、読み出し順序の設定された複数の文字列比較用トークン（１）乃至（ｎ）からなるデータ構造を有している。文字列比較用トークン（１）乃至（ｎ）は、このトークンが比較文字列か変数かを判別する判別子、読み出し順序が当トークンの次のトークンのポインタを有する。また、このトークンが比較文字列の場合、その比較文字列と文字列比較実行の可否の判別子を有する。このトークンが変数の場合、変数名を有する。理解の容易性のために、図４では、第２トークン列のデータ保持方法としてリンクドリスト形式を採用した場合を示している。第２トークン列でのトークンの読み出しの順番は次のトークンへのポインタによって決定される。抽出する際に抽出すべきトークンか否かの判断に用いるトークンの順番は第２トークン列でのトークンの順番に対応している。比較文字列か変数かを判別する判別子の値で異なるデータ部分は、判別子が比較文字列を意味している場合には、比較に用いる比較用文字列（例えば空白文字以外で１文字以上の文字列）と文字列比較実行の可否（Yes/No）の情報を持ち、判別子が変数の場合は、変数名（文字列）を持つ。このデータは例えばプログラミング言語にC言語を用いた場合には、StructとUnionを用いることによって記述できる。
【００４５】
図５に示すように、図３の変数名とトークン値のテーブル記憶部１３１が記憶する変数名とトークン値のデータ構造例は、配列により構成することができる。変数名とトークン値のデータは、変数名とトークン値の２つの組の配列として記述できる。
【００４６】
また、図６に示すように、図３の変数名とトークン値のテーブル記憶部１３１が記憶する変数名とトークン値のデータ構造例は、複数のリスト（１）乃至（ｎ）を有するリンクドリストにより構成することができる。リンクドリストを用いた場合には、各リスト（１）乃至（ｎ）は、変数名とトークン値の組と次のリストへのポインタの３つの情報を持つ。この組の部分は、図３の抽出対象トークン出力部１０５で出力フォーマットに記載された出力すべき変数名に対応したトークン値を検索する際に使用されるので、取り扱う情報量が多い場合には検索しやすい形式のデータ構造（バイナリ−ツリーなど）を採用してもよい。
【００４７】
図７に示すように、図３の適用フォーマット記憶部３５ｂに記憶されている適用フォーマットの出力フォーマットのデータ構造の例も複数のリスト（０）乃至（ｎ）を有するリンクドリストにより構成することができる。リスト（０）は、文字列からなる出力フォーマットと変数名リストのヘッダを有している。変数名リストのヘッダによりリスト（１）を読み出すことができる。リスト（１）乃至（ｎ）は、文字列の各文字に対応する変数名と、文字列の次の文字に対応する変数名を有するリストのポインタを有している。出力フォーマットは例えば、Ｃ言語のprintfなどで指定するフォーマットに準じた形式の文字列であり、変数名は、通常のリンクドリスト形式で保持する。
【００４８】
図８に示すように、文字列抽出部１２は、適応位置と適応フォーマット記憶部３５、抽出実行部３６、テーブル記憶部３７、数式入力部３８、テーブルデータ処理（数式処理）部３９、数式記憶部４０を有していてもよい。
【００４９】
適応抽出位置と適応フォーマット記憶部３５は、基準特性値等を算出可能な文字列を含んだ出力値のＡＳＣＩＩ文字の文字列から、基準特性値等を算出可能な所望の文字列を抽出する抽出位置のデータと、出力値のＡＳＣＩＩ文字の文字列と抽出された文字列のフォーマットのデータを記憶する。
【００５０】
抽出実行部３６は、記憶された抽出位置のデータとフォーマットのデータに基づいて、出力値記憶部１１に記憶されている基準特性値等を算出可能な文字列を含んだ出力値のＡＳＣＩＩ文字の文字列から基準特性値等を算出可能な所望の文字列を抽出する。そして、抽出した文字列から最適化システム１で処理可能なフォーマットで書かれた基準特性値等を算出可能なデータを出力する。基準特性値等を算出可能なデータは、テーブル記憶部３７に記憶される。ここで、基準特性値等を算出可能なデータとは、例えば、基準特性値をMOSFETの駆動電流Ion特性、オフリーク電流Ioff特性や閾値電圧Vthとした場合、値を変化させたゲート電圧ＶＧそれぞれに対するドレイン電流ＩＤにおける複数のゲート電圧ＶＧと複数のドレイン電流ＩＤが相当する。
【００５１】
数式入力部３８は、オペレータによる端末２７からの入力により、基準特性値等を算出可能なデータの処理手順を数式として入力する。数式記憶部４０は、数式を記憶する。
【００５２】
テーブルデータ処理（数式処理）部３９は、基準特性値等を算出可能なデータを数式に示された処理手順にしたがい処理し、処理結果を基準特性値として、基準特性と目標特性の特性値記憶部１３に出力する。基準特性と目標特性の特性値記憶部１３は入力した基準特性値を記憶する。例えば、基準特性値等を算出可能なデータが複数のゲート電圧ＶＧと対応する複数のドレイン電流ＩＤである場合、いわゆるＩＤ−ＶＧカーブから駆動電流Ion、オフリーク電流Ioffや閾値電圧Vthを算出する処理を実施する。オフリーク電流Ioffが基準特性である場合は、ゲート電圧ＶＧ、ソース電圧と基板電圧Ｖｓｕｂが０Ｖであり、ドレイン電圧が電源電圧ＶＤＤである場合におけるドレイン電流ＩＤを、オフリーク電流Ioffにする処理を行う。駆動電流Ionが基準特性である場合は、ソース電圧と基板電圧Ｖｓｕｂが０Ｖであり、ドレイン電圧とゲート電圧ＶＧが電源電圧ＶＤＤである場合におけるドレイン電流ＩＤを、駆動電流Ionにする処理を行う。
【００５３】
図８の抽出実行部３６も、図３の抽出実行部３６の構造と同様の構造を有している。しかし、図８のトークン比較＆抽出対象トークン記憶部１０４と、図８の抽出対象トークン出力部１０５の機能は、図３のトークン比較＆抽出対象トークン記憶部１０４と、図８の抽出対象トークン出力部１０５の機能とは多少異なっている。
【００５４】
トークン比較＆抽出対象トークン記憶部１０４は、計算機からの出力に適用する適用フォーマットに基づいて、第１トークン列から基準特性値を生成可能であり繰り返される複数の第３トークン列を有する第２トークン列を生成する。
【００５５】
抽出対象トークン出力部１０５は、第１トークン列から第２トークン列を抽出する。抽出された第２トークンは、第３トークン列の繰り返しを有する。この繰り返しにより、例えば表形式（テーブル）で出力されたシミュレーション出力値も処理可能となる。
【００５６】
また、図９に示すように、繰り返しデータのある場合の適用フォーマットは、図４の適用フォーマットを多少変更している。変更点は、判別子に繰り返しが加わった点と、判別子によって異なる情報を保持する部分に判別子が繰り返しの場合の情報が加わった点である。判別子が繰り返しの場合には、終了判定用関数による繰り返しの終了条件と、第３トークンの繰り返しを表すトークンリストへのヘッダを持つ。例えばＣ言語を用いた場合、繰り返し終了条件は終了判定用関数へのポインタとしてもよい。終了判定用関数は、必要な終了条件が成り立つ場合にYes（あるいは１）、成り立たない場合はＮｏ（あるいは０）を返す関数である。
【００５７】
また、図１０に示すように、繰り返しデータのある場合の変数名とトークン値のテーブルのデータ構造は、図６の変数名とトークン値のテーブルのデータ構造を多少変更している。図１０のデータ構造は、図６のデータ構造に対して、変数名として配列が使えるように変更されている。変数か配列かの判別をする判別子が新たに設けられている。判別子によって異なる情報を保持する部分が設けられ、特に、判別子が配列の場合の情報が加わっている。判別子が配列の場合、配列を構成する変数用トークンリストのヘッダが設けられている。図１０のデータ構造では、トークンをリンクドリスト形式で実現しているだけでなく、配列もリンクドリスト形式として実現した場合を示している。変数名として配列を使えるようにすることで、配列に繰り返しデータを記憶することができる。
【００５８】
また、図１１に示すように、繰り返しデータのある場合の出力フォーマットのデータ構造は、図７の出力フォーマットのデータ構造を多少変更している。変更点は、リスト（１）乃至（ｎ）が繰り返し番号を有する点である。変数名と繰り返し番号を指定することで、この変数名に関係付けられ、この繰り返し番号に対応するトークン値を、変数名とトークン値のテーブル記憶部１３１から読み出すことができる。
【００５９】
実施の形態の最適化システムによれば、例えば、閾値電圧Vthによって大きく変動するようなMOSFETのIon特性、Ioff特性の最適化設計を行う場合に、平均値や分散の解析で誤差が大きくなってしまう場合でも良好に最適化設計を行えるようになる。
【００６０】
また、任意のフォーマットで出力されたデータから指定されたデータを抽出する文字列抽出部１２を保有するので、実行形式のみでソースコードを保有しないシミュレータ８を取扱うことが可能となる。
【００６１】
更に、抽出したデータに対して数式処理部３９を保有するので、ＩＤ−ＶＧや時系列データなどの表形式で出力される計算結果から、ＩＤ−ＶＧカーブ等のある傾きを満足する点などの抽出も可能である。
【００６２】
最適化システム１は、計算機やコンピュータであってもよく、コンピュータにプログラムに書かれた手順を実行させることにより、最適化システム１を実現させてもよい。
【００６３】
（最適化方法）
図１２に示すように、実施の形態に係る最適化方法では、まず、ステップＳ１で、事前調査を行う。事前調査として、条件表エディター部１８が、制御因子を選択し、制御因子の水準値を設定する。入力データエディター部１７が、誤差因子、基準特性と事前調整因子を選択し、誤差因子の水準値、基準特性の基準値、目標特性の目標値を設定する。直交表生成部１６が、選択された直交表に制御因子の水準値を割り付け、実験条件を生成する。
【００６４】
ステップＳ２で、計算機により事前調整因子による基準特性の事前調整を行う。事前調整として、事前調整因子の探索条件設定部２は、基準特性値が実質的に基準値になるように事前調整因子の値の探索方法が選択され、探索方法を実施するためのシミュレーションの条件を設定する。探索制御部５では、シミュレーションの条件に基づいて、事前調整因子の水準値を変更する。シミュレータ８は、事前調整因子の水準値である探索値、制御因子の水準の実験の組と、誤差因子の水準値に基づいて、系の目標特性の特性値と基準特性の探索特性値を算出する。整理部１９は、シミュレータ８の入力値と対応するシミュレータ８の出力値を互いに一方から他方が抽出可能なように関係付けた結果一覧表を生成する。調整部２１は、結果一覧表の探索値と探索特性値に基づいて、基準特性値が実質的に基準値になるように実験の組毎に対応する系の事前調整因子の調整済み水準値である調整値を決定する。また、調整部２１は、調整値における基準特性の基準特性値を出力する。
【００６５】
ステップＳ３で、事前調整を、基準の誤差条件についての直交表実験のすべての実験ｎについて実施する。シミュレーション制御部４は、シミュレータ８の入力値の入力のタイミングと、出力値の出力のタイミングを調整し、シミュレータ８はすべての実験ｎの回数毎に事前調整で必要な回数分だけ繰り返し実行する。
【００６６】
ステップＳ４で、基準特性の特性値判定部２３は、調整値における基準特性値が実質的に基準値であるか否か判定する。調整値における基準特性値が実質的に基準値でない場合は、ステップＳ１に戻る。調整値における基準特性値が実質的に基準値である場合は、ステップＳ５に進む。
【００６７】
ステップＳ５で、すべての誤差条件についての直交表実験のすべての実験ｎについて、目標特性の特性値をシミュレーション等で算出する。なお、基準の誤差条件についての直交表実験のすべての実験ｎについては、ステップＳ３にて目標特性の特性値をシミュレーションで算出しておいてもよい。直交表実験実施制御部２４は、シミュレータ８を用いて調整値と実験の組毎に対応する系の目標特性値を求めている。
【００６８】
ステップＳ６で、後処理を行う。後処理として、ＳＮ比と感度の分析を行う。後処理部２５は、ＳＮ比と感度の分析により、実験の組毎の目標特性値に基づいて目標特性値の最適値とこの最適値を与える水準の組を最適の組として求める。
【００６９】
ステップＳ７で、目標特性の特性値判定部２６は、目標特性値の最適値が所望の目標値を達成しているか否か判定する。目標特性値の最適値が所望の目標値を達成していない場合は、ステップＳ１に戻る。目標特性値の最適値が所望の目標値を達成している場合は、最適化方法を終了する。
【００７０】
実施の形態に最適化方法は、複数のパラメータに依存する構造などの系の最適化を行う際、注目する基準特性について基準値を満たす構造となるよう計算機を用いて事前に調整した上で他の目標特性の最適化を行うことにより、最適化のための解析の精度を向上し、最適化作業の効率を改善する。実施の形態に最適化方法は、直交表実験に限られるわけではないが、特に直交表実験において用いると有効である。
【００７１】
構造の目標特性が複数のパラメータに非線形に依存している場合でも、特定の目標特性（基準特性）に注目してそれが基準値を与える調整された構造を集めた部分空間の中で解析を行うと、関連をもつ他の目標特性の応答の線形性が高まり、１次の展開による近似の精度が高まるという効果を発見した。計算機を用いて構造のパラメータである事前調整因子を調整することにより、調整された構造の組を実際に容易に得ることを可能にした。
【００７２】
直交表実験においては、交互作用が無視できる場合、実験結果が加法性を有しており、複数の要因の効果を組み合わせる解析が容易であり、ばらつきを小さくするような構造の選択および目標特性値を目標値に近づけるような構造の選択を容易に行うことができる。
【００７３】
実施の形態の最適化方法のように、事前調整を行った上で直交表実験を行う場合、事前調整によって関連する交互作用がみかけ上消去され、しかも実験結果は加法性を有し、ばらつきを小さくする構造の選択および特性値を目標値に近づける構造の選択を高精度に行うことができる。また、多数のパラメータについての最適値を一度に得ることが可能となる。これらにより、最適構造を得るための解析の効率を飛躍的に向上できる。
【００７４】
実施の形態の最適化方法のように、事前調整を行った上で直交表実験を行うことは、事前調整を用いる束縛条件付直交表実験による解析である。事前調整は直交表をなす制御因子以外の因子で行う。制御因子の直交性は保持され、このため直交表実験の手法を適用できる。事前調整により、事前調整された基準特性に関連する目標特性が類似する構造内での解析となり、これらの目標特性について制御因子に対する応答の線形性が改善される。非線形性により交互作用がある現実の変数空間を、あらかじめ基準特性の値を揃えた平坦性の増した空間にマッピングして解析するものである。
【００７５】
従来の直交表実験においても交互作用を消去するために複数の因子の水準を組み合わせて変化させるすべり水準の技術が用いられることがある。これに対し実施の形態の最適化方法の趣旨は、事前調整因子を用いて基準特性が基準値を満たすように系の構造全体をすべらせることに対応すると言うこともできる。
【００７６】
実施の形態の最適化方法は、手順としてコンピュータが実行可能な最適化プログラムにより表現することができる。この最適化プログラムをコンピュータに実行させることにより、最適化方法を実施することができる。
【００７７】
以下では、図１２のステップＳ２の事前調整因子による事前調整において、シミュレータ８が算出する目標特性の特性値と基準特性の探索特性値の取り扱い方法について説明する。特に、図１の文字列抽出部１２の出力値１１から目標特性の特性値と基準特性の探索特性値の抽出方法について説明する。特に、図３のトークン比較＆抽出対象トークン記憶部１０４のトークンの比較と抽出対象トークンの記憶について説明する。
【００７８】
図１４に示すように、図３のトークン比較＆抽出対象トークン記憶部１０４においては、まず、ステップＳ２０１で、シミュレーション出力値１１をトークン分割することによって得られた比較対象トークンの番号(i)を零に初期化する。
【００７９】
ステップＳ２０２で、その番号(i)をインクリメント(i=i+1)する。
【００８０】
その後、ステップＳ２０３において、番号(i)に対応する比較対象トークン(i)が最後のトークンかどうか判断する。最後のトークンであれば処理を終了し、そうでなければ、ステップＳ２０４へ進む。
【００８１】
その後、ステップＳ２０４で、図４のデータ構造に保持された文字列比較用トークンの番号（ｋ）を零に初期化する。
【００８２】
ステップＳ２０５で、文字列比較用トークン番号（ｋ）をインクリメント（k=k+1）する。
【００８３】
ステップＳ２０６で、文字列比較用トークン番号（ｋ）が最大値（比較用トークンリストのデータの数ｎ）に達したかどうか判断する。
【００８４】
最大値に達した場合は、ステップＳ２１１において、抽出すべきデータと一致したので、一時記憶されたトークンおよび変数名を図３の変数名とトークン値のテーブル１３１へ正式に登録する。
【００８５】
一方、文字列比較用トークン番号（ｋ）が最大値に達していない場合は、ステップＳ２０７へ進み、比較用トークン(ｋ)の判別子の判別を行う。
【００８６】
判別子が変数の場合は、ステップＳ２０８で、比較対照トークン（ｉ）を仮の記憶領域に一時保存したのち、ステップＳ２０５へ戻る。
【００８７】
また、比較用トークン(i)の判別子が比較文字列の場合は、ステップＳ２０９において、比較用トークン(i)の比較可否のフラグを判定し、フラグの値がNoの場合は何もせずにステップＳ２０５へ戻り、そのフラグの値がYESの場合にはステップＳ２１０へ進む。
【００８８】
ステップＳ２１０では、比較対象トークン(i+k-1)と比較用トークン(k)の文字列比較を行う。両者が一致した場合はステップＳ２０５へ進み、一致しない場合はステップＳ２０２へ進む。
【００８９】
これらの処理を行うことによって、図３のシミュレーション出力値１１から、適用フォーマット３５ｂに記憶された情報によって、抽出したい部分に名前（変数名）をつけた形で、抽出したい値を図３の変数名とトークン値のテーブル１３１へ保存できる。なお、分かりやすさを考慮して、細かいエラー処理は示していなく、以後のフローチャートでも同様に細かいエラー処理は省いている。
【００９０】
次に、図１の文字列抽出部１２の出力値１１から目標特性の特性値と基準特性の探索特性値の抽出方法において、特に、図３の抽出対象トークン出力部１０５の抽出対象トークンの出力について説明する。
【００９１】
図１５に示すように、図３の抽出対象トークン出力部１０５においては、まず、ステップＳ３０１で出力フォーマット（文字列）の抽出と出力用文字列の初期化（例えばC言語を用いた場合はNULL文字を代入する）を行う。
【００９２】
ステップＳ３０２で、出力フォーマットの文字列の文字番号(i)と変数の番号(j)を零に初期化する。
【００９３】
ステップＳ３０３で、文字列の文字番号(i)をインクリメントする。
【００９４】
ステップＳ３０４で、文字番号(i)の対応する文字が、出力フォーマット（文字列）の最後の文字であるかどうか判断する。
【００９５】
文字番号(i)の対応する文字が最後の文字である場合は、ステップＳ３１０に進み、予め指定された出力装置へ出力用文字列を出力する。
【００９６】
文字番号(i)の対応する文字が最後の文字でない場合は、ステップＳ３０５に進み、出力フォーマットの文字列のｉ番目の文字（文字番号(i)）の文字列が変数を置き換える文字かどうか判断する。例えばＣ言語のprintfなどで指定するフォーマットに準じた場合は、文字が“％”かどうか判断する。
【００９７】
文字列が変数を置き換える文字でない場合は、ステップＳ３１１に進み、文字番号(i)の文字を出力用文字列に追加した後、ステップＳ３０３へ戻る。
【００９８】
文字列が変数を置き換える文字である場合は、ステップＳ３０６で変数の番号（ｋ）をインクリメント（k=k+1）する。
【００９９】
ステップＳ３０７で、出力フォーマットの変数リストからｋ番目の変数名を抽出する。
【０１００】
ステップＳ３０８で、図３の変数名とトークン値のテーブル１３１から抽出されたその変数名に関係付けられたトークン値を抽出する。
【０１０１】
ステップＳ３０９で、抽出されたトークン値を出力用文字列に追加した後に、ステップＳ３０３へ戻る。
【０１０２】
以下では、図１２のステップＳ２の事前調整因子による事前調整において、シミュレータ８が算出する目標特性の特性値と基準特性の探索特性値の取り扱い方法について説明する。特に、図１の文字列抽出部１２の出力値１１から目標特性の特性値と基準特性の探索特性値の抽出方法について、出力値１１に繰り返しがある場合を説明する。まず、図３のトークン比較＆抽出対象トークン記憶部１０４の繰り返しがある場合のトークンの比較と抽出対象トークンの記憶について説明する。
【０１０３】
図１６に示すように、図３のトークン比較＆抽出対象トークン記憶部１０４においては、ステップＳ４０７を除くステップＳ４０１乃至ステップＳ４１１は図１４のステップＳ２０１乃至ステップＳ２１１にそれぞれ対応している。
【０１０４】
ステップＳ４０７はステップＳ２０７へ繰り返しがある場合の処理を加えたものになっている。
【０１０５】
また、ステップＳ４２１とステップＳ４２２が新たに加わり、ステップＳ４０７で判別子が繰り返しの場合と判断された場合に、後述するステップＳ４２１で繰り返しがある場合の処理を行う。
【０１０６】
ステップＳ４２２で、繰り返しパターンが一致したか否かを判断する。一致した場合はステップＳ４０３へ戻り、不一致の場合はステップＳ４０５へ戻る。
【０１０７】
図１７は図１６のステップＳ４２１の繰り返しのある場合の処理に対応したフローチャートである。
【０１０８】
ステップＳ５０１で、繰り返しの回数（ｎ）を零に初期化する。
【０１０９】
ステップＳ５０２で、繰り返し回数（ｎ）をインクリメント（ｎ＝ｎ＋１）する。
【０１１０】
ステップＳ５０３で、繰り返しトークンの番号（ｍ）を零に初期化する。
【０１１１】
ステップＳ５０４で、繰り返しトークンの番号（ｍ）をインクリメント（ｍ＝ｍ＋１）する。
【０１１２】
この後、ステップＳ５０５で、繰り返し終了条件を満たしたかどうか判断する。
【０１１３】
繰り返し終了条件が満たされた場合は、ステップＳ５１１へ進み、パターンが一致したことを示す変数（例えばC言語で図１７の内容を１つの関数とする場合は、リターン値としてもよい）をYes（あるいは１）に設定する。
【０１１４】
一方、繰り返し条件を満たしていない場合は、ステップＳ５０６へ進み、繰り返しトークンの番号（ｍ）が最大値に達したかどうか判断する。最大値に達した場合は、ステップＳ５０２へ戻り、最大値に達していない場合は、ステップＳ５０７へ進む。
【０１１５】
ステップＳ５０７は、比較用トークン（ｍ）の判別子が、変数か、比較文字列かを判断する。
【０１１６】
判別子が変数の場合は、ステップＳ５０８に進み、比較対照トークンを一時記憶した後、ステップＳ５０４へ戻る。
【０１１７】
判別子が比較文字列の場合は、ステップＳ５０９で、比較可否のフラグを判定する。比較可否のフラグがNoの場合は、なにもせずにステップＳ５０４へ戻る。比較可否のフラグがYESの場合は、ステップＳ５１０で比較対象トークン（ｉ＋ｍ−１）と比較用トークン（ｍ）を比較する。比較対象トークン（ｉ＋ｍ−１）と比較用トークン（ｍ）が一致した場合は、ステップＳ５０４へ戻る。比較対象トークン（ｉ＋ｍ−１）と比較用トークン（ｍ）が一致しない場合は、ステップＳ５１２で、パターンが一致したことを示す変数をＮＯに設定し、処理を終了する。
【０１１８】
次に、図１の文字列抽出部１２の出力値１１から目標特性の特性値と基準特性の探索特性値の抽出方法において、出力値１１に繰り返しデータがある場合の図３の抽出対象トークン出力部１０５の抽出対象トークンの出力について説明する。
【０１１９】
図１８は、図１５に示した抽出対象トークンの出力部１０５のフローチャートに基づいて、出力値１１に繰り返しデータがある場合に対応している。ステップＳ６０２乃至ステップＳ６１１は図１５のステップＳ３０２乃至ステップＳ３１１にそれぞれ対応している。図１８では、新たにステップＳ６２１乃至ステップＳ６２４が加わっている。
【０１２０】
ステップＳ６０６とステップＳ６０７の間のステップＳ６２１において、出力値１１に繰り返しがある変数かどうか判断する。出力値１１が繰り返しがある変数であると判断された場合はステップＳ６２２へ進み、変数リストからｋ番目の変数名を抽出し、出力フォーマットから繰り返し番号（ｎ）を抽出する。
【０１２１】
その後、ステップＳ６２３で、変数名とトークン値のテーブルからｋ番目の変数名で繰り返し番号が（ｎ）のデータを抽出する。
【０１２２】
ステップＳ６２４で、ｋ番目の変数名で繰り返し番号が（ｎ）のデータのトークン値を出力変数用文字列に追加してステップＳ６０３に戻る。
【０１２３】
ステップＳ６２１で繰り返しがある変数でないと判断された場合はステップＳ６０７へ進む。
【０１２４】
次に、図１の文字列抽出部１２の出力値１１から目標特性の特性値と基準特性の探索特性値の抽出方法において、出力フォーマットに数式があり数式処理を行う場合の図３の抽出対象トークン出力部１０５の抽出対象トークンの出力について説明する。
【０１２５】
図１９は、図１５に示した抽出対象トークンの出力部１０５のフローチャートに基づいて、出力フォーマットに数式がある場合に対応している。ステップＳ６０２乃至ステップＳ６１１は図１５のステップＳ３０２乃至ステップＳ３１１にそれぞれ対応している。図１９では、新たにステップＳ６２１乃至ステップＳ６２６が加わっている。
【０１２６】
ステップＳ６０６とステップＳ６０７の間のステップＳ６２１において、数式であるかどうか、繰り返しがある変数であるかどうか判断する。数式であると判断された場合はステップＳ６２５へ進み、数式に基づいて数式処理を行って、その結果である文字列を作成する。
【０１２７】
その後、ステップＳ６２６で、数式処理結果である文字列を出力変数用文字列に追加してステップＳ６０３に戻る。
【０１２８】
ステップＳ６２１で、繰り返しがある変数であると判断された場合は、図１８のステップＳ６２２乃至Ｓ６２４と同様に、ステップＳ６２２乃至Ｓ６２４を実施する。
【０１２９】
ステップＳ６２１で数式でも繰り返しがある変数でもないと判断された場合はステップＳ６０７へ進む。なお、ステップＳ６２５の処理は膨大な処理を必要とするがよく知られた処理であるので、ステップＳ６２５の処理の詳細な説明は省略する。なお、ステップＳ６２５の処理の詳細な説明は、例えば、文献Herbert Schildt, “ADVANCED C,” HcGraw-Hill, 1986に開示されている。
【０１３０】
本発明の実施の形態によれば、特性値の最適値とそれを与える因子の値の組を求めパラメータの最適化を行うことによって、被処理体として半導体基板を用いた場合にその条件に基づいた処理を行うことによって、容易に高性能な半導体装置を製造することが可能になる。
【実施例１】
【０１３１】
実施例１では、実施の形態の最適化システムと最適化方法をＭＯＳＦＥＴの最適化に適用し、微細ＭＯＳＦＥＴの構造を束縛条件を持つ直交表実験とシミュレーションを用いて最適化する。微細化において歩留まり低下の原因となるプロセスばらつきのうち、特に、ゲート長ばらつきに起因する短チャネル効果を抑制し、同時に、オフリーク電流値Ioffを小さくし、同時に、駆動電流値Ionを大きくするMOSFET構造を最適化している。
【０１３２】
まず、図１２のステップＳ１において、事前調査を行う。事前調査として、まず、多数考えられるパラメータの中から制御因子と誤差因子を選択する。制御因子や誤差因子として、２４個のパラメータを選択する。この24個のパラメータについて最適化を検討する。次に、基準特性を選択する。そして、基準特性の基準値を選択する。また、事前調整因子を選択する。直交表実験の条件を作成する。選択された２４個のパラメータの中から、１１個のパラメータについては2水準設定し、１３個のパラメータについては3水準設定する。直交表としては、L36直交表を用いる。
【０１３３】
ステップＳ１において、事前調査としてシミュレーションにより微細ＭＯＳＦＥＴの構造の検討をおこない、オフリーク電流値Ioffを小さくする構造では、一般に、駆動電流値Ionも小さくなる結果が得られる。即ち、オフリーク電流値Ioffと駆動電流値Ionはトレードオフの関係にある。実施例１ではＭＯＳＦＥＴのオフリーク電流値Ioffを基準特性として選択する。また、基準特性の基準値を、ＭＯＳＦＥＴを搭載するＬＳＩの製品の仕様にしたがって、100nA/umに設定した。すなわち、オフリーク電流値Ioffを100nA/umに固定したMOSFET構造において、駆動電流値Ionを大きくするMOSFET構造を探し選択することになる。駆動電流値Ionを大きくするMOSFET構造を選択する際に、オフリーク電流値Ioffを考慮する必要がないので、MOSFET構造の選択を明確に択一的に行うことができる。
【０１３４】
さらに、MOSFETの色々な構造パラメータXiに対するオフリーク電流値Ioffの依存性を調べる。オフリーク電流値Ioff値が、ハローイオン注入のドーズ量に強く依存するという知見が得られた。そこで、オフリーク電流値Ioffを調整する事前調整因子としてこのハローイオン注入のドーズ量を選択した。これは、このように基準特性に対して感度の高いパラメータは、少しの変化によって基準特性を大きく調節できるからである。また、ハローイオン注入のドーズ量を少し変化させても、他の構造パラメータＸｉの最適値をあまり変化させないと考えられるからである。
【０１３５】
さらに、MOSFETの他の構造パラメータＸｉに対する駆動電流値Ion等の特性の依存性を考慮して、図２０に示す直交表実験の条件表を作成した。実施例１では１例として、図２０に示すL36直交表と呼ばれる直交条件表にしたがって、図２１のような実験条件表を作成する。図２０のＬ３６直交表においては、因子AからＫの１１因子がそれぞれ２水準の値を有し、因子ＬからＷの１２因子がそれぞれ３水準の値を有する。３６回の実験において、因子Ａ乃至Ｗ毎に水準がそれぞれが互いに同じ回数だけ現れるように構成されている。この構成を実験条件が互いに直交していると呼ぶ。因子AからＷの２３種の因子は、この最適化において、改善を望む特性の特性値を制御しようとしているパラメータであり、因子AからＷは制御因子Ａ乃至Ｗと呼ばれる。図２０のそれぞれの制御因子Ａ乃至Ｗにおける１、２、３、等の数は、それぞれ、水準１、水準２、水準３に対応している。図２１に、図２０に示した２３個の制御因子Ａ乃至Ｗの各水準にわりつけた値を示す。
【０１３６】
このような直交表を用いて実験を計画する場合、２３種のパラメータＡ乃至Ｗのそれぞれの水準に対する211×３12回の実験を行わずとも、この表に示される３６回の実験によって改善を望む目標特性の特性値のばらつきや、目標特性の特性値の大小を解析できることが知られている。
【０１３７】
また、直交表実験を行う際に誤差因子を設定し、目標特性値のばらつきを解析している。
【０１３８】
実施例１では図２２（ａ）に示すように、ゲート電極の長さを誤差因子ＥＡとした。ゲート電極の長さＥＡの水準としては、ゲート電極長さの設計の許容範囲の中央値に対し、水準１、ＥＡ１として１５％大きくした値と、水準２、ＥＡ２として１５％小さくした値の2水準を設定した。また、制御因子Ｓのハローイオン注入のチルト角の誤差を誤差因子ＥＢとした。ハローイオン注入のチルト角Ｓの各水準の値を中心に2度大きくした値を水準１、ＥＢ１とし、2度小さくした値を水準２、ＥＢ２として設定した。また、ＭＯＳＦＥＴの動作温度を誤差因子ＥＣとした。動作温度ＥＣの水準として、水準１、ＥＣ１として室温に設定し、水準２、ＥＣ２として６５℃に設定した。
【０１３９】
これらの誤差因子ＥＡ、ＥＢ、ＥＣの水準に対して特性値のバラツキを小さくする構造を、これらの誤差因子ＥＡ、ＥＢ、ＥＣに対してロバスト(頑健)な構造として選択する。これら誤差因子ＥＡ、ＥＢ、ＥＣが、ＭＯＳＦＥＴの特性、駆動電流値Ionとオフリーク電流値Ioffに与える影響を、ステップＳ１の事前調査において調べる。具体的には、誤差因子ＥＡ、ＥＢ、ＥＣの各水準が、駆動電流値Ionとオフリーク電流値Ioffをそれぞれ大きくすることに寄与するのか、小さくすることに寄与するのかを調べる。
【０１４０】
そして、図２２（ｂ）に示した４つの条件Ｎｉ１乃至Ｎｉ４に調合する。条件Ｎｉ１では、駆動電流値Ionが大きくなることに寄与する水準を誤差因子ＥＡ、ＥＢ、ＥＣ毎に抽出する。駆動電流値Ionが大きくなることに寄与する水準は、水準ＥＡ１、ＥＢ１、ＥＣ１である。水準ＥＡ１、ＥＢ１、ＥＣ１によって、誤差因子ＥＡ、ＥＢ、ＥＣによる最大の駆動電流値Ionが設定できる。条件Ｎｉ２の駆動電流値Ionが小さくなることに寄与する水準は、水準ＥＡ２、ＥＢ２、ＥＣ２である。水準ＥＡ２、ＥＢ２、ＥＣ２によって、誤差因子ＥＡ、ＥＢ、ＥＣによる最小の駆動電流値Ionが設定できる。条件Ｎｉ３のオフリーク電流値Ioffが大きくなることに寄与する水準は、水準ＥＡ１、ＥＢ１、ＥＣ２である。水準ＥＡ１、ＥＢ１、ＥＣ２によって、誤差因子ＥＡ、ＥＢ、ＥＣによる最大のオフリーク電流値Ioffが設定できる。条件Ｎｉ４のオフリーク電流値Ioffが小さくなることに寄与する水準は、水準ＥＡ２、ＥＢ２、ＥＣ１である。水準ＥＡ２、ＥＢ２、ＥＣ１によって、誤差因子ＥＡ、ＥＢ、ＥＣによる最小のオフリーク電流値Ioffが設定できる。
【０１４１】
次に、直交表実験を行う際に関連の深い因子を組み合わせてその水準値を設定し、交互作用を低減する。図２１に示した実験条件表でも、因子Ｌのチャネルイオン注入エネルギーに対し因子Ｍのチャネルイオン注入ドーズ量をすべり水準とした。図２３（ａ）に示すように、チャネルイオン注入ドーズ量Ｍの場合には、Ｌ(低)、Ｍ（中）、Ｈ（高）の3水準を、チャネルイオン注入エネルギーＬの水準値Ｌ１、Ｌ２、Ｌ３それぞれにおけるＭＯＳＦＥＴのしきい電圧がほぼ同じになるように設定した。
【０１４２】
また、図２３（ｂ）に示すように、因子ＮのＴＥＯＳスペーサ厚さに対し、因子Ｖの側壁スペーサ厚さをすべり水準とした。側壁スペーサ厚さＶの場合には、ＴＥＯＳスペーサ厚さＮと側壁スペーサ厚さＶの和が４０、５０、または６０となるように側壁スペーサ厚さＶの値を設定した。
【０１４３】
また、図２１の因子Ｋはダミーの因子として水準値を設定せず、また、因子Ｗの水準２と水準３もダミーの水準として同一の値を設定した。これらのダミー水準は後にのべるように直交表実験における解析誤差の評価に用いた。
【０１４４】
このように、実施例１では図２０に示したように、２０個以上の因子Ａ乃至Ｗについての最適値を求めようとしている。ＭＯＳＦＥＴの駆動電流値Ionとオフリーク電流値Ioffは、これらの多数の因子Ａ乃至Ｗに依存する。また、交互作用により、それら多数の因子Ａ乃至Ｗの駆動電流値Ionとオフリーク電流値Ioffへの影響の大きさが、他の因子Ａ乃至Ｗの水準によって異なる。したがって、因子Ａ乃至Ｗの最適値を求めるためには、これら因子Ａ乃至Ｗの一部分の数個の因子だけを取り出して検討をしても、因子Ａ乃至Ｗの全体の最適値は得られない。従ってこれらの因子Ａ乃至Ｗによる特性への影響を同時に検討することが望ましい。
【０１４５】
この同時に検討する目的において事前調整を用いることが有効である。実施例１では、図２１に示した事前調整因子のハローイオン注入のドーズ量を用いて、事前調整を行う。そして、事前調整の結果を用いて直交表実験を行っている。
【０１４６】
ステップＳ２乃至Ｓ４において、調整部２１が、事前調整因子を３６回の実験毎に調整して、あらかじめ基準特性の特性値を３６回の実験間で同じの基準値に設定する。そして、以降、３６回の実験毎に調整された事前調整因子の値を用いて、各パラメータの最適値を一度に検討することになる。
【０１４７】
まず、ステップＳ２で、３６回の各実験に対応して、事前調整因子による事前調整を行う。１つの実験において、制御因子と誤差因子の水準の値は変更せずに、事前調整因子の値を変更して、基準特性の特性値を基準値に一致させる。
【０１４８】
事前調整をさらに詳しく説明する。図１３に示すように、３６回の実験のｎ番目(ｎ＝１〜３６)の実験に対応するように、基準の誤差条件Ｎｉ１についての個々のｎ番目の微細ＭＯＳＦＥＴの構造について、事前調整因子の値を値１乃至値４あるいはそれ以上まで変化させた構造を準備する。次に、これらの事前調整因子の値１乃至４に対応して基準特性であるＩｏｆｆの特性値を求める。次に、基準特性Ｉｏｆｆの特性値が基準値となる事前調整因子の値を求める。具体的には、ニュートン法等のように、求めた特性値が基準値に近づくように事前調整因子の値を変更し、変更した事前調整因子の値を用いて再度基準特性値を求める。このことを繰り返すことにより、基準特性値は、基準値に近づけられ、基準値に一致する。そして。基準特性値が基準値に一致した際の事前調整因子の調整値を抽出する。
【０１４９】
ステップＳ３では、ステップＳ２で抽出された特性値が基準値に一致した際の事前調整因子の調整値と特性値を、３６回の実験のすべての微細ＭＯＳＦＥＴの構造に対応させて、記憶する。
【０１５０】
このような事前調整では、因子Ａ乃至Ｗの水準値と、図２０のＬ３６直交表により、３６種の構造について、駆動電流値Ionとオフリーク電流値Ioffのシミュレーションをシミュレータ（計算機）８上で行っている。即ち、例えば図２０の実験Ｎｏ．１０の構造の場合、直交表での各因子Ａ乃至Ｗの水準は、図２４に示すように、数列1 2 1 2 2 1 2 2 1 1 2 1 1 3 2 1 3 2 3 2 1 3 2のように直交表生成部１６によって生成される。条件表エディター部１８は、さらに、この数列を読み込み、シミュレーションで使用可能な入力データ列に変換する。すなわち、図２４の数列にしたがって図２５のような入力データ列A1 B2 C1 D2 E2 F1 G2 H2 I1 J1 K2 L1 M1 N3 O2 P1 Q3 R2 S3 T2 U1 V3 W2を作成する。
【０１５１】
例えば、図２１から分るように、入力データ列内の水準A1には、因子Aでは水準１の因子Ａの時間が23秒であることが記載されている。また、入力データ列内の水準B2には、因子Ｂでは水準２の因子Bのドーズ量が5.0e12cm-2であることが記載されている。因子Ａの時間が23秒であること（Ａ１）や、因子Bのドーズ量が5.0e12cm-2であること（Ｂ２）等々は、シミュレーションの条件であり、シミュレータ８に入力される。図２６に示すように、具体的には、文字列置換部７が、シミュレーションの入力データの識別子％timeや％doseに対応させて水準Ａ１やＢ２の入力データをシミュレータに入力する。
【０１５２】
なお、入力データ列を作成する際に、同時に、図２２（ｂ）の誤差条件Ｎｉ１に対応して、入力データ列A1 B2 C1 D2 E2 F1 G2 H2 I1 J1 K2 L1 M1 N3 O2 P1 Q3 R2 S3 T2 U1 V3 W2の個々の入力データや、シミュレータ８内の固定されたデータでシミュレータ８外部からの入力データによって変更可能な内部データを、図２７に示す誤差因子の水準EA1、EB1、EC1に従って変化させた。
【０１５３】
このようにして、直交表実験の条件と誤差条件を反映させてシミュレーション実験を行うことができる。
【０１５４】
さらに、入力データ列とは別に、図２１の中に示したように、シミュレーションの条件であるハローイオン注入のドーズ量は、事前調整因子として用いている。即ち、図２９に示すように、誤差条件Ｎｉ１における実験１乃至３６のシミュレーションにおいて、図１３の事前調整因子の値１乃至４に対応してハローイオン注入のドーズ量を変化させ、オフリーク電流値Ioffが基準値Log(Ioff)=-7となるように調整する。このために、図２１から図２３の内容による入力データを固定しておいて、図２８（ａ）乃至（ｃ）に示すようなハローイオン注入のドーズ量を変化させた入力データ列の組を、探索制御部５が生成し、事前調整因子の水準記憶部６が記憶している。または、入力データ列毎にハローイオン注入のドーズ量を変化させている。ハローイオン注入のドーズ量は、2e12 cm-2、5e12 cm-2、8e12 cm-2のように変化させ、その度毎に、オフリーク電流値Ioffをシミュレーションにより算出している。あるいは、ハローイオン注入のドーズ量を変化させた一連の入力データ列を用いて、ハローイオン注入のドーズ量を変化させた一連のシミュレーションを実行し、一連のオフリーク電流値Ioffを算出している。
【０１５５】
図３０に示すように、図１のシミュレーションの出力値１１が出力されオフリーク電流値Ioffと制御電流値Ionを抽出する場合を例に、文字列抽出部１２の機能を具体的に説明する。
【０１５６】
まず、図３のファイル読み込み部１０１は、シミュレーション出力値１１のファイル全体を読み込む。
【０１５７】
トークン分割部１０３は、シミュレーション出力値１１を、適用フォーマットに基づいて複数のトークンに分割する。適用フォーマットは、複数のトークン間に空白文字が配置されているという情報を有している。図３０の下部に示すように、トークン分割部１０３は、例えばオフリーク電流値Ioffと制御電流値Ionに関する第１トークン乃至第８トークンを分割し、分割された複数の第１乃至第８トークンを並べた第１トークン列を生成する。
【０１５８】
トークン比較＆抽出対象トークン記憶部１０４は、適用フォーマットに基づいて、第１トークン列から基準特性値が抽出可能な第２トークン列を生成する。
【０１５９】
図３１に示すように、第２トークン列は、トークン（１）乃至（８）毎に、比較文字列か変数かの判別子、第２トークン列において当トークンの次に配列される記憶対象トークンのアドレス、文字列、文字列比較可否判別子、変数名を有する。具体的に、トークン（１）は、判別子として比較文字列、アドレスとしてトークン（２）のアドレス、文字列としてIoff、文字列比較可否判別子としてYesを有する。トークン（２）は、判別子として比較文字列、アドレスとしてトークン（３）のアドレス、文字列として＝、文字列比較可否判別子としてYesを有する。トークン（３）は、判別子として変数、アドレスとしてトークン（４）のアドレス、変数名としてVal1を有する。トークン（４）は、判別子として変数、アドレスとしてトークン（５）のアドレス、変数名としてUnit1を有する。トークン（５）は、判別子として比較文字列、アドレスとしてトークン（６）のアドレス、文字列としてIon、文字列比較可否判別子としてYesを有する。トークン（６）は、判別子として比較文字列、アドレスとしてトークン（７）のアドレス、文字列として＝、文字列比較可否判別子としてYesを有する。トークン（７）は、判別子として変数、アドレスとしてトークン（８）のアドレス、変数名としてVal2を有する。トークン（８）は、判別子として変数、アドレスとしてＮＵＬＬ、変数名としてUnit2を有する。
【０１６０】
トークン比較＆抽出対象トークン記憶部１０４は、図３１の第２トークン列を用いて、図３０の第１トークン列から基準特性値を抽出する。抽出された情報で変数として指定されたVal1、Unit1、Val2とUnit2の変数名と対応するトークン値を、図３２あるいは図３３に示すように、変数名とトークン値のテーブル記憶部１３１に記憶する。
【０１６１】
抽出対象トークン出力部１０５は、図３４に示すような出力フォーマットにしたがって、変数名とトークン値のテーブル記憶部１３１に記憶された出力すべき基準特性の特性値と目標特性の特性値１３を出力する。リスト（０）は、出力フォーマットとして文字列％％％％と、変数名リスト（１）のヘッダを有している。文字列％％％％により４つの変数を置き換えることができる。変数名リスト（１）のヘッダによりリスト（１）を読み出すことができる。リスト（１）は、文字番号（ｉ）＝１に対応する変数名Ｖａｌ１と、リスト（２）のポインタを有している。図３３で変数名Ｖａｌ１に対応するトークン値１．０ｅ＋０５を出力用文字列に追加する。リスト（２）のポインタによりリスト（２）を読み出すことができる。リスト（２）は、文字番号（ｉ）＝２に対応する変数名Ｕｎｉｔ１と、リスト（３）のポインタを有している。図３３で変数名Ｕｎｉｔ１に対応するトークン値ｐＡを出力用文字列に追加する。リスト（３）のポインタによりリスト（３）を読み出すことができる。リスト（３）は、文字番号（ｉ）＝３に対応する変数名Ｖａｌ２と、リスト（４）のポインタを有している。図３３で変数名Ｖａｌ２に対応するトークン値２５８ｅ−０６を出力用文字列に追加する。リスト（４）のポインタによりリスト（４）を読み出すことができる。リスト（４）は、文字番号（ｉ）＝４に対応する変数名Ｕｎｉｔ２と、最終リストであることを示すＮＵＬＬを有している。図３３で変数名Ｕｎｉｔ２に対応するトークン値μＡを出力用文字列に追加する。
【０１６２】
文字列抽出部１２は、出力用文字列を出力することにより、オフリーク電流値Ioffと制御電流値Ionとして、１．０ｅ＋０５ｐＡと、２５８ｅ−０６μＡを抽出し出力することができる。
【０１６３】
次に、図２９に示すように、調整部２１が、シミュレーションの結果であるこの一連のオフリーク電流値Ioffを用いて、オフリーク電流値IoffがLog(Ioff)=-7となるハローイオン注入のドーズ量を内挿あるいは外挿により決定している。このようなオフリーク電流値IoffがLog(Ioff)=-7になるように事前調整因子のハローイオン注入のドーズ量を設定する事前調整を、図１２のステップＳ３において、実験Ｎｏ.１からＮｏ．３６の構造について繰り返し実施し、図３５に示すように、３６種の構造それぞれについて、基準の誤差条件Ｎｉ１において、オフリーク電流値IoffをLog(Ioff)=-7に調整するハローイオン注入のドーズ値を求めている。
【０１６４】
また、各々の実験Ｎｏ.１からＮｏ．３６の構造において、オフリーク電流値IoffをLog(Ioff)=-7に調整するハローイオン注入のドーズ値を用いて、駆動電流値Ｉｏｎを求めている。これは基準の誤差条件Ｎ１における駆動電流値Ｉｏｎのデータである。
【０１６５】
ステップＳ４では、３６回の実験に対応するそれぞれの３６個の特性値が、基準値に一致するか否か判定する。直交表の３６種のすべての構造について、基準特性であるオフリーク電流値Ioffが基準値Log(Ioff)=-7であるので、３６個のすべての特性値が基準値に一致していると判断し、ステップＳ５に進む。以上で、事前調整が完了する。
【０１６６】
なお、３６個の特性値の１つでも基準値に一致していない場合は、ステップＳ１に戻る。ステップＳ１に戻る場合は、図１２に示すように、ステップＳ１において次の４つの項目の内少なくとも１つを行う。（１）制御因子にするパラメータを変更する。または、制御因子の水準を変更する。（２）交互作用を削減する。具体的には、多水準法やすべり水準法を導入する。（３）調整因子にするパラメータを変更する。または、調整因子の値の変更の許容範囲を変更する。（４）基準特性にする特性を変更する。または、基準特性の基準値を変更する。
【０１６７】
ステップＳ５に進む場合は、ステップＳ５において、入力データエディター部１７が、基準の誤差条件Ｎｉ１の他の誤差条件Ｎｉ２、Ｎｉ３、Ｎｉ４について、基準の誤差条件Ｎ１で求めた各実験１乃至３６の構造に対するハローイオン注入のドーズ量を用いて、シミュレーション用の入力データ列を生成する。シミュレータはこの入力データ列を入力してシミュレーションを実行し、図３５に示すように、他の誤差条件Ｎｉ２、Ｎｉ３、Ｎｉ４におけるオフリーク電流値Ioffと駆動電流値Ｉｏｎを求めている。図３５のシミュレーション実験結果では、基準の誤差条件Ｎｉ１におけるオフリーク電流値Ioffがすべて同一の値になるよう調整されており、図３５の右端のハローイオン注入のドーズ値がこれらの調整をするために用いられている。
【０１６８】
ステップＳ６において、図３５のシミュレーション実験結果を用いて、後処理の計算を行った。後処理はオフリーク電流値Ioffと駆動電流値Ｉｏｎについて、通常の直交表実験で行うＳＮ比、感度などを計算している。図３６乃至図３９にオフリーク電流値Ioffと駆動電流値Ｉｏｎについての要因効果図を示す。なお、図３６と図３９の要因効果図のオフリーク電流値Ioffは対数を取った値に対して示している。図３６乃至図３９に示した要因効果図においては、ダミー水準Ｋ１、Ｋ２、Ｗ２、Ｗ３を用いて誤差を評価している。図２１の因子Ｋと因子Ｗにおいて、水準値が等しく変化していない水準がダミー水準Ｋ１、Ｋ２、Ｗ２、Ｗ３である。図３６乃至図３９の要因効果図でダミー水準Ｋ１とＫ２に対して現れている効果の差が誤差である。また、ダミー水準Ｗ２とＷ３に対して現れている効果の差が誤差である。これらの誤差を図３６乃至図３９の各図において横棒の組の間隔で示している。
【０１６９】
図３６ではオフリーク電流値Ioff の対数log(Ioff)のばらつきを評価するためにＳＮ比の代わりに1/σ２を用いている。σは標準偏差である。大きな1/σ２を与える水準Ａ１乃至Ｗ３は、誤差条件Ｎｉ３とＮｉ４によって取り入れられる対数log(Ioff)のばらつきに対して、対数log(Ioff)のばらつきをより抑える構造を与える。図３６の要因効果図において、ダミー因子Ｋのダミー水準Ｋ１とＫ２に現れている解析誤差は極めて小さい。また、ダミー因子Ｗのダミー水準Ｗ２とＷ３に現れている解析誤差も、他の因子の水準依存性に比べて、極めて小さい。これらの解析誤差よりも有意な差を有する水準として選択できる水準Ｂ２、Ｃ２、Ｅ２、Ｇ１、Ｉ２、Ｌ１、Ｎ３、Ｏ１、Ｑ２、Ｒ１、Ｔ２、Ｕ２、Ｗ１を図１７中に大きい丸印で示している。2水準の因子の中に５個、3水準の因子の中に8個、計１３個の有意な因子と水準値が得られている。
【０１７０】
図３７に駆動電流値ＩｏｎのＳＮ比を示す。ＳＮ比は、駆動電流値Ｉｏｎのばらつきの大きさで駆動電流値Ｉｏｎを割り算したものであり、ＳＮ比が大きい場合に駆動電流値Ｉｏｎのばらつきが小さいことを示す。駆動電流値ＩｏｎのＳＮ比においても、解析誤差よりも有意な差として９個の有意な因子と水準Ｄ２、Ｅ２、Ｇ１、Ｉ１、Ｎ３、Ｐ１、Ｔ２、Ｕ２、Ｗ１が得られている。
【０１７１】
また、図３６と図３７より、Ｉｏｆｆのばらつきを押さえる水準が、Ｉｏｎのばらつきを押さえる水準と矛盾せず、両方のばらつきを押さえる水準Ｅ２、Ｇ１、Ｎ３、Ｔ２、Ｕ２、Ｗ１を選択できる結果となっている。
【０１７２】
また、図３８にＩｏｎの感度の要因効果図を示す。感度が大きいほど高い駆動電流値Ｉｏｎが得られる。図３８でダミー水準Ｋ１、Ｋ２、Ｗ２、Ｗ３に現れた解析誤差は極めて小さく、多数の有意な因子と水準Ｂ２、Ｄ２、Ｅ２、Ｇ１、Ｉ２、Ｌ１、Ｎ３、Ｐ１、Ｓ１、Ｔ１、Ｗ１が得られている。
【０１７３】
図３９にＩｏｆｆの感度の要因効果図を示す。感度に関して、図３９のＩｏｆｆの要因効果図は、図３８のＩｏｎの要因効果図と水準に対する同じ依存性を示しており、Ｉｏｎが高い構造においてＩｏｆｆも高く、Ｉｏｎを大きくしＩｏｆｆを押さえるという課題はトレードオフであることが、図３８と図３９の要因効果図にも現れている。
【０１７４】
実施例１では基準の誤差条件Ｎｉ１を基準としてＩｏｆｆは調整しており、Ｉｏｆｆについては図３６で有意な水準を用いてばらつきを小さくすることにし、図３９は傾向を確認するのみとして最適条件の決定には用いなかった。これらの解析方針、解析結果、その他の検討に基づいて、実施例１における最適構造として、この最適構造を決定する水準を図４０に示すような水準B1、C2、D3、E2、G1、I2、L2、N3、O1、P2、R1、S1、T2、U3、W1に決定している。なお、因子Ｄが、図２１の水準値の表では2水準となっているのに、水準Ｄ３となっているのは、図３８に見られるように因子ＤのＩｏｎ感度への効果が大きいところ、Ｉｏｎの目標値を満たすために図２１の因子Dについての水準２の1.0nmよりもさらに小さな値の0.7nmを水準Ｄ３として設けて用いたためである。
【０１７５】
ステップＳ７において、最適化された特性値が目標値を達成しているか否かを判定する。最適化された特性値が目標値を達成しているので、微細ＭＯＳＦＥＴの構造の最適化を終了する。
【０１７６】
なお、最適化された特性値が目標値を達成していなければ、ステップＳ１に戻り、次の２つの項目の内少なくとも１つを行う。（１）微細ＭＯＳＦＥＴの構造を再度検討し、変更する。（２）改善を望む特性の特性値の目標値のスペックを見直し、変更する。
【０１７７】
このように、事前調整因子を用いる場合、解析誤差が小さく、特性毎のＳＮ比と感度のような多くの要因についての知見が一度に得られるため、これらの特性毎のＳＮ比と感度についての最適条件を一度に求めることができる。また、要因の効果を明瞭に検討できるため、変化させ検討すべき制御因子の選択をより多くの因子の候補の中から行うことができる。また、事前調整することによって本来の構造を基準特性がそろった構造の組に置き換えて解析するため、調整が可能な範囲において、因子の水準値の振れ幅を大きく設定することができる。このため、より広い選択範囲の中でより有効な最適構造を検討することが可能となっている。
【０１７８】
また、調整した基準特性については最適化をする必要がないため、この基準特性を含んだ特性間のトレードオフを検討しなくてよい。そこで、基準特性とトレードオフの関係にある最適化を目的とする特性のスペック値を満たす構造の組について高精度の最適化を行うことが可能となっている。
【０１７９】
実施例１においては誤差条件Ｎｉ１のみを調整を行うための基準の誤差条件として用いたが、調整に用いる基準の誤差条件は、誤差条件Ｎｉ１乃至Ｎｉ４のうちの１つでなくとも、これらのうちの一部のいくつかまたは全部であってもよい。このように基準の誤差条件が複数の場合は、複数の基準の誤差条件毎に得られた基準特性の平均値が基準値に一致するように事前調整因子を設定すればよい。このようにしても、直交表の３６種の構造の各々においては、誤差条件Ｎｉ１乃至Ｎｉ４の全てにおいて事前調整因子の値は同じになる。同じにするのは、直交表実験で誤差条件によるばらつきを許容するロバストな構造を選択するが、事前調整因子が誤差条件毎に変化すると誤差条件によるばらつきの大きさが正しく取り入れられなくなるためである。
【０１８０】
また、実施例１では図３５の誤差条件Ｎｉ１の調整後のIoff値は全て一致する1e5pA/umを示しているが、これは図２９に示したようにIoffが1e5pA/umに一致するように、シミュレーションにより求めたIoffのハローイオン注入のドーズ量に対する依存性のグラフからの内挿でハローイオン注入のドーズ量を求めたためである。内挿を用いずに、基準値に近いIoff値を示すハローイオン注入のドーズ量を用いてシミュレーションを行って算出してもよい。基準値に一致せず基準値に近い基準特性の特性値をシミュレーションに用いると、最適化を目的とする特性の特性値は調整誤差を有することになる。しかし、調整誤差は小さくなっているので、実施例１の効果を発揮し、解析誤差も小さくなり、高精度の最適化を行うことができる。また、このように調整誤差を有していても、３６種の各々の構造に対して、実験の各誤差条件Ｎｉ１乃至Ｎｉ４について事前調整因子の値が実質的に一致している場合には、誤差条件Ｎｉ１乃至Ｎｉ４によるばらつきはロバスト性の解析に正しく反映される。
【０１８１】
実施例１の事前調整因子を用いる方法と比較して、従来の直交表実験に基づく最適化方法においては、まず、事前調査において制御因子、誤差因子、また、目的に応じて信号因子、等を設定する。次に、事前調整を行うことなく、直交表と水準値、すべり水準等を設定した後、直交表による実験条件に従って実験を行う。事前調整を行わない従来の最適化方法においては、すべり水準等を用いても交互作用を十分に小さくすることができず、一般にＭＯＳＦＥＴの場合の直交表実験の解析誤差はきわめて大きくなる場合がある。このため、有意な因子と有意な水準を少しか得ることができない場合がある。有意な因子と水準を得るために解析誤差を小さくするために、因子の水準値のふり幅を小さくするなどの方法もあるが、この場合、最適構造を検討する領域が狭くなり、有効な最適化を行うことができない場合がある。
【０１８２】
直交表としては、実施例１で用いたL36直交表の他にも、混合型の通常型L18直交表、多水準L18直交表、L108直交表、また、さらに大きな規模の直交表も、実施例１で使用可能である。また、より小さな規模の直交表も実施例１で使用することができる。いずれの場合も、実施例１と同様な効果が得られる。
【０１８３】
実施例１においては、図１２のステップＳ２の事前調整の計算は増えるが、計算機が計算することにより、事前調整は容易に実行することができる。また、複数の因子について直交表実験を用いることにより、複数変数について応答曲面を用いる場合よりも、特性値算出のためのシミュレーションの回数を大幅に削減できる。また、多変数について応答曲面を用いる場合と比べて、多因子について直交表実験を用いる場合の方が、多変数についての最適化が少ない実験により可能である。
【０１８４】
なお、実施例１においては、図１２のステップＳ２の事前調整およびステップＳ３の直交表実験を計算機シミュレーションを用いて行ったが、この計算機シミュレーションにかえて試作実験を含めることもできる。試作実験として、図２９に示すように例えばハローイオン注入のドーズ量を数種変化させたＭＯＳＦＥＴの試作を行い、それらのＭＯＳＦＥＴのＩｏｆｆを測定する。そして、計算機を用いて、Ｉｏｆｆの測定値の内挿によりＩｏｆｆ値が基準値に等しくなるためのドーズ量を求めることができる。試作したＭＯＳＦＥＴのＩｏｎを測定することにより、求められたドーズ量を有するＭＯＳＦＥＴのＩｏｎの値も同様にＩｏｎの測定値の内挿により求めることができる。これらのＭＯＳＦＥＴについて上記の内挿により事前調整を行ったドーズ量をして用い、実施例１の図１２のステップＳ５以降の直交表実験を行うことができる。
【０１８５】
また、ＭＯＳＦＥＴの試作では、ＭＯＳＦＥＴはウェハ上に多数作製される。この多数のＭＯＳＦＥＴの測定値を誤差条件として用いることができる。
【０１８６】
また、実施例１においてはＩｏｆｆの値を基準特性として設定したが、他の特性を基準特性として用いることもできる。ＭＯＳＦＥＴの場合には、しきい電圧、ドレイン耐圧、また、例えばゲート長ばらつきに対するＩｏｎなどのばらつきの大きさなどで評価できる短チャネル効果、ゲートリーク電流値、ゲート端またはチャネル表面などにおける電界の強さ、などである。特定の特性の最適化に応じたパラメータのトレードオフの検討において、最適化すべき特性の中でトレードオフの関係にある特性が、基準特性の候補となる。そして、特性値を十分に増減制御できるような事前調整因子が設定できるような特性を基準特性として選択することが必要である。このために、例えばシミュレーションにおいて、図１２のステップＳ１において、事前調査を行うことが有効である。事前調査においては、最適化に必要な因子（変数）の数に対応した直交表実験を用いることも有効である。事前調査において、最適化する特性として、例えば、ＭＯＳＦＥＴのゲートリーク電流値、オフリーク電流値、基板電流値、短チャネル効果によるＩｏｎなどの特性を任意に選択する。選択した特性のばらつきなどの特性の許容範囲を次に設定する。さらに、ＭＯＳＦＥＴの構造を様々に変化させてシミュレーションを行い、選択した特性の特性値を算出する。あるいは、構造を様々に変えてＭＯＳＦＥＴを試作し、選択した特性の特性値を測定する。算出あるいは測定された特性値が、許容範囲に設定されることが困難な特性を抽出する。この抽出された特性を基準特性として選択することができる。さらに、この基準特性に対するＭＯＳＦＥＴ構造因子の感度をシミュレーションにより算出する。感度が大きく基準特性の増減に強く影響を与える構造因子を抽出し、抽出された因子を事前調整因子に設定することができる。
【０１８７】
また、基準特性は２つ以上を用いることができる。例えば、Ｉｏｆｆを基準特性とし、同時に、基板電流値を２つ目の基準特性とすることができる。この時、事前調整因子も2つ用いることが望ましい。例えば、ハローイオン注入ドーズ量とソース・ドレインイオン注入ドーズ量などが事前調整因子の候補となる。この時、図１２のステップＳ２の事前調整因子の値を決定する部分では、これら２つの事前調整因子の値を決定することになる。また、複数のＭＯＳＦＥＴやキャパシタによる小規模回路についてＬ１０８直交表以上の大きな直交表を用いて最適化する場合などに、それら複数のＭＯＳＦＥＴのそれぞれのしきい電圧を基準特性とすることもできる。
【０１８８】
また、１つの基準特性に対して事前調整因子は１つであることが望ましいが、事前調整因子の望ましい値の範囲における調整が困難な場合、2つ以上の調整因子を組み合わせて用いることもできる。例えば、ハローイオン注入ドーズ量を増加させる調整によってＩｏｆｆ値を下げる調整をしようとして、許容できるドーズ量よりも高いドーズ量が必要となる場合に、ハローイオン注入ドーズ量とハローイオン注入エネルギーの２つを組み合わせる。ハローイオン注入エネルギーを低くすることにより、ハローイオン注入ドーズ量は許容範囲の低い値のまま、Ｉｏｆｆ値を下げることができる。
【０１８９】
また、３つ以上のより多くの事前調整因子を用いて基準特性を基準値に調整する時、この調整作業自体を一つの最適化問題と考え、この基準特性を基準値に調整するという最適化問題に実施例１の最適化方法を用いることができる。即ち、実施例１の最適化方法を２段階以上に用いて最適化を行うことができる。例えば、いくつかのMOSFETによりなる小規模回路の回路構造の最適化を行う場合に、この回路の待機時の消費電力を基準特性として実施例１の図１２および図１３に示した最適化を実施することができる。ここで、待機時の消費電力を基準値とするためにMOSFETの構造パラメータを事前調整因子として用いる時、この待機時の消費電力を基準値に一致させる調整作業自体を新たに一つの最適化問題と考えることができる。この新たな最適化問題において、例えば、この小規模回路を成すMOSFETのIoff値を新たな基準特性とし、例えば実施例１において説明した図１２および図１３に示した最適化を適用することができる。
【０１９０】
また、実施例１の事前調整因子を用いて基準特性を事前に基準値に揃えて最適化の検討を行うことは、直交表実験でなくとも、応答曲面法を用いて検討する場合にも有効である。例えば、上記のように２段階以上に実施例１の最適化方法を用いる場合、例えば２段階目には２因子２水準などの小さな規模の最適化を行うと十分である場合も多い。このような場合に小さな規模の最適化であっても実施例１の事前調整因子を用いて基準特性を事前に基準値に揃えて最適化を効率的に行うことができる。
【０１９１】
また、調整因子による調整の結果が調整因子の望ましい値の範囲の中で得られなかった場合に、それが解析の全体において少数の場合に限られる場合、例えばＬ３６直交表の場合に２ないし３個以下の場合であるならば、調整因子の値が望ましい値の範囲の中ではない場合を含んでいても、直交表実験の全体を行い、要因効果図などの検討を行うことが有効である場合が多い。要因に対する特性の依存性は正しく求められており、最適化についての知見が得られることが多いためである。
【０１９２】
また、図１２のステップＳ４で直交表実験の一組の全実験に対して調整をすることができなかった場合、ステップＳ４のNoに進み、ステップＳ１において、(1)の制御因子の種類または水準値の見直しを行うことが有効な場合が多い。事前調整因子の値が設定困難になった場合について調整が可能になるように制御因子の水準値の取り直しを行う。例えば、ハローイオン注入ドーズ量を事前調整因子とした場合、或る構造で極端に高いドーズ量を必要とする結果が得られた時、この構造で用いられたチャネルイオン注入ドーズ量の水準値をより高い値に取り直す、などの場合がある。このように水準値を見直す場合、解析の直交性を保つため、一般に、それまでに終了していた部分の事前調整の作業も、部分的に再計算を行う必要が生じる。水準値の取り直しによりそれまでに終了していた部分のどれだけを再計算する必要が生じるかは、取り直した水準がそれまでに終了していた部分のどれだけで用いられていたかを計数することで把握できる。
【０１９３】
また、同じくステップＳ４でＮｏに進んだ場合に、ステップＳ１において、(2)のすべり水準を加えることが有効な場合も多い。事前調整は事前調整因子によって系の交互作用を平坦化しているのであり、調整しきれない交互作用がある場合は、他の制御因子にすべり水準を用いて交互作用を軽減することにより、調整因子による調整の負担を小さくすることができる。
【０１９４】
また、同じくステップＳ４でＮｏに進んだ場合に、ステップＳ１において、(3)のより調整力のある因子を調整因子として用いることや、(4)の他の特性変数を基準変数として用いることもできる。
【０１９５】
実施例１によれば、因子の値が互いに直交するよう設定して解析する最適化問題において、基準変数の値が事前に調整された構造に対応する事前調整因子の値を求めるという部分を、計算機を用いて容易に行うことができる。具体的には、最適化作業において事前調整因子を用いて基準変数の値を調整するために、調整因子を変種々変化させて基準変数を求め、調整作業を可能にするという部分を、計算機を用いて容易に行うことができる。
【０１９６】
事前調整因子は、制御しようとする互いに直交する値を持つ制御因子以外の因子から選択する。このことにより、直交表を成す制御因子の自由度以外の自由度から事前調整因子を用いる最適化方法が実施できる。
【０１９７】
実施例１によれば、直交表をなさない場合の最適化作業の場合にも効率的な最適化を実現できる。互いに直交する場合に限らず、因子の値の複数の組に対応する特性値を求め特性値の最適値とそれを与える因子の値の組を求めるパラメータ最適化の問題において、事前に基準変数の値が基準値となるよう調整して目標特性を求めればよい。このように、実施例１は、２変数２水準法等の小さな規模の最適化においても有効である。
【０１９８】
実施例１において、目標特性の特性値の許容範囲を設定し、許容範囲を満たさない目標特性の特性値を与える目標特性を基準特性の候補とし、この候補の中から基準特性を設定する。このことにより、基準特性の選択をシミュレーションに基づいて容易に行うことができる。
【０１９９】
また、２つ以上の目標特性の特性値の許容範囲を設定し、等しい構造において同時に許容範囲を満たさない目標特性の特性値を与える２つ以上の目標特性を基準特性の候補とし、この候補の中から基準特性を設定する。このことにより、基準変数の選択をトレードオフの観点からシミュレーションに基づいて容易に行うことができる。
【０２００】
目標特性の特性値のばらつきの許容範囲を設定し、許容範囲を満たさない目標特性の特性値のばらつきを与える目標特性を基準特性の候補とし、この候補の中から基準特性を設定する。このことにより、基準特性の選択をばらつきの観点からシミュレーションに基づいて容易に行うことができる。
【０２０１】
また、実施例１において、基準特性の感度を計算する。感度の高い因子を事前調整因子の候補にする。この候補の中から事前調整因子を選択する。このことにより、基準変数に対して有効な事前調整因子をシミュレーションに基づいて容易に選択することができる。
【０２０２】
また、実施例１において、事前調整因子の調整が設定された許容範囲内で可能でなかった場合に、制御因子の値を再設定して再調整する。このことにより、直交表実験においては様々な構造を検討するため、事前調整因子によって調整しきれない場合でも、直交表をなす制御因子の水準を取り直すことによって調整できる。
【０２０３】
また、実施例１において、基準特性の基準値からのずれの許容値を設定し、この基準特性に対応する事前調整因子の調整値を２分法または他の反復法により求め、基準特性の基準値からのずれを許容値以下にする。このことにより、事前調整因子を用いて基準特性が基準値に調整する事前調整を、設定された許容値以内で計算機上で行うことができる。
【０２０４】
また、実施例１において、制御因子の水準値の設定にいわゆるすべり水準を用いる。特に、事前調整因子と関連のある効果をもつ制御因子についてすべり水準を用いることにより、事前調整因子の調整値の実験間の差を狭めることができ、調整値を事前調整因子の設定可能な範囲内に収めることが容易になる。
【０２０５】
また、実施例１において、２つ以上の基準特性と２つ以上の事前調整因子を設定し、これらが成す２次元以上の変数空間内でこれらの基準特性がそれぞれの基準値となるよう複数の事前調整因子の調整値を計算機を用いて定める。このことにより、多数の目標特性を有する系において、２つ以上の目標特性を基準特性に選択しそれぞれの基準値に設定する束縛を与えることができ、他の目標特性の特性値の最適化を行うことができる。
【０２０６】
また、実施例１において、事前調整因子の調整が、設定された許容範囲内で可能でなかった場合に、許容範囲を超えて調整値を求める。そして、調整を行った結果調整因子の値が許容範囲を超える場合に、許容範囲を超えることを許して解析を行う。許容範囲を超えている場合、実際の製造や適用には用いることができなくても、一般に特性値の因子への依存性は正しく求められており、最適化の検討は正しく行うことができるからである。
【０２０７】
また、実施例１において、基準特性の数と事前調整因子の数を同じにする。このことにより、調整因子の調整値の曖昧さをなくすことができる。また、基準特性の数よりも事前調整因子の数を多くする。このことにより、事前調整因子の値を許容値内で容易に調整することができる。
【０２０８】
また、実施例１の最適化方法を２回以上行う。このことにより、構造全体あるいは系全体の効率的な最適化を可能にすることである。
【０２０９】
以上、実施例１によれば、多変数に依存する系に対して計算機を用いて極めて効率的に高精度な最適化を実現できるようになる。また、実施例１によれば、特性値の最適値とそれを与える因子の値の組を求めパラメータの最適化を行うことによって、被処理体として半導体基板を用いた場合にその条件に基づいた処理を行うことによって、容易に高性能な半導体装置を製造することが可能になる。
【実施例２】
【０２１０】
実施例２は、実施例１の事前調整を用いた直交表実験手法を、半導体装置の製造のプロセス条件最適化に適用したものであり、特に、ｎ型MOSFETのソース・ドレイン拡散層について、接合リーク電流を低減するためのイオン注入条件と活性化熱工程の最適化に応用したものである。
【０２１１】
図４１に示すように、最適化を行ったｎ型MOSFETの場合、シリコン基板１のｐ型シリコン領域にソース・ドレイン拡散層３をｎ型不純物拡散層で形成してｐｎ接合を形成する。消費電力を低減するために、シリコン基板１とソース・ドレイン拡散層３との間に形成されたｐｎ接合に流れる接合リーク電流を低く抑える必要がある。接合リーク電流の周辺成分は0.1pA/μm未満、面積成分は0.1pA/μm2未満にする必要がある。接合リーク電流の周辺成分とは、ソース・ドレイン拡散層３の周辺部とシリコン基板１の接合に生じる接合リーク電流であり、ソース・ドレイン拡散層３の周辺長当たりの線密度で表される。接合リーク電流の面積成分とは、ソース・ドレイン拡散層３の底面とシリコン基板１の接合に生じる接合リーク電流であり、ソース・ドレイン拡散層３の底面積当たりの面密度で表される。
【０２１２】
他方、ソース・ドレイン拡散層３を回路配線(図示せず)へ接続することにより生じMOSFETの主電流を減少させる寄生抵抗となる配線コンタクト抵抗と拡散層シート抵抗を低減するため、ソース・ドレイン拡散層３の上にシリサイド層４を貼り付けている。このシリサイド層４を拡散層３の上面に形成する際に生じる欠陥などの影響により、ソース・ドレイン拡散層３からシリコン基板１への接合リーク電流が増大するという問題が生じている。この接合リーク電流を低減するため、ソース・ドレイン拡散層３を形成するイオン注入のイオン種、イオン注入の加速エネルギーやドーズ量、注入後の活性化熱工程条件、などを最適化することが課題である。
【０２１３】
発明者らは、図１２のステップＳ１の事前調査において、この最適化は、次の４つの要因によって複雑なものとなっていることを明らかにした。
【０２１４】
（１）ソース・ドレイン拡散層３は半導体ウェハ１に砒素（Ａｓ）、燐（Ｐ）、などのｎ型の不純物イオンを注入して形成される。そして、接合リーク電流の増減はこれらのどのｎ型不純物を用いるかに依存する。
【０２１５】
図４２に、不純物イオンの砒素と燐毎に、接合リーク電流（Ileak）の周辺成分のイオン注入ドーズ量に対する依存性を示す。図４２では、イオン注入量を増加させるに伴いIleakが減少するが、ある注入量を境にしてIleakは増加する。この理由は次のように説明される。注入量が少ない場合には、拡散層３にコンタクトするシリサイド層４の直下に1E18〜１E19cm-3程度以上の高濃度の不純物拡散層３が十分に形成されず。シリサイド層４の下のn+拡散層３がすべて空乏化されないだけの十分な厚みだけ形成されないために、接合リーク電流が大きくなる。従って、イオン注入量を増加させるとシリサイド層４の下に十分な厚みのn+拡散層３が形成されて接合リーク電流は低下する。ところが、3E15cm-2以上の高い注入量のイオン注入を行うと熱処理によって結晶欠陥が十分に回復できないために接合リーク電流が注入量の増加に伴って増加する。図４２に示すように、この接合リーク電流の大きさは注入イオン種によって異なっている。注入イオン種が砒素である場合の接合リーク電流は、注入イオン種が燐である場合の接合リーク電流に比較して大きい。
【０２１６】
（２）図４３と図４４に示すように、拡散層シート抵抗ρｓやコンタクト抵抗ρｃも、イオン注入ドーズ量などの工程条件に依存する。図４３に示すように、拡散層シート抵抗ρｓは、イオン注入量が増加するほど低下する。また、拡散層シート抵抗ρｓの大きさは注入イオン種によって異なっている。注入イオン種が砒素である場合の拡散層シート抵抗ρｓは、注入イオン種が燐である場合の拡散層シート抵抗ρｓに比較して大きい。図４４に示すように、コンタクト抵抗ρｃは、イオン注入量が増加するほど低下する。また、コンタクト抵抗ρｃの大きさは注入イオン種によって異なる場合がある。3E14cm-2以上の注入量のイオン注入を行うと、注入イオン種が砒素である場合のコンタクト抵抗ρｃは、注入イオン種が燐である場合のコンタクト抵抗ρｃに比較して大きい。
【０２１７】
（３）図４５に示すように、MOSFET特性のばらつきに強く影響を与える半導体基板の深さ方向の不純物分布のｐｎ接合の接合深さも、不純物イオン注入のドーズ量とイオン種に依存している。一般に、MOSFET特性ばらつきを小さくするためにはソース・ドレイン拡散層３と半導体基板１の接合深さは浅い方が望ましく、接合深さを浅くするためには図４５に示すように、ドーズ量は小さい方が望ましい。また、注入イオン種が砒素である場合の接合深さは、注入イオン種が燐である場合の接合深さに比較して浅い。したがって、接合深さを浅くするためには、燐を用いるよりも、砒素を用いる方が望ましい。しかし、図４２、図４３、図４４に示すように、砒素の方が燐よりも大きな接合リーク電流Ileakおよび寄生抵抗（拡散層抵抗ρｓやコンタクト抵抗ρｃ）を示している。また、しかし、イオン注入ドーズ量を小さくするとリーク電流Ileakが大きくなると共に寄生抵抗ρｓ、ρｃが大きくなる。
【０２１８】
（４）図４２に示した接合リーク電流Ileakや図４３と図４４に示した寄生抵抗ρｓ、ρｃは、接合深さに影響を与えないような非常に短時間の高温アニールを追加することによって低減できる。しかし、このような高温短時間アニールによる接合リーク電流の低減効果も不純物種に依存していると考えられる。これらの（１）〜（４）の要因を考慮して最適化を行うことは膨大な実験を必要としていた。
【０２１９】
実施例２では、（１）〜（４）の要因を考慮して、ソース・ドレイン不純物のイオン注入後の接合深さを基準特性にした。なお、接合深さは制御因子Ａでもあるので、ソース・ドレイン不純物のイオン注入後の接合深さが直交表実験の全実験について指定の水準値になるように事前に事前調整因子を調整した後に実験を行った。事前調整因子としては、異なるイオン種に対して、加速エネルギーとドーズ量とを事前調整因子にした。また、直交表実験はL18直交表にしたがっている。
【０２２０】
制御因子の内訳とその水準値を図４８に示す。直交表の制御因子Bをイオン注入不純物種としている。図４８に示すように、イオン注入不純物種の水準１は砒素のみであり、水準２は燐のみであり、水準３は砒素と燐の両方であるという３水準で検討した。制御因子C、D、E、Fは不純物分布に影響を与えない極短時間の高温アニールについての因子である。具体的には、シリコン基板１のウェハ下面から低温で予備加熱した上で、ウェハの上面からの光照射による極短時間高温アニールを行った。高温アニールのための上面からの照射光の照射エネルギーを因子Cとしている。下面からの予備加熱の予備加熱温度を因子Dとしている。上面からの高温アニールの回数をEとしている。下面からの予備加熱の予備加熱時間を因子Fとしている。
【０２２１】
このようにウェハ下面から予備加熱した上で上面からも加熱して極短時間のアニールを行うので、例えば、因子Ｃの水準１、Ｃ１と、因子Ｄに水準１、Ｄ１の条件においては、下面からの４５０℃の加熱に加えて上面から５００℃の極短時間の加熱が行われ、ウェハ上面は極短時間の間９５０℃となる。ウェハ上面は極短時間の間９５０℃となることにより、不純物の活性化と供に結晶欠陥も減少し、接合リーク電流の低減の効果が得られる。
【０２２２】
また、この活性化のための高温アニールを行うよりも前に予め不純物プロファイルに影響を与えない低温アニールを付け加えることに関する制御因子も取り入れ、この制御因子をGとしている。
【０２２３】
また、ソース・ドレイン拡散層３に貼り付けるシリサイド層４のスパッタ膜の厚さを制御因子Hとしている。
【０２２４】
このように、因子Ａの接合深さと因子Bのイオン種以外の因子はいずれもソース・ドレイン不純物プロファイルに影響を与えない因子とした。
【０２２５】
事前調整因子であるソース・ドレイン拡散層３のイオン注入のドーズ量と加速エネルギーを用いてイオン注入後の接合深さを調整した結果を図４６と図４７に示す。この調整はイオン注入についての計算機シミュレーションを用いて行った。図４６はイオン注入に砒素と燐を用いた場合、図４７は燐のみを用いた場合である。ともに接合深さは、制御因子の水準２の８０ｎｍを基準値２として調整されている。したがって、接合深さが、制御因子の水準１の１００ｎｍである基準値１に対する調整も別途行われている。
【０２２６】
図４６の砒素と燐を用いた場合では砒素のみによって接合深さが決まっている。燐は、基板表面部分に分布させることにより、接合深さには影響を与えないが、コンタクト抵抗ρｃを小さくしている。接合深さは、０．０７８μｍである。図４６の不純物の分布は、図４８の因子Ｂの水準３、Ｂ３に対応する。
【０２２７】
図４７に示すように、因子Ｂの水準２、Ｂ２に対応する燐を用いた場合の接合深さは、０．０８２μｍであり、図４６の因子Ｂの水準３、Ｂ３の接合深さと同じに調整されている。
【０２２８】
図４８の因子Ｂの水準１、Ｂ１の砒素のみに対応する不純物分布には、図４６のグラフから燐の分布を取り除いた砒素の分布が対応する。因子B以外の因子はいずれも不純物分布に影響を与えないため、この調整により、直交表実験の全ての実験に対して接合深さが同じになるように調整することができる。
【０２２９】
実施例２では、事前調整因子として加速エネルギーとドーズ量を用い、シミュレーション計算の入力データにおいて加速エネルギーとドーズ量の２つのパラメータを変化させ、接合深さという基本特性の特性値を基準値１の０．１００μｍと基準値２の０．０８０μｍに一致させる調節をした。事前調整する基準特性として異なる不純物についての接合深さを用いたことが実施例２の特徴の一つである。図４２から図４４に示したように、接合リーク電流の値やシート抵抗値ρｓは不純物種依存性を持つが、この不純物種依存性の一部分はそれぞれ異なる不純物を用いた場合の接合深さが異なることに起因している。接合深さを調整して実験間で一定にすることにより、直交表実験における接合深さに関わる交互作用を低減した不純物種の依存性を接合リーク電流、シート抵抗値ρｓ、コンタクト抵抗値ρｃに関して検討することができる。また、１個の基準特性を調節するために事前調整因子を２つ用いたことも、実施例２の特徴の一つである。
【０２３０】
図４９に、実施例２で行った実験条件のL18直交表を示す。半導体装置の製造においては、複数のウェハをロットとして一連の製造工程を実施する。実施例２においては、図４９に示した１８種の実験を実施するためのウェハを含むロットを準備し、制御因子Ａ乃至Ｈに関する最適化する工程の前後の工程を単一の条件でロットに対して実施し、最適化する工程の部分について表２に示した条件によってロットを分割し工程を実施することにより、直交表実験を行った。このように、半導体装置の製造工程におけるロット内のウェハを分割して製造プロセスを実施する実験において注目した基準特性を調節して直交表実験を行ったことが、本実施例の他の特徴である。また、ウェハ面内に製造される複数の半導体装置について、異なる位置の２２個の半導体装置のｎ型MOSFETを測定して誤差因子とし、ウェハ面内位置依存性が小さくなるように最適化した。
【０２３１】
図５０に、最適化条件を用いた場合の接合リーク電流の累積頻度分布を示す。図５０に示すように従来例と比較して接合リーク電流は2桁改善することが確認された。さらにNiSi電極とのコンタクト抵抗値ρｃも従来の3E-7Ω・cm2から１E-7Ω・cm2以下に改善された。
【０２３２】
実施例２によれば、特性値の最適値とそれを与える因子の値の組を求めパラメータの最適化を行うことによって、被処理体として半導体基板を用いた場合にその条件に基づいた処理を行うことによって、容易に高性能な半導体装置を製造することが可能になる。
【実施例３】
【０２３３】
実施例３では、バイポーラトランジスタの増幅率（hFE）のバラツキを改善するための最適化方法について説明する。
【０２３４】
バイポーラトランジスタは、アナログ系ＩＣの中で使用されている。バイポーラトランジスタの増幅率(ｈＦＥ)のバラツキを低減することにより、アナログ系ＩＣの歩留りを良くできる場合がある。このことにより、アナログ系ＩＣの収益性が改善することが必要な場合が多い。
【０２３５】
この増幅率(ｈＦＥ)のバラツキを抑える際には、同時に、コレクター/エミッター間電圧（Vce）が振れてもアーリー電圧ＶＡが変わらないことが望まれる。アーリー電圧ＶＡとは、飽和領域のIc-Vce特性を延長した直線のコレクタ電流Ｉｃ＝０すなわちコレクタ/エミッター間電圧（Vce）軸上におけるコレクタ/エミッター間電圧（Ｖｃｅ）値である。
【０２３６】
この増幅率(ｈＦＥ)のバラツキを改善するための最適化方法をタグチメソッドを用いて行う手順を図１２のフローチャートにしたがって説明する。
【０２３７】
まず、ステップＳ１において、制御因子、誤差因子、事前調整因子、基準特性及び最適化を目的とする出力特性を設定する。
【０２３８】
具体的に。制御因子としては、バイポーラトランジスタの製造パラメータの以下の５つの因子を選択している。これらの５つの因子に対して、それぞれ３つの水準を設定している。
【０２３９】
(1)ベースイオン注入のボロンイオンドーズ量
(2)ベースイオン注入のボロンイオン加速電圧
(3)エミッタイオン注入のヒ素イオンドーズ量
(4)エミッタアニール温度
(5)エミッタアニール時間
誤差因子としては、バイポーラトランジスタの製造バラツキを評価するために、以下の２つの因子を選択している。これらの２つの因子に対して、それぞれ最大値(Max)と最小値(Min)の２つの水準を設定している。
【０２４０】
(1)ベースイオン注入時のバッファシリコン酸化膜（SiO2）膜厚
(2)エミッタイオン注入時のバッファシリコン酸化膜（SiO2）膜厚
さらに、基準特性として、アーリー電圧ＶＡを選択している。事前調整因子としては、エミッタイオン注入のヒ素イオン加速電圧を選択している。最適化を目的とする出力特性としては、増幅率(ｈＦＥ)を選択している。
【０２４１】
ステップＳ１において、L18直交表に制御因子と誤差因子とそれらの水準を割り付ける。さらに、２水準ずつ有する２つの誤差因子から、水準を組み合わせて４つの誤差条件Ｎ１乃至Ｎ４を生成する。誤差条件Ｎ１は、誤差因子（１）と（２）の水準が共に最大値の場合である。誤差条件Ｎ２は、誤差因子（１）の水準が最大値であり、誤差因子（２）の水準が最小値である場合である。誤差条件Ｎ３は、誤差因子（１）の水準が最小値であり、誤差因子（２）の水準が最大値である場合である。誤差条件Ｎ４は、誤差因子（１）と（２）の水準が共に最小値の場合である。
【０２４２】
ステップＳ２とＳ３において、誤差条件N1での、L18直交表の各１８個の実験について、アーリー電圧ＶＡが基準値、例えば-50Vになるように事前調整因子であるエミッタイオン注入のヒ素イオンの加速電圧を調整する。なお、アーリー電圧ＶＡを基準値に設定するためには、事前調整因子の水準を変化させた複数の水準毎に複数のシミュレーションを行い複数のアーリー電圧ＶＡを算出する。算出された複数のアーリー電圧ＶＡと複数の水準から内挿して、アーリー電圧がＶＡが基準値になるエミッタイオン注入のヒ素イオンの加速電圧を算出し決定する。このような調整の複数回のシミュレーションと事前調整因子の水準の決定を、計算機において制御ソフトウェアを用いて自動的に実施する。
【０２４３】
ステップＳ４において、誤差条件N1での、L18直交表の１８個のすべての実験について、基準特性であるアーリー電圧ＶＡが基準値に設定できているか判定する。アーリー電圧ＶＡが基準値に設定できているので、ステップＳ５に進む。
【０２４４】
ステップＳ５において、誤差条件N1でのL18直交表の１８個の実験それぞれに求めた事前調整因子の水準値を用いて、誤差条件N2〜N4毎のL18直交表の１８個の実験それぞれで増幅率(ｈＦＥ)を求める。
【０２４５】
ステップＳ６において後処理を行う。SN比と感度を分析し、増幅率(ｈＦＥ)のバラツキを小さすると同時に、増幅率(ｈＦＥ)を目標値に近づける制御因子の水準を選択する。
【０２４６】
ステップＳ７において、選択された制御因子の水準により増幅率(ｈＦＥ)が目標値を達成できたかを判定する。選択された制御因子の水準を用いてシミュレーションを行い、増幅率(ｈＦＥ)を算出する。算出された増幅率(ｈＦＥ)を目標値と比較する。算出された増幅率(ｈＦＥ)が目標値を満足しているので、実施例３の最適化を終了する。以上のような手順の最適化により、アーリー電圧ＶＡを一定値に固定しているので、アーリー電圧ＶＡのバラツキと増幅率(ｈＦＥ)のバラツキの交互作用が抑えられ、増幅率(ｈＦＥ)のバラツキを小さくする制御因子とその水準を容易に抽出することが出来る。
【０２４７】
実施例３によれば、特性値の最適値とそれを与える因子の値の組を求めパラメータの最適化を行うことによって、被処理体として半導体基板を用いた場合にその条件に基づいた処理を行うことによって、容易に高性能な半導体装置を製造することが可能になる。
【実施例４】
【０２４８】
図５１に示すように、図１のシミュレーションの出力値１１が出力され閾値電圧Ｖｔｈを抽出する場合を例に、文字列抽出部１２の機能を具体的に説明する。
【０２４９】
まず、図３のファイル読み込み部１０１は、シミュレーション出力値１１のファイル全体を読み込む。
【０２５０】
トークン分割部１０３は、シミュレーション出力値１１を、適用フォーマットに基づいて複数のトークンに分割する。適用フォーマットは、複数のトークン間に空白文字が配置されているという情報を有している。図５１の下部に示すように、トークン分割部１０３は、例えば閾値電圧Ｖｔｈに関する第１トークン乃至第５トークンを分割し、分割された複数の第１乃至第５トークンを並べた第１トークン列を生成する。
【０２５１】
トークン比較＆抽出対象トークン記憶部１０４は、適用フォーマットに基づいて、第１トークン列から基準特性値が抽出可能な第２トークン列を生成する。
【０２５２】
図５２に示すように、第２トークン列は、トークン（１）乃至（５）毎に、比較文字列か変数かの判別子、第２トークン列において当トークンの次に配列される記憶対象トークンのアドレス、文字列、文字列比較可否判別子、変数名を有する。具体的に、トークン（１）は、判別子として比較文字列、アドレスとしてトークン（２）のアドレス、文字列としてＶｔｈ、文字列比較可否判別子としてYesを有する。トークン（２）は、判別子として比較文字列、アドレスとしてトークン（３）のアドレス、文字列として(current)、文字列比較可否判別子としてYesを有する。トークン（３）は、判別子として比較文字列、アドレスとしてトークン（４）のアドレス、文字列として＝、文字列比較可否判別子としてYesを有する。トークン（４）は、判別子として変数、アドレスとしてトークン（５）のアドレス、変数名としてValを有する。トークン（５）は、判別子として変数、アドレスとしてＮＵＬＬ、変数名としてUnitを有する。
【０２５３】
トークン比較＆抽出対象トークン記憶部１０４は、図５２の第２トークン列を用いて、図５１の第１トークン列から閾値電圧Ｖｔｈを抽出する。抽出された情報で変数として指定されたValとUnitの変数名と対応するトークン値を、図５３あるいは図５４に示すように、変数名とトークン値のテーブル記憶部１３１に記憶する。
【０２５４】
抽出対象トークン出力部１０５は、図５５に示すような出力フォーマットにしたがって、変数名とトークン値のテーブル記憶部１３１に記憶された出力すべき閾値電圧Ｖｔｈを出力する。リスト（０）は、出力フォーマットとして文字列％％と、変数名リスト（１）のヘッダを有している。文字列％％により２つの変数を置き換えることができる。変数名リスト（１）のヘッダによりリスト（１）を読み出すことができる。リスト（１）は、文字番号（ｉ）＝１に対応する変数名Ｖａｌと、リスト（２）のポインタを有している。図５３で変数名Ｖａｌに対応するトークン値０．１１６７５０９１を出力用文字列に追加する。リスト（２）のポインタによりリスト（２）を読み出すことができる。リスト（２）は、文字番号（ｉ）＝２に対応する変数名Ｕｎｉｔと、最終リストであることを示すＮＵＬＬを有している。図５３で変数名Ｕｎｉｔに対応するトークン値Ｖを出力用文字列に追加する。
【０２５５】
文字列抽出部１２は、出力用文字列を出力することにより、閾値電圧Ｖｔｈとして０．１１６７５０９１Ｖを抽出し出力することができる。
【０２５６】
実施例４によれば、特性値の最適値とそれを与える因子の値の組を求めパラメータの最適化を行うことによって、被処理体として半導体基板を用いた場合にその条件に基づいた処理を行うことによって、容易に高性能な半導体装置を製造することが可能になる。
【実施例５】
【０２５７】
図５６に示すように、図１のシミュレーションの出力値１１が出力され容量計算結果を抽出する場合を例に、文字列抽出部１２の機能を具体的に説明する。
【０２５８】
まず、図３のファイル読み込み部１０１は、図５６のシミュレーション出力値１１のファイル全体を読み込む。
【０２５９】
トークン分割部１０３は、シミュレーション出力値１１を、適用フォーマットに基づいて複数のトークンに分割する。適用フォーマットは、複数のトークン間に空白文字が配置されているという情報を有している。分割された複数のトークンを並べた第１トークン列を生成する。
【０２６０】
トークン比較＆抽出対象トークン記憶部１０４は、適用フォーマットに基づいて、第１トークン列から容量値が抽出可能な第２トークン列を生成する。
【０２６１】
図５７に示すように、第２トークン列は、トークン（１）乃至（５）を有するだけでなく、第３トークン列を有する。第３トークン列はトークン（５−１）乃至（５−３）を有する。トークン（１）乃至（５）とトークン（５−１）乃至（５−３）は階層が異なり、トークン（５−１）乃至（５−３）は、トークン（１）乃至（５）の下の階層である。
【０２６２】
第２トークン列は、トークン（１）乃至（５）毎に、比較文字列か変数か繰り返しかの判別子、第２トークン列において当トークンの次に配列される記憶対象トークンのポインタ、文字列、文字列比較可否判別子、変数名、繰り返し終了条件、繰り返しのあるリストすなわち第３トークン列へのポインタを有する。具体的に、トークン（１）は、判別子として比較文字列、次へのポインタとしてトークン（２）のアドレス、文字列として＃容量計算結果＃、文字列比較可否判別子としてYesを有する。トークン（２）は、判別子として比較文字列、次へのポインタとしてトークン（３）のアドレス、文字列として電極名、文字列比較可否判別子としてYesを有する。トークン（３）は、判別子として比較文字列、次へのポインタとしてトークン（４）のアドレス、文字列として電圧（Ｖ）、文字列比較可否判別子としてYesを有する。トークン（４）は、判別子として比較文字列、次へのポインタとしてトークン（５）のアドレス、文字列として容量（Ｆ）、文字列比較可否判別子としてYesを有する。トークン（５）は、判別子として繰り返し、次へのポインタとしてＮＵＬＬ、繰り返し終了条件としてトークンが＃＃＃＃＃か否かの判断結果を返す関数へのポインタ、繰り返し用の第３トークン列へのポインタとしてトークン（５−１）へのポインタを有する。
【０２６３】
第３トークン列は、トークン（５−１）乃至（５−３）毎に、比較文字列か変数か繰り返しかの判別子、第３トークン列において当トークンの次に配列される記憶対象トークンのポインタ、文字列、文字列比較可否判別子、変数名、繰り返し終了条件、繰り返しのあるリストすなわち後段の階層の第４トークン列へのポインタを有する。具体的に、トークン（５−１）は、判別子として変数、次へのポインタとしてトークン（５−２）のアドレス、変数名としてＥｌｅｃを有する。トークン（５−２）は、判別子として変数、次へのポインタとしてトークン（５−３）のアドレス、変数名としてＶｏｌｔを有する。トークン（５−３）は、判別子として変数、次へのポインタとしてＮＵＬＬ、変数名としてＣａｐａを有する。
【０２６４】
トークン比較＆抽出対象トークン記憶部１０４は、図５６のシミュレーション出力値１１をトークン分割した第１トークン列から、図５７の第２トークン列に一致するトークン列を抽出する。抽出された情報で変数として指定されたＥｌｅｃ、ＶｏｌｔとＣａｐａの変数名とこれらの変数名と配列（繰り返し番号）に対応するトークン値を、図５８に示すように、変数名とトークン値のテーブル記憶部１３１に記憶する。
【０２６５】
抽出対象トークン出力部１０５は、図５９に示すような出力フォーマットにしたがって、変数名とトークン値のテーブル記憶部１３１に記憶された電極名ごと電圧と容量を出力する。リスト（０）は、出力フォーマットとして文字列％％％％％％％％％％％％と、変数名リスト（１）のヘッダを有している。文字列％％％％％％％％％％％％により１２個の変数を置き換えることができる。変数名リスト（１）のヘッダによりリスト（１）を読み出すことができる。リスト（１）は、文字番号（ｉ）＝１に対応する変数名Ｅｌｅｃ、繰り返し番号ｎ＝１と、リスト（２）のポインタを有している。図５８で変数名Ｅｌｅｃと繰り返し番号ｎ＝１に対応するトークン値、ＤＲＡＩＮを出力用文字列に追加する。リスト（２）のヘッダによりリスト（２）を読み出すことができる。リスト（２）は、文字番号（ｉ）＝２に対応する変数名Ｅｌｅｃ、繰り返し番号ｎ＝２と、リスト（２）のポインタを有している。図５８で変数名Ｅｌｅｃと繰り返し番号ｎ＝２に対応するトークン値、ＧＡＴＥを出力用文字列に追加する。以下リスト（３）からリスト（１２）まで同様の処理を行う。最後のリスト（１２）では、文字番号（ｉ）＝１２に対応する変数名Ｃａｐａと繰り返し番号ｎ＝４と、最終リストであることを示すＮＵＬＬを有している。図５８で変数名Ｃａｐａと繰り返し番号ｎ＝４に対応するトークン値２．６ｅ−１５を出力用文字列に追加する。
【０２６６】
文字列抽出部１２は、出力用文字列を出力することにより、ＤＲＡＩＮ、ＧＡＴＥ、ＳＯＵＲＣＥ、ＳＵＢ、１．２ｅ＋０、８．５ｅ−１、０．０ｅ＋０、０．０ｅ＋０、−７．１ｅ−１５、１．２ｅ−１５、３．２ｅ―１５、２．６ｅ−１５を抽出し出力することができる。
【０２６７】
実施例５によれば、特性値の最適値とそれを与える因子の値の組を求めパラメータの最適化を行うことによって、被処理体として半導体基板を用いた場合にその条件に基づいた処理を行うことによって、容易に高性能な半導体装置を製造することが可能になる。
【実施例６】
【０２６８】
図６０に示すように、図１のシミュレーションの出力値１１が出力されドレイン電流Ｉｄ−ゲート電圧Ｖｇ特性の計算結果を抽出する場合を例に、文字列抽出部１２の機能を具体的に説明する。このＩｄ−Ｖｇ特性の基づいて、ＭＯＳＦＥＴの駆動電流Ｉｏｎ、オフリーク電流Ｉｏｆｆ、閾値電圧Ｖｔｈを算出することができる。すなわち、ＭＯＳＦＥＴの駆動電流Ｉｏｎ、オフリーク電流Ｉｏｆｆ、閾値電圧Ｖｔｈを基準特性値に設定することができる。
【０２６９】
まず、図３のファイル読み込み部１０１は、図６０のシミュレーション出力値１１のファイル全体を読み込む。
【０２７０】
トークン分割部１０３は、シミュレーション出力値１１を、適用フォーマットに基づいて複数のトークンに分割する。適用フォーマットは、複数のトークン間に空白文字が配置されているという情報を有している。分割された複数のトークンを並べた第１トークン列を生成する。
【０２７１】
トークン比較＆抽出対象トークン記憶部１０４は、適用フォーマットに基づいて、第１トークン列からドレイン電流Ｉｄ及びゲート電圧Ｖｇが抽出可能な第２トークン列を生成する。
【０２７２】
図６１に示すように、第２トークン列は、トークン（１）乃至（４）を有するだけでなく、第３トークン列を有する。第３トークン列はトークン（４−１）乃至（４−２）を有する。トークン（１）乃至（４）とトークン（４−１）乃至（４−２）は階層が異なり、トークン（４−１）乃至（４−２）は、トークン（１）乃至（４）の下の階層である。
【０２７３】
第２トークン列のトークン（１）は、判別子として比較文字列、次へのポインタとしてトークン（２）のアドレス、文字列として＃Ｉｄ−Ｖｇ特性＃、文字列比較可否判別子としてYesを有する。トークン（２）は、判別子として比較文字列、次へのポインタとしてトークン（３）のアドレス、文字列としてゲート電圧（Ｖ）、文字列比較可否判別子としてYesを有する。トークン（３）は、判別子として比較文字列、次へのポインタとしてトークン（４）のアドレス、文字列としてドレイン電流（Ａ）、文字列比較可否判別子としてYesを有する。トークン（４）は、判別子として繰り返し、次へのポインタとしてＮＵＬＬ、繰り返し終了条件としてトークンが＃＃＃＃＃か否かの判断結果を返す関数へのポインタ、繰り返し用の第３トークン列へのポインタとしてトークン（４−１）へのポインタを有する。
【０２７４】
第３トークン列のトークン（４−１）は、判別子として変数、次へのポインタとしてトークン（４−２）のアドレス、変数名としてＶｇを有する。トークン（４−２）は、判別子として変数、次へのポインタとしてＮＵＬＬ、変数名としてＩｄを有する。
【０２７５】
トークン比較＆抽出対象トークン記憶部１０４は、図６０のシミュレーション出力値１１をトークン分割した第１トークン列から、図６１の第２トークン列に一致するトークン列を抽出する。抽出された情報で変数として指定されたＶｇとＩｄの変数名とこれらの変数名と配列（繰り返し番号）に対応するトークン値を、図６２に示すように、変数名とトークン値のテーブル記憶部１３１に記憶する。
【０２７６】
抽出対象トークン出力部１０５は、図６３に示すような出力フォーマットにしたがって、変数名とトークン値のテーブル記憶部１３１に記憶されたゲート電圧Ｖｇとドレイン電流Ｉｄを出力する。リスト（０）は、出力フォーマットとして２６個の文字％からなる文字列と、変数名リスト（１）のヘッダを有している。２６個の文字％からなる文字列により２６個の変数を置き換えることができる。変数名リスト（１）のヘッダによりリスト（１）を読み出すことができる。リスト（１）は、文字番号（ｉ）＝１に対応する変数名Ｖｇ、繰り返し番号ｎ＝１と、リスト（２）のポインタを有している。図６２で変数名Ｖｇと繰り返し番号ｎ＝１に対応するトークン値、０．０ｅ＋０を出力用文字列に追加する。リスト（２）のヘッダによりリスト（２）を読み出すことができる。リスト（２）は、文字番号（ｉ）＝１に対応する変数名Ｖｇ、繰り返し番号ｎ＝２と、リスト（２）のポインタを有している。図６２で変数名Ｖｇと繰り返し番号ｎ＝２に対応するトークン値、１．０ｅ−１を出力用文字列に追加する。以下リスト（３）からリスト（２５）まで同様の処理を行う。最後のリスト（２６）では、文字番号（ｉ）＝２６に対応する変数名Ｉｄと繰り返し番号ｎ＝１３と、最終リストであることを示すＮＵＬＬを有している。図６２で変数名Ｉｄと繰り返し番号ｎ＝１３に対応するトークン値１．４ｅ−４を出力用文字列に追加する。
【０２７７】
文字列抽出部１２は、出力用文字列を出力することにより、図６０のシミュレーション出力値１１に対応するデータ０．０ｅ＋０、１．０ｅ−１、・・・１．２ｅ＋０・・・６．０ｅ−９、８．６ｅ−８、・・・１．４ｅ−４を抽出し出力することができる。
【０２７８】
実施例６によれば、特性値の最適値とそれを与える因子の値の組を求めパラメータの最適化を行うことによって、被処理体として半導体基板を用いた場合にその条件に基づいた処理を行うことによって、容易に高性能な半導体装置を製造することが可能になる。
【０２７９】
実施例１乃至６は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、製造される装置としては、半導体装置に限定されず、液晶装置などの電子装置や自動車などの製造方法にも適用可能で、実施例１乃至６によって本発明の技術的範囲が限定的に解釈されてはならないものである。本発明は、その技術的思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。すなわち、本発明の特許請求の範囲を逸脱しない範囲で、変更・改良や一部転用などが可能であり、これらすべて本発明の請求範囲内に包含されるものである。
【図面の簡単な説明】
【０２８０】
【図１】実施の形態に係る最適化システムの構成図である。
【図２】実施の形態に係る最適化システムの文字列抽出部の構成図（その１）である。
【図３】実施の形態に係る最適化システムの文字列抽出部の抽出実行部の構成図である。
【図４】適用フォーマットのデータ構造の構造図である。
【図５】変数名とトークン値のテーブルのデータ構造の構造図（その１）である。
【図６】変数名とトークン値のテーブルのデータ構造の構造図（その２）である。
【図７】出力フォーマットのデータ構造の構造図である。
【図８】実施の形態に係る最適化システムの文字列抽出部の構成図（その２）である。
【図９】繰り返しがある場合の適用フォーマットのデータ構造の構造図である。
【図１０】繰り返しがある場合の変数名とトークン値のテーブルのデータ構造の構造図である。
【図１１】繰り返しがある場合の出力フォーマットのデータ構造の構造図である。
【図１２】実施の形態に係る最適化方法のフローチャートである。
【図１３】事前調整因子による事前調整をするためのシミュレーションの入力条件の設定方法を説明するための図である。
【図１４】実施の形態に係る最適化システムの文字列抽出部の抽出実行部のトークン比較＆抽出対象トークンの記憶部のフローチャートである。
【図１５】実施の形態に係る最適化システムの文字列抽出部の抽出実行部の抽出対象トークンの出力部のフローチャートである。
【図１６】実施の形態に係る最適化システムの文字列抽出部の抽出実行部の繰り返しがある場合のトークン比較＆抽出対象トークンの記憶部のフローチャート（その１）である。
【図１７】実施の形態に係る最適化システムの文字列抽出部の抽出実行部の繰り返しがある場合のトークン比較＆抽出対象トークンの記憶部のフローチャート（その２）である。
【図１８】実施の形態に係る最適化システムの文字列抽出部の抽出実行部の繰り返しがある場合の抽出対象トークンの出力部のフローチャートである。
【図１９】実施の形態に係る最適化システムの文字列抽出部の抽出実行部の数式がある場合の抽出対象トークンの出力部のフローチャートである。
【図２０】実施例１で用いた直交表である。
【図２１】実施例１で実施した直交表実験の制御因子の水準値の一覧表である。
【図２２】（ａ）は実施例１で用いた誤差因子の水準値の一覧表である。（ｂ）は実施例１で用いた誤差条件の一覧表である。
【図２３】（ａ）は実施例１で用いた制御因子Ｌチャネルイオン注入エネルギーの水準Ｌ１乃至Ｌ３に対してすべらせた制御因子Ｍチャネルイオン注入ドーズ量の水準の一覧表である。（ｂ）は実施例１で用いた制御因子Ｎスペーサの厚さの水準Ｎ１乃至Ｎ３に対してすべらせた制御因子Ｖサイドウォールの幅の水準の一覧表である。
【図２４】実施例１で実施した直交表実験の第１０実験の制御因子の水準名のデータ列（一覧表）である。
【図２５】実施例１で実施した直交表実験の第１０実験の制御因子の水準値のデータ列（一覧表）である。
【図２６】実施例１で実施した直交表実験の第１０実験におけるシミュレーションの入力値のフォーマットを示す図である。
【図２７】基準の誤差条件Ｎｉ１を構成する誤差因子の水準を示す図である。
【図２８】実施例１で実施したステップＳ２の事前調整においてシミュレーションのたびに事前調整因子の値を変えて入力される入力値のフォーマットを示す図である。
【図２９】事前調整因子の調整方法を説明するための事前調整因子と基準特性のグラフである。
【図３０】実施例１に係るシミュレーションの出力値のデータ構造の構造図である。
【図３１】実施例１に係る適用フォーマットのデータ構造の構造図である。
【図３２】実施例１に係る変数名とトークン値のテーブルのデータ構造の構造図（その１）である。
【図３３】実施例１に係る変数名とトークン値のテーブルのデータ構造の構造図（その２）である。
【図３４】実施例１に係る出力フォーマットのデータ構造の構造図である。
【図３５】実施例１で実施した直交表実験の実験結果の基準特性と目標特性の特性値の一覧表である。
【図３６】基準特性であるオフリーク電流ＩｏｆｆのＳＮ比の要因効果図である。
【図３７】目標特性である駆動電流ＩｏｎのＳＮ比の要因効果図である。
【図３８】目標特性である駆動電流Ｉｏｎの感度の要因効果図である。
【図３９】基準特性であるオフリーク電流Ｉｏｆｆの感度の要因効果図である。
【図４０】実施例１の最適化方法によって最適化された制御因子の水準値のデータ列（一覧表）である。
【図４１】実施例２で最適化方法の対象にしたＭＯＳＦＥＴの断面図である。
【図４２】接合リーク電流のイオン注入のドーズ量に対する依存性を示すグラフである。
【図４３】シート抵抗のイオン注入のドーズ量に対する依存性を示すグラフである。
【図４４】コンタクト抵抗のイオン注入のドーズ量に対する依存性を示すグラフである。
【図４５】接合深さのイオン注入のドーズ量に対する依存性を示すグラフである。
【図４６】実施例２で実施したステップＳ２の事前調整によって、調整された不純物密度分布図（その１）である。
【図４７】実施例２で実施したステップＳ２の事前調整によって、調整された不純物密度分布図（その２）である。
【図４８】実施例２で実施した直交表実験の制御因子の水準値の一覧表である。
【図４９】実施例２で用いた直交表である。
【図５０】実施例２の最適化方法によって最適化されたＭＯＳＦＥＴの接合リーク電流の累積頻度分布を示すグラフである。
【図５１】実施例４に係るシミュレーションの出力値のデータ構造の構造図である。
【図５２】実施例４に係る適用フォーマットのデータ構造の構造図である。
【図５３】実施例４に係る変数名とトークン値のテーブルのデータ構造の構造図（その１）である。
【図５４】実施例４に係る変数名とトークン値のテーブルのデータ構造の構造図（その２）である。
【図５５】実施例４に係る出力フォーマットのデータ構造の構造図である。
【図５６】実施例５に係るシミュレーションの出力値のデータ構造の構造図である。
【図５７】実施例５に係る適用フォーマットのデータ構造の構造図である。
【図５８】実施例５に係る変数名とトークン値のテーブルのデータ構造の構造図である。
【図５９】実施例５に係る出力フォーマットのデータ構造の構造図である。
【図６０】実施例６に係るシミュレーションの出力値のデータ構造の構造図である。
【図６１】実施例６に係る適用フォーマットのデータ構造の構造図である。
【図６２】実施例６に係る変数名とトークン値のテーブルのデータ構造の構造図である。
【図６３】実施例６に係る出力フォーマットのデータ構造の構造図である。
【符号の説明】
【０２８１】
１    最適化システム
２    事前調整因子の探索条件設定部
３    探索条件記憶部
４    シミュレーション制御部
５    探索制御部
６    事前調整因子の水準記憶部
７    文字列置換部
８    シミュレータ
９    入力値記憶部
１０    シミュレーション実行部
１１    出力値記憶部
１２    文字列抽出部
１３    基準特性と目標特性の特性値記憶部
１４    入力データ記憶部
１５    条件表記憶部
１６    直交表生成部
１７    入力データエディター部
１８    条件表エディター部
１９    整理部
２０    結果一覧表記憶部
２１    調整部
２２    事前調整因子の調整済み水準値と基準特性の特性値記憶部
２３    基準特性の特性値判定部
２４    直交表実験実施制御部
２５    後処理部
２６    目標特性の特性値判定部
２７    端末
３１    抽出位置とフォーマットデータ作成登録部
３２    第１抽出位置と第１フォーマット記憶部
３３    第ｎ抽出位置と第ｎフォーマット記憶部
３４    抽出位置とフォーマットデータ選択部
３５    適応位置と適応フォーマット記憶部
３６    抽出実行部
３７    テーブル記憶部
３８    数式入力部
３９    テーブルデータ処理（数式処理）部
４０    数式記憶部
４１    シリコン基板
４２    素子分離領域
４３    ソース・ドレイン拡散層
４４    シリサイド層
４５    ゲート絶縁膜
４６    ゲート電極
４７    ＴＥＯＳスペーサ
４８    サイドウォール
４９    絶縁膜
５０    絶縁膜
５１    導体膜
５２    コンタクトプラグ
【図１】
0004772401.tif 000002
【図２】
0004772401.tif 000003
【図３】
0004772401.tif 000004
【図４】
0004772401.tif 000005
【図５】
0004772401.tif 000006
【図６】
0004772401.tif 000007
【図７】
0004772401.tif 000008
【図８】
0004772401.tif 000009
【図９】
0004772401.tif 000010
【図１０】
0004772401.tif 000011
【図１１】
0004772401.tif 000012
【図１２】
0004772401.tif 000013
【図１３】
0004772401.tif 000014
【図１４】
0004772401.tif 000015
【図１５】
0004772401.tif 000016
【図１６】
0004772401.tif 000017
【図１７】
0004772401.tif 000018
【図１８】
0004772401.tif 000019
【図１９】
0004772401.tif 000020
【図２０】
0004772401.tif 000021
【図２１】
0004772401.tif 000022
【図２２】
0004772401.tif 000023
【図２３】
0004772401.tif 000024
【図２４】
0004772401.tif 000025
【図２５】
0004772401.tif 000026
【図２６】
0004772401.tif 000027
【図２７】
0004772401.tif 000028
【図２８】
0004772401.tif 000029
【図２９】
0004772401.tif 000030
【図３０】
0004772401.tif 000031
【図３１】
0004772401.tif 000032
【図３２】
0004772401.tif 000033
【図３３】
0004772401.tif 000034
【図３４】
0004772401.tif 000035
【図３５】
0004772401.tif 000036
【図３６】
0004772401.tif 000037
【図３７】
0004772401.tif 000038
【図３８】
0004772401.tif 000039
【図３９】
0004772401.tif 000040
【図４０】
0004772401.tif 000041
【図４１】
0004772401.tif 000042
【図４２】
0004772401.tif 000043
【図４３】
0004772401.tif 000044
【図４４】
0004772401.tif 000045
【図４５】
0004772401.tif 000046
【図４６】
0004772401.tif 000047
【図４７】
0004772401.tif 000048
【図４８】
0004772401.tif 000049
【図４９】
0004772401.tif 000050
【図５０】
0004772401.tif 000051
【図５１】
0004772401.tif 000052
【図５２】
0004772401.tif 000053
【図５３】
0004772401.tif 000054
【図５４】
0004772401.tif 000055
【図５５】
0004772401.tif 000056
【図５６】
0004772401.tif 000057
【図５７】
0004772401.tif 000058
【図５８】
0004772401.tif 000059
【図５９】
0004772401.tif 000060
【図６０】
0004772401.tif 000061
【図６１】
0004772401.tif 000062
【図６２】
0004772401.tif 000063
【図６３】
0004772401.tif 000064