(57)【要約】      （修正有）【課題】検証対象の回路が要求特性を満たしているか否かを、製造ばらつきを考慮して短時間で実行。【解決手段】回路のネットリストを格納する回路情報格納部１０と、検証する第１回路特性の種類を提供する検証項目提供部２０と、各種素子の特性を、製造ばらつき範囲の下限値、Ｔｙｐ値、上限値の複数のパラメータファイルを格納するパラメータ格納部４０と、回路に含まれる第１素子及び第２素子のそれぞれに対して、最小値用又は最大値用ばらつき項目リスト生成部５０と、最小値と最大値との少なくとも一方を検証することを含むシミュレーション条件提供部６０と、最小値と最大値との少なくとも一方を検証する情報に基づいて、製造ばらつき情報を生成する製造ばらつき情報生成部７０と、製造ばらつき情報と、ネットリストと、シミュレーション条件とに基づいて、回路シミュレーションを実行する回路シミュレーション実行部９０とを具備する。【選択図】図７
2012073752.tif 000002
【特許請求の範囲】
【請求項１】
検証対象の回路のネットリストを格納する回路情報格納部と、
検証する第１回路特性の種類を提供する検証項目提供部と、
前記回路に含まれる各種素子の特性を、製造ばらつき範囲の下限値、Ｔｙｐｉｃａｌ値、及び上限値の３つの水準で表した、回路シミュレーション用の複数のパラメータファイルを格納するパラメータ格納部と、
前記ネットリストと前記第１回路特性の種類とを受け取り、前記第１回路特性を表す値が製造ばらつきによって取り得る最小値又は最大値になるように、前記回路に含まれる第１素子及び第２素子のそれぞれに対して、前記３つの水準の何れかを設定した最小値用ばらつき項目リスト又は最大値用ばらつきリストを生成するばらつき項目リスト生成部と、
前記最小値と前記最大値との少なくとも一方を検証することを含むシミュレーション条件を提供するシミュレーション条件提供部と、
前記シミュレーション条件における、前記最小値と前記最大値との少なくとも一方を検証する情報に基づいて、対象となるばらつき項目リストを取得し、前記対象となるばらつき項目リストに基づいて、前記第１素子に第１パラメータファイルの第１水準を適用し、前記第２素子に第２パラメータファイルの第２水準を適用した製造ばらつき情報を生成する製造ばらつき情報生成部と、
前記製造ばらつき情報を受け取ると、前記ネットリストと、前記シミュレーション条件を取得して、回路シミュレーションを実行する回路シミュレーション実行部と
を具備する
シミュレーション装置。
【請求項２】
請求項１に記載のシミュレーション装置であって、
所定の機能を実現するための複数の回路構成と、複数の回路特性の種類と、前記複数の回路特性の各々を計算するための複数の計算式とを関連付けて格納する回路構成格納部
を更に具備し、
前記ばらつき項目リスト生成部は、
前記ネットリストと前記第１回路特性の種類とを受け取ると、前記回路構成格納部を参照して、前記第１回路特性の種類に関連付けられた複数の第１回路構成の中から、前記ネットリストに適合する第２回路構成を選択する構成選択部と、
前記第２回路構成に関連付けられた、前記第１回路特性を計算するための第１計算式を抽出する計算式抽出部と、
前記第１計算式で表される前記第１回路特性を表す値が前記最小値又は前記最大値になるように、前記第１素子に前記第１パラメータファイルの前記第１水準を設定し、前記第２素子に前記第２パラメータファイルの前記第２水準を設定し、前記最小値用ばらつき項目リスト又は前記最大値用ばらつきリストを生成するリスト化部と
を備える
シミュレーション装置。
【請求項３】
請求項２に記載のシミュレーション装置であって、
前記第１計算式は、前記第１素子に関連する計算式であり、
前記第１水準は、前記下限値又は上限値であり、
前記第２水準は、前記Ｔｙｐｉｃａｌ値である
シミュレーション装置。
【請求項４】
請求項３に記載のシミュレーション装置であって、
前記リスト化部は、
前記パラメータ格納部を参照して、前記第１計算式に含まれる複数の変数の中で、前記第１パラメータファイルに含まれる第１パラメータを抽出するパラメータ抽出部と、
前記第１計算式で表される前記第１回路特性を表す値が前記最小値又は前記最大値になるときの前記第１パラメータの値が含まれるように、前記第１素子に前記第１パラメータファイルの前記下限値又は前記上限値である前記第１水準を設定し、前記第１計算式に関連していない前記第２素子に、前記第２パラメータファイルの前記Ｔｙｐｉｃａｌ値である前記第２水準を設定し、前記最小値用ばらつき項目リスト又は前記最大値用ばらつきリストを生成する水準設定部と
を含む
シミュレーション装置。
【請求項５】
請求項４に記載のシミュレーション装置であって、
前記水準設定部は、前記第１計算式で表される前記第１回路特性を表す値が前記最小値又は前記最大値になるときに、前記第１パラメータの値が前記下限値と前記上限値との両方の値を必要とする場合、前記第１回路特性に最も影響を与える前記第１パラメータファイルの前記下限値又は前記上限値の何れか一方を、前記第１素子の前記第１水準として設定する
シミュレーション装置。
【請求項６】
検証対象の回路のネットリストを取得するステップと、
検証する第１回路特性の種類を提供するステップと、
前記回路に含まれる各種素子の特性を、製造ばらつき範囲の下限値、Ｔｙｐｉｃａｌ値、及び上限値の３つの水準で表した、回路シミュレーション用の複数のパラメータファイルを格納したパラメータ格納部を参照して、前記第１回路特性を表す値が製造ばらつきによって取り得る最小値又は最大値になるように、前記回路に含まれる第１素子及び第２素子のそれぞれに対して、前記３つの水準の何れかを設定した最小値用ばらつき項目リスト又は最大値用ばらつきリストを生成するステップと、
前記最小値と前記最大値との少なくとも一方を検証することを含むシミュレーション条件を提供するステップと、
前記シミュレーション条件における、前記最小値と前記最大値との少なくとも一方を検証する情報に基づいて、対象となるばらつき項目リストを取得するステップと、
前記対象となるばらつき項目リストに基づいて、前記第１素子に第１パラメータファイルの第１水準を適用し、前記第２素子に第２パラメータファイルの第２水準を適用した製造ばらつき情報を生成するステップと、
前記製造ばらつき情報と、前記ネットリストと、前記シミュレーション条件とに基づいて、回路シミュレーションを実行するステップと
を具備する
シミュレーション方法。
【請求項７】
請求項６に記載のシミュレーション方法であって、
前記最小値用ばらつき項目リスト又は前記最大値用ばらつきリストを生成するステップは、
所定の機能を実現するための複数の回路構成と、複数の回路特性の種類と、前記複数の回路特性の各々を計算するための複数の計算式とを関連付けて格納する回路構成格納部を参照して、前記第１回路特性の種類に関連付けられた複数の第１回路構成の中から、前記ネットリストに適合する第２回路構成を選択するステップと、
前記第２回路構成に関連付けられた、前記第１回路特性を計算するための第１計算式を抽出するステップと、
前記第１計算式で表される前記第１回路特性を表す値が前記最小値又は前記最大値になるように、前記第１素子に前記第１パラメータファイルの前記第１水準と、前記第２素子に前記第２パラメータファイルの前記第２水準とを設定するステップと
を備える
シミュレーション方法。
【請求項８】
請求項７に記載のシミュレーション方法であって、
前記設定するステップは、
前記第１素子に関する式である前記第１計算式に基づいて、前記第１素子に前記第１パラメータファイルの前記下限値又は前記上限値を前記第１水準として設定するステップと、
前記第１計算式に関連していない前記第２素子に、前記第２パラメータファイルの前記Ｔｙｐｉｃａｌ値を前記第２水準として設定するステップと
を含む
シミュレーション方法。
【請求項９】
請求項８に記載のシミュレーション方法であって、
前記第１素子に前記第１パラメータファイルの前記下限値又は前記上限値を前記第１水準として設定するステップは、
前記パラメータ格納部を参照して、前記第１計算式に含まれる複数の変数の中で、前記第１パラメータファイルに含まれる第１パラメータを抽出するステップと、
前記第１計算式で表される前記第１回路特性を表す値が前記最小値又は前記最大値になる前記第１パラメータの値が含まれるように、前記第１素子に前記第１パラメータファイルの前記下限値又は前記上限値である前記第１水準を設定するステップと
を含む
シミュレーション方法。
【請求項１０】
請求項９に記載のシミュレーション方法であって、
前記第１パラメータの値が含まれるように、前記第１素子に前記第１パラメータファイルの前記下限値又は前記上限値である前記第１水準を設定するステップは、
前記第１計算式で表される前記第１回路特性を表す値が前記最小値又は前記最大値になるときに、前記第１パラメータの値が前記下限値と前記上限値との両方の値を必要とする場合、前記第１回路特性に最も影響を与える前記第１パラメータファイルの前記下限値又は前記上限値の何れか一方を、前記第１素子の前記第１水準として設定するステップ
を含む
シミュレーション方法。
【請求項１１】
請求項６乃至１０の何れか一項に記載の方法をコンピュータに実行させる
シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路のシミュレーション装置、シミュレーション方法およびシミュレーションプログラムに関する。
【背景技術】
【０００２】
半導体集積回路に含まれるトランジスタ、抵抗、コンデンサといった素子は、製造に起因して特性値がばらつくことがある。しかし、半導体集積回路は、素子の特性値がばらついたとしても要求される回路特性を満たしていなくてはならない。そこで、回路の設計者は、アナログ回路を設計する場合、各素子の特性値のばらつきを考慮して、半導体集積回路が要求される回路特性を満たしているのか否かを検証することが不可欠である。近年、半導体集積回路の多機能化、高機能化に伴い、半導体集積回路の回路規模は増大している。回路に含まれる素子数や素子の種類が増えるにつれ、素子の製造ばらつきを考慮した回路シミュレーションは膨大な時間を要するようになってきた。こうした背景の下、製造ばらつきを考慮した回路シミュレーションを行う方法として、特許文献１（特開２００８−１４０３６３号公報）や、特許文献２（特開２００３−１２１５１１号公報）などが開示されている。
【０００３】
特許文献１には、半導体集積回路に含まれる素子や配線などの要素のばらつきが与える影響を、少ない時間で見積もる回路解析方法が開示されている。この回路解析方法は、要素の特性値をばらつき幅内のいずれかの代表値にするステップと、その代表値を用いて解析対象回路の特性を見積もるステップとを備えることを特徴としている。図１は、特許文献１に記載された回路解析方法のフローである。図２は、特許文献１において、解析対象となる回路３００である。以下、特許文献１による、素子３００Ｅ１〜３００Ｅ４と容量素子３００Ｅ５とのばらつきを考慮して、回路３００の特性を解析する方法を説明する。
【０００４】
図３は、図１に示したプロセス特性情報１２１である。プロセス特性情報１２１には、ＮＭＯＳ（ｍｏｓｎ１）およびＰＭＯＳ（ｍｏｓｐ１）の閾値電圧の変動量（ｄｅｌｖｔｏ）、飽和ドレイン電流（Ｉｄｓａｔ）のばらつきの最大値および最小値が設定されている。また、プロセス特性情報１２１には、容量素子（Ｃａｐ１）の容量値（ｖａｌｕｅ）のばらつき幅が設定されている。
【０００５】
図１のばらつき項目グループ化手段１３１は、回路情報１２２（回路３００）に基づいて、回路の接続関係の一部をグループ化し、ばらつき項目グループ化情報１３２を生成する。ばらつき項目グループ化情報１３２の生成は、設計者により指定する方法と、あらかじめ指定した情報に基づいて自動抽出する方法がある。ここでは、あらかじめ指定した情報に基づいて自動抽出する方法を以下に説明する。
【０００６】
図４は、ばらつき項目のグループ化を自動で行うフローを示した図である。ばらつき項目グループ化抽出手段１３１ｄは、回路情報１２２の各要素の接続関係の中から、ばらつき項目グループ化パターン情報１３１ｃと一致するパターンの抽出を行う。図５は、グループ化パターン情報１３１ｃである。回路３００の素子３００Ｅ１および素子３００Ｅ２がグループ化パターン３０１に、素子３００Ｅ３および素子３００Ｅ４がグループ化パターン３０３にマッチしているので、ばらつき項目グループ化抽出手段１３１ｄはこれらをグループとしたばらつき項目グループ化情報１３２を生成する。
【０００７】
ばらつき項目生成手段１２３は、ばらつき項目グループ化情報１３２で設定したグループ毎に、プロセス特性情報１２１及び回路情報１２２に基づいて、特性の代表値の候補をリストアップしたばらつき項目情報１２４を作成する。図６は、図２の回路３００に対応するばらつき項目情報１２４である。ここでは、素子３００Ｅ１および素子３００Ｅ２がｇｒｏｕｐ１に、素子３００Ｅ３および素子３００Ｅ４がｇｒｏｕｐ２としてグループ化されている。このように、ばらつき項目生成手段１２３は、グループに含まれる２つの要素の特性のばらつき幅の両端の組合せを、グループの代表値の候補としてリストアップする。
【０００８】
ばらつき条件生成手段１２５は、ばらつき項目情報１２４に基づいて、各素子のｍｉｎ及びｍａｘの組み合わせである、ばらつき条件（条件１、条件２・・・）を決定し、ばらつき条件情報１２６とする。ばらつき条件情報１２６は、取り得る全てのパターンを抽出してもよいし、全てのパターンの中から一部のパターンを選択してもよい。尚、ここでの詳細な説明は特許文献１を参照されたい。ばらつき量生成手段１２９は、プロセス特性情報１２１に基づいて、ばらつき項目情報１２４に対応した実際の数値であるばらつき量情報１３０を生成する。回路解析手段１２７は、ばらつき条件情報１２６の各ばらつき条件に設定されている代表値（ｍｉｎ、ｍａｘ等）に対応する数値を、ばらつき量情報１３０に基づいて割り当て、各ばらつき条件における回路解析を行い、回路解析結果１２８を生成する。このとき、総シミュレーション時間は、ばらつき条件の数にほぼ比例することになる。
【０００９】
特許文献２には、使用するプロセス固有の素子の製造ばらつき範囲と乱数とを用いて仮想的な素子の特性値を作り、その仮想的な特性値を用いた回路シミュレーションを繰り返し行うＩＣテストプログラム作成装置が開示されている。このような、ＩＣテストプログラム作成装置は、被測定ＩＣ内の各素子のパラメータの相対バラツキ等を考慮したテスト規格値を、人手を介することなく自動的に作成できるというものである。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１４０３６３号公報
【特許文献２】特開２００３−１２１５１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
半導体集積回路は、各素子の特性値がばらついたとしても要求される回路特性を満たさなくてはならない。従って、回路シミュレーションとしては、要求される回路特性を表す値が、製造ばらつきによって最小値や最大値となるときでも要求を満たしているか否かを検証することが重要である。
【００１２】
特許文献１には、回路に含まれる全ての素子の代表値（ｍｉｎ、ｍａｘ）の組み合わせ（ばらつき条件）のシミュレーションを行うとき、設計者の能力にかかわらず確実に最悪のパターンを検出することが可能であり、人手ミスの可能性が少ないとある。但し、この方法は組み合わせの数が膨大のときは検証に時間がかかるため、検証が不要な組み合わせを除外して処理時間を減らす方法も開示されている。しかし、不要な組み合わせの選定を設計者の判断に依存する場合、技術のある設計者でないと検証漏れを確実に無くすことは難しい。
【００１３】
特許文献２では、素子の製造ばらつき範囲と乱数とを用いて作った仮想的な素子の特性値を使用してシミュレーションを行なっている。しかし、乱数を用いているため検証漏れが必ず発生し、回路特性を表す値が最小値又は最大値となる製造ばらつき条件を逃している可能性が非常に高い。
【課題を解決するための手段】
【００１４】
以下に、発明を実施するための形態（実施例）で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１５】
本発明の半導体集積回路のシミュレーション装置（１）は、回路情報格納部（１０）と、検証項目提供部（２０）と、パラメータ格納部（４０）と、ばらつき項目リスト生成部（５０）と、シミュレーション条件提供部（６０）と、製造ばらつき情報生成部（７０）と、回路シミュレーション実行部（９０）とを具備する。
【００１６】
回路情報格納部（１０）は、検証対象の回路のネットリストを格納する。検証項目提供部（２０）は、検証する第１回路特性の種類を提供する。パラメータ格納部（４０）は、回路に含まれる各種素子の特性を、製造ばらつき範囲の下限値、Ｔｙｐｉｃａｌ値、及び上限値の３つの水準で表した、回路シミュレーション用の複数のパラメータファイルを格納する。ばらつき項目リスト生成部（５０）は、ネットリストと第１回路特性の種類とを受け取り、第１回路特性を表す値が製造ばらつきによって取り得る最小値又は最大値になるように、回路に含まれる第１素子及び第２素子のそれぞれに対して、３つの水準の何れかを設定した最小値用ばらつき項目リスト又は最大値用ばらつきリストを生成する。シミュレーション条件提供部（６０）は、最小値と最大値との少なくとも一方を検証することを含むシミュレーション条件を提供する。製造ばらつき情報生成部（７０）は、シミュレーション条件における、最小値と最大値との少なくとも一方を検証する情報に基づいて、対象となるばらつき項目リストを取得し、対象となるばらつき項目リストに基づいて、第１素子に第１パラメータファイルの第１水準を適用し、第２素子に第２パラメータファイルの第２水準を適用した製造ばらつき情報を生成する。回路シミュレーション実行部（９０）は、製造ばらつき情報を受け取ると、ネットリストと、シミュレーション条件を取得して、回路シミュレーションを実行する。
【００１７】
本発明のシミュレーション方法は、検証対象の回路のネットリストを取得するステップと、検証する第１回路特性の種類を提供するステップと、回路に含まれる各種素子の特性を、製造ばらつき範囲の下限値、Ｔｙｐｉｃａｌ値、及び上限値の３つの水準で表した、回路シミュレーション用の複数のパラメータファイルを格納したパラメータ格納部を参照して、第１回路特性を表す値が製造ばらつきによって取り得る最小値又は最大値になるように、回路に含まれる第１素子及び第２素子のそれぞれに対して、３つの水準の何れかを設定した最小値用ばらつき項目リスト又は最大値用ばらつきリストを生成するステップと、最小値と最大値との少なくとも一方を検証することを含むシミュレーション条件を提供するステップと、シミュレーション条件における、最小値と最大値との少なくとも一方を検証する情報に基づいて、対象となるばらつき項目リストを取得するステップと、対象となるばらつき項目リストに基づいて、第１素子に第１パラメータファイルの第１水準を適用し、第２素子に第２パラメータファイルの第２水準を適用した製造ばらつき情報を生成するステップと、製造ばらつき情報と、ネットリストと、シミュレーション条件とに基づいて、回路シミュレーションを実行するステップとを具備する。
【００１８】
本発明のシミュレーションプログラムは、前述のシミュレーション方法をコンピュータに実行させる。
【発明の効果】
【００１９】
本発明の半導体集積回路のシミュレーション装置は、検証対象の回路が要求される回路特性を満たしているか否かを、製造ばらつきを考慮して漏れなく短時間で実行することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、特許文献１に記載された回路解析方法のフローである。
【図２】図２は、特許文献１において、解析対象となる回路３００である。
【図３】図３は、図１に示したプロセス特性情報１２１である。
【図４】図４は、ばらつき項目のグループ化を自動で行うフローを示した図である。
【図５】図５は、グループ化パターン情報１３１ｃである。
【図６】図６は、図２の回路３００に対応するばらつき項目情報１２４である。
【図７】図７は、本発明の実施の形態によるシミュレーション装置１の構成を示すブロック図である。
【図８】図８は、検証対象の回路１１を示す回路図である。
【図９】図９は、検証項目提供部２０がユーザに検証する回路特性の種類を選択させるために、出力部１００を介して提供する情報の例である。
【図１０】図１０は、回路構成格納部３０が格納する複数の回路構成の例である。
【図１１】図１１は、ＮＰＮトランジスタのＳＰＩＣＥパラメータファイルの例である。
【図１２Ａ】図１２Ａは、最小値用ばらつき項目リストの一例を示したものである。
【図１２Ｂ】図１２Ｂは、最大値用ばらつき項目リストの一例を示したものである。
【図１３】図１３は、シミュレーション装置１の実施の形態における、ハードウエア構成例を示すブロック図である。
【図１４】図１４は、本発明の実施の形態による処理動作を示したフローチャートである。
【図１５】図１５は、その他の検証対象の回路１２を示す回路図である。
【図１６】図１６は、検証項目提供部２０がユーザに検証する回路特性の種類を選択させるために、出力部１００を介して提供する情報の例である。
【図１７】図１７は、回路構成格納部３０が格納する複数の回路構成の例である。
【図１８】図１８は、ＰＮＰトランジスタのＳＰＩＣＥパラメータファイルの例である。
【図１９Ａ】図１９Ａは、最小値用ばらつき項目リストを示したものである。
【図１９Ｂ】図１９Ｂは、最大値用ばらつき項目リストを示したものである。
【図２０】図２０は、検証項目提供部２０がユーザに検証する回路特性の種類を選択させるために、出力部１００を介して提供する情報の例である。
【図２１】図２１は、回路構成格納部３０が格納する複数の回路構成の例である。
【図２２Ａ】図２２Ａは、最小値用ばらつき項目リストを示したものである。
【図２２Ｂ】図２２Ｂは、最大値用ばらつき項目リストを示したものである。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して本発明の実施の形態による半導体集積回路のシミュレーション装置を説明する。
【００２２】
図７は、本発明の実施の形態によるシミュレーション装置１の構成を示すブロック図である。図７を参照すると、シミュレーション装置１は、回路情報格納部１０と、検証項目提供部２０と、回路構成格納部３０と、パラメータ格納部４０と、ばらつき項目リスト生成部５０と、シミュレーション条件提供部６０と、製造ばらつき情報生成部７０と、外付け回路情報格納部８０と、回路シミュレーション実行部９０と、出力部１００とを具備する。尚、本実施の形態として、シミュレーション装置１が図８に示す回路１１をシミュレーションする場合を具体例として説明する。
【００２３】
回路情報格納部１０は、検証対象の回路のネットリストを格納する。例えば、回路情報格納部１０は、回路１１のネットリストを格納する。
【００２４】
検証項目提供部２０は、ユーザによって選択された検証する回路特性の種類（名称）を、ばらつき項目リスト生成部５０に提供する。図９は、検証項目提供部２０がユーザに検証する回路特性の種類を選択させるために、出力部１００を介して提供する情報の例である。具体例では、検証項目提供部２０は、複数の回路の種類と、各回路に関連する複数の回路特性の種類とをユーザに提供し、ユーザ入力に基づいて選択された、検証するＳＩＮＫ電流特性をばらつき項目リスト生成部５０に提供する。
【００２５】
回路構成格納部３０は、所定の機能を実現するための複数の回路構成を予め格納する。複数の回路構成の各々は、複数の回路特性の種類と関連付けられている。更に、複数の回路構成の各々は、各回路特性を計算するための複数の計算式と関連付けられている。即ち、回路構成格納部３０は、複数の回路構成と、複数の回路特性の種類と、複数の回路特性の各々を計算するための複数の計算式とを関連付けて格納している。図１０は、回路構成格納部３０が格納する複数の回路構成の例である。図１０を参照すると、回路構成格納部３０は、回路特性の種類としてＳＩＮＫ電流特性と、ＳＩＮＫ電流特性に関係する複数の回路構成（回路構成３１、回路構成３２、回路構成３３、・・・）とを関連付けて格納する。更に、回路構成格納部３０は、複数の回路構成（回路構成３１、回路構成３２、回路構成３３、・・・）の各々と、ＳＩＮＫ電流特性の計算式とを関連付けて格納している。
【００２６】
パラメータ格納部４０は、回路に含まれる各種素子の特性を、製造ばらつき範囲の下限値、ＴＹＰ（Ｔｙｐｉｃａｌ）値、及び上限値の３つの水準で表した、回路シミュレーション用の複数のパラメータファイル（例えば、ＳＰＩＣＥパラメータファイル）を格納する。各パラメータファイルは、ＮＰＮトランジスタ、ＰＮＰトランジスタ、抵抗、コンデンサといった回路上の各種素子をモデル化するためのパラメータを、使用するプロセスの製造範囲に対応させて変化させたものであり、使用するプロセスの製造範囲の下限値をとったものを水準Ｌとし、ＴＹＰ値をとったものを水準Ｍとし、上限値をとったものを水準Ｈとする。つまり、１つの種類の素子に対応する１つのパラメータファイルは、使用するプロセスの製造範囲の下限値（水準Ｌ）と、ＴＹＰ値（水準Ｍ）と、上限値（水準Ｈ）との３つの水準を含む。図１１は、ＮＰＮトランジスタのＳＰＩＣＥパラメータファイルの例である。図１１を参照すると、ＮＰＮトランジスタのパラメータファイルは、使用するプロセスの製造範囲に対応した、水準Ｌ、水準Ｍ及び水準Ｈの３つの水準を含む。ＮＰＮトランジスタは水準ＬのときにＩＳ（飽和電流）、ＢＦ（順方向ベータ）、ＲＢ（ベース抵抗）が使用するプロセスの製造範囲の最小値となり、ＶＡＦ（順方向アーリー電圧）、ＲＥ（エミッタ抵抗）が最大値となる。一方、水準ＨのときにＩＳ、ＢＦ、ＲＢが製造範囲の最大値となり、ＶＡＦ、ＲＥが最小値となる。
【００２７】
ばらつき項目リスト生成部５０は、ネットリストと検証する回路特性の種類とを受け取る。ばらつき項目リスト生成部５０は、検証する回路特性を表す値が製造ばらつきによって取り得る最小値になるように、回路に含まれる各種素子に対して、パラメータファイルの３つの水準（水準Ｌ、水準Ｍ、水準Ｈ）の何れかを設定したリストである最小値用ばらつき項目リストを生成する。同様に、ばらつき項目リスト生成部５０は、検証する回路特性を表す値が製造ばらつきによって取り得る最大値になるように、回路に含まれる各種素子に対して、パラメータファイルの３つの水準の何れかを設定したリストである最大値用ばらつき項目リストを生成する。以下に、ばらつき項目リスト生成部５０の詳細を説明する。ばらつき項目リスト生成部５０は、構成選択部５１と、計算式抽出部５２と、リスト化部５３と、ばらつき項目リスト格納部５４とを備える。
【００２８】
構成選択部５１は、ユーザ入力に基づいて、回路情報格納部１０から検証対象の回路のネットリストを取得する。また、構成選択部５１は、検証項目提供部２０から検証する回路特性の種類を受け取る。次に、構成選択部５１は、回路構成格納部３０を参照して、検証する回路特性の種類に関連付けられた複数の回路構成の中から、ネットリストに適合する回路構成を選択する。具体例として、構成選択部５１が、検証する回路特性の種類としてＳＩＮＫ電流特性を受け取る場合、図１０の回路構成格納部３０を参照し、回路１１のネットリストに適合する回路構成３１を選択する。
【００２９】
計算式抽出部５２は、選択された回路構成に関連付けられた、検証する回路特性の計算式を抽出する。具体例では、計算式抽出部５２は、回路構成３１に関連付けられた、検証するＳＩＮＫ電流特性の計算式を抽出する。詳細には、回路構成３１においてＳＩＮＫ電流特性に影響を与えるのは、ＮＰＮトランジスタＱ１、Ｑ３、及びＰＮＰトランジスタＱ２のうちでＮＰＮトランジスタＱ１のみである。従って、ＳＩＮＫ電流特性の式は、ＮＰＮトランジスタＱ１に関する式（１）となる。
ＳＩＮＫ電流特性の式：ＩＳＩＮＫ＝ＩＳ・ｅＶＢＥ／ＶＴ・・・（１）
【００３０】
リスト化部５３は、計算式で表される検証する回路特性を表す値が、最小値又は最大値になるように、各種素子にパラメータファイルの水準を設定し、最小値用ばらつき項目リスト又は最大値用ばらつきリストを生成する。リスト化部５３は、パラメータ抽出部５３ａと、水準設定部５３ｂとを含む。
【００３１】
パラメータ抽出部５３ａは、抽出された計算式に含まれる複数の変数の中で、製造ばらつきによって検証する回路特性を表す値（計算式の値）に影響を与えるパラメータを抽出する。製造ばらつきによって検証する回路特性を表す値に影響を与える変数は、パラメータ格納部４０のパラメータファイルで値を設定しているパラメータが該当する。従って、パラメータ抽出部５３ａは、パラメータ格納部４０を参照して、抽出された計算式に含まれる複数の変数の中で、パラメータファイルに含まれるパラメータを抽出する。具体例では、パラメータ抽出部５３ａは、図１１に示すＮＰＮトランジスタのパラメータファイルを参照し、式（１）に含まれる複数の変数の中で、製造ばらつきによって検証する回路特性を表す値に影響を与えるパラメータがＩＳ（図１１ではＩＳと表記）であることを抽出する。
【００３２】
水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最小値になるように、各種素子にパラメータファイルの下限値又は上限値である水準（水準Ｌ、水準Ｈ）を設定する。同様に、水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最大値になるように、各種素子にパラメータファイルの下限値又は上限値である水準（水準Ｌ、水準Ｈ）を設定する。そして、水準設定部５３ｂは、計算式に関連していない各種素子には、パラメータファイルのＴＹＰ値である水準Ｍを設定する。式（１）において、ＩＳＩＮＫはＩＳに比例することから、ＩＳが最小値のときＩＳＩＮＫも最小値となり、ＩＳが最大値のときＩＳＩＮＫも最大値となる。つまり、水準設定部５３ｂは、ＩＳＩＮＫが最小値になるように、ＮＰＮトランジスタにパラメータファイルのＩＳ＝４．０Ｅ−１８が含まれる水準Ｌを設定する。同様に、水準設定部５３ｂは、ＩＳＩＮＫが最大値になるように、ＮＰＮトランジスタにパラメータファイルのＩＳ＝２．０Ｅ−１７が含まれる水準Ｈを設定する。そして、水準設定部５３ｂは、ＰＮＰトランジスタや抵抗などには、パラメータファイルのＴＹＰ値である水準Ｍを設定する。尚、水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最小値又は最大値になるときに、パラメータの値が下限値と上限値との両方（水準Ｌと水準Ｈ）の値を必要とする場合、検証する回路特性に最も影響を与えるパラメータファイルの下限値又は上限値の何れか一方を、その素子の水準として設定する。
【００３３】
このようにして、水準設定部５３ｂは、検証する回路特性を表す値が最小値になるときの各種素子のパラメータファイルの水準（水準Ｌ、水準Ｍ、水準Ｈ）をリスト化した最小値用ばらつき項目リストと、検証する回路特性を表す値が最大値になるときの各種素子のパラメータファイルの水準をリスト化した最大値用ばらつき項目リストとを生成する。換言すると、ばらつき項目リストとは、ＮＰＮトランジスタ、ＰＮＰトランジスタ、抵抗、コンデンサといった回路に含まれる各種素子について、パラメータファイルのどの水準を適用するかを設定するリストであり、水準設定部５３ｂは、検証する回路特性を表す値が最小値になるばらつき項目リストを１通りに決め、最大値になるばらつき項目リストも１通りに決めることができる。水準設定部５３ｂは、生成した２種類の最小値用、最大値用ばらつき項目リストをばらつき項目リスト格納部５４に提供する。
【００３４】
図１２Ａは、最小値用ばらつき項目リストの一例を示したものである。図１２Ｂは、最大値用ばらつき項目リストの一例を示したものである。図１２Ａを参照すると、ＳＩＮＫ電流特性が最小値になるときのパラメータファイルの水準（水準Ｌ、水準Ｍ、水準Ｈ）が、各種素子に対して設定されている。同様に、図１２Ｂを参照すると、ＳＩＮＫ電流特性が最大値になるときのパラメータファイルの水準（水準Ｌ、水準Ｍ、水準Ｈ）が、各種素子に対して設定されている。このように、回路１１のＳＩＮＫ電流特性が最小値になるばらつき項目リストは、ＮＰＮトランジスタが水準Ｌで、その他の種類の素子は水準Ｍの１通りに決まる。一方、回路１１のＳＩＮＫ電流特性が最大値になるばらつき項目リストは、ＮＰＮトランジスタが水準Ｈで、その他の種類の素子は水準Ｍの１通りに決まる。
【００３５】
ばらつき項目リスト格納部５４は、受け取った２種類のばらつき項目リストを格納する。
【００３６】
シミュレーション条件提供部６０は、ユーザによって設定された、電源電圧値、入力ピンの印加電圧値、印加電流値、測定対象ピン、及びシミュレーションの種類（検証する回路特性を表す値が最小値、最大値、両方のうちの何れか）などのシミュレーション条件を、製造ばらつき情報生成部７０に提供する。
【００３７】
製造ばらつき情報生成部７０は、シミュレーション条件提供部６０からシミュレーション条件を受け取ると、シミュレーションの種類（最小値、最大値、両方のうちの何れか）に基づいて、ばらつき項目リスト格納部５４から対象となるばらつき項目リストを取得する。次に、製造ばらつき情報生成部７０は、対象となるばらつき項目リストに対応するパラメータファイルをパラメータ格納部４０から取得する。製造ばらつき情報生成部７０は、取得したばらつき項目リストに基づいて、各種素子にパラメータファイルの水準Ｌ、水準Ｍ、水準Ｈの何れかの値を適用した製造ばらつき情報を生成し、回路シミュレーション実行部９０に提供する。
【００３８】
外付け回路情報格納部８０は、シミュレーションを実行するのに必要な外付け部品と、その接続情報とを含む外付け情報を格納する。
【００３９】
回路シミュレーション実行部９０は、製造ばらつき情報を受け取ると、回路情報格納部１０からネットリストを取得し、シミュレーション条件提供部６０からシミュレーション条件を取得し、外付け回路情報格納部８０から外付け情報を取得する。回路シミュレーション実行部９０は、製造ばらつき情報、ネットリスト、シミュレーション条件、外付け情報に基づいて回路シミュレーションを実行し、シミュレーション結果を出力部に提供する。尚、回路シミュレーション実行部９０は、ＳＰＩＣＥを用いて回路シミュレーションを実行する方法が例示されるが、回路シミュレーションツールとして他のツールを用いることも可能である。
【００４０】
出力部１００は、シミュレーション結果をユーザが認識できるように出力する。
【００４１】
本発明の実施の形態によるシミュレーション装置１は、コンピュータを用いて実現可能である。図１３は、シミュレーション装置１の実施の形態における、ハードウエア構成例を示すブロック図である。図１３を参照すると、本発明のシミュレーション装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、記憶装置１０２と、入力装置１０３と、出力装置１０４と、各装置を接続するバス１０５とを備えるコンピュータシステムで構成される。
【００４２】
ＣＰＵ１０１は、記憶装置１０２に格納されている本発明のシミュレーション装置１に係る演算処理及び制御処理を行う。記憶装置１０２は、ハードディスクやメモリなど、情報の記録を行う装置である。記憶装置１０２は、ＣＤ−ＲＯＭやＤＶＤ等のコンピュータ読み取り可能な記憶媒体から読み取られたプログラム、入力装置１０３から入力された信号やプログラム、ネットーワーク（図示略）を介して読み取られたプログラム、及びＣＰＵ１０１の処理結果を格納する。入力装置１０３は、マウス、キーボード、マイクロフォンなど、ユーザがコマンド及び信号を入力することが出来る装置である。出力装置１０４は、ディスプレイ、スピーカなど、ユーザに出力結果を認識させる装置である。尚、本発明はハードウエア構成例と示したものに限定されず、図７に示す各部はハードウエアとソフトウエアとを単独又は組み合わせて実現することが出来る。
【００４３】
図１４は、本発明の実施の形態による処理動作を示したフローチャートである。図１４を参照して、本発明の実施の形態による処理動作を説明する。
【００４４】
ステップＳ０１：
構成選択部５１は、ユーザ入力に基づいて、回路情報格納部１０から検証対象の回路のネットリストを取得する。具体例として、構成選択部５１は、回路１１のネットリストを取得する。
【００４５】
ステップＳ０２：
検証項目提供部２０は、ユーザによって選択された検証する回路特性の種類（名称）を、構成選択部５１に提供する。ここでは、検証項目提供部２０は、図９に示すように複数の回路の種類と、各回路に関連する複数の回路特性の種類とをユーザに提供し、ユーザ入力に基づいて選択された、検証するＳＩＮＫ電流特性を構成選択部５１に提供する。
【００４６】
ステップＳ０３：
構成選択部５１は、検証項目提供部２０から検証する回路特性の種類を受け取る。次に、構成選択部５１は、回路構成格納部３０を参照し、検証する回路特性の種類に関連付けられた複数の回路構成の中から、ネットリストに適合する回路構成を選択する。構成選択部５１が、検証する回路特性の種類としてＳＩＮＫ電流特性を受け取る場合、図１０の回路構成格納部３０を参照し、回路１１のネットリストに適合する回路構成３１を選択する。
【００４７】
ステップＳ０４：
計算式抽出部５２は、選択した回路構成に関連付けられた、検証する回路特性の計算式を抽出する。ここでは、計算式抽出部５２は、回路構成３１に関連付けられた、検証するＳＩＮＫ電流特性の計算式（１）を抽出する。
【００４８】
ステップＳ０５：
パラメータ抽出部５３ａは、抽出された計算式に含まれる複数の変数の中で、製造ばらつきによって検証する回路特性を表す値（計算式の値）に影響を与えるパラメータを抽出する。製造ばらつきによって検証する回路特性を表す値に影響を与える変数は、パラメータ格納部４０のパラメータファイルで値を設定しているパラメータが該当する。従って、パラメータ抽出部５３ａは、パラメータ格納部４０のパラメータファイルを参照して、抽出された計算式に含まれる複数の変数の中で、パラメータファイルに含まれるパラメータを抽出する。具体例では、パラメータ抽出部５３ａは、図１１に示すＮＰＮトランジスタのパラメータファイルを参照し、式（１）に含まれる複数の変数の中で、製造ばらつきによって検証する回路特性を表す値に影響を与えるパラメータがＩＳであることを抽出する。
【００４９】
ステップＳ０６：
水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最小値になるように、各種素子にパラメータファイルの下限値又は上限値である水準（水準Ｌ、水準Ｈ）を設定する。同様に、水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最大値になるように、各種素子にパラメータファイルの下限値又は上限値である水準（水準Ｌ、水準Ｈ）を設定する。そして、水準設定部５３ｂは、計算式に関連していない各種素子には、パラメータファイルのＴＹＰ値である水準Ｍを設定する。式（１）において、ＩＳＩＮＫはＩＳに比例することから、ＩＳが最小値のときＩＳＩＮＫも最小値となり、ＩＳが最大値のときＩＳＩＮＫも最大値となる。つまり、水準設定部５３ｂは、ＩＳＩＮＫが最小値になるように、ＮＰＮトランジスタにパラメータファイルのＩＳ＝４．０Ｅ−１８が含まれる水準Ｌを設定する。同様に、水準設定部５３ｂは、ＩＳＩＮＫが最大値になるように、ＮＰＮトランジスタにパラメータファイルのＩＳ＝２．０Ｅ−１７が含まれる水準Ｈを設定する。そして、水準設定部５３ｂは、ＰＮＰトランジスタや抵抗などには、パラメータファイルのＴＹＰ値である水準Ｍを設定する。
【００５０】
このようにして、水準設定部５３ｂは、検証する回路特性を表す値が最小値になるときの各種素子のパラメータファイルの水準（水準Ｌ、水準Ｍ、水準Ｈ）をリスト化した最小値用ばらつき項目リストと、検証する回路特性を表す値が最大値になるときの各種素子のパラメータファイルの水準をリスト化した最大値用ばらつき項目リストとを生成する。水準設定部５３ｂは、生成した２種類の最小値用、最大値用ばらつき項目リストをばらつき項目リスト格納部５４に提供する。ばらつき項目リスト格納部５４は、受け取った最小値用、最大値用の２種類のばらつき項目リストを格納する。
【００５１】
具体例では、水準設定部５３ｂは、ＩＳＩＮＫが最小値になるときのＮＰＮトランジスタのパラメータファイルの水準Ｌと、その他の種類の素子のパラメータファイルの水準Ｍとに基づいて、最小値用ばらつき項目リストを生成する（図１２Ａ参照）。同様に、水準設定部５３ｂは、ＩＳＩＮＫが最大値になるときのＮＰＮトランジスタのパラメータファイルの水準Ｈと、その他の種類の素子のパラメータファイルの水準Ｍとに基づいて、最大値用ばらつき項目リストを生成する（図１２Ｂ参照）。このように、水準設定部５３ｂは、検証する回路特性を表す値が最小値になるばらつき項目リストを１通りに決め、最大値になるばらつき項目リストも１通りに決めることができる。
【００５２】
ステップＳ０７：
シミュレーション条件提供部６０は、ユーザによって設定された、電源電圧値、入力ピンの印加電圧値、印加電流値、測定対象ピン、及びシミュレーションの種類（検証する回路特性を表す値が最小値、最大値、両方のうちの何れか）などのシミュレーション条件を、製造ばらつき情報生成部７０に提供する。
【００５３】
ステップＳ０８：
製造ばらつき情報生成部７０は、シミュレーション条件提供部６０からシミュレーション条件を受け取ると、シミュレーションの種類（最小値、最大値、両方のうちの何れか）に基づいて、ばらつき項目リスト格納部５４から対象となるばらつき項目リストを取得する。
【００５４】
ステップＳ０９：
製造ばらつき情報生成部７０は、ばらつき項目リストに対応するパラメータファイルをパラメータ格納部４０から取得する。製造ばらつき情報生成部７０は、対象となるばらつき項目リストに基づいて、各種素子にパラメータファイルの水準Ｌ、水準Ｍ、水準Ｈの何れかの値を適用した製造ばらつき情報を生成し、回路シミュレーション実行部９０に提供する。
【００５５】
ステップＳ１０：
回路シミュレーション実行部９０は、製造ばらつき情報を受け取ると、回路情報格納部１０からネットリストを取得し、シミュレーション条件提供部６０からシミュレーション条件を取得し、外付け回路情報格納部８０から外付け情報を取得する。回路シミュレーション実行部９０は、製造ばらつき情報、ネットリスト、シミュレーション条件、外付け情報に基づいて回路シミュレーションを実行し、シミュレーション結果を出力部に提供する。出力部１００は、シミュレーション結果をユーザが認識できるように出力する。
【００５６】
本発明のシミュレーション装置１は、検証対象の回路に含まれる複数の種類の素子の中で、製造ばらつきによって検証する回路特性に影響を与える全ての種類の素子を抽出し、それら素子に設定するパラメータ値を使用するプロセスの製造範囲の下限値や上限値に設定する。各種素子のパラメータ値を設定するとき、検証する回路特性の計算式に基づいて、検証する回路特性を表す値が最小値又は最大値になるように設定する。従って、各種素子のパラメータ値の組み合わせは、検証する回路特性を表す値が、製造ばらつきによって最小値になるときと、最大値になるときとの２通りを表すことになる。つまり、本発明のシミュレーション装置１は、検証する回路特性を表す値が製造ばらつきに起因して取り得る最小値と最大値とになる２つの条件下で、回路シミュレーションを確実に実行することができる。このように、本発明の半導体集積回路のシミュレーション装置１は、要求される回路特性を満たすか否かを、製造ばらつきを考慮して漏れなく短時間で実行できる効果を奏する。
【００５７】
以下、検証対象としてその他の回路を例示して、本発明のシミュレーション装置１を更に説明する。図１５は、その他の検証対象の回路１２を示す回路図である。尚、シミュレーション装置１の構成は前述した図７と同じである。
【００５８】
図１４のフローチャートに基づいて、検証対象の回路１２の最大出力電圧（＋）特性と、同相入力電圧範囲（−）特性とを検証する場合を説明する。まず、最大出力電圧（＋）特性の検証について説明する。
【００５９】
ステップＳ０１：
回路情報格納部１０は、検証対象の回路１２のネットリストを格納する。構成選択部５１は、ユーザ入力に基づいて、回路情報格納部１０から検証対象の回路１２のネットリストを取得する。
【００６０】
ステップＳ０２：
図１６は、検証項目提供部２０がユーザに検証する回路特性の種類を選択させるために、出力部１００を介して提供する情報の例である。検証項目提供部２０は、図１６に示すように複数の回路の種類と、各回路に関連する複数の回路特性の種類とをユーザに提供し、ユーザ入力に基づいて選択された、検証する最大出力電圧（＋）特性を構成選択部５１に提供する。
【００６１】
ステップＳ０３：
構成選択部５１は、検証する回路特性の種類として最大出力電圧（＋）特性を受け取る。次に、構成選択部５１は、回路構成格納部３０を参照し、最大出力電圧（＋）特性に関連付けられた複数の回路構成の中から、ネットリストに適合する回路構成を選択する。図１７は、回路構成格納部３０が格納する複数の回路構成の例である。図１７を参照すると、回路構成格納部３０は、回路特性の種類として最大出力電圧（＋）特性と、最大出力電圧（＋）特性に関係する複数の回路構成（回路構成３４、回路構成３５、回路構成３６、・・・）とを関連付けて格納する。更に、回路構成格納部３０は、複数の回路構成（回路構成３４、回路構成３５、回路構成３６、・・・）の各々と、最大出力電圧（＋）特性の計算式とを関連付けて格納している。ここでは、構成選択部５１は、図１７の回路構成格納部３０を参照し、回路１２のネットリストに適合する回路構成３４を選択する。
【００６２】
ステップＳ０４：
計算式抽出部５２は、回路構成３４に関連付けられた、検証する最大出力電圧（＋）特性の計算式を抽出する。詳細には、回路構成３４において最大出力電圧（＋）特性に影響を与えるのは、ＮＰＮトランジスタＱ４、Ｑ７と、ＰＮＰトランジスタＱ５、Ｑ６とのうちで、ＮＰＮトランジスタＱ４とＰＮＰトランジスタＱ６である。従って、最大出力電圧（＋）特性の式は、ＮＰＮトランジスタＱ４とＰＮＰトランジスタＱ６に関する式（２）となる。式（２）において、添え字のＰ、ＮはそれぞれＰＮＰトランジスタ、ＮＰＮトランジスタを表している。
最大出力電圧（＋）特性の式：
ＶＯＵＴ（＋）＝ＶＣＣ−ＶＣＥＱ６−ＶＢＥＱ４
＝ＶＣＣ−（（ＩＣＰ／ＩＳＰ）ｅ−ＶＢＥＰ／ＶＴＰ−１）ＶＡＦＰ
−（（１／ＶＴｎ）ｌｎ（ＩＣｎ／ＩＳｎ））・・・・・（２）
【００６３】
ステップＳ０５：
パラメータ抽出部５３ａは、抽出された式（２）に含まれる複数の変数の中で、製造ばらつきによって検証する回路特性を表す値（計算式の値）に影響を与えるパラメータを抽出する。図１８は、ＰＮＰトランジスタのＳＰＩＣＥパラメータファイルの例である。図１８を参照すると、ＰＮＰトランジスタのパラメータファイルは、使用するプロセスの製造範囲に対応した、水準Ｌ、水準Ｍ及び水準Ｈの３つの水準を含む。ＰＮＰトランジスタは水準ＬのときにＩＳ、ＢＦ、ＲＢが使用するプロセスの製造範囲の最小値となり、ＶＡＦが最大値となる。一方、水準ＨのときにＩＳ、ＢＦ、ＲＢが製造範囲の最大値となり、ＶＡＦが最小値となる。
【００６４】
パラメータ抽出部５３ａは、図１８に示すＰＮＰトランジスタのパラメータファイルを参照し、式（２）に含まれるＶＣＥＱ６に関して、製造ばらつきによって検証する回路特性を表す値に影響を与えるパラメータがＩＳＰ、ＶＡＦＰであることを抽出する。また、パラメータ抽出部５３ａは、図１１に示すＮＰＮトランジスタのパラメータファイルを参照し、式（２）に含まれるＶＢＥＱ４に関して、製造ばらつきによって検証する回路特性を表す値に影響を与えるパラメータがＩＳｎであることを抽出する。
【００６５】
ステップＳ０６：
水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最小値になるように、各種素子にパラメータファイルの下限値又は上限値である水準（水準Ｌ、水準Ｈ）を設定する。同様に、水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最大値になるように、各種素子にパラメータファイルの下限値又は上限値である水準（水準Ｌ、水準Ｈ）を設定する。そして、水準設定部５３ｂは、計算式に関連していない各種素子には、パラメータファイルのＴＹＰ値である水準Ｍを設定する。式（２）において、ＶＯＵＴ（＋）はＶＣＥＱ６とＶＢＥＱ４とが最大値のとき最小値となり、ＶＣＥＱ６とＶＢＥＱ４とが最小値のとき最大値となる。従って、水準設定部５３ｂは、ＶＯＵＴ（＋）が最小値になるように、言い換えるとＶＣＥＱ６が最大値になるように、ＰＮＰトランジスタに対して、ＩＳＰが最小値、ＶＡＦＰが最大値となるパラメータファイルの水準Ｌを設定する。同様に、ＶＯＵＴ（＋）が最小値になるように、言い換えるとＶＢＥＱ４が最大値になるように、ＮＰＮトランジスタに対して、ＩSｎが最小値となるパラメータファイルの水準Ｌを設定する。
【００６６】
一方、水準設定部５３ｂは、ＶＯＵＴ（＋）が最大値になるように、言い換えるとＶＣＥＱ６が最小値になるように、ＰＮＰトランジスタに対して、ＩＳＰが最大値、ＶＡＦＰが最小値となるパラメータファイルの水準Ｈを設定する。同様に、ＶＯＵＴ（＋）が最大値になるように、言い換えるとＶＢＥＱ４が最小値になるように、ＮＰＮトランジスタに対して、ＩSｎが最大値となるパラメータファイルの水準Ｈを設定する。
【００６７】
このようにして、水準設定部５３ｂは、最大出力電圧（＋）特性が最小値になるときのＮＰＮトランジスタのパラメータファイルの水準Ｌと、ＰＮＰトランジスタのパラメータファイルの水準Ｌと、その他の種類の素子のパラメータファイルの水準Ｍとに基づいて、最小値用ばらつき項目リストを生成する。同様に、水準設定部５３ｂは、最大出力電圧（＋）特性が最大値になるときのＮＰＮトランジスタのパラメータファイルの水準Ｈと、ＰＮＰトランジスタのパラメータファイルの水準Ｈと、その他の種類の素子のパラメータファイルの水準Ｍとに基づいて、最大値用ばらつき項目リストを生成する。
【００６８】
図１９Ａは、最小値用ばらつき項目リストを示したものである。図１９Ｂは、最大値用ばらつき項目リストを示したものである。このように、回路１２の最大出力電圧（＋）特性が最小値になるばらつき項目リストは、ＮＰＮトランジスタが水準Ｌで、ＰＮＰトランジスタが水準Ｌで、その他の種類の素子は水準Ｍの１通りに決まる。一方、回路１２の最大出力電圧（＋）特性が最大値になるばらつき項目リストは、ＮＰＮトランジスタが水準Ｈで、ＰＮＰトランジスタが水準Ｈで、その他の種類の素子は水準Ｍの１通りに決まる。水準設定部５３ｂは、生成した２種類の最小値用、最大値用ばらつき項目リストをばらつき項目リスト格納部５４に提供する。ばらつき項目リスト格納部５４は、受け取った最小値用、最大値用の２種類のばらつき項目リストを格納する。尚、ステップＳ０７以降は、前述の回路１１の場合と同様であるため説明を省略する。
【００６９】
次に、同相入力電圧範囲（−）特性の検証について説明する。
【００７０】
ステップＳ０１：
構成選択部５１は、ユーザ入力に基づいて、回路情報格納部１０から検証対象の回路１２のネットリストを取得する。
【００７１】
ステップＳ０２：
図２０は、検証項目提供部２０がユーザに検証する回路特性の種類を選択させるために、出力部１００を介して提供する情報の例である。検証項目提供部２０は、図２０に示すように複数の回路の種類と、各回路に関連する複数の回路特性の種類とをユーザに提供し、ユーザ入力に基づいて選択された、検証する同相入力電圧範囲（−）特性を構成選択部５１に提供する。
【００７２】
ステップＳ０３：
構成選択部５１は、検証する回路特性の種類として同相入力電圧範囲（−）特性を受け取る。次に、構成選択部５１は、回路構成格納部３０を参照し、同相入力電圧範囲（−）特性に関連付けられた複数の回路構成の中から、ネットリストに適合する回路構成を選択する。図２１は、回路構成格納部３０が格納する複数の回路構成の例である。図２１を参照すると、回路構成格納部３０は、回路特性の種類として同相入力電圧範囲（−）特性と、同相入力電圧範囲（−）特性に関係する複数の回路構成（回路構成３７、回路構成３８、回路構成３９、・・・）とを関連付けて格納する。更に、回路構成格納部３０は、複数の回路構成（回路構成３７、回路構成３８、回路構成３９、・・・）の各々と、同相入力電圧範囲（−）特性の計算式とを関連付けて格納している。ここでは、構成選択部５１は、図２１の回路構成格納部３０を参照し、回路１２のネットリストに適合する回路構成３８を選択する。
【００７３】
ステップＳ０４：
計算式抽出部５２は、回路構成３８に関連付けられた、検証する同相入力電圧範囲（−）特性の計算式を抽出する。詳細には、回路構成３８において同相入力電圧範囲（−）特性に影響を与えるのは、ＰＮＰトランジスタＱ８〜Ｑ１０と、ＮＰＮトランジスタＱ１１〜Ｑ１４とのうちで、ＰＮＰトランジスタＱ１０、及びＮＰＮトランジスタＱ１３、Ｑ１４である。従って、同相入力電圧範囲（−）特性の式は、ＰＮＰトランジスタＱ１０、及びＮＰＮトランジスタＱ１３、Ｑ１４に関する式（３）となる。
同相入力電圧範囲（−）特性の式：
Ｖｉｎ（−）＝ＶＢＥＱ１４＋ＶＢＥＱ１３＋ＶＣＥＱ１０−ＶＢＥＱ１０
＝２ＶＢＥｎ＋ＶＣＥＰ−ＶＢＥＰ
＝２（（１／ＶＴｎ）ｌｎ（ＩＣｎ／ＩＳｎ））
＋（（ＩＣＰ／ＩＳＰ）ｅ−ＶＢＥＰ／ＶＴＰ−１）ＶＡＦＰ
−（（１／ＶＴＰ）ｌｎ（ＩＣＰ／ＩＳＰ））・・・（３）
【００７４】
ステップＳ０５：
パラメータ抽出部５３ａは、抽出された式（３）に含まれる複数の変数の中で、製造ばらつきによって検証する回路特性を表す値（計算式の値）に影響を与えるパラメータを抽出する。パラメータ抽出部５３ａは、図１１に示すＮＰＮトランジスタのパラメータファイルを参照し、式（３）に含まれるＶＢＥｎに関して、製造ばらつきによって検証する回路特性を表す値に影響を与えるパラメータがＩＳｎであることを抽出する。また、パラメータ抽出部５３ａは、図１８に示すＰＮＰトランジスタのパラメータファイルを参照し、式（３）に含まれるＶＣＥＰに関して、製造ばらつきによって検証する回路特性を表す値に影響を与えるパラメータがＩＳＰ、ＶＡＦＰであることを抽出し、更にＶＢＥＰに関して、ＩＳＰであることを抽出する。
【００７５】
ステップＳ０６：
同相入力電圧範囲（−）特性は、ＧＮＤに対して何Ｖの範囲まで電圧を入力できるかという特性であるため、電圧値が低いほど入力範囲が広く、電圧値が高いほど入力範囲が狭いということになる。従って、同相入力電圧範囲（−）特性の最小値というのはＶｉｎ（−）が最大値となるときであり、最大値というのはＶｉｎ（−）が最小値となるときである。式（３）において、Ｖｉｎ（−）はＶＢＥｎ、ＶＣＥＰが最大値、ＶＢＥＰが最小値のとき最大値となり、ＶＢＥｎ、ＶＣＥＰが最小値、ＶＢＥＰが最大値のとき最小値となる。従って、水準設定部５３ｂは、同相入力電圧範囲（−）特性が最小値になるように、言い換えるとＶｉｎ（−）が最大値となるように（ＶＢＥｎが最大値になるように）、ＮＰＮトランジスタにＩＳｎが最小値となるパラメータファイルの水準Ｌを設定する。
【００７６】
同様に、水準設定部５３ｂは、同相入力電圧範囲（−）特性が最小値になるように、言い換えるとＶｉｎ（−）が最大値となるように（ＶＣＥＰが最大値になり、ＶＢＥＰが最小値になるように）、ＰＮＰトランジスタにパラメータファイルの水準を設定する。しかし、式（３）を参照すると、ＩＳＰが最小値、且つ最大値となることになるため、ＶＣＥＰが最大値となり、ＶＢＥＰが最小値となるパラメータファイルの水準は存在しない。そこで、水準設定部５３ｂは、計算式で表される検証する回路特性を表す値が最小値又は最大値になるときに、パラメータの値が下限値と上限値との両方（水準Ｌと水準Ｈ）の値を必要とする場合、検証する回路特性に最も影響を与えるパラメータファイルの下限値又は上限値の何れか一方を、その素子の水準として設定する。ここでは、検証する回路特性を表す値の影響が大きいＶＢＥＰが最小値となる、即ちＰＮＰトランジスタにＩＳＰが最大値となるパラメータファイルの水準Ｈを設定する。
【００７７】
一方、水準設定部５３ｂは、同相入力電圧範囲（−）特性が最大値になるように、言い換えるとＶｉｎ（−）が最小値となるように（ＶＢＥｎが最小値になるように）、ＮＰＮトランジスタにＩＳｎが最大値となるパラメータファイルの水準Ｈを設定する。同様に、水準設定部５３ｂは、同相入力電圧範囲（−）特性が最大値になるように、言い換えるとＶｉｎ（−）が最小値となるように（ＶＣＥＰが最小値になり、ＶＢＥＰが最大値になるように）、ＰＮＰトランジスタにパラメータファイルの水準を設定する。しかし、式（３）を参照すると、ＩＳＰが最大値、且つ最小値となることになるため、ＶＣＥＰが最小値となり、ＶＢＥＰが最大値となるパラメータファイルの水準は存在しない。そこで、検証する回路特性を表す値の影響が大きいＶＢＥＰが最大値となる、即ちＰＮＰトランジスタにＩＳＰが最小値となるパラメータファイルの水準Ｌを設定する。
【００７８】
このようにして、水準設定部５３ｂは、同相入力電圧範囲（−）特性が最小値になるときのＮＰＮトランジスタのパラメータファイルの水準Ｌと、ＰＮＰトランジスタのパラメータファイルの水準Ｈと、その他の種類の素子のパラメータファイルの水準Ｍとに基づいて、最小値用ばらつき項目リストを生成する。同様に、水準設定部５３ｂは、同相入力電圧範囲（−）特性が最大値になるときのＮＰＮトランジスタのパラメータファイルの水準Ｈと、ＰＮＰトランジスタのパラメータファイルの水準Ｌと、その他の種類の素子のパラメータファイルの水準Ｍとに基づいて、最大値用ばらつき項目リストを生成する。
【００７９】
図２２Ａは、最小値用ばらつき項目リストを示したものである。図２２Ｂは、最大値用ばらつき項目リストを示したものである。このように、回路１２の同相入力電圧範囲（−）特性が最小値になるばらつき項目リストは、ＮＰＮトランジスタが水準Ｌで、ＰＮＰトランジスタが水準Ｈで、その他の種類の素子は水準Ｍの１通りに決まる。一方、回路１２の同相入力電圧範囲（−）特性が最大値になるばらつき項目リストは、ＮＰＮトランジスタが水準Ｈで、ＰＮＰトランジスタが水準Ｌで、その他の種類の素子は水準Ｍの１通りに決まる。水準設定部５３ｂは、生成した２種類の最小値用、最大値用ばらつき項目リストをばらつき項目リスト格納部５４に提供する。ばらつき項目リスト格納部５４は、受け取った最小値用、最大値用の２種類のばらつき項目リストを格納する。尚、ステップＳ０７以降は、前述の回路１１の場合と同様であるため説明を省略する。
【００８０】
以上のように、本発明のシミュレーション装置１は、様々な回路に対して、要求される回路特性を満たしているか否かを、製造ばらつきを考慮して漏れなく短時間で実行することができる。
【符号の説明】
【００８１】
１      シミュレーション装置
１０    回路情報格納部
１１、１２  回路
２０    検証項目提供部
３０    回路構成格納部
３１〜３９  回路構成
４０    パラメータ格納部
５０    ばらつき項目リスト生成部
５１    構成選択部
５２    計算式抽出部
５３    リスト化部
５３ａ  パラメータ抽出部
５３ｂ  水準設定部
５４    ばらつき項目リスト格納部
６０    シミュレーション条件提供部
７０    製造ばらつき情報生成部
８０    外付け回路情報格納部
９０    回路シミュレーション実行部
１００  出力部
１０１  ＣＰＵ
１０２  記憶装置
１０３  入力装置
１０４  出力装置
１０５  バス
１２２  回路情報
１２３  ばらつき項目生成手段
１２４  ばらつき項目情報
１２５  ばらつき条件生成手段
１２６  ばらつき条件情報
１２７  回路解析手段
１２８  回路解析結果
１２９  ばらつき量生成手段
１３０  ばらつき量情報
１３１  ばらつき項目グループ化手段
１３１ｃ  ばらつき項目グループ化パターン情報
１３１ｄ  ばらつき項目グループ化抽出手段
１３２  ばらつき項目グループ化情報
３００  回路
３００Ｅ１〜３００Ｅ５  素子
３０１、３０３  グループ化パターン
【図１】
2012073752.tif 000003
【図２】
2012073752.tif 000004
【図３】
2012073752.tif 000005
【図４】
2012073752.tif 000006
【図５】
2012073752.tif 000007
【図６】
2012073752.tif 000008
【図７】
2012073752.tif 000009
【図８】
2012073752.tif 000010
【図９】
2012073752.tif 000011
【図１０】
2012073752.tif 000012
【図１１】
2012073752.tif 000013
【図１２Ａ】
2012073752.tif 000014
【図１２Ｂ】
2012073752.tif 000015
【図１３】
2012073752.tif 000016
【図１４】
2012073752.tif 000017
【図１５】
2012073752.tif 000018
【図１６】
2012073752.tif 000019
【図１７】
2012073752.tif 000020
【図１８】
2012073752.tif 000021
【図１９Ａ】
2012073752.tif 000022
【図１９Ｂ】
2012073752.tif 000023
【図２０】
2012073752.tif 000024
【図２１】
2012073752.tif 000025
【図２２Ａ】
2012073752.tif 000026
【図２２Ｂ】
2012073752.tif 000027