パラメータ抽出方法およびパラメータ抽出プログラム
【課題】複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出方法を提供する。
【解決手段】パラメータ抽出方法は、誤差ベクトルと、一次勾配行列と、対角二次勾配行列を求める勾配生成工程と、誤差ベクトルと一次勾配行列に基づいて、パラメータを求めるパラメータ生成工程と、対角二次勾配行列に基づいて、一次勾配行列を補正する勾配補正工程と、パラメータ生成工程で求めたパラメータによるモデルに基づくシミュレーションにより、複数のシミュレーション値を得るシミュレーション工程とを有し、パラメータ生成工程と勾配補正工程とを繰り返す第一ループにより、シミュレーション工程に与えるパラメータを決定し、勾配生成工程と、第一ループと、シミュレーション工程とを繰り返す第二ループにより、シミュレーション値を複数の測定値に収束させることを特徴とする。
【解決手段】パラメータ抽出方法は、誤差ベクトルと、一次勾配行列と、対角二次勾配行列を求める勾配生成工程と、誤差ベクトルと一次勾配行列に基づいて、パラメータを求めるパラメータ生成工程と、対角二次勾配行列に基づいて、一次勾配行列を補正する勾配補正工程と、パラメータ生成工程で求めたパラメータによるモデルに基づくシミュレーションにより、複数のシミュレーション値を得るシミュレーション工程とを有し、パラメータ生成工程と勾配補正工程とを繰り返す第一ループにより、シミュレーション工程に与えるパラメータを決定し、勾配生成工程と、第一ループと、シミュレーション工程とを繰り返す第二ループにより、シミュレーション値を複数の測定値に収束させることを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、複数のパラメータを抽出するパラメータ抽出方法およびパラメータ抽出プログラムに関するものであり、特に、半導体素子のモデルにおけるパラメータを抽出するパラメータ抽出方法およびパラメータ抽出プログラムに関する。
【背景技術】
【0002】
近年、計算機の性能の向上により、複雑なシステムをモデル化しシミュレーションすることが可能になっている。モデル化によって測定値を再現することにより、そのシステムの挙動を定量的に推定することができる。また、モデル化によって、そのシステムの改良の際にシステムを評価し、より適切なシステムを構築することが可能となる。このようなモデル化を行うためには、モデルを特徴づけるパラメータを正確に決定することが必要となってくる。
【0003】
特許文献1には、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、そのモデルを特徴づける複数のパラメータを抽出する方法が開示されている。
【0004】
図1は特許文献1に示される従来のパラメータ抽出方法のフローチャートである。また、図2はこのパラメータ抽出方法でパラメータを抽出する562GHzのInP psedomorphic HEMT(高電子移動トランジスタ)の等価回路モデルである。特許文献1ではHEMTの散乱パラメータの測定値を、この等価回路モデルを用いてシミュレーションで再現している。その際に必要となる等価回路モデルの抵抗値、インダクタンス値、キャパシタンス値などを、このパラメータ抽出方法によって決定する。
【0005】
この方法では、まず、実験によって得られた散乱パラメータで構成される測定値ベクトルS_objを入力する(ステップS1)。次に、インダクタンス値Lgや抵抗値Rgなどで構成されるパラメータベクトルCPの初期値を設定する(ステップS2)。そして、ステップS2で設定したパラメータベクトルCPを用いてシミュレーションを行い、その出力であるシミュレーション値ベクトルSを得る。次に、シミュレーション値ベクトルSから、測定値ベクトルS_objを減算し、誤差ベクトルE1を得る(ステップS3)。その後、誤差ベクトルE1の各要素をパラメータベクトルCPの各要素で微分した勾配行列Δmnを計算する(ステップS4)。さらに、パラメータベクトルCPの更新量である更新量ベクトルCPUに初期値を設定する(ステップS5)。そして、ステップS3で求めた誤差ベクトルE1に、ステップS4で求めた勾配行列Δmnと、ステップS5で設定したパラメータの更新量ベクトルCPUとの積を誤差ベクトルE1に加算し、新たな誤差ベクトルE2を得る。次に、誤差ベクトルE2の転置ベクトルE2'と勾配行列Δmnを掛け合わせ相関を求める。その相関に微小量であるステップゲインεを乗じてパラメータの更新量ベクトルCPUから減算し、新たなパラメータの更新量ベクトルCPUとする(ステップS7)。そして、ステップS6へと戻り、新たなパラメータの更新量ベクトルCPUを用いて、再び誤差ベクトルE2を求め、ステップS7で再び新たなパラメータの更新量ベクトルCPUを求める。ステップS6とステップS7の繰り返しをあらかじめ定められたk回行うことによって、より適切な更新量ベクトルCPUを求める。求めた更新量ベクトルCPUをパラメータベクトルCPに加算し(ステップS9)、新たなパラメータベクトルCPを求め、その変化が微小になるまでステップS3からステップS9を繰り返す。
【0006】
図3はパラメータベクトルCPの変化に対するシミュレーション値ベクトルSの変化を示した図である。ここでは簡単のために、パラメータベクトルCPはCP1とCP2の2値のみをもち、シミュレーション値ベクトルSは1値のみをもつものとする。また、X軸はパラメータベクトルCPの第一値CP1、Y軸はパラメータベクトルCPの第二値CP2、Z軸はパラメータベクトルCPを用いてシミュレーションを行った場合の出力であるシミュレーション値ベクトルSを表す。
【0007】
初期値として与えられたパラメータベクトルCP(CP1、CP2)を用いてシミュレーションを行った場合に、シミュレーション値ベクトルSを得る。また初期値として与えられた更新量ベクトルCPU(CPU1、CPU2)分だけ変化したパラメータベクトルCP(CP1+CPU1,CP2+CPU2)を用いてシミュレーションを行った場合、シミュレーション値ベクトルS*を得るものとする。誤差ベクトルE1はシミュレーション値ベクトルSと測定値ベクトルS_objの差であり、誤差ベクトルE2はシミュレーション値ベクトルS*と測定値ベクトルS_objの差である。誤差ベクトルE2はシミュレーション値ベクトルS*のシミュレーションによって計算されるのではなく、(1)式によって近似で求められる。これがステップS6に対応する。
【0008】
【数1】
【0009】
図4は図3におけるY=CP2での断面図である。また、図5は図3におけるX=CP1での断面図である。更新量ベクトルCPUは初期値であるので、適当な値に変換する必要がある。更新量ベクトルCPUの補正値は(2)式で表される。
【0010】
【数2】
【0011】
つまり、図4のように、誤差ベクトルE2が正でパラメータベクトルCP の第一成分CP1における微分値∂S/∂CP1も正である場合は、更新量CPU1を減少させなければならないので、(2)式に示されるように微分値∂S/∂CP1に誤差ベクトルE2と微小量であるステップゲインεを乗じた値を減算して更新量CPU1を減少させる。
【0012】
また、図5のように、誤差ベクトルE2が正でパラメータベクトルCP の第二成分CP2における微分値∂S/∂CP2が負である場合は、更新量CPU2を増加させなければならないので、(2)式に示されるように微分値∂S/∂CP2に誤差ベクトルE2と微小量であるステップゲインεを乗じた値を減算して更新量CPU2を増加させる。これがステップS7に対応する。
【0013】
ステップS6とステップS7を繰り返すことによって、シミュレーションに用いるパラメータベクトルCPを適切な値に近づけることが可能である。このようにして、パラメータベクトルCPを補正しつつシミュレーションを行い、測定値との誤差が最小になるまで繰り返すことで、複数のパラメータを効率よく決定することができる。
【特許文献1】特開2004−186258号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献1に記載の技術では、一度求めた一次の勾配行列Δを、パラメータベクトルの補正後も使用しているため、パラメータベクトルの補正によって、使用する一次の勾配行列Δが必要な微分値とずれを有する。このため、正確な近似を行うことができない。この不正確な近似は、複数のパラメータを決定する効率を下げている。
【0015】
また、パラメータベクトルの増減の範囲である探索範囲が、一度設定された後に更新が行われず、不必要な範囲も探索することにより、パラメータを決定する効率を下げている。
【0016】
そこで、本発明の目的は、より効率的なパラメータの決定方法を提供することにある。
【課題を解決するための手段】
【0017】
上記課題を解決するため、本発明の第一の側面によれば、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出方法であって、前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とを有し、前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とする。
【0018】
上記発明の第一の側面において、好ましい実施例では、前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とする。
【0019】
上記発明の第一の側面において、さらに好ましい実施例では、前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とする。
【0020】
上記発明の第一の側面において、さらに好ましい実施例では、前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とする。
【0021】
また、本発明の第二の側面によれば、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出プログラムであって、前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とをコンピュータに実行させ、前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とする。
【0022】
上記発明の第二の側面において、好ましい実施例では、前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とする。
【0023】
上記発明の第二の側面において、さらに好ましい実施例では、前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とする。
【0024】
上記発明の第二の側面において、さらに好ましい実施例では、前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とする。
【発明の効果】
【0025】
本発明のパラメータ抽出方法は、一次の勾配行列Δを、パラメータベクトルの補正後に対角二次勾配Δ2を用いて更新することにより、近似をより正確に行い、複数のパラメータを決定する効率を高めることができる。また、パラメータベクトルの増減の範囲である探索範囲を更新し、不必要な範囲を探索をなくし、パラメータを決定する効率を高めることができる。
【発明を実施するための最良の形態】
【0026】
以下、図面に従って本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0027】
図6はこのパラメータ抽出方法でパラメータを抽出するHEMT(高電子移動トランジスタ)の等価回路モデルである。HEMTの散乱パラメータの測定値を、この等価回路モデルを用いてシミュレーションで再現する。その際に必要となる等価回路モデルの抵抗値、インダクタンス値、キャパシタンス値などを、このパラメータ抽出方法によって決定する。
【0028】
まず、図6の等価回路モデルの構成について説明する。この等価回路モデルは、6個のコンデンサC1、C2、C3、C4、C5、C6と、5個の抵抗R7、R8、R9、R10、R11と、6個のインダクタL12、L13、L14、L15、L16、L17と、電流源I18を備えている。インダクタL17に接続されている端子g03は接地されている。
【0029】
並列に接続されたコンデンサC3、C4、抵抗R9、R10、電流源I18は、抵抗R11、インダクタL16、L17を介して端子g03に接続されている。また、抵抗R7、インダクタL13、L12を介して端子g01に、抵抗R8、インダクタL14、L15を介して端子g02にそれぞれ接続されている。そして、インダクタL12とL13の間のノードと、インダクタL14とL15の間のノードは、コンデンサC1を介して接続されている。また、インダクタL16とL17の間のノードと、インダクタL14とL15の間のノードは、コンデンサC5を介して接続されている。さらに、インダクタL12とL13の間のノードと、インダクタL16とL17の間のノードは、コンデンサC2を介して接続されている。また、抵抗R9と電流源I18はコンデンサC6を介して接続されている。
【0030】
本実施形態では、この等価回路モデルを用いてHEMTの散乱パラメータをシミュレーションによって得る際に、必要な6個のコンデンサのキャパシタンス値、5個の抵抗の抵抗値、6個のインダクタのインダクタンス値、電流源I18のコンダクタンス値を決定する。散乱パラメータは、高周波電源に接続したときの電力反射係数と透過係数で表現される。散乱パラメータSP11は端子g01から入力し、端子g01から出力される反射係数であり、散乱パラメータSP22は端子g02から入力し、端子g02から出力される反射係数である。また、散乱パラメータSP12は、端子g01から入力し、端子g02から出力される透過係数であり、散乱パラメータSP22は、端子g02から入力し、端子g01から出力される透過係数である。散乱パラメータは、様々な周波数の電源に対して測定される。
【0031】
図7は、本発明の実施形態におけるパラメータ抽出方法のフローチャートである。このパラメータ抽出方法は従来技術において示した技術と類似しているが、従来技術との相違は主に次の二点である。第一に、ステップT3においてパラメータベクトルの探索範囲である探索範囲ベクトルWが設定され、ステップT7〜T11の第一ループではこの範囲内でパラメータベクトルが変動する。第二に、ステップT5で対角二次勾配Δmn2を求め、ステップT11でこれを用いて勾配行列Δmnを補正する。
【0032】
以下、本実施形態の各ステップについて解説する。このパラメータ抽出方法では、まず、インダクタンス値L14や抵抗値R9などで構成されるパラメータベクトルCPの初期値を設定する(ステップT1)。次に、実験によって得られた散乱パラメータで構成される測定値ベクトルS_objを入力する(ステップT2)。そして、仮のパラメータベクトルCP*の増減の範囲である探索範囲ベクトルWを設定する(ステップT3)。仮のパラメータベクトルCP*は、ステップT7〜T11の第一ループ内でパラメータベクトルCPの代わりに使用されるベクトルである。また、探索範囲ベクトルWは、パラメータベクトルの各要素の変動の範囲を示したものであり、ステップT5における微分計算にも使われる量である。そして、パラメータベクトルCP*の更新量である更新量ベクトルCPUに初期値を設定する(ステップT4)。ここで更新量ベクトルCPUは、パラメータベクトルCPからの移動を表すベクトルである。次に、ステップT1で設定したパラメータベクトルCPを用いてシミュレーションを行い、その出力であるシミュレーション値ベクトルSを得て、そのシュレーション値ベクトルSから、ステップT2で得た測定値ベクトルS_objを減算し、誤差ベクトルE1を得る(ステップT5)。さらに、ステップT5では、誤差ベクトルE1の各要素をパラメータベクトルCPの各要素で微分した勾配行列Δmnと、誤差ベクトルE1の各要素をパラメータベクトルCPの各要素で2階微分した対角2次勾配Δmn2を計算する。この対角2次勾配Δmn2は、ステップT11において勾配行列Δmnの補正に用いられる。次に、仮のパラメータベクトルCP*を設定する(ステップT6)。
【0033】
そして、ステップT5で求めた誤差ベクトルE1に、ステップT5で求めた勾配行列Δmnと、ステップT4で設定したパラメータの更新量ベクトルCPUとの積を誤差ベクトルE1に加算し、新たな誤差ベクトルE2を得る(ステップT7)。この誤差ベクトルE2は、更新量ベクトルCPUに従って移動した場合に勾配から推測される誤差ベクトルである。次に、誤差ベクトルE2の転置ベクトルE2'と勾配行列Δmnを掛け合わせ相関を求める。ここで相関とは、2つの変数が連動した変動をする場合の連動性の強さを表し、1ならば正比例、−1ならば比例の逆の関係となる。その相関に微小量であるステップゲインεを乗じてパラメータの更新量ベクトルCPUから減算し、新たなパラメータの更新量ベクトルCPUとする(ステップT8)。そして、仮のパラメータベクトルCP*に更新量ベクトルCPUを加算し(ステップT9)、仮のパラメータベクトルCP*の更新を十分な回数行ったかどうかをチェックする(ステップT10)。仮のパラメータベクトルCP*を十分な回数更新していれば、更新された仮のパラメータベクトルCP*をパラメータベクトルCPに設定する(ステップT12)。また、仮のパラメータベクトルCP*を十分な回数更新していなければ、更新されたパラメータベクトルCP*における勾配行列Δmnを対角2次勾配Δmn2を用いて更新する(ステップT11)。勾配行列Δmnは、対角2次勾配Δmn2と更新量ベクトルCPUの積を加算することで求められる。以後、仮のパラメータベクトルCP*を十分な回数更新するまで、ステップT7からステップT11までの第一ループを繰り返す。
【0034】
ステップT12で得られたパラメータベクトルCPは、更新前のパラメータベクトルCPと比較され、変化が微小であると判断されれば終了する。変化が微小でないと判断されれば、変化が微小になるまで、更新されたパラメータベクトルCPを用いてステップT3からステップT13までの第二ループを繰り返す。
【0035】
以後、各ステップの詳細な説明を行う。ステップT1、T2、T4は、従来技術として紹介したパラメータ抽出方法と同様である。また、ステップT3に関しては、説明を一旦省略する。
【0036】
図8は、誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2の計算方法を示す図である。ここで横軸は、パラメータベクトルCPのX番目の成分CPXであり、縦軸はシミュレーション値ベクトルSのY番目の成分SYである。また、ここでは成分CPX以外のパラメータベクトルCPの成分は固定されているものとする。シミュレーション値SY0は、成分CPXと固定されたCPX以外のパラメータベクトルCPの成分とを用いてシミュレーションを行った場合の、シミュレーション値ベクトルのY番目の成分である。また、成分WXは探索範囲ベクトルWのX番目の成分であり、選択されている成分CPXに成分WXを加算した値を用いてシミュレーションを行った場合のシミュレーション値ベクトルのY番目の成分がSY+であり、選択されている成分CPXから成分WXを減算した値を用いてシミュレーションを行った場合のシミュレーション値ベクトルのY番目の成分がSY−である。これらの値を用いて誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2は計算される。
【0037】
ここでステップT5における計算の詳細を説明する。まず、誤差ベクトルE1のY番目の成分E1Yは、成分SY0から測定値ベクトルS_objのY番目の成分である成分SY_objを減算して得られる。さらに、勾配行列Δmnの成分ΔXYは、(SY+ − SY-)/2WXで近似される。勾配行列Δmnは誤差ベクトルE1の各成分をパラメータベクトルCPの各成分で微分したものであるが、測定値ベクトルS_objは固定されているので、シミュレーション値ベクトルSの各成分をパラメータベクトルCP の各成分で微分したものと同等である。勾配行列Δmnを行列表示すると式(3)のようになる。
【0038】
【数3】
【0039】
また、対角2次勾配Δmn2の成分ΔXYは、{(SY+ − SY0)/WX −(SY0 − SY-)/WX}/WXで近似される。これを行列表示すると式(4)のようになる。
【0040】
【数4】
【0041】
誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2の計算の後に、本実施の形態では、仮のパラメータベクトルCP*をステップT6において設定する。これは、ステップT11において、勾配行列Δmnを更新するために使用されるものである。
【0042】
また、パラメータベクトルCPの更新量CPUは、従来技術と同様に計算される。まずステップT7において、誤差ベクトルE1に勾配行列Δmnと更新量ベクトルCPUとの積を誤差ベクトルE1に加算し、新たな誤差ベクトルE2を得る。この誤差ベクトルE2は、更新量ベクトルCPUに従って移動した場合に勾配から推測される誤差ベクトルである。次にステップT8において、誤差ベクトルE2の転置ベクトルE2'と勾配行列Δmnを掛け合わせ相関を求める。その相関に微小量であるステップゲインεを乗じてパラメータの更新量ベクトルCPUから減算し、新たなパラメータの更新量ベクトルCPUとする。そしてステップT9において、更新量ベクトルCPUを加算して、仮のパラメータベクトルCP*は更新される。
【0043】
ここで、本発明の実施形態では、仮のパラメータベクトルCP*の更新の後、ステップ11において勾配行列Δmnを補正する。勾配行列Δmnは、パラメータベクトルCPにおける値から、新たに求められたパラメータベクトルCP*における値へと、式(5)を用いて補正される。
【0044】
【数5】
【0045】
勾配行列Δmnの変動率である対角2次勾配Δmn2に、変動幅である更新量ベクトルCPUを乗算したものを加算することにより勾配行列Δmnを補正する。このように、仮のパラメータベクトルCP*の補正によって生じる勾配行列Δmnのずれを補正し、これによって、より正確な近似を行い、パラメータベクトルCPを決定する効率を上げることができる。
【0046】
また、本発明の実施形態では、パラメータベクトルCPの更新後、その変化が微小ではないと判断された後に、ステップT3において探索範囲ベクトルWの更新を行う。探索範囲ベクトルWの各成分は、更新量ベクトルCPUの各成分の絶対値の最大値であるとともに、勾配行列Δmn、対角2次勾配Δmn2の計算の際にも使用される。探索範囲ベクトルWの各成分は、パラメータベクトルCPの更新による変化が小さい場合は、パラメータベクトルCPをより正確に決定するために小さな値が設定される。逆に、パラメータベクトルCPの更新による変化が大きい場合は、パラメータベクトルCPをより広い範囲で変動させるために、探索範囲ベクトルWの各成分に大きな値が設定される。こうすることにより、パラメータベクトルCPの変動の範囲をより広くとり、効率的にその範囲を狭めることが可能となる。
【0047】
図9は、本発明のパラメータ抽出方法に用いた初期値と、それに対応する抽出結果を示す表である。この表に示すとおり、大きく異なった初期値を用いた場合においても、同様の結果を得ることができる。また、この表からわかるとおり、パラメータベクトルの各要素は広い範囲で値をとることが可能であり、パラメータベクトルのかわりにパラメータベクトルの対数値を用い、より広い範囲を探索することも可能である。
【0048】
図10は、大きな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。また、図11は、小さな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。横軸は第二ループの繰り返し回数であり、縦軸は各パラメータの変化率の対数をとったものである。大きな初期値をとった場合に比べ、小さな初期値をとった場合の方が、各パラメータの収束は早いが、いずれの場合も同様に収束していることがわかる。
【0049】
図12は、各パラメータの変化の様子を示したグラフである。横軸は第二ループの繰り返し回数であり、縦軸は各パラメータの値を収束後の値で除算したものの対数値である。図10や図11においては500回までの繰り返しによって大まかに収束値が決定されたようにみえるが、さらに繰り返すことにより、詳細にパラメータ値を決定できることがわかる。
【0050】
図13は、HEMTの散乱パラメータの測定値とシミュレーション値を示した図である。本発明のパラメータ抽出方法によって抽出されたパラメータを用いてシミュレーションを行い、測定値を忠実に再現できることがわかる
本実施形態では、図6に示す等価回路モデルを用いてHEMTの散乱パラメータをシミュレーションによって得る際の、必要な6個のコンデンサのキャパシタンス値、5個の抵抗の抵抗値、6個のインダクタのインダクタンス値、電流源I18のコンダクタンス値を決定する場合を例に説明した。しかし、本発明はこれに限定されず、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、モデルに含まれる複数のパラメータを抽出する際に一般に使用することが可能である。
【0051】
以上の実施の形態をまとめると以下の付記の通りである。
【0052】
(付記1)
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出方法であって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とを有し、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出方法。
【0053】
(付記2)
付記1において、
前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とするパラメータ抽出方法。
【0054】
(付記3)
付記1において、
前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、
前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とするパラメータ抽出方法。
【0055】
(付記4)
付記3において、
前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とするパラメータ抽出方法。
【0056】
(付記5)
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出プログラムであって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とをコンピュータに実行させ、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出プログラム。
【0057】
(付記6)
付記5において、
前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とするパラメータ抽出プログラム。
【0058】
(付記7)
付記5において、
前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、
前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とするパラメータ抽出プログラム。
【0059】
(付記8)
付記7において、
前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とするパラメータ抽出方法。
【産業上の利用可能性】
【0060】
本発明によると、計算機を用いた技術解析の分野において、複数の測定値を再現するシミュレーションに使用されるモデル、もしくは、そのシミュレータに修正を加えることなく、効率的にモデルに含まれる複数のパラメータを抽出することができる。本発明は、シミュレーションを行う部分とパラメータを抽出する部分が分離されており、大規模化、高度化、複雑化されたモデルに幅広く適用することが可能である。
【図面の簡単な説明】
【0061】
【図1】特許文献1に示される従来のパラメータ抽出方法のフローチャートである。
【図2】従来のパラメータ抽出方法でパラメータを抽出する562GHzのInP psedomorphic HEMT(高電子移動トランジスタ)の等価回路モデルである。
【図3】パラメータベクトルCPの変化に対するシミュレーション値ベクトルSの変化を示した図である。
【図4】図3におけるY=CP2での断面図である。
【図5】図3におけるX=CP1での断面図である。
【図6】本実施形態のパラメータ抽出方法でパラメータを抽出するHEMT(高電子移動トランジスタ)の等価回路モデルである。
【図7】本発明の実施形態におけるパラメータ抽出方法のフローチャートである
【図8】誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2の計算方法を示す図である。
【図9】本発明のパラメータ抽出方法に用いた初期値と、それに対応する抽出結果を示す表である。
【図10】大きな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。
【図11】小さな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。
【図12】各パラメータの変化の様子を示したグラフである。
【図13】HEMTの散乱パラメータの測定値とシミュレーション値を示した図である。
【符号の説明】
【0062】
E1、E2 誤差ベクトル
CP パラメータベクトル
CP* 仮のパラメータベクトル
CPU 更新量ベクトル
S シミュレーション値ベクトル
S_obj 測定値ベクトル
Δmn 勾配行列
Δmn2 対角2次勾配
【技術分野】
【0001】
本発明は、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、複数のパラメータを抽出するパラメータ抽出方法およびパラメータ抽出プログラムに関するものであり、特に、半導体素子のモデルにおけるパラメータを抽出するパラメータ抽出方法およびパラメータ抽出プログラムに関する。
【背景技術】
【0002】
近年、計算機の性能の向上により、複雑なシステムをモデル化しシミュレーションすることが可能になっている。モデル化によって測定値を再現することにより、そのシステムの挙動を定量的に推定することができる。また、モデル化によって、そのシステムの改良の際にシステムを評価し、より適切なシステムを構築することが可能となる。このようなモデル化を行うためには、モデルを特徴づけるパラメータを正確に決定することが必要となってくる。
【0003】
特許文献1には、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、そのモデルを特徴づける複数のパラメータを抽出する方法が開示されている。
【0004】
図1は特許文献1に示される従来のパラメータ抽出方法のフローチャートである。また、図2はこのパラメータ抽出方法でパラメータを抽出する562GHzのInP psedomorphic HEMT(高電子移動トランジスタ)の等価回路モデルである。特許文献1ではHEMTの散乱パラメータの測定値を、この等価回路モデルを用いてシミュレーションで再現している。その際に必要となる等価回路モデルの抵抗値、インダクタンス値、キャパシタンス値などを、このパラメータ抽出方法によって決定する。
【0005】
この方法では、まず、実験によって得られた散乱パラメータで構成される測定値ベクトルS_objを入力する(ステップS1)。次に、インダクタンス値Lgや抵抗値Rgなどで構成されるパラメータベクトルCPの初期値を設定する(ステップS2)。そして、ステップS2で設定したパラメータベクトルCPを用いてシミュレーションを行い、その出力であるシミュレーション値ベクトルSを得る。次に、シミュレーション値ベクトルSから、測定値ベクトルS_objを減算し、誤差ベクトルE1を得る(ステップS3)。その後、誤差ベクトルE1の各要素をパラメータベクトルCPの各要素で微分した勾配行列Δmnを計算する(ステップS4)。さらに、パラメータベクトルCPの更新量である更新量ベクトルCPUに初期値を設定する(ステップS5)。そして、ステップS3で求めた誤差ベクトルE1に、ステップS4で求めた勾配行列Δmnと、ステップS5で設定したパラメータの更新量ベクトルCPUとの積を誤差ベクトルE1に加算し、新たな誤差ベクトルE2を得る。次に、誤差ベクトルE2の転置ベクトルE2'と勾配行列Δmnを掛け合わせ相関を求める。その相関に微小量であるステップゲインεを乗じてパラメータの更新量ベクトルCPUから減算し、新たなパラメータの更新量ベクトルCPUとする(ステップS7)。そして、ステップS6へと戻り、新たなパラメータの更新量ベクトルCPUを用いて、再び誤差ベクトルE2を求め、ステップS7で再び新たなパラメータの更新量ベクトルCPUを求める。ステップS6とステップS7の繰り返しをあらかじめ定められたk回行うことによって、より適切な更新量ベクトルCPUを求める。求めた更新量ベクトルCPUをパラメータベクトルCPに加算し(ステップS9)、新たなパラメータベクトルCPを求め、その変化が微小になるまでステップS3からステップS9を繰り返す。
【0006】
図3はパラメータベクトルCPの変化に対するシミュレーション値ベクトルSの変化を示した図である。ここでは簡単のために、パラメータベクトルCPはCP1とCP2の2値のみをもち、シミュレーション値ベクトルSは1値のみをもつものとする。また、X軸はパラメータベクトルCPの第一値CP1、Y軸はパラメータベクトルCPの第二値CP2、Z軸はパラメータベクトルCPを用いてシミュレーションを行った場合の出力であるシミュレーション値ベクトルSを表す。
【0007】
初期値として与えられたパラメータベクトルCP(CP1、CP2)を用いてシミュレーションを行った場合に、シミュレーション値ベクトルSを得る。また初期値として与えられた更新量ベクトルCPU(CPU1、CPU2)分だけ変化したパラメータベクトルCP(CP1+CPU1,CP2+CPU2)を用いてシミュレーションを行った場合、シミュレーション値ベクトルS*を得るものとする。誤差ベクトルE1はシミュレーション値ベクトルSと測定値ベクトルS_objの差であり、誤差ベクトルE2はシミュレーション値ベクトルS*と測定値ベクトルS_objの差である。誤差ベクトルE2はシミュレーション値ベクトルS*のシミュレーションによって計算されるのではなく、(1)式によって近似で求められる。これがステップS6に対応する。
【0008】
【数1】
【0009】
図4は図3におけるY=CP2での断面図である。また、図5は図3におけるX=CP1での断面図である。更新量ベクトルCPUは初期値であるので、適当な値に変換する必要がある。更新量ベクトルCPUの補正値は(2)式で表される。
【0010】
【数2】
【0011】
つまり、図4のように、誤差ベクトルE2が正でパラメータベクトルCP の第一成分CP1における微分値∂S/∂CP1も正である場合は、更新量CPU1を減少させなければならないので、(2)式に示されるように微分値∂S/∂CP1に誤差ベクトルE2と微小量であるステップゲインεを乗じた値を減算して更新量CPU1を減少させる。
【0012】
また、図5のように、誤差ベクトルE2が正でパラメータベクトルCP の第二成分CP2における微分値∂S/∂CP2が負である場合は、更新量CPU2を増加させなければならないので、(2)式に示されるように微分値∂S/∂CP2に誤差ベクトルE2と微小量であるステップゲインεを乗じた値を減算して更新量CPU2を増加させる。これがステップS7に対応する。
【0013】
ステップS6とステップS7を繰り返すことによって、シミュレーションに用いるパラメータベクトルCPを適切な値に近づけることが可能である。このようにして、パラメータベクトルCPを補正しつつシミュレーションを行い、測定値との誤差が最小になるまで繰り返すことで、複数のパラメータを効率よく決定することができる。
【特許文献1】特開2004−186258号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献1に記載の技術では、一度求めた一次の勾配行列Δを、パラメータベクトルの補正後も使用しているため、パラメータベクトルの補正によって、使用する一次の勾配行列Δが必要な微分値とずれを有する。このため、正確な近似を行うことができない。この不正確な近似は、複数のパラメータを決定する効率を下げている。
【0015】
また、パラメータベクトルの増減の範囲である探索範囲が、一度設定された後に更新が行われず、不必要な範囲も探索することにより、パラメータを決定する効率を下げている。
【0016】
そこで、本発明の目的は、より効率的なパラメータの決定方法を提供することにある。
【課題を解決するための手段】
【0017】
上記課題を解決するため、本発明の第一の側面によれば、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出方法であって、前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とを有し、前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とする。
【0018】
上記発明の第一の側面において、好ましい実施例では、前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とする。
【0019】
上記発明の第一の側面において、さらに好ましい実施例では、前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とする。
【0020】
上記発明の第一の側面において、さらに好ましい実施例では、前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とする。
【0021】
また、本発明の第二の側面によれば、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出プログラムであって、前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とをコンピュータに実行させ、前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とする。
【0022】
上記発明の第二の側面において、好ましい実施例では、前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とする。
【0023】
上記発明の第二の側面において、さらに好ましい実施例では、前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とする。
【0024】
上記発明の第二の側面において、さらに好ましい実施例では、前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とする。
【発明の効果】
【0025】
本発明のパラメータ抽出方法は、一次の勾配行列Δを、パラメータベクトルの補正後に対角二次勾配Δ2を用いて更新することにより、近似をより正確に行い、複数のパラメータを決定する効率を高めることができる。また、パラメータベクトルの増減の範囲である探索範囲を更新し、不必要な範囲を探索をなくし、パラメータを決定する効率を高めることができる。
【発明を実施するための最良の形態】
【0026】
以下、図面に従って本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0027】
図6はこのパラメータ抽出方法でパラメータを抽出するHEMT(高電子移動トランジスタ)の等価回路モデルである。HEMTの散乱パラメータの測定値を、この等価回路モデルを用いてシミュレーションで再現する。その際に必要となる等価回路モデルの抵抗値、インダクタンス値、キャパシタンス値などを、このパラメータ抽出方法によって決定する。
【0028】
まず、図6の等価回路モデルの構成について説明する。この等価回路モデルは、6個のコンデンサC1、C2、C3、C4、C5、C6と、5個の抵抗R7、R8、R9、R10、R11と、6個のインダクタL12、L13、L14、L15、L16、L17と、電流源I18を備えている。インダクタL17に接続されている端子g03は接地されている。
【0029】
並列に接続されたコンデンサC3、C4、抵抗R9、R10、電流源I18は、抵抗R11、インダクタL16、L17を介して端子g03に接続されている。また、抵抗R7、インダクタL13、L12を介して端子g01に、抵抗R8、インダクタL14、L15を介して端子g02にそれぞれ接続されている。そして、インダクタL12とL13の間のノードと、インダクタL14とL15の間のノードは、コンデンサC1を介して接続されている。また、インダクタL16とL17の間のノードと、インダクタL14とL15の間のノードは、コンデンサC5を介して接続されている。さらに、インダクタL12とL13の間のノードと、インダクタL16とL17の間のノードは、コンデンサC2を介して接続されている。また、抵抗R9と電流源I18はコンデンサC6を介して接続されている。
【0030】
本実施形態では、この等価回路モデルを用いてHEMTの散乱パラメータをシミュレーションによって得る際に、必要な6個のコンデンサのキャパシタンス値、5個の抵抗の抵抗値、6個のインダクタのインダクタンス値、電流源I18のコンダクタンス値を決定する。散乱パラメータは、高周波電源に接続したときの電力反射係数と透過係数で表現される。散乱パラメータSP11は端子g01から入力し、端子g01から出力される反射係数であり、散乱パラメータSP22は端子g02から入力し、端子g02から出力される反射係数である。また、散乱パラメータSP12は、端子g01から入力し、端子g02から出力される透過係数であり、散乱パラメータSP22は、端子g02から入力し、端子g01から出力される透過係数である。散乱パラメータは、様々な周波数の電源に対して測定される。
【0031】
図7は、本発明の実施形態におけるパラメータ抽出方法のフローチャートである。このパラメータ抽出方法は従来技術において示した技術と類似しているが、従来技術との相違は主に次の二点である。第一に、ステップT3においてパラメータベクトルの探索範囲である探索範囲ベクトルWが設定され、ステップT7〜T11の第一ループではこの範囲内でパラメータベクトルが変動する。第二に、ステップT5で対角二次勾配Δmn2を求め、ステップT11でこれを用いて勾配行列Δmnを補正する。
【0032】
以下、本実施形態の各ステップについて解説する。このパラメータ抽出方法では、まず、インダクタンス値L14や抵抗値R9などで構成されるパラメータベクトルCPの初期値を設定する(ステップT1)。次に、実験によって得られた散乱パラメータで構成される測定値ベクトルS_objを入力する(ステップT2)。そして、仮のパラメータベクトルCP*の増減の範囲である探索範囲ベクトルWを設定する(ステップT3)。仮のパラメータベクトルCP*は、ステップT7〜T11の第一ループ内でパラメータベクトルCPの代わりに使用されるベクトルである。また、探索範囲ベクトルWは、パラメータベクトルの各要素の変動の範囲を示したものであり、ステップT5における微分計算にも使われる量である。そして、パラメータベクトルCP*の更新量である更新量ベクトルCPUに初期値を設定する(ステップT4)。ここで更新量ベクトルCPUは、パラメータベクトルCPからの移動を表すベクトルである。次に、ステップT1で設定したパラメータベクトルCPを用いてシミュレーションを行い、その出力であるシミュレーション値ベクトルSを得て、そのシュレーション値ベクトルSから、ステップT2で得た測定値ベクトルS_objを減算し、誤差ベクトルE1を得る(ステップT5)。さらに、ステップT5では、誤差ベクトルE1の各要素をパラメータベクトルCPの各要素で微分した勾配行列Δmnと、誤差ベクトルE1の各要素をパラメータベクトルCPの各要素で2階微分した対角2次勾配Δmn2を計算する。この対角2次勾配Δmn2は、ステップT11において勾配行列Δmnの補正に用いられる。次に、仮のパラメータベクトルCP*を設定する(ステップT6)。
【0033】
そして、ステップT5で求めた誤差ベクトルE1に、ステップT5で求めた勾配行列Δmnと、ステップT4で設定したパラメータの更新量ベクトルCPUとの積を誤差ベクトルE1に加算し、新たな誤差ベクトルE2を得る(ステップT7)。この誤差ベクトルE2は、更新量ベクトルCPUに従って移動した場合に勾配から推測される誤差ベクトルである。次に、誤差ベクトルE2の転置ベクトルE2'と勾配行列Δmnを掛け合わせ相関を求める。ここで相関とは、2つの変数が連動した変動をする場合の連動性の強さを表し、1ならば正比例、−1ならば比例の逆の関係となる。その相関に微小量であるステップゲインεを乗じてパラメータの更新量ベクトルCPUから減算し、新たなパラメータの更新量ベクトルCPUとする(ステップT8)。そして、仮のパラメータベクトルCP*に更新量ベクトルCPUを加算し(ステップT9)、仮のパラメータベクトルCP*の更新を十分な回数行ったかどうかをチェックする(ステップT10)。仮のパラメータベクトルCP*を十分な回数更新していれば、更新された仮のパラメータベクトルCP*をパラメータベクトルCPに設定する(ステップT12)。また、仮のパラメータベクトルCP*を十分な回数更新していなければ、更新されたパラメータベクトルCP*における勾配行列Δmnを対角2次勾配Δmn2を用いて更新する(ステップT11)。勾配行列Δmnは、対角2次勾配Δmn2と更新量ベクトルCPUの積を加算することで求められる。以後、仮のパラメータベクトルCP*を十分な回数更新するまで、ステップT7からステップT11までの第一ループを繰り返す。
【0034】
ステップT12で得られたパラメータベクトルCPは、更新前のパラメータベクトルCPと比較され、変化が微小であると判断されれば終了する。変化が微小でないと判断されれば、変化が微小になるまで、更新されたパラメータベクトルCPを用いてステップT3からステップT13までの第二ループを繰り返す。
【0035】
以後、各ステップの詳細な説明を行う。ステップT1、T2、T4は、従来技術として紹介したパラメータ抽出方法と同様である。また、ステップT3に関しては、説明を一旦省略する。
【0036】
図8は、誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2の計算方法を示す図である。ここで横軸は、パラメータベクトルCPのX番目の成分CPXであり、縦軸はシミュレーション値ベクトルSのY番目の成分SYである。また、ここでは成分CPX以外のパラメータベクトルCPの成分は固定されているものとする。シミュレーション値SY0は、成分CPXと固定されたCPX以外のパラメータベクトルCPの成分とを用いてシミュレーションを行った場合の、シミュレーション値ベクトルのY番目の成分である。また、成分WXは探索範囲ベクトルWのX番目の成分であり、選択されている成分CPXに成分WXを加算した値を用いてシミュレーションを行った場合のシミュレーション値ベクトルのY番目の成分がSY+であり、選択されている成分CPXから成分WXを減算した値を用いてシミュレーションを行った場合のシミュレーション値ベクトルのY番目の成分がSY−である。これらの値を用いて誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2は計算される。
【0037】
ここでステップT5における計算の詳細を説明する。まず、誤差ベクトルE1のY番目の成分E1Yは、成分SY0から測定値ベクトルS_objのY番目の成分である成分SY_objを減算して得られる。さらに、勾配行列Δmnの成分ΔXYは、(SY+ − SY-)/2WXで近似される。勾配行列Δmnは誤差ベクトルE1の各成分をパラメータベクトルCPの各成分で微分したものであるが、測定値ベクトルS_objは固定されているので、シミュレーション値ベクトルSの各成分をパラメータベクトルCP の各成分で微分したものと同等である。勾配行列Δmnを行列表示すると式(3)のようになる。
【0038】
【数3】
【0039】
また、対角2次勾配Δmn2の成分ΔXYは、{(SY+ − SY0)/WX −(SY0 − SY-)/WX}/WXで近似される。これを行列表示すると式(4)のようになる。
【0040】
【数4】
【0041】
誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2の計算の後に、本実施の形態では、仮のパラメータベクトルCP*をステップT6において設定する。これは、ステップT11において、勾配行列Δmnを更新するために使用されるものである。
【0042】
また、パラメータベクトルCPの更新量CPUは、従来技術と同様に計算される。まずステップT7において、誤差ベクトルE1に勾配行列Δmnと更新量ベクトルCPUとの積を誤差ベクトルE1に加算し、新たな誤差ベクトルE2を得る。この誤差ベクトルE2は、更新量ベクトルCPUに従って移動した場合に勾配から推測される誤差ベクトルである。次にステップT8において、誤差ベクトルE2の転置ベクトルE2'と勾配行列Δmnを掛け合わせ相関を求める。その相関に微小量であるステップゲインεを乗じてパラメータの更新量ベクトルCPUから減算し、新たなパラメータの更新量ベクトルCPUとする。そしてステップT9において、更新量ベクトルCPUを加算して、仮のパラメータベクトルCP*は更新される。
【0043】
ここで、本発明の実施形態では、仮のパラメータベクトルCP*の更新の後、ステップ11において勾配行列Δmnを補正する。勾配行列Δmnは、パラメータベクトルCPにおける値から、新たに求められたパラメータベクトルCP*における値へと、式(5)を用いて補正される。
【0044】
【数5】
【0045】
勾配行列Δmnの変動率である対角2次勾配Δmn2に、変動幅である更新量ベクトルCPUを乗算したものを加算することにより勾配行列Δmnを補正する。このように、仮のパラメータベクトルCP*の補正によって生じる勾配行列Δmnのずれを補正し、これによって、より正確な近似を行い、パラメータベクトルCPを決定する効率を上げることができる。
【0046】
また、本発明の実施形態では、パラメータベクトルCPの更新後、その変化が微小ではないと判断された後に、ステップT3において探索範囲ベクトルWの更新を行う。探索範囲ベクトルWの各成分は、更新量ベクトルCPUの各成分の絶対値の最大値であるとともに、勾配行列Δmn、対角2次勾配Δmn2の計算の際にも使用される。探索範囲ベクトルWの各成分は、パラメータベクトルCPの更新による変化が小さい場合は、パラメータベクトルCPをより正確に決定するために小さな値が設定される。逆に、パラメータベクトルCPの更新による変化が大きい場合は、パラメータベクトルCPをより広い範囲で変動させるために、探索範囲ベクトルWの各成分に大きな値が設定される。こうすることにより、パラメータベクトルCPの変動の範囲をより広くとり、効率的にその範囲を狭めることが可能となる。
【0047】
図9は、本発明のパラメータ抽出方法に用いた初期値と、それに対応する抽出結果を示す表である。この表に示すとおり、大きく異なった初期値を用いた場合においても、同様の結果を得ることができる。また、この表からわかるとおり、パラメータベクトルの各要素は広い範囲で値をとることが可能であり、パラメータベクトルのかわりにパラメータベクトルの対数値を用い、より広い範囲を探索することも可能である。
【0048】
図10は、大きな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。また、図11は、小さな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。横軸は第二ループの繰り返し回数であり、縦軸は各パラメータの変化率の対数をとったものである。大きな初期値をとった場合に比べ、小さな初期値をとった場合の方が、各パラメータの収束は早いが、いずれの場合も同様に収束していることがわかる。
【0049】
図12は、各パラメータの変化の様子を示したグラフである。横軸は第二ループの繰り返し回数であり、縦軸は各パラメータの値を収束後の値で除算したものの対数値である。図10や図11においては500回までの繰り返しによって大まかに収束値が決定されたようにみえるが、さらに繰り返すことにより、詳細にパラメータ値を決定できることがわかる。
【0050】
図13は、HEMTの散乱パラメータの測定値とシミュレーション値を示した図である。本発明のパラメータ抽出方法によって抽出されたパラメータを用いてシミュレーションを行い、測定値を忠実に再現できることがわかる
本実施形態では、図6に示す等価回路モデルを用いてHEMTの散乱パラメータをシミュレーションによって得る際の、必要な6個のコンデンサのキャパシタンス値、5個の抵抗の抵抗値、6個のインダクタのインダクタンス値、電流源I18のコンダクタンス値を決定する場合を例に説明した。しかし、本発明はこれに限定されず、複数の測定値を再現するシミュレーションに使用されるモデルにおいて、モデルに含まれる複数のパラメータを抽出する際に一般に使用することが可能である。
【0051】
以上の実施の形態をまとめると以下の付記の通りである。
【0052】
(付記1)
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出方法であって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とを有し、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出方法。
【0053】
(付記2)
付記1において、
前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とするパラメータ抽出方法。
【0054】
(付記3)
付記1において、
前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、
前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とするパラメータ抽出方法。
【0055】
(付記4)
付記3において、
前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とするパラメータ抽出方法。
【0056】
(付記5)
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出プログラムであって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とをコンピュータに実行させ、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出プログラム。
【0057】
(付記6)
付記5において、
前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とするパラメータ抽出プログラム。
【0058】
(付記7)
付記5において、
前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、
前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とするパラメータ抽出プログラム。
【0059】
(付記8)
付記7において、
前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とするパラメータ抽出方法。
【産業上の利用可能性】
【0060】
本発明によると、計算機を用いた技術解析の分野において、複数の測定値を再現するシミュレーションに使用されるモデル、もしくは、そのシミュレータに修正を加えることなく、効率的にモデルに含まれる複数のパラメータを抽出することができる。本発明は、シミュレーションを行う部分とパラメータを抽出する部分が分離されており、大規模化、高度化、複雑化されたモデルに幅広く適用することが可能である。
【図面の簡単な説明】
【0061】
【図1】特許文献1に示される従来のパラメータ抽出方法のフローチャートである。
【図2】従来のパラメータ抽出方法でパラメータを抽出する562GHzのInP psedomorphic HEMT(高電子移動トランジスタ)の等価回路モデルである。
【図3】パラメータベクトルCPの変化に対するシミュレーション値ベクトルSの変化を示した図である。
【図4】図3におけるY=CP2での断面図である。
【図5】図3におけるX=CP1での断面図である。
【図6】本実施形態のパラメータ抽出方法でパラメータを抽出するHEMT(高電子移動トランジスタ)の等価回路モデルである。
【図7】本発明の実施形態におけるパラメータ抽出方法のフローチャートである
【図8】誤差ベクトルE1、勾配行列Δmn、対角2次勾配Δmn2の計算方法を示す図である。
【図9】本発明のパラメータ抽出方法に用いた初期値と、それに対応する抽出結果を示す表である。
【図10】大きな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。
【図11】小さな初期値を入力した場合における各パラメータの変化の様子を示したグラフである。
【図12】各パラメータの変化の様子を示したグラフである。
【図13】HEMTの散乱パラメータの測定値とシミュレーション値を示した図である。
【符号の説明】
【0062】
E1、E2 誤差ベクトル
CP パラメータベクトル
CP* 仮のパラメータベクトル
CPU 更新量ベクトル
S シミュレーション値ベクトル
S_obj 測定値ベクトル
Δmn 勾配行列
Δmn2 対角2次勾配
【特許請求の範囲】
【請求項1】
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出方法であって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とを有し、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出方法。
【請求項2】
請求項1において、
前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とするパラメータ抽出方法。
【請求項3】
請求項1において、
前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、
前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とするパラメータ抽出方法。
【請求項4】
請求項3において、
前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とするパラメータ抽出方法。
【請求項5】
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出プログラムであって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とをコンピュータに実行させ、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出プログラム。
【請求項1】
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出方法であって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とを有し、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出方法。
【請求項2】
請求項1において、
前記第一ループにおいて、前記複数のパラメータが対数値に変換されることを特徴とするパラメータ抽出方法。
【請求項3】
請求項1において、
前記第一ループにおいて、前記複数のパラメータは増減を繰り返し、
前記第二ループは、前記複数のパラメータの増減の範囲である探索範囲が、前記パラメータ生成工程で求めた前記パラメータに基づいて補正される探索範囲補正工程を含むことを特徴とするパラメータ抽出方法。
【請求項4】
請求項3において、
前記パラメータの探索範囲は、当該パラメータの各増減値と、当該パラメータ以外の前記複数のパラメータの増減値の統計量に基づいて決定されることを特徴とするパラメータ抽出方法。
【請求項5】
複数の測定値を再現するシミュレーションに使用されるモデルにおいて、前記モデルに含まれる複数のパラメータを抽出するパラメータ抽出プログラムであって、
前記シミュレーションによって得られた複数のシミュレーション値と前記複数の測定値との差から誤差ベクトルを求め、前記誤差ベクトルを前記複数のパラメータで微分して一次勾配行列を求め、前記一次勾配行列の各要素を再び前記微分計算と同一の前記パラメータでさらに微分し対角二次勾配行列を求める勾配生成工程と、
前記誤差ベクトルと前記一次勾配行列に基づいて、前記パラメータを求めるパラメータ生成工程と、
前記対角二次勾配行列に基づいて、前記一次勾配行列を補正する勾配補正工程と、
前記パラメータ生成工程で求めた前記パラメータによるモデルに基づく前記シミュレーションにより、前記複数のシミュレーション値を得るシミュレーション工程とをコンピュータに実行させ、
前記パラメータ生成工程と前記勾配補正工程とを繰り返す第一ループにより、前記シミュレーション工程に与える前記パラメータを決定し、
前記勾配生成工程と、前記第一ループと、前記シミュレーション工程とを繰り返す第二ループにより、前記シミュレーション値を前記複数の測定値に収束させることを特徴とするパラメータ抽出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−227847(P2006−227847A)
【公開日】平成18年8月31日(2006.8.31)
【国際特許分類】
【出願番号】特願2005−39926(P2005−39926)
【出願日】平成17年2月17日(2005.2.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成18年8月31日(2006.8.31)
【国際特許分類】
【出願日】平成17年2月17日(2005.2.17)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]