(57)【要約】【課題】遺伝的アルゴリズムをトランジスタの物理モデルのパラメータ調整に適用して効率および精度のよいパラメータの調整を行うこと。【解決手段】パラメータ調整装置は特殊な交叉処理によって新たなパラメータ遺伝子を生成する手段を備える。また、実数であるパラメータに適用するために正規化手段を備える。更に、トランジスタ（MOSFET）特有の特性に高精度で合致するようにパラメータの評価を行う評価手段を備える。このような構成によって、トランジスタの物理モデルのパラメータ調整に遺伝的アルゴリズムを適用することが可能となり、短時間で最適なパラメータ群を決定でき、このパラメータを使用して高精度の回路シミュレーションができる。【選択図】図１
2005038216.tif 000002
【特許請求の範囲】
【請求項１】
半導体素子の物理モデルの複数のパラメータのそれぞれを遺伝子とする染色体を定義し、試作された半導体素子の特性測定データに基づき、遺伝的アルゴリズムを使用してパラメータを最適化するパラメータ調整手段を備えたことを特徴とするパラメータ調整装置。
【請求項２】
前記パラメータ調整手段は、遺伝的アルゴリズムにおける交叉処理において、親染色体群のベクトル空間における重心を求め、前記重心および親染色体群の値から定められるベクトル空間上の超多面体の内部に子染色体群の生成範囲を決定する生成範囲決定手段を備えたことを特徴とする請求項１に記載のパラメータ調整装置。
【請求項３】
前記パラメータ調整手段は、遺伝的アルゴリズムにおける淘汰処理において、線形スケールのデータに基づく第１評価値およびログスケールのデータに基づく第２評価値の双方を求め、第１評価値および第２評価値の合計を当該染色体の評価値とする評価値算出手段を備えたことを特徴とする請求項１に記載のパラメータ調整装置。
【請求項４】
前記パラメータ調整手段は、遺伝的アルゴリズムにおける淘汰処理において、データのスケールを統一する正規化手段を備えたことを特徴とする請求項１に記載のパラメータ調整装置。
【請求項５】
前記パラメータ調整手段は、遺伝的アルゴリズムにおけるパラメータ調整処理が所定の条件を満足した場合には、局所的探索手段に切り替える探索方法切り替え手段を備えたことを特徴とする請求項１に記載のパラメータ調整装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ調整装置に関するものであり、特に、トランジスタなどの半導体素子の物理モデルの多数のパラメータを短時間で調整可能なパラメータ調整装置に関するものである。
【背景技術】
【０００２】
ＬＳＩの製造を行う場合、まず、当該製造ラインでトランジスタ（MOSFET）のゲートのチャネル長Ｌおよびチャネル幅Ｗ等の形状の異なる幾つかのトランジスタ（MOSFET）のサンプルを試作する。次に、この試作品の電気的特性の測定結果から、当該製造ラインにおいて製造されるトランジスタの特性に高精度で合致するように、トランジスタの物理モデルの複数のパラメータを調整する。そして、このトランジスタの物理モデルを使用して、ＳＰＩＣＥなどの周知の回路シミュレータによって当該製造ラインにおいて製造する各種ＬＳＩ（トランジスタ）のシミュレーションが行われていた。
【０００３】
トランジスタの物理モデルは、Ｖｇ（ゲート電圧）、Ｖｄ（ドレイン電圧）、Ｉｄ（ドレイン電流）の関係等をゲートのチャネル長Ｌ、チャネル幅Ｗ等の変数および複数のパラメータを含む数式によって表現したものであり、多数のモデルが提案されている。そして、上記シミュレーションには例えば代表的な周知のＢＳＩＭ（Berkeley Short Channel 1GFET Model）が使用されていた。
【０００４】
ＢＳＩＭは多数の数式からなり、調整すべきパラメータの数は５０個以上ある。なお、トランジスタの物理モデルの詳細および従来のパラメータ調整方法については例えば下記文献に記載されているので、詳細な説明は省略する。
【非特許文献１】鳥谷部達監修「MOSFETのモデリングとBSIM3ユーザーズガイド」平成14年2月28日丸善発行。
【０００５】
また、従来、実験結果などから遺伝的アルゴリズムを用いて複数のパラメータを含む物理モデルのパラメータフィッティング（調整）処理を自動的に行うパラメータ調整装置が提案されている。例えば、本発明の発明者らが先に出願した下記の文献には、遺伝的アルゴリズムを用いて複数のパラメータを含む物理モデルのパラメータ調整処理を自動的に行う一般的なパラメータ調整装置が提案されている。
【特許文献１】特開２００３−１０８９７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記した従来のパラメータ調整方法においては、多数のパラメータを同時に最適化することは出来ないので、一部のパラメータのみをまず最適化し、このパラメータを固定して他の一部のパラメータを最適化するという作業を繰り返すことによってパラメータ全体の調整を行っていた。ところが、この方法では最適化するパラメータの処理順序によっては最適なパラメータに収束しない、あるいは収束させるために多大の時間と労力を要するという問題点があった。
【０００７】
そこで、本発明者は上記した一般的なパラメータ調整処理をトランジスタの物理モデルのパラメータ調整に適用することを検討したが、従来の遺伝的アルゴリズムをそのままトランジスタの物理モデルのパラメータ調整に適用しても効率および精度のよいパラメータの調整ができないという問題点があった。
【課題を解決するための手段】
【０００８】
本発明は、上記した課題を解決することを目的とし、このために、本発明のパラメータ調整装置は特殊な交叉処理によって新たなパラメータ遺伝子を生成する手段を備えたことを主要な特徴とする。また、実数であるパラメータに適用するために正規化手段を備えた点にも特徴がある。更に、トランジスタ（MOSFET）特有の特性に高精度で合致するようにパラメータの評価を行う評価手段にも特徴がある。
【発明の効果】
【０００９】
本発明のパラメータ調整装置は上記のような特徴によって、トランジスタの物理モデルのパラメータ調整に遺伝的アルゴリズムを適用することが可能となり、短時間で最適なパラメータ群を決定できるという効果がある。
【発明を実施するための最良の形態】
【００１０】
本発明のパラメータ調整装置は、後述するフローチャートによって示された処理を実行するプログラムを作成し、このプログラムを実行可能な周知の任意のコンピュータシステムにインストールすることによって実現する。なお、コンピュータシステムのハードウェアについては周知であるので詳細な説明は省略する。以下実施例１について説明する。
【実施例１】
【００１１】
図１は、本発明のパラメータ調整装置を使用してシミュレーションを行う場合の全体の手順を示すフローチャートである。前記したように、ＬＳＩの製造を行う場合、まずＳ５０においては、当該ＬＳＩ製造ラインでゲートのチャネル長Ｌおよびチャネル幅Ｗ等の形状の異なる幾つかのトランジスタ（MOSFET）のサンプルを試作する。
【００１２】
図９は、試作するトランジスタの形状の選択方法を示す説明図である。形状の選択方法は、例えばＬおよびＷの最大値および最小値の間を等間隔で、あるいは最小値に近い方をより細かく区分し、Ｌ−Ｗ平面上で十字形状になるように試作するトランジスタの区分（形状）を選択する。
【００１３】
Ｓ５１においては、試作したトランジスタの電気的特性を測定する。具体的にはＩｄＶｄ特性（Ｖｂ固定）、ＩｄＶｄ特性（Ｖｇ固定）、ＩｄＶｇ特性（Ｖｄ固定）についてそれぞれ複数個のサンプル値（離散データ）を得る測定を固定値を変えて複数回行う。
【００１４】
Ｓ５２においては、当該製造ラインにおいて製造されるトランジスタの特性に高精度で合致するように、本発明のパラメータ調整装置を使用して後述する方法によってトランジスタの物理モデルのパラメータ調整処理を行う。
【００１５】
Ｓ５３においては、パラメータが調整された物理モデルを使用して、ＳＰＩＣＥなどの周知の回路シミュレーションプログラムを使用して当該製造ラインにおいて製造する任意のチャネル長およびチャネル幅のトランジスタ回路の動作シミュレーションを行う。
本発明のパラメータ調整装置を使用することにより、物理モデルの精度の高いパラメータが短時間で得られ、精度の高いシミュレーションを行うことができる。
【００１６】
図２は、遺伝的アルゴリズムを使用したパラメータ調整（フィッティング）処理を示す概略フローチャートである。Ｓ４１においては、一つ以上の離散データ群（測定結果）を用意する。Ｓ４２においては、トランジスタの物理モデル関数の任意のパラメータを遺伝子とする染色体をＮ個生成し、個体集団とする。個体の生成とは染色体中の遺伝子の値を決定し、その染色体の評価値を計算することである。なお、Ｎは２以上の数でなければならない。
ＢＳＩＭには前記したように５０個以上のパラメータがあるが、シミュレーションしたい内容によっては、調整を行わずに代表値に固定しておけばよいか、あるいは無視してよいパラメータもある。従って、調整すべきパラメータの数ｎはシミュレーションする目的によって異なり、５０個以上の場合もあるが、例えば１０個の場合もある。そこで、調整すべきパラメータの数ｎに依存して遺伝的アルゴリズムにおける染色体数Ｎや子の生成数（Child）などのパラメータを変化させるようにした。このことによって、ｎが小さければ処理も速くなる。実施例においては、例えば染色体数Ｎ＝ｎ×１５とする。
また、ＢＳＩＭにおいては、各パラメータについて推奨するパラメータ初期値の範囲が定められているので、各パラメータについて、推奨するパラメータ初期値の範囲内においてランダムに初期値を決定して遺伝子の値とする。
【００１７】
Ｓ４３においてはＳ４２で生成された個体集団より、親個体となる染色体を選ぶ。この処理で選択する親個体の数ｐはＮ個以下である必要がある。そして、選択された親個体から後述する交叉処理により子個体を生成する。Ｓ４４においてはＳ４３で生成された子個体の評価値を計算する（詳細は後述する）。
【００１８】
Ｓ４５においてはＳ４３で選択した親個体と、Ｓ４４で生成した子個体の中から評価の良い順にｐ個を個体集団に戻し、残りを破棄する。この処理によって評価値の低い染色体が淘汰される。なお、この他に、親個体の一部を淘汰の対象にせずにそのまま母集団に戻し、残りの親個体と子個体から評価の良い順に「残りの親個体」数分戻す方法を用いてもよい。
【００１９】
Ｓ４６においてはアルゴリズム切り替え条件が満足されたか否かを判定し、条件を満たしていなければＳ４３戻るが、条件を満たしている場合はＳ４７に移行する。条件としては、計算回数が所定値を超えたか否か、あるいは評価値の減少率が所定値を下まわったか否かなどが上げられる。Ｓ４７においては局所的探索法として、例えば公知のＰｏｗｅｌｌ法あるいはその他の公知の局所的探索法によりパラメータの調整を行う。このように探索方法を切り替えることにより、パラメータ調整時間が短縮する。
【００２０】
次に本発明における交叉処理について説明する。従来の交叉法としては染色体の遺伝子を部分的に入れ替える処理が用いられていた。この交叉法は遺伝子がビット値（０または１）である時には有効な手法であるが、遺伝子が実数値である場合には必ずしも有効な交叉法ではない。なぜならば、２進数表現により定義される遺伝子型の空間は、実数値に変換後における実際のパラメータの空間とは位相構造が異なっているため、パラメータの連続性が考慮されないからである。
【００２１】
例えば、２進数の中の１ビットが反転した場合、変換後のパラメータは反転したビットの位置によって、最上位ビットが反転した場合には大きく変化するが、最下位ビットが反転した場合にはパラメータ値はほとんど変化しない。本発明で調整対象となるパラメータは実数値であるため、従来の交叉方法では有効的な調整を行うのは難しい。そこで従来の交叉法ではなく、以下に述べる実数値向けの交叉法を用いる。
【００２２】
図３は、Ｓ４３の交叉処理の内容を示すフローチャートである。この交叉法は複数の親個体の遺伝子から計算された多面体の中から子個体の遺伝子を生成する実数値向け交叉法である。また、図４は、本発明の交叉法の例を示す説明図である。
Ｓ３１においては、個体集団からｐ個の親個体をランダムに選ぶ。ｐの値は調整するパラメータがｎ個の場合、ｐ＝ｎ＋１とするのが望ましい。Ｓ３２においては、Ｓ３１で選択したｐ個の親個体の重心Ｇを求める。即ち、各パラメータ毎に平均値を求める。
【００２３】
Ｓ３３においては変数ｃの値を１にセットし、Ｓ３４においては重心Ｇ及び一様分布乱数を用いた下記の式１より子個体を一つ生成する。
【数１】
2005038216.tif 000003
ここで、ｐは選択された親個体の数、Ｃは生成される子個体の染色体を示すベクトル、Ｐｋは選択された親個体の染色体を示すベクトルである。なお、本実施例では選択された親個体の数はｎ＋１個であるとする。また、ｕ（０，１）は区間［０，１］の一様分布乱数である。
【００２４】
Ｓ３５においては変数ｃに１を加算し、Ｓ３６においては変数ｃが定数ｃｈｉｌｄより大きいか否かが判定され、判定結果が否定の場合にはＳ３４に戻るが、肯定の場合には交叉処理を終了する。この処理によってｃｈｉｌｄ個の子個体が生成される。ｃｈｉｌｄは１０×ｎ程度が望ましい。
【００２５】
図４は、調整するパラメータをα、βの２個、個体集団よりランダムに選ばれた親個体の数を３個とした時のシンプレックス交叉の探索範囲（子固体の生成範囲）を示す説明図である。重心Ｇから各親個体Ｐ１〜Ｐ３までのベクトルをε倍して子個体の生成範囲（図４の外側の三角形の内部）を決定し、その範囲から一様乱数を用いて子個体を生成する。εの推奨値は親個体の数がｐ個の時、√(p+1)である。なお、パラメータ数が３以上の場合には子個体の生成範囲は複数の超平面によって囲まれた超多面体の内部空間となる。
【００２６】
上記の様な交叉方法を用いることで、調整対象となるパラメータが実数値である問題に対してパラメータを陽に扱うことができ、有効な調整を行う事ができる。陽に扱うことができるとは、パラメータ空間近傍にある個体が遺伝子空間でも近傍にあることを意味する。また、このような交叉手法は変数間の依存性に頑健で、スケールのとり方に依存しないという特徴があり、パラメータ間に依存性が強く、スケーリングが異なるパラメータが多数存在するトランジスタの電気特性モデル関数のパラメータ調整に適している。
【００２７】
通常、遺伝的アルゴリズムにおいては交叉の他に突然変異という処理を行う。突然変異は従来の離散的な二進数値を扱う遺伝的アルゴリズムの場合、染色体の遺伝子の一部を反転させる操作を行う。また、実数値を扱う遺伝的アルゴリズムの場合でも、染色体の各遺伝子に正規分布Ｎ（０，σ２）に従って発生させた正規乱数を加算する操作が提案されている。しかし、上記したような本発明の交叉方法は交叉過程において乱数を用いているため、突然変異の性質も兼ね備えている。そのため、上記のような交叉手法を用いる場合は突然変異を行わない。
【００２８】
次に、Ｓ４４において実行される評価値について説明する。用意した離散データ群と染色体中の遺伝子をモデルパラメータとするトランジスタ電気特性モデル関数で計算した推定データ群よりその染色体の評価値を計算する。評価値とは、染色体中の遺伝子がモデルパラメータとしてどれだけ理想的な値に近いかを示す値である。
【００２９】
図５は、評価計算処理の内容を示すフローチャートである。Ｓ１２においては染色体の遺伝子情報を読み込み、トランジスタ電気特性モデル関数のモデルパラメータとする。Ｓ１３−1…Ｓ１３−dにおいては離散データ群を読み込む。ｄは読み込んだ離散データ群の数である。
【００３０】
Ｓ１４−1…Ｓ１４−dにおいてはＳ１２で入力したモデルパラメータを元に離散データ群を予測する推定データ群を計算する。推定データ群は離散データ群と同じ数だけ存在する。Ｓ１５においては離散データ群と推定データ群より、染色体の評価値を計算する。評価関数としては、後述する二乗誤差などが用いられる。
【００３１】
図６は、トランジスタのＩｄＶｇ特性を示す線形スケール（ａ）およびログ（対数）スケール（ｂ）のグラフである。図６の楕円で囲んだ部分の様に、離散データ群の中には（ａ）の線形スケールで見るとほぼ０に見えるが、（ｂ）のログスケールで見た場合、大きく値が変化している部分がある。このような性質をサブスレショルド特性という。
【００３２】
この部分は、他の部分と比較すると絶対値が小さいので、誤差の絶対値も小さく、この部分を通常の線形スケールのデータ群のみを用いて最適化することは困難である。また、この部分を調整するためにログスケールのデータ群のみ用意して最適化を行うと、サブスレショルド特性は最適化することができるが、逆にそれ以外の部分の誤差が大きくなり、ずれが生じてしまう。
【００３３】
そこで、本発明においては、ＭＯＳトランジスタ電気特性モデルパラメータはサブスレショルド特性を推定するパラメータとそれ以外の部分を推定するパラメータが独立していることに注目し、以下に示すスケーリング処理によって、ログスケールのデータ群と線形スケールのデータ群を同時に読み込んで、全ての特性を同時に調整する。
【００３４】
なお、離散データ群間でスケーリングが異なる場合、二乗誤差を取るとスケールの小さいデータ群は評価値に与える影響が小さくなってしまう。そのため前述したスケーリング処理を行っても調整精度が落ちる恐れがある。そこで、本発明では各データ群中の離散データを正規化し、スケールを統一することによって調整精度を向上させる。
【００３５】
図７は、Ｓ１５に上記のスケーリング及び離散データ正規化手法を実装した、評価値計算の一例を示すフローチャートである。Ｓ１６においては、離散データ群及び、それに対応している推定データ群をログスケールに変換した対数データを生成する。Ｓ１７においては用意されたすべてのデータ群を正規化する。
【００３６】
図８は、Ｓ１７で行う離散データの正規化処理の一例を示すフローチャートである。Ｓ２１においてはデータ群を読み込む。Ｓ２２においては以下に示すデータの変換を行う。即ち、まずデータ群中の最大値ｆｍａｘ及び最小値ｆｍｉｎを求める。次に、下記の式２によってデータ群中の全ての離散データｆ（ｉ）を正規化データｇ（ｉ）に変換する。
【数２】
2005038216.tif 000004
ここで、ｇ（ｉ）：正規化データ、ｆ（ｉ）：離散データ、ｆｍａｘ： データ群中の最大値、ｆｍｉｎ：データ群中の最小値である。この演算によって離散データを［０，１］の範囲内に正規化することができる。
【００３７】
図７に戻って、Ｓ１８においては線形スケールのデータ群のみの評価値を計算しＡとする。Ａは正規化離散データと正規化推定データの二乗誤差の合計である。Ｓ１９においてはログスケールのデータ群のみの評価値を計算しＢとする。Ｂは正規化対数離散データと正規化対数推定データの二乗誤差の合計である。Ｓ２０においてはＡ＋Ｂを染色体の評価値とする。なお、評価値の計算に二乗誤差を用いているが、二乗誤差の代わりに誤差率を求めるようにしてもよい。
【００３８】
以上のような処理によって、短時間で高精度のパラメータ調整ができる。そして、物理モデルに当該パラメータを採用することにより、試作をせずに高精度の回路シミュレーションを行うことができるので、半導体素子の製造効率が向上する。
【００３９】
以上実施例１を説明したが、本発明のパラメータ調整装置には以下のような変形例も考えられる。トランジスタの物理モデル例としてはＢＳＩＭを挙げたが、本発明はＢＳＩＭの他、公知の任意のトランジスタ物理モデルを使用可能である。更に、本発明はトランジスタ以外の公知の任意の半導体素子にも適用可能である。
【図面の簡単な説明】
【００４０】
【図１】本発明のパラメータ調整装置を使用してシミュレーションを行う場合の全体の手順を示すフローチャートである。
【図２】パラメータ調整処理を示す概略フローチャートである。
【図３】Ｓ４３の交叉処理の内容を示すフローチャートである。
【図４】本発明の交叉法の例を示す説明図である。
【図５】評価計算処理の内容を示すフローチャートである。
【図６】トランジスタのＩｄＶｇ特性を示すグラフである。
【図７】Ｓ１５の評価値計算の一例を示すフローチャートである。
【図８】Ｓ１７の離散データ正規化処理を示すフローチャートである。
【図９】試作するトランジスタの形状の選択方法を示す説明図である。
【符号の説明】
【００４１】
Ｇ          重心
Ｐ１〜Ｐ３  親個体
【図１】
2005038216.tif 000005
【図２】
2005038216.tif 000006
【図３】
2005038216.tif 000007
【図４】
2005038216.tif 000008
【図５】
2005038216.tif 000009
【図６】
2005038216.tif 000010
【図７】
2005038216.tif 000011
【図８】
2005038216.tif 000012
【図９】
2005038216.tif 000013