図1A及び1Bに本技術の実施の形態におけるシステムブロック図を示す。本実施の形態における分析装置100は、SPICE等のシミュレータ200と連係して動作するようになっている。
そして、分析装置100は、デバイス寸法代表値データ格納部101と、特性実測値格納部102と、最適化データ生成部103と、最適化データ格納部104と、対応データ生成部105と、対応データ格納部106と、マップデータ生成部107と、マップデータ格納部108と、テーブルフォーマット変換部109と、マップデータテーブル最適化処理部110と、マップ誤差データ格納部111と、LW依存性データ生成部112と、LW依存性データ格納部113と、モデルパラメータ解析部114と、モデルパラメータ解析データ格納部115と、Binning(ビニング)関数有効性判定部116と、Binning関数有効性判定結果格納部117と、LW誤差解析部118と、LW誤差解析データ格納部119と、Binning誤差算出部120と、Binning誤差データ格納部121と、Binning誤差解析部122と、Binning誤差解析データ格納部123と、領域分割処理部124と、モデルパラメータデータ格納部125と、モデルパラメータ最適化処理部126と、出力部130とを有する。
最適化データ生成部103は、デバイス寸法代表値データ格納部101と特性実測値格納部102とに格納されているデータを用いて処理を行い、処理結果を最適化データ格納部104に格納する。対応データ生成部105は、最適化データ格納部104に格納されているデータを用いて処理を行い、処理結果を対応データ格納部106に格納する。マップデータ生成部107は、対応データ格納部106に格納されているデータを用いて処理を行い、処理結果をマップデータ格納部108に格納する。なお、マップデータ生成部107は、マップ誤差データ格納部111に中間的なデータを格納して処理を行う場合もある。
テーブルフォーマット変換部109は、マップデータ格納部108に格納されているデータを用いて処理を行い、処理結果をマップデータ格納部108に格納する。マップデータテーブル最適化処理部110は、特性実測値格納部102及びマップデータ格納部108に格納されているデータを用いて処理を行い、処理結果をマップデータ格納部108に格納する。LW依存性データ生成部112は、マップデータ格納部108に格納されているデータを用いて処理を行い、処理結果をLW依存性データ格納部113に格納する。
また、モデルパラメータ解析部114は、対応データ格納部106に格納されているデータを用いて処理を行い、処理結果をモデルパラメータ解析データ格納部115に格納する。Binning関数有効性判定部116は、最適化データ格納部104と対応データ格納部106とマップデータ格納部108とに格納されているデータを用いて処理を行い、処理結果をBinning関数有効性判定結果格納部117に格納する。LW誤差解析部118は、デバイス寸法代表値データ格納部101、特性実測値格納部102及び最適化データ格納部104に格納されているデータを用いて処理を行い、処理結果をLW誤差解析データ格納部119に格納する。
Binning誤差算出部120は、対応データ格納部106とマップデータ格納部108とに格納されているデータを用いて処理を行い、処理結果をBinning誤差データ格納部121に格納する。Binning誤差解析部122は、Binning誤差データ格納部121に格納されているデータを用いて処理を行い、処理結果をBinning誤差解析データ格納部123に格納する。領域分割処理部124は、マップデータ格納部108とBinning誤差解析データ格納部123とに格納されているデータを用いて処理を行い、処理結果をモデルパラメータデータ格納部125に格納する。モデルパラメータ最適化処理部126は、モデルパラメータデータ格納部125と特性実測値格納部102とに格納されているデータを用いて処理を行い、処理結果をモデルパラメータデータ格納部125に格納する。
出力部130は、分析装置100におけるデータ格納部に格納されているデータを、そのまま又は所定の形式で加工して設計者などのユーザに提示する。例えば、分析装置100は、ネットワークを介してユーザ端末に接続されていれば、出力部130は、当該ユーザ端末にデータを出力する。また、分析装置100に出力装置(例えば表示装置やプリンタ)が接続されている場合には、データを表示装置に表示したり、印刷したりすることによって、出力装置で出力する。
なお、デバイス寸法代表値データ格納部101には、一般的にx1,x2,x3...といった複数種類のデバイス寸法について、代表的な値の組み合わせ(例えば(0.1,0.2,0.3,...)というような代表値セットや(0.3,0.4,0.5....)というような代表値セットなど)が複数予め格納されているものとする。なお、デバイス寸法については、具体的に、ゲート長(L)及びゲート幅(W)が採用される場合もある。
さらに、特性実測値格納部102には、デバイス寸法代表値データ格納部101に格納されているデバイス寸法の代表値セット毎に、例えば所定の端子電圧毎の特性値(具体的には電流値)が登録されている。
次に、図2乃至図49を用いて図1A及び1Bに示した分析装置100の処理内容について説明する。
まず、最適化データ生成部103は、デバイス寸法代表値データ格納部101と特性実測値格納部102とに格納されているデータを用いて最適化データ生成処理を実施する(図2:ステップS1)。この最適化データ生成処理については、図3乃至図9を用いて説明する。
本実施の形態では、大きく分けて3種類の最適化データ生成処理を提案する。まず、第1の最適化データ生成処理について図3乃至図6を用いて説明する。
まず、最適化データ生成部103は、デバイス寸法代表値データ格納部101からデバイス寸法の代表値セットを読み出し、特性実測値格納部102からデバイス寸法の代表値セットに対応する特性(例えば電流)の実測値を読み出す(図3:ステップS31)。次に、最適化パラメータ(すなわち最適化のために調節する変数)として予め定められたモデル式(例えば、入力変数(すなわちモデル式の入力となる変数。例えばL及びW。)とモデルパラメータ(すなわちモデル式の係数)とに基づき特性(例えば電流)を計算する計算式)のモデルパラメータを設定し、所定の最適化アルゴリズムで最適化誤差を最小にする最適化計算を実施する。ここで最適化誤差とは、複数のモデルパラメータの値の組み合わせについて、以下で述べる各点誤差を平均した値である。各点誤差は、デバイス寸法の代表値セットの各々について、特性の実測値(例えば電流値。例えば端子電圧を変動させることによって1つの代表値セットにつき複数存在する。)と、モデル式による特性の計算値(例えば電圧を変動させることによって1つの代表値セットにつき複数存在する)との差の2乗平均の値である。
例えば、図4のグラフ(縦軸は電流、横軸は電圧を表す)に示すように、デバイス寸法の特定の代表値セットについて、電圧を変動させた場合の電流の実測値(例えば点a1乃至a4)をプロットしたカーブaと、モデル式における特定のモデルパラメータPを2に設定して電圧を変動させた場合の電流の計算値をプロットしたカーブbと、モデル式における特定のモデルパラメータPを3に設定して電圧を変動させた場合の電流の計算値をプロットしたカーブcとを考える。このようなデバイス寸法の特定の代表値セットについての各点誤差は、特定のモデルパラメータP=2に対して、点a1の電流値と点a1と同じ電圧値におけるカーブaの電流値との差と、点a2の電流値と点a2と同じ電圧値におけるカーブaの電流値との差と、点a3の電流値と点a3と同じ電圧値におけるカーブaの電流値との差と、点a4の電流値と点a4と同じ電圧値におけるカーブaの電流値との差との2乗平均として算出される。同様に、デバイス寸法の特定の代表値セットについての各点誤差は、特定のモデルパラメータP=3に対して、点a1の電流値と点a1と同じ電圧値におけるカーブaの電流値との差と、点a2の電流値と点a2と同じ電圧値におけるカーブaの電流値との差と、点a3の電流値と点a3と同じ電圧値におけるカーブaの電流値との差と、点a4の電流値と点a4と同じ電圧値におけるカーブaの電流値との差との2乗平均として算出される。
所定の最適化アルゴリズムは、遺伝的アルゴリズム、微分進化アルゴリズム、シミュレーテッドアニーリング、粒子群最適化といった周知の最適化アルゴリズムである。アルゴリズムの詳細な説明については、ここでは省略する。そして、その最適化計算の過程において設定されるモデルパラメータの値のセットと、それを用いてモデル式で計算される、各デバイス寸法の代表値セットについての各点誤差及び最適化誤差とを、最適化データ格納部104の最適化データテーブルに登録する(ステップS33)。そして元の処理に戻る。
最適化データテーブルの第1の例を図5に示す。図5の最適化データテーブル1においては、モデルパラメータA、B、...の値のセットと、当該モデルパラメータの値のセットを用いて計算され且つ第1のデバイス寸法の代表値(x1, x2,...)=(0.1, 0.2,...)に対応する各点誤差と、当該モデルパラメータの値のセットを用いて計算され且つ第2のデバイス寸法の代表値(x1, x2,...)=(0.3, 0.4,...)に対応する各点誤差と、...当該モデルパラメータの値のセットを用いて計算された各点誤差の平均値である最適化誤差とが登録されるようになっている。図5では1レコード分しか示していないが、最適化計算において用いたモデルパラメータの値のセットの数だけレコードは登録される。
より具体的に、デバイス寸法がゲート長Lとゲート幅Wであれば、図6に示すような最適化データテーブルの第2の例が得られる。なお、この際、端子電圧は、MOSFETの端子電圧VS、VG、VD及びVBとなる。図6の第2の最適化データテーブルにおいては、モデルパラメータA、B、...の値のセットと、当該モデルパラメータの値のセットを用いて計算され且つ第1のデバイス寸法の代表値(L, W)=(0.1, 0.2)に対応する各点誤差と、当該モデルパラメータの値のセットを用いて計算され且つ第2のデバイス寸法の代表値(L, W)=(0.3, 0.4)に対応する各点誤差と、...当該モデルパラメータの値のセットを用いて計算された各点誤差の平均値である最適化誤差とが登録されるようになっている。図6では1レコード分しか示していないが、最適化計算において用いたモデルパラメータの値のセットの数だけレコードは登録される。
次に、第2の最適化データ生成処理について図7及び図8を用いて説明する。まず、最適化データ生成部103は、所定のモデル式のモデルパラメータのうち、デバイス寸法に依存性がないモデルパラメータ又はデバイス寸法に依存性のあるモデルパラメータの指定を、設計者から受け付ける(図7:ステップS41)。第2の最適化データ生成処理においては、デバイス寸法に依存性がないモデルパラメータについては、デバイス寸法の全ての点(デバイス寸法の値のセット)について共通の値を有するモデルパラメータであるとして取り扱う。一方、デバイス寸法に依存性のあるモデルパラメータについては、デバイス寸法の各点(デバイス寸法の値のセット)について独立のモデルパラメータであるとして取り扱う。
そして、最適化データ生成部103は、デバイス寸法代表値データ格納部101からデバイス寸法の代表値セットを読み出し、特性実測値格納部102からデバイス寸法の代表値セットに対応する特性(例えば電流)の実測値を読み出す(ステップS43)。次に、最適化パラメータ(すなわち最適化のために調節する変数)として、デバイス寸法に共通のモデルパラメータとして上記指定モデルパラメータと、デバイス寸法の各点に独立のモデルパラメータとして指定モデルパラメータ以外のモデルパラメータとを設定し、所定の最適化アルゴリズムで最適化誤差を最小にする最適化計算を実施する。所定の最適化アルゴリズムは、遺伝的アルゴリズム、微分進化アルゴリズム、シミュレーテッドアニーリング、粒子群最適化といった周知の最適化アルゴリズムである。アルゴリズムの詳細な説明については、ここでは省略する。そして、その最適化計算の過程において設定されるモデルパラメータの値のセットと、それを用いてモデル式で計算される、各デバイス寸法の代表値セットについての各点誤差及び最適化誤差とを、最適化データ格納部104の最適化データテーブルに登録する(ステップS45)。そして元の処理に戻る。
第2の最適化データ生成処理において例えばモデルパラメータAを、デバイス寸法に依存性のないモデルパラメータとして、モデルパラメータBを、デバイス寸法に依存性のあるモデルパラメータとすると、ステップS45において生成される最適化データテーブルの第3の例は、図8に示すようなものとなる。具体的には、モデルパラメータAについては、デバイス寸法の全ての代表値について共通の値「0.1」が用いられ、モデルパラメータBは、デバイス寸法の各代表値セットについて値が設定される。図8の例では2つの代表値セットが存在するので、モデルパラメータBには2つの値が設定される。各点誤差及び最適化誤差については、第1の最適化データテーブルと同様である。
さらに、第3の最適化データ生成処理について図9を用いて説明する。まず、最適化データ生成部103は、デバイス寸法代表値データ格納部101からデバイス寸法の代表値セットを読み出し、特性実測値格納部102からデバイス寸法の代表値セットに対応する特性(例えば電流)の実測値を読み出す(図9:ステップS51)。次に、最適化パラメータ(すなわち最適化のために調節する変数)として、予め定められたモデル式のモデルパラメータを設定し、所定の最適化アルゴリズムで「各点誤差」を最小にする最適化計算を実施する。所定の最適化アルゴリズムは、遺伝的アルゴリズム、微分進化アルゴリズム、シミュレーテッドアニーリング、粒子群最適化といった周知の最適化アルゴリズムである。アルゴリズムの詳細な説明については、ここでは省略する。そして、その最適化計算の過程において設定されるモデルパラメータの値のセットと、それを用いてモデル式で計算される、各デバイス寸法の代表値セットについての各点誤差及び最適化誤差とを、最適化データ格納部104の最適化データテーブルに登録する(ステップS53)。そして元の処理に戻る。
第3の最適化データ生成処理においては、「最適化誤差」を最小にするのではなく、「各点誤差」を最小にするように最適化計算を実施する。従って、第1の最適化データ生成処理とは異なるレコードを含む最適化データテーブルが最適化データ格納部104に登録されるようになる。しかしながら、図5に示したような、第1の最適化データ生成処理によるデータフォーマットと同じデータフォーマットのデータが得られる。
このような最適化データ生成処理を実施することによって、モデルパラメータの値のセット毎に、その際の各点誤差及び最適化誤差を得ることができる。
図2の処理の説明に戻って、次に、対応データ生成部105は、最適化データ格納部104に格納されているデータを用いて対応データ生成処理を実施する(ステップS3)。対応データ生成処理については、図10乃至図13を用いて説明する。
本実施の形態では、大きく分けて2種類の対応データ生成処理を提案する。まず、第1の対応データ生成処理について図10乃至図12を用いて説明する。
まず、対応データ生成部105は、最適化データ格納部104に格納されている最適化データテーブルにおいて、未処理のデバイス寸法の代表値セットを特定する(ステップS61)。そして、最適化データテーブルにおいて、特定されたデバイス寸法の代表値セットについての各点誤差が最小となるモデルパラメータの値のセットを特定し、デバイス寸法の代表値セットに対応して対応データ格納部106の対応データテーブルに登録する(ステップS63)。その後、最適化データテーブルにおけるデバイス寸法の全ての代表値セットについて処理したか判断し(ステップS65)、未処理の代表値セットが存在する場合には、ステップS61に戻り、未処理の代表値セットが存在しない場合には元の処理に戻る。
例えば、図5に示したような第1の最適化データテーブルを処理する場合には、第1の最適化データテーブルにおいて、第1のデバイス寸法の代表値セット(x1, x2,...)=(0.1, 0.2,...)の各点誤差の列を探索して、各点誤差が最小となる行のモデルパラメータAの値、モデルパラメータBの値、...をそれぞれモデルパラメータの最適値として特定し、第1のデバイス寸法の代表値セットに対応して、モデルパラメータの最適値を登録する。第2以降のデバイス寸法の代表値セットについても同様に処理する。
そうすると、第1の対応データテーブルには、図11に示すようなデータが登録されるようになる。すなわち、1つのレコードには、デバイス寸法の特定の代表値セット(x1, x2,..)と、その際のモデルパラメータ(A,B,...)の最適値とが含まれるようになる。
また、図6に示したような第2の最適化データテーブルを処理する場合には、第2の最適化データテーブルにおいて、第1のデバイス寸法の代表値(L,W)=(0.1, 0.2)の各点誤差の列を探索して、各点誤差が最小となる行のモデルパラメータAの値、モデルパラメータBの値、...をそれぞれモデルパラメータの最適値として特定し、第1のデバイス寸法の代表値セットに対応して、モデルパラメータの最適値を登録する。第2以降のデバイス寸法の代表値セットについても同様に処理する。
そうすると、第2の対応データテーブルには、図12に示すようなデータが登録されるようになる。すなわち、1つのレコードには、デバイス寸法の特定の代表値セット(L,W)と、その際のモデルパラメータ(A,B,...)の最適値とが含まれるようになる。
次に、第2の対応データ生成処理について図13を用いて説明する。対応データ生成部105は、最適化データ格納部104に格納されている最適化データテーブル(例えば図8に示した第3の最適化データテーブル)において、未処理のデバイス寸法の代表値セットを特定する(図13:ステップS71)。そして、最適化データテーブルにおいて、特定されたデバイス寸法の代表値セットについての各点誤差が最小となるモデルパラメータの値のセット(デバイス寸法に共通のモデルパラメータの値と、特定されたデバイス寸法の代表値セットに対応するモデルパラメータの値)を特定し、デバイス寸法の代表値セットに対応して対応データ格納部106の対応データテーブルに登録する(ステップS73)。その後、最適化データテーブルにおけるデバイス寸法の全ての代表値セットについて処理したか判断し(ステップS75)、未処理の代表値セットが存在する場合には、ステップS71に戻り、未処理の代表値セットが存在しない場合には元の処理に戻る。
上で述べたように、図8に示した第3の最適化データテーブルの場合には、デバイス寸法に依存性を有するモデルパラメータの場合には、デバイス寸法の代表値セット毎に異なる値が設定されるようになっている。従って、デバイス寸法の代表値セットに着目すれば、そのデバイス寸法の代表値セットに対応するモデルパラメータの値を抽出する必要がある。なお、デバイス依存性のないモデルパラメータについては、そのまま抽出すればよい。従って、第1のデバイス寸法の代表値セット(x1, x2,...)=(0.1, 0.2,...)の各点誤差の列を探索して、各点誤差が最小となる行のモデルパラメータAの値、さらに当該第1のデバイス寸法の代表値セットに対応するモデルパラメータBの値、...をそれぞれモデルパラメータの最適値として特定し、第1のデバイス寸法の代表値セットに対応して、モデルパラメータの最適値を登録する。第2以降のデバイス寸法の代表値セットについても同様に処理する。但し、テーブルフォーマットは、図11に示したものと同様になる。
このような対応データ生成処理を実施すれば、デバイス寸法の特定の代表値について各点誤差を最小化するようなモデルパラメータの値のセットを得ることができるようになる。すなわち、デバイス寸法の特定の代表値を用いる際には、対応データテーブルに登録されているモデルパラメータの値のセットを採用することが好ましいことが分かる。
図2の処理の説明に戻って、マップデータ生成部107は、対応データ格納部106に格納されているデータを用いてマップデータ生成処理を実施する(ステップS5)。マップデータ生成処理については、図14乃至図22を用いて説明する。
本実施の形態では、大きく分けて2種類のマップデータ生成処理を提案する。まず、第1のマップデータ生成処理について図14乃至図16を用いて説明する。
マップデータ生成部107は、対応データ格納部106の対応データテーブルにおいて、未処理のモデルパラメータを1つ特定する(図14:ステップS81)。そして、説明変数として対応データテーブルに登録されているデバイス寸法の代表値を設定し、目的変数として対応データテーブルに登録されているモデルパラメータの最適値を設定し、所定のアルゴリズムによって、デバイス寸法を入力とし、モデルパラメータの最適値を近似するためのマップ関数の係数をマップデータとして生成し、マップデータ格納部108のマップデータテーブルに登録する(ステップS83)。
所定のアルゴリズムとは、例えばステップワイズ回帰分析、SVM(Support Vector Machine)回帰分析、回帰木分析、ランダムフォレスト回帰分析などの周知の近似アルゴリズムである。
そして、対応データテーブルにおいて全てのモデルパラメータについて処理したか判断し(ステップS85)、未処理のモデルパラメータが存在する場合にはステップS81に戻る。一方、未処理のモデルパラメータが存在しない場合には元の処理に戻る。
例えば関数の形が「モデルパラメータ=α*x1+β*x2+....+γ」であり、デバイス寸法がx1、x2...といったものである場合(例えば図11に示すような第1の対応データテーブルの場合)には、図15に示すようなデータフォーマットのマップデータテーブルが、マップデータ格納部108に格納される。すなわち、モデルパラメータの列と、各デバイス寸法についての係数の列と、定数の列とが設けられ、モデルパラメータごとにレコードが登録される。
このようにマップ関数が得られれば、入力変数であるデバイス寸法に応じて適切なモデルパラメータの値を簡単に算出することができるようになる。
さらに、デバイス寸法がL及びWで特定されるような場合、すなわち図12に示したような第2の対応データテーブルが用いられる場合には、マップ関数は「モデルパラメータ=α*L+β*W+γ」と定義される。そして、図16に示すようなデータフォーマットのマップデータテーブルが、マップデータ格納部108に格納される。すなわち、モデルパラメータの列と、Lの係数の列と、Wの係数の列と、定数の列とが設けられ、モデルパラメータごとにレコードが登録される。
次に、第2のマップデータ生成処理について図17及び図18を用いて説明する。第2のマップデータ生成処理においてはマップ関数として、周知のBinning関数を採用する。具体的には、「モデルパラメータ=χ+α/L+β/W+γ/(L*W)」と定義される。
まず、マップデータ生成部107は、対応データ格納部106における対応データテーブルにおいて未処理のモデルパラメータを1つ特定する(ステップS91)。そして、所定のアルゴリズム(例えばステップワイズ回帰分析)によって、L及びWを入力とし、モデルパラメータの最適値を近似するためのBinning関数の係数をマップデータとして生成し、マップデータ格納部108のマップデータテーブルに登録する(ステップS93)。なお、ステップワイズ回帰分析は、係数が有意でない場合には、「0」に設定して、回帰計算を行うようなアルゴリズムである。
そして、対応データテーブルにおいて全てのモデルパラメータについて処理したか判断し(ステップS95)、未処理のモデルパラメータが存在する場合にはステップS91に戻る。一方、未処理のモデルパラメータが存在しない場合には元の処理に戻る。
第2のマップデータ生成処理が、例えば第2の対応データテーブル(図12)に対して実施されると、例えば図18に示すようなデータフォーマットの第3のマップデータテーブルがマップデータ格納部108に格納される。すなわち、モデルパラメータの列と、χの列と、αの列と、βの列と、γの列とが設けられ、モデルパラメータごとにレコードが登録される。
図2の処理に戻って、次に、テーブルフォーマット変換部109は、マップデータ格納部108に格納されているマップデータテーブルに対してテーブルフォーマット変換処理を実施する(ステップS7)。テーブルフォーマット変換処理については、図19及び図20を用いて説明する。
まず、テーブルフォーマット変換部109は、マップデータ格納部108に格納されているマップデータテーブルにおいて、未処理のモデルパラメータを1つ特定する(図19:ステップS101)。そして、特定されたモデルパラメータについてのα、β及びγが全て0であるか判断する(ステップS103)。α=β=γ=0ということは、そのモデルパラメータはχに等しいことが分かる。ステップワイズ回帰分析を用いると比較的α=β=γ=0という状態になりやすくなる。従って、この条件が満たされない場合には、特定されたモデルパラメータに対応して、既計算のχ、α、β及びγを、マップデータ格納部108に格納する(ステップS105)。一方、α=β=γ=0である場合には、特定されたモデルパラメータに対応して、既計算のχのみを、マップデータ格納部108のマップデータテーブルに格納する(ステップS107)。
ステップS105及びS107の後に、全てのモデルパラメータについて処理したか判断する(ステップS109)。未処理のモデルパラメータが存在する場合にはステップS101に戻る。一方、未処理のモデルパラメータが存在しない場合、元の処理に戻る。
このような処理を行うと、マップデータ格納部108には、図20に示すようなデータが登録されることになる。例えばモデルパラメータAについては、α=β=γ=0という条件を満たしておりグローバルな固定パラメータであるので、χの値がモデルパラメータAの値として登録される。一方、モデルパラメータBについては、α=β=γ=0という条件を満たしていないのでBinning近似されたパラメータであり、モデルパラメータBについてのχ、α、β、γが登録される。
図2の処理の説明に戻って、マップデータテーブル最適化処理部110は、特性値実測値格納部102に格納されているデータを用いて、マップデータ格納部108に格納されているマップデータテーブルに対してマップデータテーブル最適化処理を実施する(ステップS9)。このマップデータテーブル最適化処理については、図21及び図22を用いて説明する。
まず、マップデータテーブル最適化処理部110は、マップデータ格納部108に格納されているマップデータテーブル(例えば図20のマップデータテーブル4)のデータと、特性実測値格納部102に格納されている特性の実測値とを読み出す(図21:ステップS111)。
そして、最適化パラメータとしてマップデータテーブルにおけるモデルパラメータを設定し、最適化初期値としてマップデータテーブルのモデルパラメータの各係数値を設定し、所定の最適化アルゴリズムによって、最適化誤差を最小化する最適化計算を実施し、最適化誤差が最小となるモデルパラメータの各係数値を、マップデータ格納部108のマップデータテーブルに登録する(ステップS113)。ここで所定の最適化アルゴリズムとは、Nelder-Mead法、共役勾配法、BFGS法などの周知の最適化アルゴリズムである。
このようなマップデータテーブル最適化処理を実施することによって、より好ましいマップ関数の係数値を得ることができるようになる。なお、マップデータテーブル最適化処理の処理結果としてマップデータ格納部108に格納されるマップデータテーブルの例を図22に示す。基本的に、図20の第4のマップデータテーブルに基づいて処理を行う場合には、図22に示すような第5のマップデータテーブルと同様のデータフォーマットとなる。但し、その係数値については最適化によって変更されている。なお、図20及び図22のマップデータテーブルについてはモデルパラメータデータテーブルと呼ぶ場合もあるが、実際にはBinning関数などのマップ関数の係数値を、モデルパラメータごとに登録するテーブルであって、図15、図16、図18といったマップデータテーブルと同様である。
図2の処理の説明に戻って、Binning誤差算出部120は、マップデータ格納部108に格納されているマップデータテーブルと対応データ格納部106に格納されている対応データテーブルとを用いてBinning誤差算出処理を実施する(ステップS11)。Binning誤差算出処理については、図23及び図24を用いて説明する。
まず、Binning誤差算出部120は、対応データ格納部106に格納されている対応データテーブルにおける未処理のデバイス寸法の代表値セットを特定する(図23:ステップS121)。また、Binning誤差算出部120は、マップデータ格納部108に格納されているマップデータテーブルにおける未処理のモデルパラメータを1つ特定する(ステップS123)。
そして、デバイス寸法の特定された代表値セットについて、マップデータテーブルで特定されるBinning関数の値を算出し、対応データテーブルにおける特定されたモデルパラメータの最適値と上記Binning関数の値との差をBinning誤差として算出し、デバイス寸法の代表値セットに対応して、Binning誤差データ格納部121のBinning誤差テーブルに登録する(ステップS125)。
その後、マップデータテーブルにおいて未処理のモデルパラメータが存在するか判断する(ステップS127)。未処理のモデルパラメータが存在する場合にはステップS123に戻る。一方、未処理のモデルパラメータが存在しない場合には、対応データテーブルにおいてデバイス寸法の未処理の代表値セットが存在するか判断する(ステップS129)。未処理の代表値セットが存在する場合にはステップS121に戻る。一方、未処理の代表値セットが存在しない場合には、元の処理の戻る。
例えば、図12に示すような第2の対応データテーブルと図18に示すような第3のマップデータテーブルとを用いて処理する場合には、Binning誤差テーブルは、図24に示すようなデータとなる。図24の例では、L及びWのセットに対応して、モデルパラメータAについてのBinning誤差、モデルパラメータBについてのBinning誤差、...が登録されるようになっている。
このようにBinning誤差を算出することによって、デバイス寸法の代表値毎に、Binning関数による近似がどの程度の誤差を含んでいるかを判断することができるようになる。
図2の処理の説明に戻って、処理は端子Aを介して図25の処理に移行し、Binning誤差解析部122は、Binning誤差データ格納部121に格納されているBinning誤差テーブルを用いてBinning誤差に基づく領域分割処理を実施する(ステップS13)。このBinning誤差に基づく領域分割処理については図26及び図27を用いて説明する。
まず、Binning誤差解析部122は、Binning誤差データ格納部121からBinning誤差テーブルのデータを取得する(ステップS131)。そして、Binning誤差テーブルにおける未処理のモデルパラメータを1つ特定する(ステップS133)。
その後、説明変数としてデバイス寸法(L及びW)を設定し、目的変数として特定されたモデルパラメータのBinning誤差を設定し、回帰木に基づく統計計算を実施することによって、デバイス寸法の範囲及びBinning誤差の代表値(例えば平均値)を算出し、Binning誤差解析データ格納部123のBinning誤差解析データテーブルに登録する(ステップS135)。回帰木による統計計算は、周知であるのでここでは詳細な説明は省略する。
そして、Binning誤差テーブルにおいて未処理のモデルパラメータが存在するか判断する(ステップS137)。未処理のモデルパラメータが存在する場合にはステップS133に戻る。一方、未処理のモデルパラメータが存在しない場合には元の処理に戻る。
例えば図24に示したようなBinning誤差テーブルを用いる場合には、図27に示すようなBinning誤差解析データテーブルが得られる。すなわち、モデルパラメータ毎に、特徴的なL及びWの範囲を特定するためのLの範囲の列及びWの範囲の列と、その範囲におけるBinning誤差の代表値(例えば平均値)の列とが設けられている。このようなデータを得ることによって、デバイス寸法L及びWの範囲毎に、Binning関数のフィッティングの善し悪しが分かるようになる。
図25の処理の説明に戻って、次に、領域分割処理部124は、マップデータ格納部108に格納されているマップデータテーブルとBinning誤差解析データ格納部123に格納されているBinning誤差解析データテーブルを用いて、マップデータの領域分割処理を実施する(ステップS15)。このマップデータの領域分割処理については、図28及び図29を用いて説明する。
まず、領域分割処理部124は、マップデータ格納部108に格納されているマップデータテーブルにおいて未処理のモデルパラメータを1つ特定する(図28:ステップS141)。次に、マップデータテーブルにおいて、特定されたモデルパラメータがグローバルに固定されたモデルパラメータであるか判断する(ステップS143)。例えば、図18に示したような第3のマップデータテーブルの場合、Binning関数の係数α=β=γ=0である(又はそれに近い値である)場合には、当該モデルパラメータについてはグローバルに固定されたモデルパラメータであると判断する。特定されたモデルパラメータがグローバルに固定されたモデルパラメータであると判断された場合には、当該モデルパラメータの値をモデルパラメータデータ格納部125のモデルパラメータデータテーブルに登録する(ステップS145)。そして処理はステップS153に移行する。
一方、特定されたモデルパラメータがグローバルに固定されたモデルパラメータでない場合には、Binning誤差解析データテーブルにおいて領域分割がなされているモデルパラメータであるか判断する(ステップS147)。領域分割がなされているモデルパラメータである場合には、Binning誤差解析データテーブルにおける領域毎に、当該モデルパラメータのBinning関数の係数(χ、α、β、γ)を回帰分析によって計算し、モデルパラメータデータ格納部125のモデルパラメータデータテーブルに登録する(ステップS151)。必要に応じて対応データ格納部106に格納されている対応データテーブルのデータを用いる。そしてステップS153に移行する。
一方、Binning誤差解析データテーブルにおいて領域分割がなされていないモデルパラメータの場合には、特定されたモデルパラメータのBinning関数の係数をモデルパラメータデータ格納部125のモデルパラメータデータテーブルに登録する(ステップS149)。
そして、マップデータテーブルにおける全てのモデルパラメータについて処理したか判断する(ステップS153)。未処理のモデルパラメータが存在する場合にはステップS141に戻る。一方、未処理のモデルパラメータが存在しない場合には、元の処理に戻る。
このような処理を実施することによって、例えば図29に示すようなモデルパラメータデータテーブルが得られる。図29の例では、モデルパラメータAがグローバルに固定されたパラメータであり、モデルパラメータBが領域分割されていないパラメータであり、モデルパラメータCが領域分割されているパラメータ(図示は1つの領域についてのみχ、α、β、γを示している)である場合を示している。領域は、L<0.1の領域と、L≧0.1の領域に分割されている。
このようにBinning誤差に基づくデバイス寸法の領域分割をベースにマップデータの領域分割を行うことによって、Binning誤差を小さくする形で、マップデータ(すなわちモデルパラメータデータテーブル)を生成することできるようになる。
なお、マップデータ領域分割処理については、マップデータ生成部107において図30A及び図30Bに示すような処理を行うようにしても良い。
まず、マップデータ生成部107は、対応データ格納部106から対応データテーブル(例えば対応データテーブル1(図11))を取得する(ステップS161)。そして、当該対応データテーブルに登録されているデバイス寸法の代表値セットを境界とする領域分割を、当該デバイス寸法の代表値セット毎に実施する(ステップS163)。例えば、デバイス寸法がL及びWのような場合には、L=L0及びW=W0を境界とする領域分割を行い、さらにL=L1及びW=W1を境界とする領域分割を独立に行うといったことである。この例では、デバイス寸法の代表値セット毎に4つの領域ができる。
そして、マップデータ生成部107は、対応データテーブルにおいて未処理のモデルパラメータを1つ特定する(ステップS165)。その後、ステップS163で生成した各領域毎に、所定の近似アルゴリズムによって、デバイス寸法を入力とし、特定されたモデルパラメータの最適値(例えば対応データテーブル1(図11)に登録されたもの)を近似する関数の係数をマップデータとして生成し、例えばマップ誤差データ格納部111に格納する(ステップS167)。所定の近似アルゴリズムは、例えばステップワイズ回帰分析、SVM回帰分析、回帰木分析、ランダムフォレスト回帰分析などである。また、上で述べたようにデバイス寸法の代表値セット毎に複数の領域ができるので、デバイス寸法の代表値セット毎にいずれの領域についてのマップデータであるかを特定できるように、例えばマップ誤差データ格納部111に格納する。
その後、マップデータ生成部107は、対応データテーブルにおける全てのモデルパラメータについて処理したか判断し(ステップS169)、未処理のモデルパラメータが存在する場合にはステップS165に戻る。一方、全てのモデルパラメータについて処理した場合には、次の処理のために、対応データテーブルにおいて未処理のモデルパラメータを1つ特定する(ステップS171)。また、対応データテーブルにおいてデバイス寸法の未処理の代表値セットを1つ特定する(ステップS173)。処理は端子Cを介して図30Bに移行する。
図30Bの処理の説明に移行して、マップデータ生成部107は、特定されたモデルパラメータの最適値(例えば対応データテーブル1における最適値)とデバイス寸法の特定された代表値セットにおける各領域についてのマップデータによる、モデルパラメータの計算値との差について2乗平均を算出することによって、デバイス寸法の特定された代表値セットについてのマップ誤差を算出し、マップ誤差データ格納部111に格納する(ステップS175)。マップ誤差データ格納部111においては、デバイス寸法の代表値セット毎に、計算されたマップ誤差の値を格納する。
その後、マップデータ生成部107は、対応データテーブルにおけるデバイス寸法の全ての代表値セットについて処理したか判断する(ステップS177)。未処理の代表値セットが存在する場合には、端子Dを介してステップS173に戻る。一方、デバイス寸法の全ての代表値セットについて処理した場合には、マップ誤差データ格納部111に格納されているマップ誤差から、ステップS171において特定されたモデルパラメータについてマップ誤差が最小となるデバイス寸法の代表値セットを特定し、モデルパラメータに対応してマップ誤差データ格納部111に格納する(ステップS179)。その後、対応データテーブルにおいて全てのモデルパラメータについて処理したか判断する(ステップS181)。未処理のモデルパラメータが存在する場合には、端子Eを介してステップS171に戻る。
一方、全てのモデルパラメータについて処理した場合には、マップデータ生成部107は、次の処理のために、対応データテーブルにおいて未処理のモデルパラメータを特定し(ステップS183)、特定されたモデルパラメータについて、ステップS179で特定された、マップ誤差最小となるデバイス寸法の代表値セットで特定される領域毎に、マップ誤差データ格納部111から、特定されたモデルパラメータの最適値を近似する関数の係数を含むマップデータを読み出し、マップデータ格納部108におけるマップデータテーブルに格納する(ステップS187)。例えば、図31に示すような第6のマップデータテーブルが格納される。図31の例では、モデルパラメータごとに、ステップS179で特定されたマップ誤差最小(すなわち最適)のデバイス寸法の代表値で特定される各領域について、マップデータ(すなわち近似関数の係数)が格納されている。図31の例では、デバイス寸法x1<0.1の領域について、デバイス寸法x1についての係数、デバイス寸法x2についての係数、...、及び定数が登録されている。さらに、デバイス寸法x1≧0.1の領域について、デバイス寸法x1についての係数、デバイス寸法x2についての係数、...、及び定数が登録されている。なお、ステップS187においては、ステップS167のように再度計算するようにしても良い。
その後、マップデータ生成部107は、対応データテーブルにおける全てのモデルパラメータについて処理したか判断し(ステップS189)、未処理のモデルパラメータが存在しない場合には、元の処理に戻る。
このような処理を実施すれば、マップ誤差が最も小さくなるような領域分割を特定することができ、その領域分割に即したマップデータを得ることができるようになる。
図25の処理の説明に戻って、モデルパラメータ最適化処理部126は、特性実測値格納部102に格納されているデータ及びモデルパラメータデータ格納部125に格納されているモデルパラメータデータテーブルを用いて、領域分割後のモデルパラメータ最適化処理を実施する(ステップS17)。領域分割後のモデルパラメータ最適化処理については、図32及び図33を用いて説明する。
まず、モデルパラメータ最適化処理部126は、モデルパラメータデータ格納部125に格納されているモデルパラメータデータテーブル(ここでは図29に示した第1のモデルパラメータデータテーブル)及び特性実測値格納部102に格納されている特性の実測値データを読み出す(図32:ステップS201)。そして、最適化パラメータとしてモデルパラメータデータテーブルのモデルパラメータを設定し、最適化初期値としてモデルパラメータデータテーブルのモデルパラメータの各係数値を設定し、所定の最適化アルゴリズムによって、最適化誤差を最小化する最適化計算を実施し、最適化誤差が最小となるモデルパラメータの各係数値を、モデルパラメータデータ格納部125のモデルパラメータデータテーブルに登録する(ステップS203)。そして元の処理に戻る。所定の最適化アルゴリズムは、Nelder-Mead法、Powell法、共役勾配法、BFGS法などである。
例えば図29に示した第1のモデルパラメータデータテーブルを用いる場合に、図33に示すような第2のモデルパラメータデータテーブルが得られる。図33は、図29の第1のモデルパラメータデータテーブルと同様のデータフォーマットを有するが、第1のモデルパラメータデータテーブルにおける値とは異なる値が登録される。
このように最適化処理を実施することによって、各モデルパラメータについてマップデータとしてより適切な値が得られるようになる。
図25の処理に戻って、Binning関数有効性判定部116は、マップデータ格納部108に格納されているマップデータテーブルと、対応データ格納部106に格納されている対応データテーブルと、最適化データ格納部104に格納されている最適化データテーブルとを用いてBinning関数有効性判定処理を実施する(ステップS19)。このBinning関数有効性判定処理については、図34乃至図36を用いて説明する。
まず、Binning関数有効性判定部116は、最適化データ格納部104に格納されている最適化データテーブル(例えば図6の第2の最適化データテーブル)から、最適化誤差が最小となるモデルパラメータの値を抽出する(図34:ステップS211)。図6の第2の最適化データテーブルを用いる場合には、最右列の値のうち最も小さい値に該当するモデルパラメータA、B...の値を抽出する。
また、最適化データテーブルにおける未処理のモデルパラメータを1つ特定する(ステップS213)。そして、対応データ格納部106に格納されている対応データテーブル(例えば図12の第2対応データテーブル)におけるL及びWの各代表値セットについてのモデルパラメータの最適値と、最適化誤差が最小のモデルパラメータの値との差について、LWの代表値セットに関する2乗平均を算出し、対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値の差の2乗値で上記2乗平均を除した値を、近似無し誤差として算出し、メインメモリなどの記憶装置に格納する(ステップS215)。すなわち、モデルパラメータの値の差が、L及びWの代表値セットの数だけ算出されるので、その2乗平均を算出すると共に、当該2乗平均を、対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値の差の2乗値で正規化する。
そして、最適化データテーブルにおいて全てのモデルパラメータについて処理したか判断する(ステップS217)。未処理のモデルパラメータが存在する場合にはステップS213に戻る。一方、全てのモデルパラメータを処理した場合には、端子Bを介して図35の処理に移行する。
その後、最適化データテーブルにおける未処理のモデルパラメータを1つ特定する(ステップS219)。そして、対応データテーブル(例えば図12の第2の対応データテーブル)におけるL及びWの各代表値セットについてのモデルパラメータの最適値と、マップデータ格納部108に格納されているマップデータテーブル(例えば図18の第3のマップデータテーブル)におけるBinning関数の係数によるモデルパラメータの計算値との差について、LWの代表値セットに関する2乗平均を算出し、対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値の差の2乗値で上記2乗平均を除した値を、近似有り誤差として算出し、メインメモリなどの記憶装置に格納する(ステップS221)。すなわち、この場合においても、モデルパラメータの値の差が、L及びWの代表値セットの数だけ算出されるので、その2乗平均を算出すると共に、当該2乗平均を、対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値の差の2乗値で正規化する。
その後、最適化データテーブルにおいて全てのモデルパラメータについて処理したか判断する(ステップS223)。未処理のモデルパラメータが存在する場合にはステップS219に戻る。一方、全てのモデルパラメータを処理した場合には、各モデルパラメータについて、近似無し誤差と近似あり誤差との差を算出し、例えばメインメモリなどの記憶装置に格納する(ステップS225)。
最後に、近似無し誤差と近似有り誤差との差が大きい順にモデルパラメータをソートして、モデルパラメータ、近似無し誤差、近似有り誤差、近似無し誤差と近似有り誤差との差を、Binning関数有効性判定結果格納部117のBinning関数有効性データテーブルに登録する(ステップS227)。そして元の処理に戻る。
例えば、図6の第2の最適化データテーブル、図12の第2の対応データテーブル、図18の第3のマップデータテーブルを用いた場合におけるBinning関数有効性データテーブルの例を図36に示す。図36のBinning関数有効性データテーブルの例では、モデルパラメータごとに、近似無し誤差、近似有り誤差、近似無し誤差と近似有り誤差との差が列挙されるようになっている。また、ステップS225で示したように、近似無し誤差と近似有り誤差との差が大きい順にソートされるので、上の方のレコードの方が、より調整を必要とするモデルパラメータとして把握可能である。
図25の処理に戻って、LW誤差解析部118は、特性実測値格納部102に格納されている実測値のデータと、デバイス寸法代表値データ格納部101に格納されているデバイス寸法の代表値セットと、最適化データ格納部104に格納されている最適化データテーブルとを用いて、LW誤差解析データ生成処理を実施する(ステップS21)。このLW誤差解析データ生成処理については、図37乃至図39を用いて説明する。
LW誤差解析部118は、最適化データ格納部104に格納されている最適化データテーブル(例えば図6の第2の最適化データテーブル)を読み出す(図37:ステップS231)。そして、当該最適化データテーブルにおいて最適化誤差が最小のモデルパラメータを特定する(ステップS233)。例えば図6の第2の最適化データテーブルにおいて、最適化誤差が最小となる行のモデルパラメータA、B、...を特定する。
その後、デバイス寸法の各代表値セット(L及びW)について、特性の実測値と、最適化誤差最小のモデルパラメータの値を用いて所定のモデル式で計算した計算値との差の2乗平均をLW誤差として算出し、LW誤差解析データ格納部119のLW誤差データテーブルに登録する(ステップS235)。例えば端子電圧を変更することによって、特性の実測値及びモデル式で計算した計算値は複数算出されるので、2乗平均が算出される。
ステップS235で算出されたデータは、例えば図38に示すようなLW誤差データテーブルに登録される。図38のLW誤差データテーブルの例では、Lの代表値と、Wの代表値と、LW誤差とが、デバイス寸法の代表値セット毎に登録される。
その後、説明変数としてL及びWを設定し、目的変数としてLW誤差を設定し、回帰木の統計解析によって、Lの範囲とWの範囲とLW誤差の代表値(例えば平均値)とを特定(算出)して、LW誤差解析データ格納部119のLW誤差解析データテーブルに登録する(ステップS237)。そして元の処理に戻る。
LW誤差解析データテーブルに格納されるデータの一例を図39に示す。図39の例では、Lの範囲とWの範囲との組み合わせで特定される、LW平面の各領域について、LW誤差の代表値(例えば平均値)が登録されるようになっている。
このように、LW平面におけるLW誤差の分布を判断することができるようになる。すなわち、LW平面におけるモデル式のフィッティングの様子を示すことができるようになる。LW誤差が大きいLW領域は、フィッティングが悪いことが分かる。
図25の処理の説明に戻って、モデルパラメータ解析部114は、対応データ格納部106に格納されている対応データテーブルを用いて、モデルパラメータ解析データ生成処理を実施する(ステップS23)。モデルパラメータ解析データ生成処理については図40乃至図42を用いて説明する。
まず、モデルパラメータ解析部114は、対応データ格納部106に格納されている対応データテーブル(例えば図12の第2の対応データテーブル)を読み出す(ステップS241)。そして、説明変数としてデバイス寸法のL及びWを設定し、目的変数としてモデルパラメータの最適値を設定し、回帰木の統計解析によって、Lの範囲及びWの範囲とモデルパラメータの代表値(例えば平均値)セットとを特定(算出)し、モデルパラメータ解析データ格納部115のモデルパラメータ解析データテーブルに登録する(ステップS243)。そして元の処理に戻る。
このような処理を実施すると、図41に示すようなモデルパラメータ解析データテーブルが生成される。図41の例では、Lの範囲及びWの範囲との組み合わせで特定される、LW平面の各領域について、モデルパラメータAの代表値、モデルパラメータBの代表値、....が登録されるようになる。
より分かりやすくLW平面で表してみると図42に示すようになる。図42の例では、L<1でW<3の第1の領域についてモデルパラメータA=0.3,モデルパラメータB=0.4...といったようなモデルパラメータの代表値が示される。またL<1でW≧3の第2の領域についてモデルパラメータA=0.1,モデルパラメータB=0.2...というようなモデルパラメータの代表値が示される。さらに、L≧1でW<2の第3の領域について、モデルパラメータA=0.9、モデルパラメータB=1.0...といったモデルパラメータの代表値が示される。さらに、L≧1で2≦W<4の第4の領域について、モデルパラメータA=0.7、モデルパラメータB=0.8...といったモデルパラメータの代表値が示される。さらに、L≧1でW≧4の第5の領域について、モデルパラメータA=0.5、モデルパラメータB=0.6...といったモデルパラメータの代表値が示される。
このようにすれば、LW平面における特定のLWの組み合わせについて、使用すべきモデルパラメータの値のセットを容易に特定することができる。
図25の処理の説明に戻って、出力部130が、これまで説明したデータ格納部に格納されているデータを、表示装置やプリンタなどの出力装置に出力するか、以下で述べるような出力処理を実施して、その処理結果を出力する(ステップS25)。
データ格納部に格納されているデータをそのまま出力するようにしても良いし、領域分割しているデータについては、図41に示したように平面又は3次元の空間を領域分割して、領域毎に該当するデータを示すようにしても良い。
さらに、図43に示すような鳥瞰図表示処理を実施するようにしても良い。出力部130は、マップデータ格納部108に格納されているマップデータテーブル(例えば図16の第2のマップデータテーブル)を読み出す(ステップS251)。また、デバイス寸法代表値データ格納部101からデバイス寸法(L,W)の代表値セットを読み出す(ステップS253)。さらに、マップデータテーブルにおいて未処理のモデルパラメータを1つ特定する(ステップS255)。そして、デバイス寸法の代表値セットについて、マップデータから、特定されたモデルパラメータの計算値を算出する(ステップS257)。図44に示すようなテーブルにおいて、特定されたモデルパラメータについてのL及びWの全てのセットについてレコードが生成される。
その後、底面横軸にL、底面縦軸にW、高さに、特定されたモデルパラメータの計算値を設定し、計算結果を表す曲面を生成して、出力装置に出力する(ステップS259)。例えば、図45に示すような出力がなされる。図45の例では、上で述べた曲面を含む空間が提示される。このようにすれば、LとWとパラメータの値との関係が直感的に分かるようになる。
そして、全てのモデルパラメータについて処理したか判断する(ステップS261)。未処理のモデルパラメータが存在する場合にはステップS255に戻る。一方、全てのモデルパラメータを処理した場合には、元の処理に戻る。
また、出力部130は、図46に示すような等高線図表示処理を実施するようにしても良い。出力部130は、マップデータ格納部108に格納されているマップデータテーブル(例えば図16の第2のマップデータテーブル)を読み出す(ステップS271)。また、デバイス寸法代表値データ格納部101からデバイス寸法(L,W)の代表値セットを読み出す(ステップS273)。さらに、マップデータテーブルにおいて未処理のモデルパラメータを1つ特定する(ステップS275)。そして、デバイス寸法の代表値セットについて、マップデータから、特定されたモデルパラメータの計算値を算出する(ステップS277)。図44に示すようなテーブルにおいて、特定されたモデルパラメータについてのL及びWの全てのセットについてレコードが生成される。
その後、特定されたモデルパラメータの計算値を所定幅で分割し、該当するL及びWの範囲を特定し、横軸L及び縦軸Wの平面上に、上記L及びWの範囲を色分けなどして出力装置に出力する(ステップS279)。
例えば図47のような出力がなされる。図47の例では、W方向にはモデルパラメータの値は変化しないが、Lが増加すると共にモデルパラメータの値が増加することが分かる。
そして、全てのモデルパラメータについて処理したか判断する(ステップS281)。未処理のモデルパラメータが存在する場合にはステップS275に戻る。一方、全てのモデルパラメータを処理した場合には、元の処理に戻る。
さらに、LW依存性データ生成部112及び出力部130は、図48に示すようなLW依存性データ生成・出力処理を実施するようにしても良い。
LW依存性データ生成部112は、まずマップデータ格納部108に格納されているマップデータテーブル(例えば図18の第3のマップデータテーブル)を読み出す(ステップS291)。そして、マップデータテーブルにおいて未処理のモデルパラメータを1つ特定する(ステップS293)。
その後、特定されたモデルパラメータについての係数α=β=γ=0であるか判断する(ステップS295)。このような場合には、係数χのみでモデルパラメータの値が決定されるので、L及びWに依存性はない。従って、特定されたモデルパラメータについての係数と共にLW依存性小を、メインメモリなどの記憶装置におけるLW依存性データテーブルに登録する(ステップS297)。そしてステップS311に移行する。
一方、特定されたモデルパラメータについての係数β=γ=0であるか判断する(ステップS299)。このような場合には係数αに乗じられるLのみに依存することを意味するので、特定されたモデルパラメータについての係数と共にL依存性大を、メインメモリなどの記憶装置におけるLW依存性データテーブルに登録する(ステップS301)。そしてステップS311に移行する。
さらに、特定されたモデルパラメータについての係数α=γ=0であるか判断する(ステップS303)。このような場合には係数βに乗じられるWのみに依存することを意味するので、特定されたモデルパラメータについての係数と共にW依存性大を、メインメモリなどの記憶装置におけるLW依存性データテーブルに登録する(ステップS305)。そしてステップS311に移行する。
また、以上述べた条件を満たさない場合には、特定されたモデルパラメータについての係数γ≠0であるので、特定されたモデルパラメータについての係数と共にLW依存性大を、メインメモリなどの記憶装置におけるLW依存性データテーブルに登録する(ステップS309)。
そして、全てのモデルパラメータについて処理したか判断する(ステップS311)。未処理のモデルパラメータが存在する場合にはステップS293に戻る。一方、全てのモデルパラメータを処理した場合には、出力部130は、判定結果を出力装置に出力する(ステップS313)。例えば、図49に示すようなLW依存性データテーブルを出力する。このような出力を行うことによって、モデルパラメータの特質を判断することができるようになる。
以上のような処理を実施することによって、SPICE等の回路シミュレーション・プログラムに設定すべきモデルパラメータの値を、様々な側面において検討することができるようになり、その値の決定を客観的に行うことができるようになる。
以上本技術の実施の形態を説明したが本技術はこれに限定されるものではない。例えば、図1A及び1Bにおいて機能ブロック図を示したが、必ずしもこの機能ブロック図と同様のプログラムモジュールが作成されるわけではない。また、一部の機能については用意されない場合もある。
処理フローについても、処理ステップについては処理結果が変わらない限り順番を入れ替えたり、並列実行するようにしてもよい。
以上述べた本技術の実施の形態をまとめると以下のとおりになる。
本技術の第1の態様に係るモデルパラメータ抽出方法は、入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式におけるモデルパラメータが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、最適化誤差を最小化するモデルパラメータを探索する処理の過程で、モデルパラメータの値のセットと、デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている上記代表値のセット毎の各点誤差と、最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、最適化データテーブルにおいて、上記代表値のセット毎に各点誤差が最小となるモデルパラメータの値のセットをモデルパラメータの最適値セットとして特定し、上記代表値のセットとモデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、対応テーブルにおけるモデルパラメータの各々について、デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、対応テーブルに格納されている前記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納するステップとを含む。
そして、上で述べた最適化データ生成ステップが、デバイス寸法代表値格納部に格納されている各上記代表値のセットにつき、電気特性の実測値を格納する実測値データ格納部に格納されている実測値と、所定のモデル式及びモデルパラメータの値の特定のセットによる電気特性の計算値との差を端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各上記代表値のセットについての前記各点誤差を算出するステップと、各上記代表値のセットについての各点誤差を平均することによって、最適化誤差を算出するステップと含む。
このような処理を行うことによって、モデルパラメータの最適値を特定し、当該モデルパラメータの最適値を実現するためのマップ関数を計算することができるようになる。
なお、上記電気特性がMOSFETの電気特性であり、上記デバイス寸法が、ゲート長L及びゲート幅Wである場合もある。
さらに、上で述べたマップ関数が、χ+α/L+β/W+γ/(L*W)で表されるBinning関数であり、マップ関数の係数が、χ、α、β及びγであり、所定の近似アルゴリズムが、ステップワイズ回帰分析の近似アルゴリズムである場合もある。このようにBSIM3やBSIM4で用いられるBinning関数の係数を適切に計算できるようになる。
第1の態様において、マップデータテーブルにおいて、係数α、β及びγが0であるモデルパラメータをグローバルな固定パラメータとして特定し、マップデータテーブルにおいて係数χのみをモデルパラメータに対応付けて格納するステップをさらに含むようにしても良い。これによって、グローバルな固定パラメータとなっているモデルパラメータを特定することができる。
第1の態様において、マップデータテーブルにおける各モデルパラメータについて、当該モデルパラメータのマップ関数の係数が最適化パラメータとして設定され、マップデータテーブルにおける各モデルパラメータのマップ関数の係数値が初期値として設定され、最適化誤差が最適化評価指標として設定される第2の所定の最適化アルゴリズムに従って、モデルパラメータのマップ関数の係数の最適値を算出し、第2のマップデータテーブルに登録するステップをさらに含むようにしても良い。さらに最適化誤差を小さくするような、モデルパラメータのマップ関数の係数を算出することができるようになる。
第1の態様において、対応データテーブルに格納されているゲート長L及びゲート幅Wの代表値セット毎且つモデルパラメータ毎に、対応データテーブルに格納されているモデルパラメータの最適値とマップデータテーブルに格納されているBinning関数の係数により算出されるモデルパラメータの計算値との差をBinning誤差として算出し、ゲート長L及びゲート幅Wの代表値セットに対応して各モデルパラメータについてのBinning誤差を、Binning誤差データテーブルに登録するステップをさらに含むようにしてもよい。Binning関数のフィッティングの度合いをBinning誤差として把握できるようになる。すなわち、領域分割の是非について判断できるようになる。
第1の態様において、モデルパラメータ毎に、説明変数としてゲート長L及びゲート幅Wが設定され、目的変数としてBinning誤差データテーブルに登録されているBinning誤差が設定される、回帰木による統計解析を実施して、モデルパラメータ毎に、ゲート長L及びゲート幅Wの範囲と、当該範囲についてのBinning誤差の代表値とを対応付けて、Binning誤差解析データテーブルに登録するステップをさらに含むようにしてもよい。このようにすれば、デバイス寸法の範囲毎に、Binning関数のフィッティングの状態を把握することができる。
第1の態様において、マップデータテーブルにおいてBinning関数の係数α、β及びγが0であるモデルパラメータについては、当該モデルパラメータの値を、Binning誤差解析データテーブルにおいてゲート長L及びゲート幅Wの範囲が設定されていないモデルパラメータについては、対応データテーブルに格納されているBinning関数の係数χ、α、β及びγを、Binning誤差解析データテーブルにおいてゲート長L及びゲート幅Wの範囲が設定されているモデルパラメータについては、ゲート長L及びゲート幅Wの範囲毎に、ゲート長L及びゲート幅Wを入力として、当該モデルパラメータの最適値を近似するためのBinning関数の係数χ、α、β及びγを、ステップワイズ回帰分析の近似アルゴリズムに従って算出し、モデルパラメータデータテーブルに格納するステップをさらに含むようにしてもよい。デバイス寸法の範囲毎に、さらに適切なBinning関数の係数を算出することができるようになる。
第1の態様において、モデルパラメータデータテーブルにおける各モデルパラメータについて、(a)Binning関数の係数α、β及びγが0であるモデルパラメータについては当該モデルパラメータの値、(b)ゲート長L及びゲート幅Wの範囲が設定されていないモデルパラメータについては当該モデルパラメータのBinning関数の係数χ、α、β及びγ、(c)ゲート長L及びゲート幅Wの範囲が設定されているモデルパラメータについては各範囲について当該モデルパラメータのBinning関数の係数χ、α、β及びγが最適化パラメータとして設定され、最適化評価指標として最適化誤差が設定され、モデルパラメータデータテーブルにおける(a)の場合のモデルパラメータの値及び(b)及び(c)の場合のBinning関数の係数χ、α、β及びγの値が初期値として設定される第3の所定の最適化アルゴリズムに従って、(a)の場合のモデルパラメータの最適値及び(b)及び(c)の場合のモデルパラメータのBinning関数の係数χ、α、β及びγの最適値を算出し、第2のモデルパラメータデータテーブルに登録するステップをさらに含むようにしてもよい。最適化誤差をさらに小さくするようなBinning関数の係数を算出することができるようになる。
本技術の第2の態様に係るモデルパラメータ抽出方法は、入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式におけるモデルパラメータのうちユーザ指定のデバイス依存性のないモデルパラメータとデバイス依存性のある残余のモデルパラメータとが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、最適化誤差を最小化するモデルパラメータを探索する処理の過程で、デバイス依存性のないモデルパラメータの値と、デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている上記代表値のセット毎のデバイス依存性のある残余のモデルパラメータ及び各点誤差と、最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、最適化データテーブルにおいて、上記代表値のセット毎に、各点誤差が最小となるデバイス依存性のないモデルパラメータの値と、各点誤差が最小となる、当該代表値のセットについてのデバイス依存性のあるモデルパラメータの値とを、モデルパラメータの最適値セットとして特定し、上記代表値のセットとモデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、対応テーブルにおけるモデルパラメータの各々について、デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、対応テーブルに格納されている上記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納するステップとを含む。
そして、上で述べた最適化データ生成ステップが、デバイス寸法代表値格納部に格納されている各上記代表値のセットにつき、電気特性の実測値を格納する実測値データ格納部に格納されている実測値と、所定のモデル式及びモデルパラメータの値の特定のセットによる電気特性の計算値との差を端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各上記代表値のセットについての各点誤差を算出するステップと、各上記代表値のセットについての各点誤差を平均することによって、最適化誤差を算出するステップとを含む。
このように、ユーザが、デバイス寸法に依存するモデルパラメータであるか否かを指定できる場合には、より適切なマップ関数の係数を算出することができるようになる。
本技術の第3の態様に係るモデルパラメータ抽出方法は、入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式におけるモデルパラメータが最適化パラメータとして設定され、各点誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、各点誤差を最小化するモデルパラメータを探索する処理の過程で、モデルパラメータの値のセットと、デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている上記代表値のセット毎の各点誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、最適化データテーブルにおいて、上記代表値のセット毎に各点誤差が最小となるモデルパラメータの値のセットをモデルパラメータの最適値セットとして特定し、上記代表値のセットとモデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、対応テーブルにおけるモデルパラメータの各々について、デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、対応テーブルに格納されている上記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納するステップとを含む。
そして、上で述べた最適化データ生成ステップが、デバイス寸法代表値格納部に格納されている各上記代表値のセットにつき、電気特性の実測値を格納する実測値データ格納部に格納されている実測値と、所定のモデル式及びモデルパラメータの値の特定のセットによる電気特性の計算値との差を端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各上記代表値のセットについての各点誤差を算出するステップを含む。
このように最適化誤差ではなく各点誤差を基準にマップ関数の係数を算出することもできるようになる。
本技術の第4の態様に係るモデルパラメータ抽出方法は、入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式におけるモデルパラメータが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、最適化誤差を最小化するモデルパラメータを探索する処理の過程で、モデルパラメータの値のセットと、デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている上記代表値のセット毎の各点誤差と、最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、最適化データテーブルにおいて、上記代表値のセット毎に各点誤差が最小となるモデルパラメータの値のセットをモデルパラメータの最適値セットとして特定し、上記代表値のセットとモデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、対応テーブルに登録されている各モデルパラメータについて、対応テーブルに登録されている上記代表値のセット毎に、当該代表値のセットを境界として用いる領域分割を実施し、当該領域分割による領域毎に、所定のアルゴリズムに従って対応テーブルに登録されているモデルパラメータの最適値を近似する近似関数の係数を算出し、モデルパラメータ毎、上記代表値のセット毎且つ領域毎に記憶装置に格納するステップと、対応テーブルに登録されている各モデルパラメータについて、対応テーブルに登録されている上記代表値のセット毎に、当該モデルパラメータの最適値と各領域について記憶装置に格納されている近似関数の係数を用いて計算されるモデルパラメータの計算値との差について二乗平均を求めることによってマップ誤差を算出し、代表値のセットに対応して記憶装置に格納するステップと、対応テーブルに登録されている各モデルパラメータについて、記憶装置に格納されているマップ誤差が最小となる上記代表値のセットを特定するステップと、対応テーブルに登録されている各モデルパラメータについて、記憶装置から、特定された上記代表値のセットについて実施された領域分割による各領域についての近似関数の係数を読み出し、マップデータテーブルに登録するステップとを含む。
そして、上で述べた最適化データ生成ステップが、デバイス寸法代表値格納部に格納されている各上記代表値のセットにつき、電気特性の実測値を格納する実測値データ格納部に格納されている実測値と、所定のモデル式及びモデルパラメータの値の特定のセットによる電気特性の計算値との差を端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各代表値のセットについての各点誤差を算出するステップと、各上記代表値のセットについての各点誤差を平均することによって、最適化誤差を算出するステップとを含む。
このようにすれば、近似関数による計算値と最適値との二乗平均が最小となるように、最適な領域分割を行うことができ、且つ各領域についての近似関数の係数を得られるようになる。
さらに、第1の態様において、各モデルパラメータについて、ゲート長L及びゲート幅Wを底面の2軸に設定し、マップデータテーブルに格納されているモデルパラメータのマップ関数の係数を用いて算出されたモデルパラメータの計算値を高さ方向の軸に設定した鳥瞰図を生成し、出力するステップをさらに含むようにしてもよい。このようにすれば、ゲート長L及びゲート幅Wとモデルパラメータの値との関係を把握しやすくなる。
さらに、第1の態様において、各モデルパラメータについて、ゲート長L及びゲート幅Wを平面の2軸に設定し、マップデータテーブルに格納されているモデルパラメータのマップ関数の係数を用いて算出されたモデルパラメータの計算値による等高線を平面上に配置した等高線図を生成し、出力するステップをさらに含むようにしてもよい。このようにすれば、ゲート長L及びゲート幅Wとモデルパラメータの値との関係を把握しやすくなる。
第1の態様において、各モデルパラメータについて、マップデータテーブルに登録されているBinning関数の係数α、β及びγが0であれば、LW依存性小と判断し、Binning関数の係数αが0でなく、β及びγが0であれば、L依存性大と判断し、Binning関数の係数βが0でなく、α及びγが0であれば、W依存性大と判断し、Binning関数の係数γが0でない場合にはLW依存性大と判断し、判断結果を出力するステップをさらに含むようにしても良い。これによって、各モデルパラメータについてデバイス寸法の依存性を詳しく把握することができるようになる。
第1の態様において、最適化データテーブルにおいて、最適化誤差が最小のモデルパラメータの値のセットを抽出するステップと、各モデルパラメータについて、抽出されたモデルパラメータの値と、対応データテーブルに格納されている、ゲート長L及びゲート幅Wの代表値の各セットについてのモデルパラメータの最適値との差の2乗平均を、対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値との差の2乗値で除することによって、近似無し誤差を算出するステップと、各モデルパラメータについて、抽出されたモデルパラメータの値と、マップデータテーブルに登録されている、Binning関数の係数を用いて算出される、ゲート長L及びゲート幅Wの代表値の各セットについてのモデルパラメータの計算値との差の2乗平均を、対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値との差の2乗値で除することによって、近似有り誤差を算出するステップと、各モデルパラメータについて、近似無し誤差と近似有り誤差との差をBinning関数有効性データとして算出し、出力するステップと、をさらに含むようにしてもよい。このようにすれば、近似無し誤差と近似有り誤差との差は、Binning関数の有効性を表しており、当該差の大きい順に並べれば修正すべきモデルパラメータを有効性の低い順に特定することもできる。
第1の態様において、最適化データテーブルにおいて、最適化誤差が最小のモデルパラメータの値のセットを抽出するステップと、デバイス寸法代表値格納部に格納されている、ゲート長L及びゲート幅Wの代表値の各セットについて、実測値データ格納部に格納されている実測値と、所定のモデル式及び抽出されたモデルパラメータの値のセットによる電気特性の計算値との差を端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各上記代表値のセットについてのLW誤差を算出するステップと、説明変数としてゲート長L及びゲート幅Wが設定され、目的変数としてLW誤差が設定される、回帰木による統計解析によって、ゲート長Lの範囲とゲート幅Wの範囲とLW誤差の代表値とを算出し、LW誤差解析データテーブルに登録するステップとをさらに含むようにしてもよい。所定のモデル式のフィッティングの程度に応じてデバイス寸法を領域分割して、当該フィッティングの程度を表すLW誤差をユーザに提示することができるようになる。
第1の態様において、説明変数としてゲート長L及びゲート幅Wが設定され、目的変数として対応データテーブルに格納されているモデルパラメータの最適値が設定される、回帰木による統計解析によって、ゲート長Lの範囲とゲート幅Wの範囲とモデルパラメータの値のセットとを算出し、モデルパラメータ解析データテーブルに登録するステップをさらに含むようにしてもよい。デバイス寸法の領域毎にモデルパラメータの傾向を把握することができるようになる。
なお、上記方法は、コンピュータと当該コンピュータによって実行されるプログラムとの組み合わせにて実行される場合があり、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
また、上記システムは、コンピュータ装置であって、図50に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
(付記1)
入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式における前記モデルパラメータが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、前記最適化誤差を最小化するモデルパラメータを探索する処理の過程で、前記モデルパラメータの値のセットと、前記デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている前記代表値のセット毎の前記各点誤差と、前記最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、
前記最適化データテーブルにおいて、前記代表値のセット毎に前記各点誤差が最小となる前記モデルパラメータの値のセットを前記モデルパラメータの最適値セットとして特定し、前記代表値のセットと前記モデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、
前記対応テーブルにおける前記モデルパラメータの各々について、前記デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、前記対応テーブルに格納されている前記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納するステップと、
を、コンピュータに実行させ、
前記最適化データ生成ステップが、
前記デバイス寸法代表値格納部に格納されている各前記代表値のセットにつき、前記電気特性の実測値を格納する実測値データ格納部に格納されている前記実測値と、前記所定のモデル式及び前記モデルパラメータの値の特定のセットによる前記電気特性の計算値との差を前記端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各前記代表値のセットについての前記各点誤差を算出するステップと、
各前記代表値のセットについての前記各点誤差を平均することによって、前記最適化誤差を算出するステップと
を含む、モデルパラメータ抽出プログラム。
(付記2)
前記電気特性がMOSFETの電気特性であり、
前記デバイス寸法が、ゲート長L及びゲート幅Wである
付記1記載のモデルパラメータ抽出プログラム。
(付記3)
前記マップ関数が、χ+α/L+β/W+γ/(L*W)で表されるBinning関数であり、
前記マップ関数の係数が、χ、α、β及びγであり、
前記所定の近似アルゴリズムが、ステップワイズ回帰分析の近似アルゴリズムである
付記2記載のモデルパラメータ抽出プログラム。
(付記4)
前記マップデータテーブルにおいて、前記係数α、β及びγが0であるモデルパラメータをグローバルな固定パラメータとして特定し、前記マップデータテーブルにおいて前記係数χのみを前記モデルパラメータに対応付けて格納するステップ
をさらに前記コンピュータに実行させるための付記3記載のモデルパラメータ抽出プログラム。
(付記5)
前記マップデータテーブルにおける各前記モデルパラメータについて、当該モデルパラメータの前記マップ関数の係数が最適化パラメータとして設定され、前記マップデータテーブルにおける各前記モデルパラメータの前記マップ関数の係数値が初期値として設定され、前記最適化誤差が最適化評価指標として設定される第2の所定の最適化アルゴリズムに従って、前記モデルパラメータの前記マップ関数の係数の最適値を算出し、第2のマップデータテーブルに登録するステップ
をさらに前記コンピュータに実行させるための付記4記載のモデルパラメータ抽出プログラム。
(付記6)
前記対応データテーブルに格納されている前記ゲート長L及び前記ゲート幅Wの代表値セット毎且つ前記モデルパラメータ毎に、前記対応データテーブルに格納されている前記モデルパラメータの最適値と前記マップデータテーブルに格納されている前記Binning関数の係数により算出される前記モデルパラメータの計算値との差をBinning誤差として算出し、前記ゲート長L及び前記ゲート幅Wの代表値セットに対応して各前記モデルパラメータについての前記Binning誤差を、Binning誤差データテーブルに登録するステップ
をさらに前記コンピュータに実行させるための付記3記載のモデルパラメータ抽出プログラム。
(付記7)
前記モデルパラメータ毎に、説明変数として前記ゲート長L及び前記ゲート幅Wが設定され、目的変数として前記Binning誤差データテーブルに登録されている前記Binning誤差が設定される、回帰木による統計解析を実施して、前記モデルパラメータ毎に、前記ゲート長L及び前記ゲート幅Wの範囲と、当該範囲についての前記Binning誤差の代表値とを対応付けて、Binning誤差解析データテーブルに登録するステップ
をさらに前記コンピュータに実行させるための付記6記載のモデルパラメータ抽出プログラム。
(付記8)
前記マップデータテーブルにおいて前記Binning関数の係数α、β及びγが0であるモデルパラメータについては、当該モデルパラメータの値を、前記Binning誤差解析データテーブルにおいて前記ゲート長L及び前記ゲート幅Wの範囲が設定されていないモデルパラメータについては、前記対応データテーブルに格納されている前記Binning関数の係数χ、α、β及びγを、前記Binning誤差解析データテーブルにおいて前記ゲート長L及び前記ゲート幅Wの範囲が設定されているモデルパラメータについては、前記ゲート長L及び前記ゲート幅Wの範囲毎に、前記ゲート長L及び前記ゲート幅Wを入力として、当該モデルパラメータの最適値を近似するための前記Binning関数の係数χ、α、β及びγを、前記ステップワイズ回帰分析の近似アルゴリズムに従って算出し、モデルパラメータデータテーブルに格納するステップ、
をさらに前記コンピュータに実行させるための付記7記載のモデルパラメータ抽出プログラム。
(付記9)
前記モデルパラメータデータテーブルにおける各前記モデルパラメータについて、(a)前記Binning関数の係数α、β及びγが0であるモデルパラメータについては当該モデルパラメータの値、(b)前記ゲート長L及び前記ゲート幅Wの範囲が設定されていないモデルパラメータについては当該モデルパラメータの前記Binning関数の係数χ、α、β及びγ、(c)前記ゲート長L及び前記ゲート幅Wの範囲が設定されているモデルパラメータについては各前記範囲について当該モデルパラメータの前記Binning関数の係数χ、α、β及びγが前記最適化パラメータとして設定され、最適化評価指標として前記最適化誤差が設定され、前記モデルパラメータデータテーブルにおける前記(a)の場合の前記モデルパラメータの値及び前記(b)及び(c)の場合の前記Binning関数の係数χ、α、β及びγの値が初期値として設定される第3の所定の最適化アルゴリズムに従って、前記(a)の場合の前記モデルパラメータの最適値及び前記(b)及び(c)の場合の前記モデルパラメータの前記Binning関数の係数χ、α、β及びγの最適値を算出し、第2のモデルパラメータデータテーブルに登録するステップ
をさらに前記コンピュータに実行させるための付記8記載のモデルパラメータ抽出プログラム。
(付記10)
入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式における前記モデルパラメータのうちユーザ指定のデバイス依存性のないモデルパラメータとデバイス依存性のある残余のモデルパラメータとが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、前記最適化誤差を最小化するモデルパラメータを探索する処理の過程で、前記デバイス依存性のないモデルパラメータの値と、前記デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている前記代表値のセット毎の前記デバイス依存性のある残余の前記モデルパラメータ及び前記各点誤差と、前記最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、
前記最適化データテーブルにおいて、前記代表値のセット毎に、前記各点誤差が最小となる前記デバイス依存性のないモデルパラメータの値と、前記各点誤差が最小となる、当該代表値のセットについての前記デバイス依存性のあるモデルパラメータの値とを、前記モデルパラメータの最適値セットとして特定し、前記代表値のセットと前記モデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、
前記対応テーブルにおける前記モデルパラメータの各々について、前記デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、前記対応テーブルに格納されている前記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納するステップと、
を、コンピュータに実行させ、
前記最適化データ生成ステップが、
前記デバイス寸法代表値格納部に格納されている各前記代表値のセットにつき、前記電気特性の実測値を格納する実測値データ格納部に格納されている前記実測値と、前記所定のモデル式及び前記モデルパラメータの値の特定のセットによる前記電気特性の計算値との差を前記端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各前記代表値のセットについての前記各点誤差を算出するステップと、
各前記代表値のセットについての前記各点誤差を平均することによって、前記最適化誤差を算出するステップと
を含む、モデルパラメータ抽出プログラム。
(付記11)
入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式における前記モデルパラメータが最適化パラメータとして設定され、各点誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、前記各点誤差を最小化するモデルパラメータを探索する処理の過程で、前記モデルパラメータの値のセットと、前記デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている前記代表値のセット毎の前記各点誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、
前記最適化データテーブルにおいて、前記代表値のセット毎に前記各点誤差が最小となる前記モデルパラメータの値のセットを前記モデルパラメータの最適値セットとして特定し、前記代表値のセットと前記モデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、
前記対応テーブルにおける前記モデルパラメータの各々について、前記デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、前記対応テーブルに格納されている前記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納するステップと、
を、コンピュータに実行させ、
前記最適化データ生成ステップが、
前記デバイス寸法代表値格納部に格納されている各前記代表値のセットにつき、前記電気特性の実測値を格納する実測値データ格納部に格納されている前記実測値と、前記所定のモデル式及び前記モデルパラメータの値の特定のセットによる前記電気特性の計算値との差を前記端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各前記代表値のセットについての前記各点誤差を算出するステップ
を含む、モデルパラメータ抽出プログラム。
(付記12)
入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式における前記モデルパラメータが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、前記最適化誤差を最小化するモデルパラメータを探索する処理の過程で、前記モデルパラメータの値のセットと、前記デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている前記代表値のセット毎の前記各点誤差と、前記最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、
前記最適化データテーブルにおいて、前記代表値のセット毎に前記各点誤差が最小となる前記モデルパラメータの値のセットを前記モデルパラメータの最適値セットとして特定し、前記代表値のセットと前記モデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、
前記対応テーブルに登録されている各前記モデルパラメータについて、前記対応テーブルに登録されている前記代表値のセット毎に、当該代表値のセットを境界として用いる領域分割を実施し、当該領域分割による領域毎に、所定のアルゴリズムに従って前記対応テーブルに登録されている前記モデルパラメータの最適値を近似する近似関数の係数を算出し、前記モデルパラメータ毎、前記代表値のセット毎且つ前記領域毎に記憶装置に格納するステップと、
前記対応テーブルに登録されている各前記モデルパラメータについて、前記対応テーブルに登録されている前記代表値のセット毎に、当該モデルパラメータの最適値と各前記領域について前記記憶装置に格納されている前記近似関数の係数を用いて計算される前記モデルパラメータの計算値との差について二乗平均を求めることによってマップ誤差を算出し、前記代表値のセットに対応して前記記憶装置に格納するステップと、
前記対応テーブルに登録されている各前記モデルパラメータについて、前記記憶装置に格納されている前記マップ誤差が最小となる前記代表値のセットを特定するステップと、
前記対応テーブルに登録されている各前記モデルパラメータについて、前記記憶装置から、特定された前記代表値のセットについて実施された領域分割による各領域についての前記近似関数の係数を読み出し、マップデータテーブルに登録するステップと、
をコンピュータに実行させ、
前記最適化データ生成ステップが、
前記デバイス寸法代表値格納部に格納されている各前記代表値のセットにつき、前記電気特性の実測値を格納する実測値データ格納部に格納されている前記実測値と、前記所定のモデル式及び前記モデルパラメータの値の特定のセットによる前記電気特性の計算値との差を前記端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各前記代表値のセットについての前記各点誤差を算出するステップと、
各前記代表値のセットについての前記各点誤差を平均することによって、前記最適化誤差を算出するステップと
を含む、モデルパラメータ抽出プログラム。
(付記13)
各前記モデルパラメータについて、前記ゲート長L及び前記ゲート幅Wを底面の2軸に設定し、前記マップデータテーブルに格納されている前記モデルパラメータの前記マップ関数の係数を用いて算出された前記モデルパラメータの計算値を高さ方向の軸に設定した鳥瞰図を生成し、出力するステップ
をさらに前記コンピュータに実行させるための付記2記載のモデルパラメータ抽出プログラム。
(付記14)
各前記モデルパラメータについて、前記ゲート長L及び前記ゲート幅Wを平面の2軸に設定し、前記マップデータテーブルに格納されている前記モデルパラメータの前記マップ関数の係数を用いて算出された前記モデルパラメータの計算値による等高線を前記平面上に配置した等高線図を生成し、出力するステップ
をさらに前記コンピュータに実行させるための付記2記載のモデルパラメータ抽出プログラム。
(付記15)
各前記モデルパラメータについて、前記マップデータテーブルに登録されている前記Binning関数の係数α、β及びγが0であれば、LW依存性小と判断し、前記Binning関数の係数αが0でなく、β及びγが0であれば、L依存性大と判断し、前記Binning関数の係数βが0でなく、α及びγが0であれば、W依存性大と判断し、前記Binning関数の係数γが0でない場合にはLW依存性大と判断し、判断結果を出力するステップ
をさらに前記コンピュータに実行させるための付記3記載のモデルパラメータ抽出プログラム。
(付記16)
前記最適化データテーブルにおいて、前記最適化誤差が最小のモデルパラメータの値のセットを抽出するステップと、
各前記モデルパラメータについて、抽出された前記モデルパラメータの値と、前記対応データテーブルに格納されている、前記ゲート長L及び前記ゲート幅Wの代表値の各セットについての前記モデルパラメータの最適値との差の2乗平均を、前記対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値との差の2乗値で除することによって、近似無し誤差を算出するステップと、
各前記モデルパラメータについて、抽出された前記モデルパラメータの値と、前記マップデータテーブルに登録されている、前記Binning関数の係数を用いて算出される、前記ゲート長L及び前記ゲート幅Wの代表値の各セットについての前記モデルパラメータの計算値との差の2乗平均を、前記対応データテーブルにおける当該モデルパラメータの最適値の最小値と最大値との差の2乗値で除することによって、近似有り誤差を算出するステップと、
各前記モデルパラメータについて、前記近似無し誤差と前記近似有り誤差との差を前記Binning関数有効性データとして算出し、出力するステップと、
をさらに前記コンピュータに実行させるための付記3記載のモデルパラメータ抽出プログラム。
(付記17)
前記最適化データテーブルにおいて、前記最適化誤差が最小のモデルパラメータの値のセットを抽出するステップと、
前記デバイス寸法代表値格納部に格納されている、前記ゲート長L及び前記ゲート幅Wの代表値の各セットについて、前記実測値データ格納部に格納されている前記実測値と、前記所定のモデル式及び抽出された前記モデルパラメータの値のセットによる前記電気特性の計算値との差を前記端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各前記代表値のセットについてのLW誤差を算出するステップと、
説明変数として前記ゲート長L及び前記ゲート幅Wが設定され、目的変数として前記LW誤差が設定される、回帰木による統計解析によって、前記ゲート長Lの範囲と前記ゲート幅Wの範囲と前記LW誤差の代表値とを算出し、LW誤差解析データテーブルに登録するステップと、
をさらに前記コンピュータに実行させるための付記2記載のモデルパラメータ抽出プログラム。
(付記18)
説明変数として前記ゲート長L及び前記ゲート幅Wが設定され、目的変数として前記対応データテーブルに格納されている前記モデルパラメータの最適値が設定される、回帰木による統計解析によって、前記ゲート長Lの範囲と前記ゲート幅Wの範囲と前記モデルパラメータの値のセットとを算出し、モデルパラメータ解析データテーブルに登録するステップ
をさらに前記コンピュータに実行させるための付記2記載のモデルパラメータ抽出プログラム。
(付記19)
入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式における前記モデルパラメータが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、前記最適化誤差を最小化するモデルパラメータを探索する処理の過程で、前記モデルパラメータの値のセットと、前記デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている前記代表値のセット毎の前記各点誤差と、前記最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成ステップと、
前記最適化データテーブルにおいて、前記代表値のセット毎に前記各点誤差が最小となる前記モデルパラメータの値のセットを前記モデルパラメータの最適値セットとして特定し、前記代表値のセットと前記モデルパラメータの最適値セットとを対応付けて対応テーブルに登録するステップと、
前記対応テーブルにおける前記モデルパラメータの各々について、前記デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、前記対応テーブルに格納されている前記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納するステップと、
を含み、
前記最適化データ生成ステップが、
前記デバイス寸法代表値格納部に格納されている各前記代表値のセットにつき、前記電気特性の実測値を格納する実測値データ格納部に格納されている前記実測値と、前記所定のモデル式及び前記モデルパラメータの値の特定のセットによる前記電気特性の計算値との差を前記端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各前記代表値のセットについての前記各点誤差を算出するステップと、
各前記代表値のセットについての前記各点誤差を平均することによって、前記最適化誤差を算出するステップと
を含む、モデルパラメータ抽出方法。
(付記20)
入力変数としてデバイス寸法と端子電圧とを含み、係数としてモデルパラメータを含む、半導体デバイスの電気特性を計算するための所定のモデル式における前記モデルパラメータが最適化パラメータとして設定され、各点誤差の平均値である最適化誤差が最適化指標として設定される所定の最適化アルゴリズムに従って、前記最適化誤差を最小化するモデルパラメータを探索する処理の過程で、前記モデルパラメータの値のセットと、前記デバイス寸法の代表値のセットを格納するデバイス寸法代表値格納部に格納されている前記代表値のセット毎の前記各点誤差と、前記最適化誤差とを対応付けて、最適化データテーブルに登録する最適化データ生成手段と、
前記最適化データテーブルにおいて、前記代表値のセット毎に前記各点誤差が最小となる前記モデルパラメータの値のセットを前記モデルパラメータの最適値セットとして特定し、前記代表値のセットと前記モデルパラメータの最適値セットとを対応付けて対応テーブルに登録する手段と、
前記対応テーブルにおける前記モデルパラメータの各々について、前記デバイス寸法を入力として、当該モデルパラメータの最適値を近似するためのマップ関数の係数を、前記対応テーブルに格納されている前記代表値のセットを用いて所定の近似アルゴリズムに従って算出し、マップデータテーブルに格納する手段と、
を有し、
前記最適化データ生成手段が、
前記デバイス寸法代表値格納部に格納されている各前記代表値のセットにつき、前記電気特性の実測値を格納する実測値データ格納部に格納されている前記実測値と、前記所定のモデル式及び前記モデルパラメータの値の特定のセットによる前記電気特性の計算値との差を前記端子電圧の所定の値毎に算出し、さらに当該差の2乗平均を算出することによって各前記代表値のセットについての前記各点誤差を算出する手段と、
各前記代表値のセットについての前記各点誤差を平均することによって、前記最適化誤差を算出する手段と、
を有する、モデルパラメータ抽出装置。