(57)【要約】【課題】素子の配置位置に応じた素子特性のばらつきを正確かつ容易に回路シミュレーションする回路シミュレーション方法を得ること。【解決手段】回路シミュレーション装置１は、集積回路の回路設計時に用いられる素子のシンボルを格納するシンボルライブラリ１１と、ＳＰＩＣＥモデルを記憶するＳＰＩＣＥモデル記憶部１３と、を有するとともに、素子のシンボルに素子の配置位置に関する位置情報を設定し、素子の位置情報に対応する変数が設定されたＳＰＩＣＥモデルのモデルパラメータと、シンボルに設定された位置情報と、を用いて集積回路の回路シミュレーションを行う。【選択図】        図１
2010134775.tif 000002
【特許請求の範囲】
【請求項１】
集積回路の回路設計時に用いられる素子のシンボルに、前記素子の配置位置に関する位置情報を設定する位置情報設定ステップと、
前記素子の位置情報に対応する変数が設定された前記素子のモデルパラメータと、前記シンボルに設定された位置情報と、を用いて前記集積回路の回路シミュレーションを行うシミュレーションステップと、
を含むことを特徴とする回路シミュレーション方法。
【請求項２】
前記位置情報設定ステップは、
前記集積回路のレイアウトデータから前記素子の位置情報を抽出して前記シンボルに設定することを特徴とする請求項１に記載の回路シミュレーション方法。
【請求項３】
複数種類の回路シミュレーション方法の中から前記位置情報を用いた回路シミュレーションを行うよう回路シミュレーション方法を設定するシミュレーション方法設定ステップをさらに含むことを特徴とする請求項１または２に記載の回路シミュレーション方法。
【請求項４】
請求項１〜３のいずれか１つに記載の回路シミュレーション方法をコンピュータに実行させる回路シミュレーションプログラム。
【請求項５】
集積回路の回路設計時に用いられる素子のシンボルに、前記素子の配置位置に関する位置情報を設定する位置情報設定部と、
前記素子の位置情報に対応する変数が設定された前記素子のモデルパラメータと、前記シンボルに設定された位置情報と、を用いて前記集積回路の回路シミュレーションを行うシミュレーション部と、
を備えることを特徴とする回路シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路シミュレーション方法、回路シミュレーションプログラムおよび回路シミュレーション装置に関するものである。
【背景技術】
【０００２】
近年、多様な解析機能を持った回路シミュレータ（回路シミュレーション装置）を使って確度の高い集積回路の設計が行なわれている。回路の解析方法の１つとして、素子のプロセス変動の影響を調べるばらつき解析がある。このばらつき解析としては、主にコーナー解析、モンテカルロ解析の２種類の解析方法が用いられている。
【０００３】
コーナー解析は、プロセス変動の度合いを反映させたモデルパラメータ（複数のばらつき条件）を用意しておき、用意したばらつき条件の中から１つのばらつき条件を選択して回路シミュレーションを実行する方法である。設計者は、モデルパラメータのセクションと呼ばれる選択スイッチを切り替えることで、各種条件の回路シミュレーションを実施する。
【０００４】
モンテカルロ解析は、回路パラメータのうちのいくつかにランダムな変動を加えた条件を使った回路シミュレーションを多数回実行し、その結果を統計的に解析する方法である。このモンテカルロ解析では、素子のばらつきを解析するために、モデルパラメータの中の所定のものにランダムな変動を加えるようになっている。これにより、設計者は、統計処理された結果を参考にして、プロセス変動の影響を見積もることができる。
【０００５】
これらのばらつき解析では、素子の特性変動のレイアウト依存性を解析することはできなかった。例えば、素子の特性を同じにするために、素子の配置の向きを揃えたり近くに配置したりした場合に、レイアウト上の対策の効果を解析することはできなかった。
【０００６】
そこで、特許文献１に記載のばらつき解析方法では、素子の位置情報から特性や形状の位置依存変動量を計算し、回路情報を補正したうえで、回路シミュレーションを実行している。
【０００７】
しかしながら、上記従来の技術では、シミュレーションを実行する前に特性や形状の位置依存変動量を計算しなければならないので、シミュレーションを実行するまでに手間と時間を要するという問題があった。
【０００８】
【特許文献１】特開２００７−２１３１３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、素子の配置位置に応じた素子特性のばらつきを正確かつ容易に回路シミュレーションする回路シミュレーション方法、回路シミュレーションプログラムおよび回路シミュレーション装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
本願発明の一態様によれば、集積回路の回路設計時に用いられる素子のシンボルに、前記素子の配置位置に関する位置情報を設定する位置情報設定ステップと、前記素子の位置情報に対応する変数が設定された前記素子のモデルパラメータと、前記シンボルに設定された位置情報と、を用いて前記集積回路の回路シミュレーションを行うシミュレーションステップと、を含むことを特徴とする回路シミュレーション方法が提供される。
また、本願発明の一態様によれば、集積回路の回路設計時に用いられる素子のシンボルに、前記素子の配置位置に関する位置情報を設定する位置情報設定部と、前記素子の位置情報に対応する変数が設定された前記素子のモデルパラメータと、前記シンボルに設定された位置情報と、を用いて前記集積回路の回路シミュレーションを行うシミュレーション部と、を備えることを特徴とする回路シミュレーション装置が提供される。
【発明の効果】
【００１１】
この発明によれば、素子の配置位置に応じた素子特性のばらつきを正確かつ容易に回路シミュレーションすることが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明に係る回路シミュレーション方法、回路シミュレーションプログラムおよび回路シミュレーション装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
（実施の形態）
図１は、本発明の実施の形態に係る回路シミュレーション装置の構成を示す機能ブロック図である。回路シミュレーション装置１は、集積回路の回路シミュレーションを行う装置であり、集積回路を構成する素子の配置情報を、回路シミュレーションを行う際に用いるモデルパラメータ（回路特性をシミュレーションするための条件ファイル）の変数に導入して回路シミュレーションを行う。回路シミュレーション装置１は、例えば集積回路の設計を行うＣＡＤ（Computer  Aided  Design）装置などに組み込まれている。
【００１４】
回路シミュレーション装置１は、シンボルライブラリ１１、スケマティックデータ生成部１２、ＳＰＩＣＥモデル記憶部１３、解析方法設定部１４、指示入力部１５、レイアウトデータ記憶部１６、素子認識データ生成部１７、ネットリスト作成部１８、回路シミュレーション処理部１９、解析結果出力部２０、制御部２１を有している。
【００１５】
シンボルライブラリ１１は、解析対象となる素子のシンボルを記憶するメモリなどである。シンボルライブラリ１１が記憶している素子のシンボルは、集積回路の回路設計時に用いられる情報であり、回路図上に配置される記号、素子に関する種々の情報（プロパティ（属性）、モデル名、サイズ、プロセス情報など）を含んで構成されている。
【００１６】
スケマティックデータ生成部１２は、シンボルライブラリ１１が記憶しているシンボルを用いてスケマティックデータ（図式のデータ）を生成する。スケマティックデータ生成部１２は、指示入力部１５から所定の指示情報が入力された場合には、この指示情報に基づいてスケマティックデータを生成する。スケマティックデータ生成部１２は、指示入力部１５に素子を指定する指示情報が入力されると、指定された素子のシンボルをシンボルライブラリ１１から抽出する。また、スケマティックデータ生成部１２は、指示入力部１５に素子の座標値を指定する指示情報が入力されると、指定された座標値（位置情報）を素子のシンボルに対応付ける。これにより、本実施の形態では、シンボルのプロパティに、素子の配置される位置の情報（座標）を対応付けておく。スケマティックデータ生成部１２は、生成したスケマティックデータや、プロパティとして素子の座標値を登録したシンボルを、ネットリスト作成部１８に入力する。
【００１７】
ＳＰＩＣＥモデル記憶部１３は、ＳＰＩＣＥ（Simulation  Program  with  Integrated  Circuit  Emphasis）モデルを記憶するメモリなどである。ＳＰＩＣＥモデルは、ＳＰＩＣＥシミュレーションプログラムで用いられるモデルであり、ＳＰＩＣＥパラメータ（モデルパラメータ）などを含んで構成されている。本実施の形態のモデルパラメータは、座標値を変数としたパラメータ（位置情報に対応する変数）を含んで構成されており、回路シミュレーション装置１は、この座標値を変数としたパラメータと、座標値と、を用いて集積回路の回路シミュレーションを行う。
【００１８】
解析方法設定部１４は、指示入力部１５からの指示情報に基づいて、素子の座標値を用いた回路シミュレーションまたは従来の回路シミュレーションの何れかを回路シミュレーション方法に設定する。
【００１９】
指示入力部１５は、スケマティックデータの生成に用いる素子を指定する指示情報、この素子の座標値を指定する指示情報、回路シミュレーション方法の種類を指定する指示情報などを入力する。レイアウトデータ記憶部１６は、回路シミュレーションに用いる集積回路のレイアウトデータを記憶するメモリなどである。
【００２０】
素子認識データ生成部（設計支援装置）１７は、レイアウトデータ記憶部１６が記憶しているレイアウトデータを用いて素子認識を行う。素子認識データ生成部１７は、素子認識として、レイアウトデータから素子や配線に関する情報を抽出してＥｘｔｒａｃｔｅｄデータ（素子抽出図面）を生成する。素子認識データ生成部１７は、素子抽出図面に各素子の座標値を含めておく。素子認識データ生成部１７は、生成した素子抽出図面をネットリスト作成部１８に入力する。
【００２１】
ネットリスト作成部１８は、スケマティックデータ生成部１２が生成したスケマティックデータと、ＳＰＩＣＥモデル記憶部１３内のＳＰＩＣＥモデルと、を用いてネットリストを作成する。ネットリストは、集積回路内の素子に関する情報である。ネットリストでは、素子名、素子の種類、素子の接続先などの情報が素子毎に対応付けられている。素子認識データ生成部１７が素子抽出図面をネットリスト作成部１８に入力した場合、ネットリスト作成部１８は、素子抽出図面を用いてネットリストを作成する。
【００２２】
回路シミュレーション処理部１９は、ネットリスト作成部１８が作成したネットリストを用いて集積回路の回路シミュレーションを行う。ネットリストには素子の座標値などが含まれており、回路シミュレーション処理部１９は、素子の座標値を用いて回路シミュレーションを行う。回路シミュレーション処理部１９は、解析方法設定部１４が所定の回路シミュレーション方法を設定した場合には、設定された回路シミュレーション方法によって集積回路の回路シミュレーションを行う。
【００２３】
解析結果出力部２０は、回路シミュレーション処理部１９による回路シミュレーション結果を表示または外部出力する。制御部２１は、シンボルライブラリ１１、スケマティックデータ生成部１２、ＳＰＩＣＥモデル記憶部１３、解析方法設定部１４、指示入力部１５、レイアウトデータ記憶部１６、素子認識データ生成部１７、ネットリスト作成部１８、回路シミュレーション処理部１９、解析結果出力部２０を制御する。
【００２４】
なお、回路シミュレーション装置１のスケマティックデータ生成部１２や素子認識データ生成部１７が特許請求の範囲に記載の位置情報設定部に対応し、ネットリスト作成部１８、回路シミュレーション処理部１９が特許請求の範囲に記載のシミュレーション部に対応する。
【００２５】
図２は、実施の形態に係る回路シミュレーション装置のハードウェア構成を示す図である。回路シミュレーション装置１は、ＣＰＵ（Central  Processing  Unit）９１、ＲＯＭ（Read  Only  Memory）９２、ＲＡＭ（Random  Access  Memory）９３、表示部９４、入力部９５を有している。回路シミュレーション装置１では、これらのＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、表示部９４、入力部９５がバスラインを介して接続されている。
【００２６】
ＣＰＵ９１は、回路シミュレーションを行うコンピュータプログラムである回路シミュレーションプログラム９７を用いて集積回路の回路シミュレーションを行う。表示部９４は、液晶モニタなどの表示装置であり、ＣＰＵ９１からの指示に基づいて、回路シミュレーションを行う際の種々の情報（シンボル、スケマティックデータ、ＳＰＩＣＥモデル、レイアウトデータ、素子抽出図面、ネットリスト、解析方法の設定画面、回路シミュレーション結果など）を表示する。入力部９５は、マウスやキーボードを備えて構成され、使用者から外部入力される指示情報を入力する。入力部９５へ入力された指示情報は、ＣＰＵ９１へ送られる。
【００２７】
回路シミュレーションプログラム９７は、ＲＯＭ９２内に格納されており、バスラインを介してＲＡＭ９３へロードされる。ＣＰＵ９１はＲＡＭ９３内にロードされた回路シミュレーションプログラム９７を実行する。具体的には、回路シミュレーション装置１では、使用者による入力部９５からの指示入力に従って、ＣＰＵ９１がＲＯＭ９２内から回路シミュレーションプログラム９７を読み出してＲＡＭ９３内のプログラム格納領域に展開して各種処理を実行する。ＣＰＵ９１は、この各種処理に際して生じる各種データをＲＡＭ９３内に形成されるデータ格納領域に一時的に記憶させておく。
【００２８】
本実施の形態の回路シミュレーション装置１で実行される回路シミュレーションプログラム９７は、前述の各部（シンボルライブラリ１１、スケマティックデータ生成部１２、ＳＰＩＣＥモデル記憶部１３、解析方法設定部１４、指示入力部１５、レイアウトデータ記憶部１６、素子認識データ生成部１７、ネットリスト作成部１８、回路シミュレーション処理部１９、解析結果出力部２０、制御部２１）を含むモジュール構成となっており、上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【００２９】
なお、本実施形態の回路シミュレーション装置１で実行される回路シミュレーションプログラム９７を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の回路シミュレーション装置１で実行される回路シミュレーションプログラム９７をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態の回路シミュレーションプログラム９７を、ＲＯＭ等に予め組み込んで回路シミュレーション装置１に提供するように構成してもよい。
【００３０】
つぎに、実施の形態に係る回路シミュレーション装置１の動作手順を説明する。図３は、回路シミュレーション装置の動作手順を示すフローチャートである。予め、シンボルライブラリ１１へは素子のシンボルを登録し、ＳＰＩＣＥモデル記憶部１３へは、ＳＰＩＣＥモデルを登録し、レイアウトデータ記憶部１６へは、レイアウトデータを登録しておく（ステップＳ１０）。解析方法設定部１４は、指示入力部１５からの指示情報に基づいて、素子の座標値を用いた回路シミュレーションまたは従来の回路シミュレーションを回路シミュレーション方法に設定する。ここでは、素子の座標値を用いた回路シミュレーション（実施の形態に係る回路シミュレーション）方法が、解析方法設定部１４に設定された場合について説明する。
【００３１】
回路シミュレーション装置１は、例えば図４に示す回路２の回路シミュレーションを行う。図４は、カレントミラーを有した回路の一例を示す図である。回路シミュレーション装置１は、図４の回路２を用いて、カレントミラーを構成するトランジスタのペア性を解析する。
【００３２】
回路２は、カレントミラー２５と、このカレントミラー２５の出力側に接続される電源３１〜３３と、を含んで構成されている。回路シミュレーション装置１は、端子（Ｉｏｕｔ１、Ｉｏｕｔ２、Ｉｏｕｔ３）から電源３１〜３３へ出力される電流値を、カレントミラー２５内の各素子の座標値を用いて回路シミュレーションする。図５は、カレントミラーの構成の一例を示す図である。同図に示すように、カレントミラー２５は、複数の素子Ｍ０〜Ｍ５を含んで構成されている。そして、カレントミラー２５のＩｏｕｔ１、Ｉｏｕｔ２、Ｉｏｕｔ３がそれぞれ、電源３１〜３３に接続されている。
【００３３】
スケマティックデータ生成部１２は、シンボルライブラリ１１内のシンボルを参照してスケマティックデータを生成する（ステップＳ２０）。このとき、指示入力部１５に素子を指定する指示情報が入力されると、スケマティックデータ生成部１２は、指定された素子のシンボルをシンボルライブラリ１１から抽出する。また、指示入力部１５から素子の座標値を指定する指示情報が入力されると（ステップＳ３０、Ｙｅｓ）、スケマティックデータ生成部１２は、指定された座標値を素子のシンボルに対応付ける（ステップＳ４０）。
【００３４】
なお、スケマティックデータ生成部１２は、素子の座標値となるデフォルト値（例えば、ｘ＝０、ｙ＝０）を予め素子毎に設定しておき、このデフォルト値を素子のシンボルに対応付けてもよい。また、各素子の座標値として座標原点をデフォルト値に設定しておき、素子の座標値が入力された場合に、スケマティックデータ生成部１２が指定された座標値を素子のシンボルに対応付けてもよい。スケマティックデータ生成部１２は、生成したスケマティックデータや、素子の座標値が対応付けられたシンボルを、ネットリスト作成部１８に入力する。
【００３５】
一方、指示入力部１５に、素子を指定する指示情報や素子の座標値を指定する指示情報が入力されない場合（ステップＳ３０、Ｎｏ）、素子認識データ生成部１７は、レイアウトデータ記憶部１６が記憶しているレイアウトデータを用いて素子認識を行う。具体的には、素子認識データ生成部１７は、レイアウトデータから素子や配線に関する情報（回路素子や寄生素子）を抽出して素子抽出図面を生成し、素子抽出図面に各素子の座標値を対応付けしておく（ステップＳ５０）。これにより、配線の影響等のレイアウトパターンに依存する寄生の影響を考慮した回路シミュレーションを従来よりも正確に行うことが可能となる。
【００３６】
図６は、レイアウトデータを用いた素子認識図面の生成方法を説明するための図である。図６では、カレントミラー２５がＰＭＯＳ４１，４２、ＮＭＯＳ５１〜５４を有している場合を示している。なお、ここでのＰＭＯＳ４１が素子Ｍ０に対応しＰＭＯＳ４２が素子Ｍ１に対応している。また、ここでのＮＭＯＳ５１〜５４がそれぞれ素子Ｍ２〜Ｍ５に対応している。
【００３７】
カレントミラー２５では、例えばＮＭＯＳ５４がＮＭＯＳ５１〜５３から離されて配置される場合がある。そして、各素子の配置によって、カレントミラー２５からの出力値（Ｉｏｕｔ１〜３）に差が生じる場合がある。そこで、本実施の形態の素子認識データ生成部１７は、カレントミラー２５のレイアウトデータから素子や配線に関する情報を抽出して素子抽出図面を生成し、素子抽出図面に各素子（ＰＭＯＳ４１，４２、ＮＭＯＳ５１〜５４）の座標値を対応付けしておく。これにより、回路シミュレーションを行う際に、各素子の配置に応じた回路シミュレーションを行うことが可能となる。
【００３８】
ネットリスト作成部１８は、スケマティックデータ生成部１２が生成したスケマティックデータと、ＳＰＩＣＥモデル記憶部１３内のＳＰＩＣＥモデルと、を参照してネットリストを作成する。このとき、ネットリスト作成部１８は、素子の座標値が対応付けされているシンボルまたは素子抽出図面を用いてネットリストを作成する（ステップＳ６０）。
【００３９】
回路シミュレーション処理部１９は、ネットリスト作成部１８が作成したネットリストを用いて集積回路の回路シミュレーションを行う（ステップＳ７０）。解析結果出力部２０は、回路シミュレーション処理部１９による回路シミュレーション結果などを表示する。
【００４０】
ここで、素子のシンボルにその素子の座標値をプロパティとして持たせた場合のシンボルの具体例について説明する。図７は、座標値を有したシンボルから生成したネットリストの一例を示す図である。図７では、素子がＭＯＳトランジスタの場合のシンボル例（シンボル情報６１）を示している。シンボル情報６１内の各素子Ｍ０〜Ｍ５の各行が表す素子情報は、接続先に関する情報、素子のモデル名、ゲート幅（Ｗ）、ゲート長（Ｌ）の他に、素子の座標値(ｘやｙ)を含んで構成されている。例えば、素子Ｍ５は、ゲート幅（Ｗ）が５μｍであり、ゲート長（Ｌ）が０．１３μｍである。さらに、素子Ｍ５は、座標値がｘ＝１１１μｍであり、ｙ＝６８μｍである。
【００４１】
なお、ここでは素子がＭＯＳトランジスタである場合を一例として示したが、素子は抵抗や容量等の他の素子であってもよい。この場合も、素子がＭＯＳトランジスタである場合と同様のシンボルによって素子を示すことができる。
【００４２】
つぎに、素子の座標値を変数としたパラメータをモデルパラメータに持たせた場合のモデルパラメータの具体例について説明する。図８は、素子の座標値を変数としたパラメータをモデルパラメータに持たせた場合のモデルパラメータファイルの一例を示す図である。図８では、ＭＯＳトランジスタのＢＳＩＭモデル中のプロセスパラメータに属するパラメータ値に座標依存性を持たせた場合のモデルパラメータファイルの一部分（モデルパラメータファイル６２）を示している。
【００４３】
モデルパラメータファイル６２内では、ｐａｒａｍｅｔｅｒｓに続く部分で、素子の座標情報（ｘ，ｙ）と相対的な位置変動の変数（ｄ＿ｔｏｘ＿ｘｙ、ｄ＿ｖｔｈ＿ｘｙ、ｄ＿ｌｉｎｔ＿ｘｙ）が定義されている。また、ｍｏｄｅｌに続く部分では、通常のモデルパラメータを示している。ここでは、ｔｏｘ等のプロセスパラメータに属するパラメータ値に位置変動の変数を加えたことにより、座標依存性を回路シミュレーションで解析できるようにしている。
【００４４】
例えば、ｘ＝０、ｙ＝０を基準値とした場合のＭＯＳトランジスタの酸化膜厚（ｄ＿ｔｏｘ＿ｘｙ）を示すパラメータ（変動値）は、素子の座標値を用いて０．３Ｅ−９＊（（ｘ＊ｘ）＋（ｙ＊ｙ））などによって表すことができる。また、ＭＯＳトランジスタの閾値電圧（ｄ＿ｖｔｈ０＿ｘｙ）を示すパラメータは、素子の座標値を用いて０．１＊（（ｘ＊ｘ）＋（ｙ＊ｙ））などによって表すことができる。また、実効的なチャネル長を決めるパラメータ（ｄ＿ｌｉｎｔ＿ｘｙ）は、素子の座標値を用いて１．０Ｅ−０８＊（（ｘ＊ｘ）＋（ｙ＊ｙ））などによって表すことができる。
【００４５】
したがって、ＭＯＳトランジスタの酸化膜厚（ｔｏｘ）は、（ｄ＿ｔｏｘ＿ｘｙ）を用いて、３Ｅ−９＋ｄ＿ｔｏｘ＿ｘｙなどによって表すことができる。また、ＭＯＳトランジスタの閾値電圧（ｖｔｈ０）は、（ｄ＿ｖｔｈ０＿ｘｙ）を用いて、０．１＋ｄ＿ｖｔｈ０＿ｘｙなどによって表すことができる。また、実効的なチャネル長（ｌｉｎｔ）は、（ｄ＿ｌｉｎｔ＿ｘｙ）を用いて、１ｅ−８＋＿ｄ＿ｌｉｎｔ＿ｘｙなどによって表すことができる。
【００４６】
これにより、例えば、回路シミュレーションの高精度化のために抵抗素子のモデルに寄生容量を持たせたマクロモデルを用いる場合であっても、その寄生容量を計算する係数に座標依存性を持たせることができる。
【００４７】
つぎに、モデルパラメータに素子の座標依存性を解析するためのセクション（回路シミュレーション方法の種類を指定する部分）を持たせた場合の解析方法設定画面について説明する。本実施の形態の回路シミュレーション装置１は、コーナー解析、モンテカルロ解析、素子の座標（位置）を用いた解析などの複数種類の回路シミュレーション方法の中から何れかの回路シミュレーション方法を選択するための表示画面を表示部９４に表示させる。素子の座標を用いた解析方法を選択する指示が指示入力部１５から入力されると、回路シミュレーション装置１は、素子の座標を用いた本実施の形態に係る解析方法を実行する。具体的には、回路シミュレーション装置１は、素子の座標を用いた解析方法に対応する変数（素子の座標を用いた変数）をモデルパラメータに設定して回路シミュレーションを行う。
【００４８】
図９は、モデルパラメータに素子の座標依存性を解析するためのセクションを持たせた場合のモデルパラメータファイルの一例を示す図である。図９では、回路シミュレーションに用いるモデルパラメータファイルの一部分（モデルパラメータファイル６３）を示している。本実施の形態のモデルパラメータファイル６３には、コーナー解析、モンテカルロ解析、素子の座標を用いた解析の何れかを実行させるために、パラメータ値の異なる複数のセクションを持たせている。例えば、素子の座標を用いた解析とセクションの「ｘｙ」を対応付けておく。そして回路シミュレーション装置１は、セクションとして「ｘｙ」が入力（選択）された場合には、図８に示したパラメータと同様のパラメータ値を用いて回路シミュレーションを行う。
【００４９】
回路シミュレーション装置１は、素子の座標を用いた回路シミュレーションを行う際に、必要に応じて素子の座標設定画面を表示部９４に表示させる。換言すると、素子の座標に応じたばらつき解析を示すセクション名（解析条件）が使用者によって指定されると、表示部９４は素子の座標設定画面を表示する。素子の座標設定画面としては、素子の座標（ｘ，ｙ）を入力させる画面であってもよいし、図６に示す素子の配置を指定する画面であってもよい。
【００５０】
また、本実施の形態の回路シミュレーション装置１は、レイアウトデータから素子抽出を行なう際に、素子プロパティに素子の座標値を持たせている。図１０は、レイアウトデータから素子の座標値を抽出した際の画面（素子座標表示画面７１）の一例を示す図である。素子認識データ生成部１７は、レイアウトデータから素子抽出を行なう際に、素子の座標値を抽出し、素子プロパティに座標値を対応付けしておく。従来、素子抽出を行う際には、レイアウトデータから素子およびその素子のプロパティ値を抽出していた。本実施の形態の回路シミュレーション装置１は、素子および素子のプロパティ値とともに、素子の配置されている座標値（ｘ，ｙ）を抽出しておく。そして、回路シミュレーション装置１は、抽出した座標値を素子プロパティに登録するとともに、素子座標表示画面７１内の座標表示エリア７２，７３に表示させる。ここでは、座標表示エリア７２に素子のｘ座標を表示させ、座標表示エリア７３に素子のｙ座標を表示させる場合を示している。なお、本実施の形態のばらつき解析では、複数の素子間の回路特性の違いを評価することを目的の１つとしているので、素子の座標値は集積回路上の絶対的な位置情報である必要はなく素子間の相対的な位置情報でよい。
【００５１】
このように、本実施の形態では、素子のシンボルにその素子の座標値をプロパティとして持たせている。また、モデルパラメータに、素子の座標値を変数としたパラメータを持たせている。また、モデルパラメータに、素子の座標依存性を解析するためのセクション（解析条件に対応するパラメータ）を持たせている。また、レイアウトデータから素子と素子の座標を抽出し、素子プロパティに素子の座標値を持たせている。
【００５２】
図１１は、素子の座標値を用いた回路シミュレーションの結果を示す図である。図１１では、図４に示した回路２の素子の座標値を指示入力部１５から入力した場合の回路シミュレーションの結果を示している。ここでは、電源３１へ流れる電流値がｉ＝１１６．２μＡであり、電源３２へ流れる電流値がｉ＝１１５．９μＡであり、電源３３へ流れる電流値がｉ＝１１４．４μＡである場合を示している。このように、素子の配置位置の違いによってカレントミラー２５からの出力値に誤差が生じる場合であっても、回路シミュレーション装置１は素子の配置位置に応じた回路シミュレーションを行うことが可能となる。これにより、素子の配置位置に応じた素子特性のミスマッチの影響を解析することが可能となる。
【００５３】
図１２は、レイアウトデータから抽出した素子の座標を用いた回路シミュレーションの結果を示す図である。図１２では、図４に示した回路２の素子の座標値をレイアウトデータから抽出した場合の回路シミュレーションの結果を示している。ここでは、電源３１へ流れる電流値がｉ＝１１３．８μＡであり、電源３２へ流れる電流値がｉ＝１１２．７μＡであり、電源３３へ流れる電流値がｉ＝１１０．９μＡである場合を示している。
【００５４】
ところで、レイアウトデータから素子の配線寄生を抽出し、抽出した配線寄生の影響のみを考慮して回路シミュレーションを行った場合、電源３１へ流れる電流値はｉ＝１１３．９μＡであった。また、電源３２へ流れる電流値はｉ＝１１３．２μＡであり、電源３３へ流れる電流値はｉ＝１１２．７μＡであった。
【００５５】
カレントミラー２５では、実際の各電源３１〜３３へ流れる電流値が、素子の配置座標によって異なるものとなっている。ところが、素子の座標値や配線寄生の影響を無視して電源３１〜３３へ流れる電流値を回路シミュレーション（コーナー解析）すると、各電源３１〜３３へ流れる電流値が同じとなる。換言すると、実際に各電源３１〜３３へ流れる電流値の差を正確に回路シミュレーションできていなければ、各電源３１〜３３へ流れる電流値は略同じとなる。
【００５６】
例えば、素子の配線寄生の影響を考慮して回路シミュレーションを行った場合には、各電源３１〜３３へ流れる電流値の差が小さい。一方、配線寄生と素子の座標の影響との両方を考慮して回路シミュレーションを行った場合、電源３１〜３３へ流れる電流値の差が大きくなる。したがって、素子の座標の影響を考慮して回路シミュレーションを行なうことによって、正確な回路シミュレーションを行うことが可能となる。このように、素子の座標値をレイアウトデータから抽出した場合であっても、回路シミュレーション装置１は素子の配置に応じた回路シミュレーションを行うことが可能となる。この後、素子特性のばらつきを考慮して集積回路の設計を行うとともに、設計した集積回路を用いて半導体デバイスが製造される。
【００５７】
このように、回路シミュレーション装置１は、集積回路を構成する素子の配置情報を回路シミュレーションの際に用いるモデルパラメータの変数に導入している。これにより、素子の位置依存性を考慮した回路シミュレーションを実行することが可能となる。換言すると、従来の回路シミュレーション方法ではできなかったレイアウトパターンに依存した素子マッチングの影響を解析できる。これにより、素子特性のばらつきとして、所定の傾向を有したシステマティックばらつきを解析することが可能となる。また、本実施の形態の解析と従来のモンテカルロ解析を組み合わせることにより、ランダムなばらつきを従来よりも正確に解析することが可能となる。
【００５８】
なお、本実施の形態では、回路シミュレーション装置１が解析方法設定部１４、レイアウトデータ記憶部１６、素子認識データ生成部１７を有している場合について説明したが、回路シミュレーション装置１は、これらの解析方法設定部１４、レイアウトデータ記憶部１６、素子認識データ生成部１７を有していなくてもよい。回路シミュレーション装置１がレイアウトデータ記憶部１６や素子認識データ生成部１７を有していない場合には、指示入力部１５から素子の座標値を入力して集積回路の回路シミュレーションを行う。また、回路シミュレーション装置１が解析方法設定部１４を有していない場合には、回路シミュレーション装置１は、素子の座標を用いた解析方法によって集積回路の回路シミュレーションを行う。
【００５９】
また、本実施の形態では、複数の出力値を回路シミュレーションして各出力値を比較する場合について説明したが、１つの出力値を回路シミュレーションしてもよい。この場合であっても、素子の座標に応じた正確な回路シミュレーションを行うことができる。
【００６０】
このように実施の形態によれば、回路シミュレーションの際に用いるモデルパラメータの変数に素子の配置位置を導入しているので、素子の配置位置に応じた素子特性（回路特性）のばらつきを正確かつ容易に解析することが可能となる。
【００６１】
また、現行の回路シミュレーションフローと処理フローが同一であるので、現行の回路シミュレーションプログラムを用いて容易に回路シミュレーションを行うことが可能となる。
【００６２】
また、レイアウトデータから素子の座標値を抽出するとともに、抽出した座標値を用いて回路シミュレーションを行うので、素子の配置位置に応じた素子特性のばらつきを正確かつ容易に解析することが可能となる。また、複数種類の回路シミュレーション方法の中から何れかの回路シミュレーション方法を設定するので、種々の回路シミュレーション方法を行うことが可能となる。
【図面の簡単な説明】
【００６３】
【図１】実施の形態に係る回路シミュレーション装置の構成を示す機能ブロック図である。
【図２】実施の形態に係る回路シミュレーション装置のハードウェア構成を示す図である。
【図３】回路シミュレーション装置の動作手順を示すフローチャートである。
【図４】カレントミラーを有した回路の一例を示す図である。
【図５】カレントミラーの構成の一例を示す図である。
【図６】レイアウトデータを用いた素子認識図面の生成方法を説明するための図である。
【図７】座標値を有したシンボルから生成したネットリストの一例を示す図である。
【図８】素子の座標値を変数としたパラメータをモデルパラメータに持たせた場合のモデルパラメータファイルの一例を示す図である。
【図９】モデルパラメータに素子の座標依存性を解析するためのセクションを持たせた場合のモデルパラメータファイルの一例を示す図である。
【図１０】レイアウトデータから素子の座標値を抽出した際の画面の一例を示す図である。
【図１１】素子の座標値を用いた回路シミュレーションの結果を示す図である。
【図１２】レイアウトデータから抽出した素子の座標を用いた回路シミュレーションの結果を示す図である。
【符号の説明】
【００６４】
１  回路シミュレーション装置、１２  スケマティックデータ生成部、１４  解析方法設定部、１７  素子認識データ生成部、１８  ネットリスト作成部、１９  回路シミュレーション処理部、６１  シンボル情報、６２，６３  モデルパラメータファイル
【図１】
2010134775.tif 000003
【図２】
2010134775.tif 000004
【図３】
2010134775.tif 000005
【図４】
2010134775.tif 000006
【図５】
2010134775.tif 000007
【図６】
2010134775.tif 000008
【図７】
2010134775.tif 000009
【図８】
2010134775.tif 000010
【図９】
2010134775.tif 000011
【図１０】
2010134775.tif 000012
【図１１】
2010134775.tif 000013
【図１２】
2010134775.tif 000014