(57)【特許請求の範囲】
【請求項１】
モデル式によるシミュレーションで回路性能を見積もるコンピュータに、
回路性能とパラメータとの関係を示すモデル式に含まれる項が記録されている記録手段から前記項を取得して、前記項の組み合わせで新たなモデル式を生成するモデル式生成ステップと、
前記新たなモデル式でシミュレーションを行い、精度要求を満たす場合にモデル式を採用するモデル式採用ステップと
を実行させ、
前記モデル式生成ステップは、前記記録手段から取得した前記項から遺伝的アルゴリズムにより新たなモデル式を生成する回路性能見積プログラム。
【請求項２】
前記モデル式生成ステップは、前記モデル式採用ステップにより精度要求を満たすモデル式を採用できるまで、前記項の組み合わせの数を順次増加させて前記新たなモデル式を生成する請求項１記載の回路性能見積プログラム。
【請求項３】
前記モデル式採用ステップは、前記モデル式生成ステップが生成した前記新たなモデル式に対してフィッティング（fitting）を行って前記モデル式の係数を求め、該係数が求まった前記モデル式の精度を評価する請求項２記載の回路性能見積プログラム。
【請求項４】
モデル式によるシミュレーションで回路性能を見積もるコンピュータによって実行される回路性能見積方法であって、
前記コンピュータが、
回路性能とパラメータとの関係を示すモデル式に含まれる項が記録されている記録手段から前記項を取得して、前記項の組み合わせで新たなモデル式を生成するモデル式生成ステップと、
前記新たなモデル式でシミュレーションを行い、精度要求を満たす場合にモデル式を採用するモデル式採用ステップと
を実行し、
前記モデル式生成ステップは、前記記録手段から取得した前記項から遺伝的アルゴリズムにより新たなモデル式を生成する回路性能見積方法。
【請求項５】
モデル式によるシミュレーションで回路性能を見積もる回路性能見積装置であって、
回路性能とパラメータとの関係を示すモデル式に含まれる項が記録されている記録手段から前記項を取得して、前記項の組み合わせで新たなモデル式を生成するモデル式生成手段と、
前記新たなモデル式でシミュレーションを行い、精度要求を満たす場合にモデル式を採用するモデル式採用手段と
を有し、
前記モデル式生成手段は、前記記録手段から取得した前記項から遺伝的アルゴリズムにより新たなモデル式を生成する回路性能見積装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は回路性能を見積もる回路性能見積装置、回路性能見積方法及び回路性能見積プログラムに関する。
【背景技術】
【０００２】
例えばパッケージされた半導体集積回路（IC）であるチップ（CHIP）の設計及び製造は図１に示すように行われる。図１は、チップの設計及び製造のプロセスを表した一例のフローチャートである。図１に示すように、チップ設計のプロセスＳ１０は回路トポロジ設計工程Ｓ１１、トポロジ設計変数決定工程Ｓ１２、レイアウト、マスク工程Ｓ１３を含む。
【０００３】
チップ製造のプロセスＳ２０は前工程Ｓ２１、後工程、テストＳ２２を含む。例えば前工程Ｓ２１は露光、エッチング（etching）、酸化拡散、ＣＶＤ（化学気相成長法）、イオン注入、研磨等を含む。また、後工程はチップ分割（Dicing）、実装（Mounting）、接続（bonding）、成型（mold）、分離等を含む。
【０００４】
前工程Ｓ２１では、ＴＥＧ（test element group）１を用いることでチップに発生する製造上の問題を見つけ出す。ＴＥＧ１は前工程Ｓ２１で発生する問題点の要因の究明に適した評価用素子である。なお、前工程Ｓ２１ではＴＥＧ１を用いることによりプロセスパラメータ（Vth、U0、toxなど）２が収集される。前工程Ｓ２１では、寸法や圧力、温度のばらつきによりプロセスパラメータ２のばらつきが発生し、チップの歩留まりに影響を与える。
【０００５】
半導体製造のプロセスを最適化するための歩留制御方法であって、製品予測モデル式からの標準偏差と製品規格値に入る確率をプロセス条件値の関数として求める内容は従来から知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭５８−１４５１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
プロセスパラメータ２のばらつきは、チップ製造のプロセスＳ２０に含まれる前工程Ｓ２１の微細化により、増大する。すなわち、プロセスパラメータ２のばらつきの総和は増大する。結果、チップの歩留まりを改善する為には、チップ設計のプロセスＳ１０においてもチップの歩留まりを考慮しなければならなくなった。このようにチップ設計のプロセスＳ１０においてもチップの歩留まりを考慮する為には、チップの歩留まりを見積もる技術が必要となる。
【０００８】
また、プロセスパラメータ２のばらつきはプロセスを縮めになればなるほどランダムばらつきが優位を占める為、チップ設計のプロセスＳ１０では後述のチップ内ばらつきを考慮しなければならない。すなわちチップの歩留まりに影響するプロセスパラメータ２は劇的に増加する。
【０００９】
図２はチップ間及びチップ内ばらつきの一例の説明図である。チップ間ばらつきは例えばチップ（Die）１１、１２間のプロセスパラメータ２のばらつきである。なお、チップ１１、１２の内部のプロセスパラメータはばらつきしていないものとする。チップ内ばらつきは例えばチップ１３内のプロセスパラメータ２のばらつきである。チップ１３は内部素子でもプロセスパラメータ２がばらついているものとする。
【００１０】
チップ設計のプロセスＳ１０においてチップの歩留まりを見積もる技術としてはＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）などによるモンテカルロシミュレーションがあった。ＳＰＩＣＥは電子回路のアナログ動作をシミュレーションする回路シミュレータの一例である。
【００１１】
チップ設計のプロセスＳ１０においてチップの歩留まりを見積もる場合は、チップの性能の分布が分かるまで大量なモンテカルロシミュレーションの回数が必要である。ＳＰＩＣＥ等の回路シミュレータは処理が非常に重い。したがって、回路シミュレータによるモンテカルロシミュレーションでチップの歩留まりを見積もる為には、非常に時間が掛かるという問題があった。
【００１２】
また、ＳＰＩＣＥ等の回路シミュレータの処理を軽くしようとすると、チップ設計のプロセスＳ１０におけるチップの歩留まりの見積もりは、誤差が大きくなってしまうという問題があった。なお、特許文献１に記載されている技術は半導体製造のプロセスを改良して製品の歩留まりを改善するものであって、半導体設計のプロセスを改良して製品の歩留まりを改善するものではない。
【００１３】
本発明の一実施形態は、回路性能見積もりの精度と処理時間とのバランスを図ることができる回路性能見積装置、回路性能見積方法及び回路性能見積プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決する為、本発明の一実施形態は、モデル式によるシミュレーションで回路性能を見積もるコンピュータに、回路性能とパラメータとの関係を示すモデル式に含まれる項が記録されている記録手段から前記項を取得して、前記項の組み合わせで新たなモデル式を生成するモデル式生成ステップと、前記新たなモデル式でシミュレーションを行い、精度要求を満たす場合にモデル式を採用するモデル式採用ステップとを実行させ、前記モデル式生成ステップは、前記記録手段から取得した前記項から遺伝的アルゴリズムにより新たなモデル式を生成する回路性能見積プログラムである。
【００１５】
なお、本発明の一実施形態の構成要素、表現又は構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１６】
本発明の一実施形態によれば、回路性能見積もりの精度と処理時間とのバランスを図ることができる
【図面の簡単な説明】
【００１７】
【図１】チップの設計及び製造のプロセスを表した一例のフローチャートである。
【図２】チップ間及びチップ内ばらつきの一例の説明図である。
【図３】ＳＰＩＣＥによるモンテカルロシミュレーションによりチップの性能のばらつき分布を求める処理を表した一例の説明図である。
【図４】モデル式によるモンテカルロシミュレーションによりチップの性能のばらつき分布を求める処理を表した一例の説明図である。
【図５】線形モデル及び２次の多項式モデルの誤差、係数、モデリング時間を表した一例のテーブルである。
【図６】２次の多項式モデルに含まれる項の係数の大きさを表したグラフ図である。
【図７】回路性能見積プログラムを実行するコンピュータの一例のハードウェア構成図である。
【図８】本実施例の回路性能見積装置の一例のブロック構成図である。
【図９】本実施例のモデル式生成部の詳細を表した一例のブロック図である。
【図１０】モデリング処理の手順を表したフローチャートである。
【図１１】ステップＳ５６の処理の詳細を表したフローチャートである。
【図１２】タームライブラリの一例の構成図である。
【図１３】モデル式と、そのモデル式の誤差（精度）との対応を表した一例の構成図である。
【図１４】遺伝的アルゴリズム情報の一例の構成図である。
【図１５】従来手法と本実施例との効果を比較する為の説明図である。
【発明を実施するための形態】
【００１８】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。本実施例の回路性能見積装置、回路性能見積方法及び回路性能見積プログラムは一例であって、例えば他の名称の装置、方法及びプログラムであってもよい。
【００１９】
本実施例ではＳＰＩＣＥによるモンテカルロシミュレーションに代えて、モデル式によるモンテカルロシミュレーションによりチップの歩留まりを見積もる。モデル式はチップの回路性能とプロセスパラメータ２との関係をモデリングしたものである。モデル式の計算はＳＰＩＣＥの計算より非常に軽い。
【００２０】
したがって、モデル式によるモンテカルロシミュレーションはＳＰＩＣＥによるモンテカルロシミュレーションよりも処理時間が短くなる。図３はＳＰＩＣＥによるモンテカルロシミュレーションによりチップの性能のばらつき分布を求める処理を表した一例の説明図である。図４はモデル式によるモンテカルロシミュレーションによりチップの性能のばらつき分布を求める処理を表した一例の説明図である。
【００２１】
図３では、アナログ設計データ２１及びプロセスばらつき分布データ２２を用いてＳＰＩＣＥによるモンテカルロシミュレーションを行う。アナログ設計データ２１は例えば図１に示したトポロジ設計変数等である。プロセスばらつき分布データ２２は例えば図１に示したプロセスパラメータ２である。ＳＰＩＣＥによるモンテカルロシミュレーションは処理が非常に重いため、チップ性能のばらつき分布を求める為の処理時間が非常に長くなる。
【００２２】
図４では、アナログ設計データ２１及びプロセスばらつき分布データ２２を用いてＲＳＭ（Response Surface Method）のＳＰＩＣＥ計算で回路性能とプロセスパラメータとの関数関係をモデリングしたあと、モデル式によるモンテカルロシミュレーションを行っている。モデル式によるモンテカルロシミュレーションはＳＰＩＣＥによるモンテカルロシミュレーションに比べて処理が非常に軽いため、チップ性能のばらつき分布を求める為の処理時間がＳＰＩＣＥによるモンテカルロシミュレーションに比べて短くなる。
【００２３】
ここでは、モデリング技術について説明する。モデリング技術には線形近似による線形モデルと高次多項式近似による多項式モデルとが含まれる。線形モデルはチップの回路性能とプロセスパラメータ２との関係を例えば以下の式（１）によりモデリングする。
【００２４】
【数１】
0005482562.tif 000002
【００２５】
Ｐはチップの回路性能を表す。ｐ１〜ｐｎはプロセスパラメータ２を表す。ｐ１〜ｐｎは例えばVth_m０、U0_m０、Tox_m０、Vth_m1、U0_m1、Tox_m1等である。線形モデルではシミュレーションデータセット｛P、p1、p2、…、pn｝から係数｛a0、a1、…、an｝を求める（fittingを実施する）ために、少なくともｎ＋１個のシミュレーションデータセットが必要となる。
【００２６】
また、多項式モデルは、チップの回路性能とプロセスパラメータ２との関係を例えば以下の式（２）によりモデリングする。式（２）はｍ次の多項式モデルを表している。例えばプロセスパラメータ２が２個の２次の多項式モデルは式（３）のように表される。
【００２７】
【数２】
0005482562.tif 000003
【００２８】
式（２）及び式（３）に含まれるｐ１〜ｐｎは項（term）である。ｍ次の多項式モデルではｎ変数の場合、Σ（n+m-1）Ｃm個以上のシミュレーションデータセットが必要となる。なお、ｎ変数は上記のプロセスパラメータ２の個数に相当する。ｍ次の多項式モデルでｎ変数の場合（ｎ変数ｍ次多項式の場合）は項の数に比例する数のシミュレーションデータセットが必要となる。
【００２９】
上記した線形モデル及び多項式モデルは以下のような問題点がある。例えばプロセスパラメータ２のばらつきの総和の増大に伴って、線形モデルは誤差が大きくなるという問題があった。例えば式（４）はトランジスタの非線形性質を表している。非線形性質であるため、線形モデルでは誤差が大きくなる。
【００３０】
【数３】
0005482562.tif 000004
【００３１】
また、プロセスパラメータ２のランダムばらつきが優位を占める為、多項式モデルは多項式変数である項の数が指数的に増える。したがって、多項式モデルではfittingするために、シミュレーションデータセットを計算するＳＰＩＣＥの処理時間は指数的に増えてしまう。
【００３２】
例えばプロセスパラメータ２の数が２００個（２００変数）の場合、線形モデルでは２０１回以上のＳＰＩＣＥによる計算回数が必要である。２次の多項式モデルでは２０３０１回以上のＳＰＩＣＥによる計算回数が必要である。３次の多項式モデルでは１３７３７０１回以上のＳＰＩＣＥによる計算回数が必要である。
【００３３】
図５は線形モデル及び２次の多項式モデルの誤差、係数、モデリング時間を表した一例のテーブルである。図５はチップがオペアンプの例を表している。線形モデルは誤差が大きい回路性能が含まれる。回路性能（Offset）は誤差が２４．８３％と大きい。２次の多項式モデルはモデリング時間が２．３日と長い。
【００３４】
なお、モデリング時間は係数の数と比例している。例えば２次の多項式モデルの係数の数は線形モデルの係数の数の２５．５倍である。また、２次の多項式モデルのモデリング時間は線形モデルのモデリング時間の２５．１倍である。２次の多項式モデルの係数の数が増えるとモデリング時間が比例して増加する。つまり、fittingに必要なfitting時間は２次の多項式モデルの係数の数の増加に比例して増加する。
【００３５】
そこで、本実施例では精度とモデリング時間とのバランスが図られたモデル式を新たに作成することでチップの回路性能の見積もりの精度と処理時間とのバランスを図る。
【００３６】
本実施例ではfitting時間が項の数と比例するという内容から、モデル式の項の数を減らすことでfitting時間を減らすことを考える。例えば式（５）の２次の多項式モデルに含まれる３及び４番目の項の係数が図６に示すように他の項の係数に比べて明らかに小さい場合は、３及び４番目の項を削除することにより、式（６）を作成できる。図６は２次の多項式モデルに含まれる項の係数の大きさを表したグラフ図である。
【００３７】
【数４】
0005482562.tif 000005
【００３８】
式（６）は精度をほとんど落とすことなく、fitting時間を減少させることができるモデル式となる。このような式（６）のモデル式によれば、モンテカルロシミュレーションに必要なシミュレーションデータセットの数は減少する。
【００３９】
しかし、モデル式の項の係数を求めた後、他の項の係数に比べて明らかに係数が小さい項を削除するのでは、モデル式の項の係数を求めるために必要なシミュレーションデータセットの数を減少させることができない。そこで、本実施例では式（５）の項の組み合わせの式（７）のモデル式から誤差が少ないモデル式を以下のように選択する。
【００４０】
【数５】
0005482562.tif 000006
【００４１】
なお、モデル式（５）の項の組み合わせの式（７）から精度と処理（fitting）時間とのバランスの取れたモデル式を選択する処理は後述する。
【００４２】
（ハードウェア構成）
図７は、回路性能見積プログラムを実行するコンピュータの一例のハードウェア構成図である。図７のコンピュータ３０はバス３９で相互に接続されている入力装置３１、出力装置３２、記録媒体読取装置３３、補助記憶装置３４、主記憶装置３５、演算処理装置３６及びインターフェース装置３７を有する。
【００４３】
入力装置３１はキーボードやマウス等である。入力装置３１は、各種信号を入力するために用いられる。出力装置３２はディスプレイ装置等である。出力装置３２は、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置３７は、モデム又はＬＡＮカード等である。インターフェース装置３７は、ネットワークに接続する為に用いられる。
【００４４】
本実施例の回路性能見積プログラムは、図７のコンピュータ３０を制御する各種プログラムの少なくとも一部である。回路性能見積プログラムは、記録媒体３８の配布やネットワークからダウンロードすることによって提供される。回路性能見積プログラムを記録した記録媒体３８はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００４５】
回路性能見積プログラムは、回路性能見積プログラムを記録した記録媒体３８が記録媒体読取装置３３にセットされると、記録媒体３８から記録媒体読取装置３３を介して補助記憶装置３４にインストールされる。なお、ネットワークからダウンロードされた回路性能見積プログラムはインターフェース装置３７を介して補助記憶装置３４にインストールされる。補助記憶装置３４はインストールされた回路性能見積プログラムを格納すると共に必要なファイル，データ等を格納する。
【００４６】
主記憶装置３５は、回路性能見積プログラムの起動時に補助記憶装置３４から回路性能見積プログラムを読み出して格納する。演算処理装置３６は主記憶装置３５に格納された回路性能見積プログラムに従って、後述するような各種処理を実現している。回路性能見積プログラムを実行するコンピュータ３０は回路性能見積装置の一例である。
【００４７】
（ブロック構成）
回路性能見積プログラムを実行するコンピュータは、図８に示すような各種処理を実現している。図８は本実施例の回路性能見積装置の一例のブロック構成図である。
【００４８】
回路性能見積装置４０は、タームライブラリ（term library）生成部４１、モデル式生成部４２、モデル式選択部４３、モンテカルロシミュレーション部４４、タームライブラリＤＢ４５、モデル式ＤＢ４６、ルールＤＢ４７、遺伝的アルゴリズムＤＢ４８を有している。
【００４９】
タームライブラリ生成部４１はモデル式のターム（項）を含むタームライブラリを生成する。モデル式生成部４２はタームライブラリに含まれる１つ以上のタームを組み合わせてモデル式を生成する。モデル式選択部４３はモデル式生成部４２で生成したモデル式が精度要求を達成するとき、そのモデル式を選択する。モンテカルロシミュレーション部４４はモデル式選択部４３で選択したモデル式によりモンテカルロシミュレーションを行うものである。
【００５０】
タームライブラリＤＢ４５はタームライブラリを記録する。モデル式ＤＢ４６はモデル式と、そのモデル式の誤差（精度）とを対応付けて記録する。ルールＤＢ４７はモデル式生成部４２で生成するモデル式のルールを記録する。遺伝的アルゴリズムＤＢ４８は後述の遺伝的アルゴリズムで利用する遺伝的アルゴリズム情報を記録する。
【００５１】
図９は本実施例のモデル式生成部の詳細を表した一例のブロック図である。モデル式生成部４２は、タームによるモデル式生成部５１、インデックス付与部５２、遺伝子生成部５３、遺伝的アルゴリズム処理部５４、遺伝子によるモデル式生成部５５、ルール判定部５６を有している。
【００５２】
タームによるモデル式生成部５１はタームライブラリに含まれる１つ以上のタームを組み合わせてモデル式を生成する。インデックス付与部５２はタームライブラリＤＢ４５に記録されているタームライブラリの各タームにインデックス（index）を付与する。遺伝子生成部５３はタームライブラリに含まれる１つ以上のタームを組み合わせて個体の遺伝子を生成する。遺伝的アルゴリズム処理部５４は遺伝的アルゴリズムにより新しい個体を捜査する。
【００５３】
遺伝子によるモデル式生成部５５は遺伝的アルゴリズム処理部５４により捜査された新しい個体の遺伝子からモデル式を生成する。また、ルール判定部５６は遺伝子によるモデル式生成部５５によって生成されたモデル式がルールＤＢ４７に記録されているモデル式のルールを満たしているか判定する。
【００５４】
（処理手順）
回路性能見積装置４０は例えば回路性能とプロセスパラメータ２との関係を図１０に示す手順によりモデリングする。図１０はモデリング処理の手順を表したフローチャートである。なお、図１０のフローチャートにおいてｉの初期値は「２」とする。
【００５５】
ステップＳ５１に進み、タームライブラリ生成部４１はモデル式のタームを含むタームライブラリ１００を生成する。タームライブラリ１００の詳細は後述する。ステップＳ５２に進み、モデル式生成部４２はタームライブラリ１００に含まれるタームをｉ個、組み合わせてモデル式１０１を生成する。モデル式１０１の詳細は後述する。
【００５６】
ステップＳ５３に進み、モデル式選択部４３はモデル式生成部４２で生成したモデル式に対して最小２乗法などでfittingを実施し、係数｛a0、a1、…、an｝を求める。
【００５７】
ステップＳ５３に続いてステップＳ５４に進み、モデル式選択部４３は係数が求まったモデル式とシミュレーションデータとのＭＳＥ誤差を求め、そのＭＳＥ誤差でモデル式の誤差（精度）を評価する。
【００５８】
モデル式選択部４３はモデル式生成部４２で生成したモデル式の中に、精度が精度要求を達成しているものがあれば、精度要求を達成しているモデル式を選択したあと、図１０のフローチャートの処理を終了する。
【００５９】
モデル式選択部４３はモデル式生成部４２で生成したモデル式の中に、精度が精度要求を達成しているものがなければステップＳ５５に進み、最大ループ数に到達したか否かを判定する。モデル式選択部４３は最大ループ数に到達していなければ、モデル式生成部４２に、タームの更新及びモデル式の生成を指示する。
【００６０】
タームの更新及びモデル式の生成を指示されると、モデル式生成部４２はステップＳ５６に進み、タームを更新し、ｉ個のタームを組み合わせて新しいモデル式を生成したあとステップＳ５３に戻り、処理を続ける。
【００６１】
一方、モデル式選択部４３は最大ループ数に到達していれば、ｉが最大値ｉより小さいか否かを判定する。ｉが最大値ｉより小さければ、モデル選択部４３はステップＳ５８に進み、ｉに「１」を加算する。その後、モデル式選択部４３はモデル式生成部４２にモデル式の生成を指示する。モデル式生成部４２はモデル式の生成を指示されると、ステップＳ５２に戻り、処理を続ける。
【００６２】
図１１はステップＳ５６の処理の詳細を表したフローチャートである。ステップＳ６１に進み、モデル式生成部４２に含まれるインデックス付与部５２はタームライブラリ１００に含まれる各タームにインデックスを付ける。例えば図１１のタームライブラリ１００の各タームには［１］〜［９］を２進数で表したインデックスが付けられる。
【００６３】
ステップＳ６２に進み、遺伝子生成部５３はタームライブラリ１００に含まれるタームをｉ個、組み合わせて個体の遺伝子を生成する。例えば図１１ではタームライブラリ１００に含まれるインデックス［１］の「ｘ」及びインデックス［２］の「ｙ」を組み合わせて生成した個体「ｘ＋ｙ」の遺伝子「０００１００１０」を表している。また、図１１ではインデックス［３］の「ｘ2」及びインデックス［４］の「ｙ2」を組み合わせて生成した個体「ｘ2＋ｙ2」の遺伝子「００１１０１００」を表している。
【００６４】
ステップＳ６３に進み、遺伝的アルゴリズム処理部５４は公知の遺伝的アルゴリズムにより新しい個体を捜査する。例えば図１１では親遺伝子「０００１００１０」と「００１１０１００」から交叉（crossover）により遺伝子「００１１００１０」の個体、突然変異（mutation）により遺伝子「００１１０１０１」の個体を作る。
【００６５】
ステップＳ６４に進み、遺伝子によるモデル式生成部５５は遺伝的アルゴリズム処理部５４により捜査された新しい個体の遺伝子からモデル式を生成する。例えば図１１ではステップＳ６３で作った遺伝子「００１１０１０１」の個体からモデル式「ｘ2＋ｘｙ」を生成する。
【００６６】
ステップＳ６５に進み、ルール判定部５６は遺伝子によるモデル式生成部５５によって生成されたモデル式がルールＤＢ４７に記録されているルールを満たしているか否かを判定する。例えばルールとしては、各タームがタームライブラリ１００に存在する、タームのインデックスが重複しない、モデル式のタームが重複しない、モデル式が重複しないなどである。
【００６７】
モデル式がルールを満たしていないと判定すると、ルール判定部５６は遺伝的アルゴリズム処理部５４に新しい個体の捜査を指示する。新しい個体の捜査を指示されると、遺伝的アルゴリズム処理部５４はステップＳ６３に戻り、処理を続ける。モデル式がルールを満たしていると判定すると、ルール判定部５６は図１１に示したフローチャートの処理を終了する。
【００６８】
図１２はタームライブラリの一例の構成図である。図１２のタームライブラリはモデル式の変数が｛p0、p1、…、pn｝であるときの１次、２次、…、特定義のタームの一例を表している。図１２のタームライブラリはタームライブラリＤＢ４５に記録される。
【００６９】
図１３は、モデル式と、そのモデル式の誤差（精度）との対応を表した一例の構成図である。図１３ではｉ（ｉ＝１〜ｍ）個のタームを組み合わせて生成したモデル式と、そのモデル式の誤差（精度）とが対応付けられている。ｉが「１」のときのモデル式の数が個体（population）数となる。図１３のモデル式と、そのモデル式の誤差（精度）との対応はモデル式ＤＢ４６に記録される。
【００７０】
図１４は、遺伝的アルゴリズム情報の一例の構成図である。図１４では、両親モデル式と、親遺伝子であるインデックスと、交叉（crossover）により捜査された遺伝子と、突然変異（mutation）により捜査された遺伝子と、突然変異により捜査された遺伝子から生成したモデル式とが対応付けられた遺伝的アルゴリズム情報の一例を表している。図１４の遺伝的アルゴリズム情報は遺伝的アルゴリズムＤＢ４８に記録される。
【００７１】
図１５は従来手法と本実施例との効果を比較する為の説明図である。図１５では従来手法としての線形近似、２次近似、３次近似のモデル式と、本実施例のモデル式とにおけるプロセスパラメータ数、Fitting係数、Fittingデータ、時間効率、モデリング誤差を表している。図１５に示したように、本実施例のモデル式は線形近似と同じデータ数で、２次近似よりモデリング誤差（精度）が良い。
【００７２】
本実施例は回路性能とプロセスパラメータ２との関係を示すモデル式において、プロセスパラメータ２から作られたタームライブラリ１００から最適なタームを捜査してモデル式を生成し、回路性能の見積もりの精度と、処理時間とのバランスを図っている。タームライブラリ１００から最適なタームを捜査してモデル式を生成する手法としては遺伝的アルゴリズムを利用することができる。
【００７３】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
モデル式によるシミュレーションで回路性能を見積もるコンピュータに、
回路性能とパラメータとの関係を示すモデル式に含まれる項が記録されている記録手段から前記項を取得して、前記項の組み合わせで新たなモデル式を生成するモデル式生成ステップと、
前記新たなモデル式でシミュレーションを行い、精度要求を満たすモデル式を選択するモデル式選択ステップと
を実行させる回路性能見積プログラム。
（付記２）
前記モデル式生成ステップは、前記記録手段から取得した前記項から遺伝的アルゴリズムにより新たなモデル式を生成する付記１記載の回路性能見積プログラム。
（付記３）
前記モデル式生成ステップは、前記モデル式選択ステップにより精度要求を満たすモデル式を選択できるまで、前記項の組み合わせの数を順次増加させて前記新たなモデル式を生成する付記２記載の回路性能見積プログラム。
（付記４）
前記モデル式選択ステップは、前記モデル式生成ステップが生成した前記新たなモデル式に対してフィッティング（fitting）を行って前記モデル式の係数を求め、該係数が求まった前記モデル式の精度を評価する付記３記載の回路性能見積プログラム。
（付記５）
モデル式によるシミュレーションで回路性能を見積もるコンピュータによって実行される回路性能見積方法であって、
前記コンピュータが、
回路性能とパラメータとの関係を示すモデル式に含まれる項が記録されている記録手段から前記項を取得して、前記項の組み合わせで新たなモデル式を生成するモデル式生成ステップと、
前記新たなモデル式でシミュレーションを行い、精度要求を満たすモデル式を選択するモデル式選択ステップと
を実行する回路性能見積方法。
（付記６）
モデル式によるシミュレーションで回路性能を見積もる回路性能見積装置であって、
回路性能とパラメータとの関係を示すモデル式に含まれる項が記録されている記録手段から前記項を取得して、前記項の組み合わせで新たなモデル式を生成するモデル式生成手段と、
前記新たなモデル式でシミュレーションを行い、精度要求を満たすモデル式を選択するモデル式選択手段と
を有する回路性能見積装置。
【００７４】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００７５】
１    ＴＥＧ（test element group）
２    プロセスパラメータ
１１〜１３    チップ（Die）
２１    アナログ設計データ
２２    プロセスばらつき分布データ
３０    コンピュータ
３１    入力装置
３２    出力装置
３３    記録媒体読取装置
３４    補助記憶装置
３５    主記憶装置
３６    演算処理装置
３７    インターフェース装置
３８    記録媒体
３９    バス
４０    回路性能見積装置
４１    タームライブラリ（term library）生成部
４２    モデル式生成部
４３    モデル式選択部
４４    モンテカルロシミュレーション部
４５    タームライブラリＤＢ
４６    モデル式ＤＢ
４７    ルールＤＢ
４８    遺伝的アルゴリズムＤＢ
５１    タームによるモデル式生成部
５２    インデックス付与部
５３    遺伝子生成部
５４    遺伝的アルゴリズム処理部
５５    遺伝子によるモデル式生成部
５６    ルール判定部
１００    タームライブラリ
１０１    モデル式
【図１】
0005482562.tif 000007
【図２】
0005482562.tif 000008
【図３】
0005482562.tif 000009
【図４】
0005482562.tif 000010
【図５】
0005482562.tif 000011
【図６】
0005482562.tif 000012
【図７】
0005482562.tif 000013
【図８】
0005482562.tif 000014
【図９】
0005482562.tif 000015
【図１０】
0005482562.tif 000016
【図１１】
0005482562.tif 000017
【図１２】
0005482562.tif 000018
【図１３】
0005482562.tif 000019
【図１４】
0005482562.tif 000020
【図１５】
0005482562.tif 000021