(57)【要約】【課題】アナログ機能記述を用いて回路シミュレーションを行う際に素子レベル回路図と切り替えながら解析を行うことにより、解析結果の精度を保証しながら、計算の収束性を向上させる。【解析手段】アナログ機能記述と素子レベル回路図により構成される回路ブロックを有する回路のシミュレーション方法であって、１つの回路ブロックだけを素子レベル回路図として、それ以外の回路ブロックはアナログ機能記述を用いた解析を各回路ブロックに対して行い、解析結果より得られたノード電圧を初期値として全体を素子レベル回路図でシミュレーションを行うことにより、計算の収束性を向上させる。【選択図】　図１
2004013818.tif 000002
【特許請求の範囲】
【請求項１】
アナログ機能記述と素子レベル回路図の両方が用意された回路ブロックから構成される回路の回路シミュレーション方法であって、１つの回路ブロックにだけ素子レベル回路図を用い、それ以外の回路ブロックはアナログ機能記述を用いて解析を行う第１の工程と、その解析結果から前記素子レベル回路図の全てのノード電圧を記録する第２の工程と、記録された前記ノード電圧を初期値としてすべての前記回路ブロックを前記素子レベル回路図で解析を行う第３の工程を含む回路シミュレーション方法。
【請求項２】
第１の工程において素子レベル回路図で解析する回路ブロックは所定の回路ブロックに対して順番に行い、アナログ機能記述を組み合わせた解析により回路全体のノード電圧を記録する請求項１記載の回路シミュレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アナログ機能記述を利用した回路シミュレーション方法、詳しくは電子回路の動作をコンピュータ上でシミュレーションする際の解析方法に関するものである。
【０００２】
【従来の技術】
近年、半導体回路技術の進展はめざましく、アナログ回路でも１チップ上に１万を超える数の素子を集積する場合も増加している。このような大規模アナログ回路の場合、従来の素子レベル回路図を対象とする回路シミュレーションでは、解析に非常に多くの時間を必要とし、また、計算が収束せず解を求められない場合が多いという問題があった。
【０００３】
そこで、回路の一部または全体をアナログ機能記述で作成し、素子レベル回路図と組み合わせてシミュレーションを行うことで収束性を向上させる方法が利用されている。
【０００４】
以下に従来の回路シミュレーション方法について、その動作を説明する。図６は、従来の回路シミュレーション方式の流れを示すものである。まず工程６０１では、回路全体を素子レベル回路図によりシミュレーションする。このとき、計算が収束すればそのときの解析結果を出力し、工程６０２により終了する。収束しない場合は、工程６０３に進む。工程６０３では、収束性に影響を与えている回路ブロックＢｉを選択する。その後、工程６０４で回路ブロックＢｉを素子レベル回路図からアナログ機能記述に切り替えて、工程６０５でシミュレーションを実行する。計算が収束すれば、工程６０７で終了し、そうでなければ、工程６０３に戻り、他の回路ブロックをアナログ機能記述に切り替えてシミュレーションを繰り返す。
【０００５】
【発明が解決しようとする課題】
しかしながら、アナログ機能記述の場合、素子レベル回路図の全ての特性を実現することは困難であるため、従来の手法ではシミュレーション結果の精度が保証できないという課題があった。
【０００６】
本発明は上記従来の問題点を解決するもので、精度を保証しながら、収束性を向上させることを目的とする。
【０００７】
【課題を解決するための手段】
この目的を達成するために、本発明のシミュレーション方法は、ブロック毎にアナログ機能記述と素子レベル回路図を切り替えながら解析を行い、最終的に各ブロックの解析結果を初期値として全ブロックを素子レベル回路図にしてシミュレーションを行うものである。
【０００８】
請求項１記載の回路シミュレーション方法は、アナログ機能記述と素子レベル回路図の両方が用意された回路ブロックから構成される回路の回路シミュレーション方法であって、１つの回路ブロックにだけ素子レベル回路図を用い、それ以外の回路ブロックはアナログ機能記述を用いて解析を行う第１の工程と、その解析結果から前記素子レベル回路図の全てのノード電圧を記録する第２の工程と、記録された前記ノード電圧を初期値としてすべての前記回路ブロックを前記素子レベル回路図で解析を行う第３の工程を含むものである。
【０００９】
請求項１記載の回路シミュレーション方法によれば、例えばアナログ大規模回路のシミュレーションにおいて、回路を素子レベル回路図とアナログ機能記述を組み合わせることにより、解析結果の精度を保証しながら、計算の収束性を向上させることが可能になる。
【００１０】
請求項２記載の回路シミュレーション方法は、請求項１において、第１の工程において素子レベル回路図で解析する回路ブロックは所定の回路ブロックに対して順番に行い、アナログ機能記述を組み合わせた解析により回路全体のノード電圧を記録するものである。
【００１１】
請求項２記載の回路シミュレーション方法によれば、請求項１と同様な効果がある。
【００１２】
【発明の実施の形態】
大規模な回路の開発を行う場合、全体をいくつかの機能によって分割し、この機能を１つの回路ブロックとして階層的に設計を行っていく手法が主流である。また、回路ブロックの設計はまずアナログ機能記述を用いて設計し、回路全体での機能的な動作を検証した後に素子レベルの回路図を作成していくという手順に従う場合が多い。そこで、ここではシミュレーションしようとする回路はいくつかの回路ブロックによって構成されているものとする。これらの回路ブロックは基本的に素子レベル回路図とアナログ機能記述の両方で作成されており、アナログ機能記述単体の特性は、素子レベル回路図単体の特性に対して許容誤差の範囲内にあるものとする。ただし、一部の回路ブロックは素子レベル回路図またはアナログ機能記述のみで作成されていても本発明の適用は可能である。
【００１３】
図２は、解析を行う回路の例である。全体回路は回路ブロック２０１から２０４で構成されており、各回路ブロック２１０〜２０４の間は配線で接続されているものとする。
【００１４】
図３は、回路ブロックの内部を示す例であり、回路ブロックは図（ａ）のようなトランジスタなどを用いて表現された素子レベル回路図と、図（ｂ）のようなＶｅｒｉｌｏｇ−ＡＭＳなどのアナログ機能記述の両方により表現されている。シミュレーションを行う際に素子レベル回路図を使用するか、アナログ機能記述を用いるかは自由に選択することができるようになっている。
【００１５】
図１は本方式の基本的な動作を示すものである。まず、工程１０１では回路全体のシミュレーションを素子レベルの回路図を用いて行う。このとき工程１０２によって計算が収束したか、していないかが判定され、収束した場合には、工程１０１の解析結果を最終的な結果として出力し、終了する。収束しない場合、工程１０３に進む。工程１０３では回路全体から回路ブロックを順に１つずつ選択する。ここで選ばれた回路ブロックをＢｉとする。このとき、選択する順番は結果に影響しないため、どのように選んでもよい。ただし、アナログ機能記述のみで実現されており、素子レベル回路図を持たない回路ブロックは対象外とし、選ばないものとする。
【００１６】
工程１０４では、全体回路に含まれる回路ブロックＢｉ以外の回路ブロックをアナログ機能記述を用いてシミュレーションを行うように設定し、回路ブロックＢｉは素子レベル回路図でシミュレーションするように設定を行う。
【００１７】
工程１０５では、工程１０４の設定にしたがって回路シミュレーションを行い、解析結果から回路ブロックＢｉの素子レベル回路図に含まれる全てのノードの電圧を記録しておく。
【００１８】
工程１０３から１０５までの処理をすべての回路ブロックに対して行い、工程１０６で、すべての回路ブロックの処理が終わっているかどうかの判定を行う。すべて回路ブロックの処理が終わっていれば、工程１０７に進む。
【００１９】
工程１０７では、全ての回路ブロックを素子レベル回路図で解析を行うように設定を行う。工程１０８では、記録してある全ての回路ブロックのノード電圧をシミュレーションの初期値として全体回路に与える。工程１０９で、工程１０７、１０８の設定にしたがってシミュレーションを行い、この解析結果を最終的な結果として出力する。
【００２０】
シミュレーションは解にできるだけ近い初期値から計算を始めた方が収束性が高くなり、計算時間も短くなる。また、アナログ機能記述を用いる場合、素子レベル回路図の特性に対して誤差があるため、解の精度が悪くなることがあるが、本発明の手法では、最終的に全体を素子レベル回路図でシミュレーションを行うため、解の精度を保証することが可能である。
【００２１】
図４および図５は本発明の動作の具体例を示すものである。この例では全体回路は図２の回路ブロックに対応した回路ブロック４０１から４０４で構成されており、各回路ブロック４０１〜４０４は素子レベル回路図とアナログ機能記述の両方が用意されている。最初に全ての回路ブロックを素子レベル回路図で解析を行うように設定を行い、シミュレーションを行う。シミュレーションが収束すれば、その結果を最終的な結果として終了するが、収束しない場合は、工程１０３により順番に回路ブロックを一つ選択する。この例では、４０１が選択されたものとする。その後、工程１０４によって、回路ブロック４０１を素子レベル回路図、回路ブロック４０２から４０４はアナログ機能記述を用いて解析を行うように設定される。図４は工程１０５でシミュレーションを行うときの状態を示したものである。この後、回路ブロック４０１の素子レベル回路図の全てのノード電圧を記録装置４１１に記録しておく。
【００２２】
同様に工程１０３で、回路ブロック４０２、４０３、４０４が順番に選択されることにより、工程１０５により４０２、４０３、４０４の素子レベル回路図に含まれるノード電圧が記録装置４１１に記録される。
【００２３】
全ての回路ブロックの処理が終わると、図５に示すように工程１０７、１０８により、全ての回路ブロック４０１〜４０４を素子レベル回路図に設定し、記録装置４１１に記録してある全ての回路ブロックのノード電圧をシミュレーションの初期値とする。この後、工程１０９により、シミュレーションを行い、解析結果を出力する。このときは回路の全てのノードに対して最終的な結果に近い電圧が初期値として与えられるため、収束性の向上や計算速度の向上を行うことが可能になる。また、最終的な結果は素子レベル回路図で求められるためアナログ機能記述による誤差を含まず、信頼性の高い結果を得ることが可能である。
【００２４】
【発明の効果】
請求項１記載の回路シミュレーション方法によれば、例えばアナログ大規模回路のシミュレーションにおいて、回路を素子レベル回路図とアナログ機能記述を組み合わせることにより、解析結果の精度を保証しながら、計算の収束性を向上させることが可能になる。
【００２５】
請求項２記載の回路シミュレーション方法によれば、請求項１と同様な効果がある。
【図面の簡単な説明】
【図１】本発明の一実施の形態の回路シミュレーション方法のフロー図である。
【図２】入力される回路の例を示す図である。
【図３】回路ブロックの例を示し、（ａ）は素子レベル回路図、（ｂ）はアナログ機能記述を示す図である。
【図４】回路ブロックの一つを素子レベル回路図に設定してシミュレーションを行う工程１０５での具体的動作例を示す図である。
【図５】全ての回路ブロックを素子レベル回路図に設定しシミュレーションを行う工程１０９での具体的動作例を示す図である。
【図６】従来の回路シミュレーション方式のフロー図である。
【符号の説明】
２０１　　第１の回路ブロック
２０２　　第２の回路ブロック
２０３　　第３の回路ブロック
２０４　　第４の回路ブロック
４０１　　第１の回路ブロック
４０２　　第２の回路ブロック
４０３　　第３の回路ブロック
４０４　　第４の回路ブロック
４１１　　記録装置
【図１】
2004013818.tif 000003
【図２】
2004013818.tif 000004
【図３】
2004013818.tif 000005
【図４】
2004013818.tif 000006
【図５】
2004013818.tif 000007
【図６】
2004013818.tif 000008