(57)【要約】【課題】シミュレーション処理すべき階層化回路の階層の深さに拘わらず保存すべきデータ量とシミュレーション処理時間とをほぼ一定にする。【解決手段】シミュレーション方法は、複数階層に階層化された階層化回路データを用いたシミュレーション結果に対し、上位側と下位側への階層間のインタフェースノードに関してシミュレーションによって得られた結果データを保存する第１処理と、第１処理にて保存された結果データを用いて、第１処理では保存されていない内部ノードのデータを再現する第２処理とを含む。階層間インタフェースノードの結果データが前記内部ノードの値を間接的に規定することになる。保存すべき結果データは階層間インタフェースノードに関するデータであり、保存データ量と第２処理に要する時間は階層の深さ若しくは上位階層であるか下位階層であるかによって影響されない。【選択図】図１
2007213274.tif 000002
【特許請求の範囲】
【請求項１】
複数階層に階層化された階層化回路データを用いたシミュレーション結果に対し、上位側と下位側への階層間のインタフェースノードに関してシミュレーションによって得られた結果データを保存する第１処理と、
第１処理にて保存された結果データを用いて、第１処理では保存されていない内部ノードのデータを再現する第２処理と、を含むことを特徴とするシミュレーション方法。
【請求項２】
前記第２処理におけるシミュレーションを、前記第１処理におけるシミュレーションと同じ初期条件で行なう請求項１記載のシミュレーション方法。
【請求項３】
前記第１処理において、上位側と下位側への階層間のインタフェースノードではない内部ノードのシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該内部ノードのシミュレーション結果データも保存する請求項２記載のシミュレーション方法。
【請求項４】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記特定ノードに与える入出力情報を電流情報とする請求項１記載のシミュレーション方法。
【請求項５】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は少なくとも２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記特定ノードに与える入出力情報を電流情報とする請求項１記載のシミュレーション方法。
【請求項６】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記部分回路の電圧源に流れる電流を見ないとき全ての前記特定ノードをフローティングとする請求項１記載のシミュレーション方法。
【請求項７】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する請求項１記載のシミュレーション方法。
【請求項８】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上の特定ノードとを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記２個以上の特定ノードの一つに与える入出力情報を電圧源情報とし、残りの特定ノードに与える入出力情報を電流源情報とする請求項１記載のシミュレーション方法。
【請求項９】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は少なくとも２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上の特定ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記２個以上の特定ノードの一つに与える入出力情報を電圧源情報とし、残りの特定ノードに与える入出力情報を電流源情報とする請求項１記載のシミュレーション方法。
【請求項１０】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上の特定ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記部分回路の電圧源に流れる電流を見ないとき、一つの特定ノードに与える入出力情報を電圧源情報とし、残りの特定ノードをフローティングとする請求項１記載のシミュレーション方法。
【請求項１１】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードとを有し、前記部分回路がグランド電位に非接続されているとき、前記第２処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する請求項１記載のシミュレーション方法。
【請求項１２】
指定された階層の回路ノードを階層化回路データから抽出する抽出処理と、
前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する保存処理と、
所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理と、を含むことを特徴とするシミュレーション方法。
【請求項１３】
前記保存処理において、上位側と下位側への階層間のインタフェースノードではない内部ノードのシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該内部ノードのシミュレーション結果データも保存し、当該階層中の素子のシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該素子のシミュレーション結果データも保存する請求項１２記載のシミュレーション方法。
【請求項１４】
前記シミュレーション再実行処理におけるシミュレーションを、前記シミュレーション実行処理におけるシミュレーションと同じ初期条件で行なう請求項１３記載のシミュレーション方法。
【請求項１５】
シミュレーション処理結果の表示指令に対し、前記保存処理で保存された結果データの表示又は前記シミュレーション再実行処理で得られたシミュレーション結果の表示を行う表示処理を更に含む請求項１４記載のシミュレーション方法。
【請求項１６】
前記抽出処理は、階層化回路データにおける下位階層への参照系列を追いながら階層レベルを下位に設定変更する毎に、設定された階層レベルで把握可能な回路ノードを登録する処理を、シミュレーション対象における全ての参照系列に対して行う処理であることを特徴とする請求項１５記載のシミュレーション方法。
【請求項１７】
指定された階層の階層化回路データの回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する保存処理と、
前記保存処理で保存された結果データの中から検索された結果データを、前記シミュレーション実行処理結果として表示する第１表示処理と、
所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理と、
前記シミュレーション再実行処理の結果データを表示する第２表示処理と、を含むことを特徴とするシミュレーション方法。
【請求項１８】
前記保存処理において、上位側と下位側への階層間のインタフェースノードではない内部ノードのシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該内部ノードのシミュレーション結果データも保存し、当該階層中の素子のシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該素子のシミュレーション結果データも保存する請求項１７記載のシミュレーション方法。
【請求項１９】
前記シミュレーション再実行処理におけるシミュレーションは、前記シミュレーション実行処理におけるシミュレーションと同等の初期条件で行われることを特徴とする請求項１８記載のシミュレーション方法。
【請求項２０】
指定された階層の階層化回路データの回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する保存処理と、
前記階層化回路データが修正されたとき、その修正が反映される回路ノードについて、その回路ノードにインタフェースされる一つ上位の階層又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて回路シミュレーションを実行するシミュレーション再実行処理と、を含むシミュレーション方法。
【請求項２１】
前記シミュレーション再実行処理において、前記修正が反映される回路ノードに対し、信号経路が相互に独立する回路ノード相互間については並列に回路シミュレーションを実行する請求項２０記載のシミュレーション方法。
【請求項２２】
指定された上位側階層の結果出力点をシミュレーション対象から抽出する第１処理と、
抽出された結果出力点に関するシミュレーションを行う第２処理と、
前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する第３処理と、
所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、前記第２処理のシミュレーションと同等の初期条件で、当該所要階層の回路ノードについてシミュレーション結果データを得るためのシミュレーションを行う第４処理と、を含むシミュレーション方法。
【請求項２３】
前記保存処理において、上位側と下位側への階層間のインタフェースノードではない内部ノードのシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該内部ノードのシミュレーション結果データも保存し、当該階層中の素子のシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該素子のシミュレーション結果データも保存する請求項２２記載のシミュレーション方法。
【請求項２４】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記特定ノードに与える入出力情報を電流情報とする請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項２５】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は少なくとも２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記特定ノードに与える入出力情報を電流情報とする請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項２６】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記部分回路の電圧源に流れる電流を見ないとき全ての前記特定ノードをフローティングとする請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項２７】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項２８】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上の特定ノードとを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記２個以上の特定ノードの一つに与える入出力情報を電圧源情報とし、残りの特定ノードに与える入出力情報を電流源情報とする請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項２９】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は少なくとも２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上の特定ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記２個以上の特定ノードの一つに与える入出力情報を電圧源情報とし、残りの特定ノードに与える入出力情報を電流源情報とする請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項３０】
前記第２処理の対象とされる内部ノードを有する階層化回路が、１個の電圧源又は２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上の特定ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記部分回路の電圧源に流れる電流を見ないとき、一つの特定ノードに与える入出力情報を電圧源情報とし、残りの特定ノードをフローティングとする請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項３１】
前記第２処理の対象とされる内部ノードを有する階層化回路が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上の特定ノードとを有し、前記部分回路がグランド電位に非接続されているとき、前記第２処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する請求項１２、１７、又は２０記載のシミュレーション方法。
【請求項３２】
回路シミュレーションを支援するデータ処理を行なうためにコンピュータが実行するシミュレーションプログラムであって、前記データ処理は、
複数階層に階層化された階層化回路データを用いたシミュレーション結果のうち、上位側と下位側への階層間のインタフェースノードに関するシミュレーション結果データを保存する第１処理と、
第１処理にて保存された結果データを用いて、第１処理では保存されていない内部ノードのデータを再現する第２処理と、を含むことを特徴とするシミュレーションプログラム。
【請求項３３】
回路シミュレーションを支援するデータ処理を行なうためにコンピュータが実行するシミュレーションプログラムであって、前記データ処理は、
指定された階層の回路ノードを階層化回路データから抽出する抽出処理と、
前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
上位側と下位側への階層間のインタフェースノードに関するものであり前記シミュレーション実行処理により結果出力ノードに得られたものである結果データを保存する保存処理と、
所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理と、を含むことを特徴とするシミュレーションプログラム。
【請求項３４】
回路シミュレーションを支援するデータ処理を行なうためにコンピュータが実行するシミュレーションプログラムであって、前記データ処理は、
指定された階層の階層化回路データの回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
上位側と下位側への階層間のインタフェースノードに関するものであり前記シミュレーション実行処理により結果出力ノードに得られたものである結果データを保存する保存処理と、
前記保存処理で保存された結果データの中から検索された結果データを、前記シミュレーション実行処理結果として表示する第１表示処理と、
所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理と、
前記シミュレーション再実行処理の結果データを表示する第２表示処理と、を含むことを特徴とするシミュレーションプログラム。
【請求項３５】
回路シミュレーションを支援するデータ処理を行なうためにコンピュータが実行するシミュレーションプログラムであって、前記データ処理は、
指定された上位側階層の結果出力点をシミュレーション対象から抽出する第１処理と、
抽出された結果出力点に関するシミュレーションを行う第２処理と、
上位側と下位側への階層間のインタフェースノードに関するものであり前記シミュレーション実行処理により結果出力ノードに得られたものである結果データを保存する第３処理と、
所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、前記第２処理のシミュレーションと同等の初期条件で、当該所要階層の回路ノードについてシミュレーション結果データを得るためのシミュレーションを行う第４処理と、を含むシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路シミュレーション方法に代表されるデータ処理方法、そしてシミュレーションプログラムに関し、例えば半導体集積回路の開発もしくは設計に用いるシミュレータに適用して有効な技術に関するものである。
【背景技術】
【０００２】
回路シミュレーション技術は半導体集積回路の回路設計及びレイアウト設計などにおける回路検証技術として利用される。近年のデバイスの微細化に伴う回路の大規模化、高集積化により、回路シミュレーションの実行時間増大、シミュレーション結果のデータ量増大が顕在化されている。実際の回路シミュレーション処理では、設計者が確認したい情報を出力として選択的に指定してシミュレーション処理を行う。指定された情報だけが結果データとして保存される。従って、保存されていない結果データは結果表示できない。任意の結果表示を可能にするにはシミュレーション対象の全ての回路ノードを指定したシミュレーションを行って結果を保持しておかなければならない。大規模回路では全部の結果データを保存するにはデータ量が膨大になり、全てを保存するのは実質的に不可能である。また、結果表示の対象データ量が増大すると、結果データの検索時間が増し、表示速度が遅くなる。更に、大規模回路では、シミュレーション処理時間が増大するため、部分的な回路変更や素子パラメータの変更に対処するための再シミュレーション時間も増大する。
【０００３】
シミュレーション結果を保存する記憶領域の削減に関し、特許文献１にはシミュレーション結果を圧縮して保存する技術が記載され、特許文献２には信号経路の上流側から下流側に向かって回路を分割し、分割回路の出力の影響を考慮して部分毎にシミュレーションを進める技術が開示される。
【０００４】
しかしながら、特許文献１に記載の技術では、圧縮・伸張処理が新たに必要になるから、シミュレーションや結果表示に伴う計算機処理時間が更に増大してしまう。特許文献２に記載の技術では、計算機処理に用いるメモリ量は減ってもその結果を保持する補助記憶手段の記憶容量は依然として減らない。しかも、他のシミュレーション結果に依存しないように分割して回路を直列的にシミュレーション処理しなければならないから処理時間は増大する傾向にあると考えられる。
【０００５】
そこで本出願人は先に特許出願を行った（特許文献３）。先の出願に係るシミュレーション方法は、階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第１処理と、それよりも下位側階層の回路ノードに対し、上記処理で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、所定の初期条件でシミュレーションを行う第２処理と、を含むものである。
【０００６】
【特許文献１】特開平１１−９６２０７号公報
【特許文献２】特開平９−２５９１５１号公報
【特許文献３】国際公開第０３／０３６５２３号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明者は先の出願発明について更に検討した。第１は、保存すべきデータ量とシミュレーション速度とのトレードオフの点である。第２は、シミュレーションに際してボルテージソースループを生ずる場合に着目した。第１の観点によれば、シミュレーション結果を保存しない下位階層が深まるほど保存すべきデータ量は増えるが、下位階層に対するシミュレーション処理時間は短くなる。保存すべきデータ量を減らそうとすると逆に下位階層に対するシミュレーション処理時間が長くなってしまう。第２の点については、シミュレーションに際して電圧源とインダクタの少なくとも一方だけしか接続されていないパスがあると、そのパスの両端に電圧源またはグランドを接続してループを構成したときにそのパスに含まれるノードの電圧に矛盾を生じたり、電流値を取得することができないという不都合を生ずる虞がある。そのような電圧源とインダクタのみから構成されたループをボルテージソースループと言う。シミュレーション対象回路にボルテージソースループを生ずると、シミュレーション結果が得られない場合がある。
【０００８】
本発明の目的は、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、シミュレーション処理すべき階層化回路の階層の深さに拘わらず保存すべきデータ量とシミュレーション処理時間とをほぼ一定にすることができるシミュレーション方法を提供することにある。
【０００９】
本発明の別の目的は、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、ボルテージソースループによる不都合も生じ難いシミュレーション方法を提供することにある。
【００１０】
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１２】
〔１〕＜１−Ａ＞．本発明に係るシミュレーション方法は、複数階層に階層化された階層化回路データを用いたシミュレーション結果に対し、上位側と下位側への階層間のインタフェースノードに関してシミュレーションによって得られた結果データを保存する第１処理と、第１処理にて保存された結果データを用いて、第１処理では保存されていない内部ノードのデータを再現する第２処理とを含む。所定の初期条件は、望ましくは前記第１処理における前記シミュレーションと同等の初期条件であるとよい。前記初期条件は、例えば第１処理でシミュレーション結果と共に保存して、再利用可能にすればよい。これにより、シミュレーション結果が保存される結果データは階層間のインタフェースノードのデータに制限されるから、シミュレーションで保存すべき結果データ量を削減することができる。インタフェースノードではない内部ノードについてはシミュレーション結果が保存されていないが、第１処理のシミュレーション条件と同じ初期条件の元では、階層間インタフェースノードの結果データが前記内部ノードの値を間接的に規定することになる。これにより、第１処理で得られた結果データの表示だけでは足りない表示指令に対して、第２処理でシミュレーションを行った再現結果を表示すればよい。したがって、大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量(第１処理による結果データを保存可能な容量)で達成することができる。保存すべき結果データ量の削減により結果データの検索時間を短縮できる。また、第２処理によるシミュレーション時の対象回路規模を小さくできるから、大規模回路で部分的な回路変更や素子パラメータの変更時に再シミュレーション時間を短縮することが可能である。さらに、保存すべき結果データは階層間インタフェースノードに関するデータであり、階層の深さ若しくは上位階層であるか下位階層であるかによって影響されない。したがって、シミュレーション処理すべき階層化回路の階層の深さに拘わらず保存すべきデータ量とシミュレーション処理時間とをほぼ一定にすることができる。
【００１３】
前記第１処理において、上位側と下位側への階層間のインタフェースノードではない内部ノードのシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該内部ノードのシミュレーション結果データも保存し、当該階層中の素子のシミュレーション結果データが、別の階層の電圧源又は電流源の値を決定するときは、当該素子のシミュレーション結果データも保存するのがよい（図２４）。ある階層の内部ノードのシミュレーション結果が別の階層の電圧源又は電流源の値を決定するという依存関係を持っていても、シミュレーション時間を短縮可能とする上記方法による階層化シミュレーションを行うことができる。
【００１４】
＜１−Ｂ＞．このとき、前記第２処理の対象とされる内部ノードを有する階層化回路領域（３ｐ）が、電圧源（Ｖｓ）とインダクタ（Ｌｔ）の何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路（ＶＬＣ）と、前記部分回路を別の階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）とを有し、前記部分回路がグランド電位（ＧＮＤ）に接続されているとき、前記第２処理において前記特定ノードに与える入出力情報を電流情報（ＩＮ１〜ＩＮＮ、ＩＭ１〜ＩＭＮ、）とする（図３１、図４６）。電流情報は所要の電流源として与えられる。シミュレーションに際して回路素子として電圧源とインダクタの少なくとも一方の素子だけしか接続されていない部分回路があっても、当該部分回路の電位的基準をグランド電位によって規定し、且つ、当該部分回路の特定ノードに電流情報を与えることによって、前記特定ノードに電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、必要なシミュレーション結果を得ることができる。電流情報を取得するには、第１の処理において、当該一方の特定ノードに電圧ゼロの電圧源を接続し、その素子に流れる電流を求め、これを保存して第２の処理で利用すればよい。
【００１５】
また、前記第２処理の対象とされる内部ノードを有する階層化回路領域が、１個の電圧源又は少なくとも２個以上の連結された電圧源から構成された部分回路（ＶＬＣｖ）と、前記部分回路を別の階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）と、前記部分回路に接続する他の回路（ＣＩＲ）とを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において部分回路（ＶＬＣｖ）の全ての特定ノードに与える入出力情報を電流情報とする(図３５、図５０)。前記部分回路に更に他の回路が接続される場合には当該他の回路の状態によって部分回路の前記特定ノードの電圧値が決まることになるので本来全ての特定ノードはフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。部分回路の電圧源に流れる電流をシミュレーションによって検証したい場合には、部分回路（ＶＬＣｖ）の全ての特定ノードに入出力情報として電流情報を与えればよい。電流情報は上記と同じように求めればよい。
【００１６】
また、前記第２処理の対象とされる内部ノードを有する階層化回路領域が、１個の電圧源又は２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）と、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記部分回路の電圧源に流れる電流を見ないとき全ての前記特定ノードをフローティングとする（図３４、図４９）。部分回路の電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、他の回路に直結する特定ノード以外の上位インタフェースノードもフローティングであってよいということである。
【００１７】
また、前記第２処理の対象とされる内部ノードを有する階層化回路領域が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）とを有し、前記部分回路がグランド電位に接続されているとき、前記第２処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する（図３６、図５１）。要するに、部分回路の全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
【００１８】
＜１−Ｃ＞．上記説明では部分回路はグランド電位に接続されているものとした。必ずしもそうであることを要しない。前記第２処理の対象とされる内部ノードを有する階層化回路領域が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）とを有し、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記２個以上の特定ノードの一つに与える入出力情報を電圧源情報とし、残りの特定ノードに与える入出力情報を電流源情報とする（図３９、図５４）。特定ノードの一つに与える入出力情報としての電圧源情報が例えば上記におけるグランド電位の相当する情報とされる。
【００１９】
同様に、前記第２処理の対象とされる内部ノードを有する階層化回路領域が、１個の電圧源又は少なくとも２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）と、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において一つの特定ノードに与える入出力情報を電圧源情報とし、残りの特定ノードに与える入出力情報を電流源情報とする（図４２、図５７）。
【００２０】
更に同じく、前記第２処理の対象とされる内部ノードを有する階層化回路領域が、１個の電圧源又は２個以上の連結された電圧源から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する２個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）と、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第２処理において前記部分回路の電圧源に流れる電流を見ないとき、一つの特定ノードに与える入出力情報を電圧源情報とし、残りの特定ノードをフローティングとする（図５１、図５６）。
【００２１】
同じく、前記第２処理の対象とされる内部ノードを有する階層化回路領域が、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路と、前記部分回路を別の階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード、例えば、上位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｎ１〜ＮＮ）、又は下位階層の階層化回路に接続する１個以上のインタフェースノードとしての特定ノード（Ｍ１〜ＭＮ）とを有し、前記部分回路がグランド電位に非接続されているとき、前記第２処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する。
【００２２】
〔２〕．本発明の別の観点によるシミュレーション方法は、指定された側階層の回路ノードを階層化回路データから抽出する抽出処理と、前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理とを含む。そして、前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する保存処理と、所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理とを含む。
【００２３】
この場合にも、シミュレーション再実行処理において上記＜１−Ａ＞と同様にシミュレーション処理すべき階層化回路の階層の深さに拘わらず保存すべきデータ量とシミュレーション処理時間とをほぼ一定にすることができ、シミュレーション時間を短縮可能とする上記方法による階層化シミュレーションを行うことができる。さらに、＜１−Ｂ＞、＜１−Ｃ＞で説明したと同じように、ボルテージソースループが発生する虞を解消するための部分回路に関する処理を含めてシミュレーション方法を実現することができる。
【００２４】
また、本発明の具体的な形態として、シミュレーション処理結果の表示指令に対し、前記保存処理で保存された結果データの表示又は前記シミュレーション再実行処理で得られたシミュレーション結果の表示を行う表示処理を更に含んでよい。
【００２５】
前記抽出処理は、例えば、階層化回路データにおける下位階層への参照系列を追いながら階層レベルを下位に設定変更する毎に、設定された階層レベルで把握可能な回路ノードを登録する処理を、シミュレーション対象における全ての参照系列に対して行う処理としてよい。シミュレーションの結果出力ノードを階層指定によって抽出することが可能になる。
【００２６】
〔３〕．シミュレーション結果の表示処理に着目した具体的な形態によるシミュレーション方法は、指定された階層の階層化回路データの回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する保存処理と、前記保存処理で保存された結果データの中から検索された結果データを、前記シミュレーション実行処理結果として表示する第１表示処理とを含む。更に、所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理と、前記シミュレーション再実行処理の結果データを表示する第２表示処理と、を含む。
【００２７】
この場合にも、シミュレーション再実行処理において上記＜１−Ａ＞と同様にシミュレーション処理すべき階層化回路の階層の深さに拘わらず保存すべきデータ量とシミュレーション処理時間とをほぼ一定にすることができ、シミュレーション時間を短縮可能とする上記方法による階層化シミュレーションを行うことができる。さらに、＜１−Ｂ＞、＜１−Ｃ＞で説明したと同じように、ボルテージソースループが発生する虞を解消するための部分回路に関する処理を含めてシミュレーション方法を実現することができる。
【００２８】
〔４〕．本発明の更に別の観点によるシミュレーション方法は、指定された階層の階層化回路データを用いて回路シミュレーション処理を行うシミュレーション実行処理と、前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する保存処理とを含む。そして、前記階層化回路データが修正されたとき、その修正が反映される回路ノードについて、その回路ノードにインタフェースされる一つ上位の階層又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて回路シミュレーションを実行するシミュレーション再実行処理とを含む。これにより、全体的なシミュレーションをやり直さなくても済むから、シミュレーション時間の短縮に役立つ。上記＜１−Ａ＞と同様のシミュレーション時間に短縮、＜１−Ｂ＞、＜１−Ｃ＞と同様のボルテージソースループの抑制を実現することができる。
【００２９】
〔５〕．回路シミュレーション以外のデバイスシミュレーション等にも着目した形態では、シミュレーション方法は、指定された上位側階層の結果出力点をシミュレーション対象から抽出する第１処理と、抽出された結果出力点に関するシミュレーションを行う第２処理と、前記シミュレーション実行処理により結果出力ノードに得られた結果データのうち、上位側と下位側への階層間のインターフェースノードに関するものを保存する第３処理とを含む。更に、所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、前記第２処理のシミュレーションと同等の初期条件で、当該所要階層の回路ノードについてシミュレーション結果データを得るためのシミュレーションを行う第４処理と、を含む。
【００３０】
〔６〕．本発明に係るシミュレーションプログラムは、回路シミュレーションを支援するデータ処理を行なうためにコンピュータが実行するプログラムである。前記データ処理は、複数階層に階層化された階層化回路データを用いたシミュレーション結果に対し、上位側と下位側への階層間のインタフェースノードに関してシミュレーションによって得られた結果データを保存する第１処理と、第１処理にて保存された結果データを用いて、第１処理では保存されていない内部ノードのデータを再現する第２処理と、を含む。このシミュレーションプログラムにより、上記シミュレーション方法を容易に実現することができる。
【００３１】
更に別の態様に係るシミュレーションプログラムは、コンピュータによるデータ処理として、指定された階層の回路ノードを階層化回路データから抽出する抽出処理と、前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、上位側と下位側への階層間のインタフェースノードに関して前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理と、を規定する。
【００３２】
更に別の態様に係るシミュレーションプログラムは、コンピュータによるデータ処理として、指定された階層の階層化回路データの回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、上位側と下位側への階層間のインタフェースノードに関して前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、前記保存処理で保存された結果データの中から検索された結果データを、前記シミュレーション実行処理結果として表示する第１表示処理と、所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、当該所要階層の回路ノードについてシミュレーション結果データを得るシミュレーション再実行処理と、前記シミュレーション再実行処理の結果データを表示する第２表示処理と、を規定する。
【００３３】
更に別の態様に係るシミュレーションプログラムは、コンピュータによるデータ処理として、指定された上位側階層の結果出力点をシミュレーション対象から抽出する第１処理と、抽出された結果出力点に関するシミュレーションを行う第２処理と、上位側と下位側への階層間のインタフェースノードに関して前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する第３処理と、所要階層の一つ上位又は一つ下位の階層との間の前記保存されたインタフェースノードに関する結果データを用いて、前記第２処理のシミュレーションと同等の初期条件で、当該所要階層の回路ノードについてシミュレーション結果データを得るためのシミュレーションを行う第４処理と、を規定する。
【発明の効果】
【００３４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３５】
すなわち、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、シミュレーション処理すべき階層化回路の階層の深さに拘わらず保存すべきデータ量とシミュレーション処理時間とをほぼ一定にすることができる。
【発明を実施するための最良の形態】
【００３６】
《オンザフライシミュレーション》
図１には本発明に係るシミュレーション方法の前提となる概念を結果出力区分の一例と共に示す。
【００３７】
同図において１は、設計データで特定されるシミュレーション対象回路である。回路シミュレーションを行なうとき、特定される信号端子もしくは回路ノードに入力波形情報が与えられ、この初期情報を基に非線形方程式及び回路行列を解くことで初期の回路状態を決定する。この時、全ての回路ノードの初期値が決定する。初期の回路状態を基に入力波形情報を遷移して非線形方程式及び回路行列を解くことでその回路状態を決定しながら、回路ノードの遷移データを求めていく。この内、結果出力ノードとして指定された回路ノードの結果データが保存される。結果データを保存する回路ノードは、階層化された回路データ（階層化回路データ）において、上位側階層と下位側階層への階層間のインタフェースノードに限定される。図１において回路領域１内の各種矩形領域３ａ〜３ｈ、３ａａ〜３ａｅは夫々階層化回路データの領域である。ここでは階層レベルについて詳細な区別はされていないが、ハッチングが付された回路領域（Individual Device）３ａａ〜３ａｅ、３ｂ、３ｇ、３ｈは単位素子若しくは単位デバイスの回路領域であり、階層化された最小単位の領域とされる。３ａ、３ｃに代表される白抜き矩形の回路領域は更に下位側に階層を有する回路領域（Subcircuit）とされる。回路領域３ｄには最小単位の単位素子として抵抗素子３ｄａ，３ｄｂを直列した回路を例示している。図１において階層間のインタフェースノードは、Ｎ１〜Ｎ１０、Ｎ１２〜Ｎ１４とされる。図１において結果データが保存されない内部ノードは、Ｎ１１、Ｎ１５〜Ｎ１８とされる。インタフェースノードの結果データを保存するときには、シミュレーション対象回路１の全ての回路ノードの初期値も併せて保存する。例えば、回路領域３ａの回路ノードＮ１５〜Ｎ１７に関するシミュレーション結果が欲しい場合には、回路領域３ａの内部の回路ノードＮ１５〜Ｎ１７に対する初期状態を、前記保存されている初期値によって決定し、回路領域３ａにインタフェースされるインタフェースノードＮ５〜Ｎ８の状態は、前記保存された結果データから決める。これにより、部分的な回路領域３ａのシミュレーションを、対象回路１の全体に対して行ったシミュレーションと同等の初期条件で実行でき、それによって当該領域３ａ内の回路ノードＮ１５〜Ｎ１７に得られた結果データを表示すればよい。その他の回路領域３ｃ〜３ｆの内部回路ノードに対しても必要に応じて部分的なシミュレーションを再実行して、その結果を表示すればよい。そのようなデータ非保存の内部ノードに関するシミュレーションは、「結果を表示したいときその場ですぐに表示すべき情報を復元するためのシミュレーション」という意味で、オンザフライシミュレーション（on-the-fly simulation）とも称することにする。
【００３８】
図２には本発明に係るシミュレーション方法の概念を更に原理的に示してある。シミュレーション対象回路１に含まれる階層化回路データの領域３に対し、上位階層へのインタフェースノードＮｕｉのシミュレーション結果データ、下位階層へのインタフェースノードＮｄｉのシミュレーション結果データが保存され、領域３の内部ノードＮｉｓのシミュレーション結果データは原則として保存対象とはされない。階層化回路データの領域３ａに着目すると、上位階層へのインタフェースノードＮｄｉのシミュレーション結果データが保存され、領域３ａの内部ノードＮａｉｓのシミュレーション結果データは原則として保存対象とはされない。インタフェースノードの保存されるシミュレーション結果データを保存結果データ、内部ノードの保存されないシミュレーション結果データを非保存結果データとも称する。
【００３９】
図３には本発明に係るシミュレーション方法の原理が階層化回路データの階層構造に着目して示される。シミュレーション対象回路１は階層化された回路ブロックにより定義される。最上位ブロックから最下層の回路ブロックまで階層化されている。最上位ブロックから最下層の回路ブロック毎に、保存結果データ４と非保存結果データ９が存在している。各ブロックにおいて、ハッチングした部分が保存結果データに応ずるインタフェースノードを意味し、その他の部分が内部ノードを意味する。シミュレーションで保存されなかった非保存結果データに対応する内部ノードに関する表示要求に対しては前記オンザフライシミュレーション１０によって得られた結果データ５を表示部１１に表示すればよい。
【００４０】
図３より明らかなように、保存すべきシミュレーション結果データは少なくなる。結果データが保存されて入いないノードに対しては、必要に応じて、その都度、前記オンザフライシミュレーション１０で取得した結果データ５を表示するシミュレーション方法を採用することにより、大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量で達成することができる。保存すべき結果データ量の削減により結果データの検索時間を短縮できる。
【００４１】
次に、保存結果データ４を取得した後、シミュレーション対象回路１における部分的な回路変更や素子パラメータの変更があったとき、その変更を反映したシミュレーション結果を得る方法について説明する。
【００４２】
図４にはシミュレーション対象回路における部分的な回路変更や素子パラメータの変更があったときの状態が例示される。図４では例えば前記回路領域３ａが変更されている。この変更前に、シミュレーション対象回路のシミュレーションによりインタフェースノードＮ１〜Ｎ１０、Ｎ１２〜Ｎ１４の結果データは既に保存されているものとする。回路領域３ａの変更は、当該回路領域３ａの出力を信号伝播の上流側から受ける回路ノードＮ７，Ｎ８、Ｎ１２，Ｎ１３及び回路領域３ｄ，３ｅ内部の回路ノードに影響を与える。
【００４３】
図５には部分的な回路変更や素子パラメータの変更があったとき、その変更を反映したシミュレーション結果を得る方法が例示される。前記保存結果データ４を取得したときの回路領域３ａに対する変更は、当該回路領域３ａの出力を信号伝播の上流側から受ける回路ノードＮ７，Ｎ８、Ｎ１２，Ｎ１３及び回路領域３ｄ，３ｅ内部の回路ノードに影響を与える。ここでは、そのような変更によって影響を受ける領域として、６で示されるように、変更される回路領域のインタフェースノードと其れによって影響を受ける別の回路領域のインタフェースノードとを包含する領域に着目する。そのような回路領域６に対して、前記オンザフライシミュレーションに類似の手法でシミュレーションを行う。変更された回路領域３ａと外部で接続する回路ノードＮ５，Ｎ６，Ｎ９の状態は前記保存された結果データから決定される。それに基づいて、変更された回路領域３ａの内部ノードの初期値も決定される。また、回路領域３ａの出力を信号伝播の上流側から受ける回路ノードＮ７，Ｎ８、Ｎ１２，Ｎ１３及び回路領域３ｄ，３ｅ内部の回路ノードも回路領域３ａの変更に応じてその初期値が決定される。回路領域３ｅに関してはノードＮ９の結果保存データも利用する。これにより、部分的な回路領域６のシミュレーションを、部分的に変更された対象回路１の全体に対して行ったシミュレーションと同等の初期条件で実行でき、それによって当該領域６の回路ノードＮ７、Ｎ８，Ｎ１２，Ｎ１３に得られた結果データを、変更前の回路ノードの結果データと置き換えればよい。
【００４４】
図６には図５の部分的な変更に対処するシミュレーション方法の原理が階層化回路データの階層構造に着目して示される。図６のＢＬＫｉの内部は回路領域６において前記部分的な回路変更や素子パラメータの変更があった回路部分を総称する。領域６のネットリスト７と前記保存結果データ４の一部を用いて回路シミュレーションを行うことにより、回路領域６に関する新規の保存結果データ８が生成される。
【００４５】
上記より、部分的な回路変更等の影響を受ける回路領域６に対して、前記オンザフライシミュレーションに類似の手法でシミュレーションを行うことができるから、シミュレーション時の対象回路規模を小さくでき、大規模回路で部分的な回路変更や素子パラメータの変更時に再シミュレーション時間を短縮することが可能になる。
【００４６】
図７には前記オンザフライシミュレーションの並列処理が例示される。図１で説明したオンザフライシミュレーションを複数の回路領域で行うとき、回路領域３ａ，３ｃ，３ｅ，３ｆに対するシミュレーションをシミュレータによる並列演算処理ＰＲＣ１〜ＰＲＣ４により並列処理してよい。これにより、複数の回路領域に対する表示指令に応答する演算処理及び表示動作の高速化を実現することができる。
【００４７】
図８には回路変更等に起因する部分領域に対するオンザフライシミュレーション類似のシミュレーションを並列処理する例が示される。部分的な回路変更によって影響される部分領域として、図示の６Ａ，６Ｂの複数個所が存在する場合に、それら部分領域６Ａ，６Ｂに対し、シミュレータによる並列演算処理ＰＲＣ１〜ＰＲＣ２を用いて並列処理してよい。これにより、複数の回路変更個所が信号経路を共有しない複数の部分領域６Ａ，６Bに及ぶ場合にもそれらに対する再シミュレーション処理を高速化することができる。
【００４８】
ここで、内部ノードや素子のデータも結果保存データとする場合について説明する。例えば図２４の例では、電流源３ｉの電流値Ｉｄｅｐは、内部ノードＮＳ３の電圧ＶＮＳ３と、電圧源VＳ４に流れる電流値ＩVＳ４とに依存する。電圧源３ｇの電圧Ｖｄｅｐは、ノードＮ１１とノードＮ１０の差電圧とされ、これは内部ノードＮＳ１の電圧ＶＮＳ１と電圧源VＳ２に流れる電流ＩＮＳ２とに依存する。このように、回路領域３ａにおいて上位側と下位側への階層間のインタフェースノードではない内部ノードＮＳ１とＮＳ３、素子としての電圧源ＶＳ２とＶＳ４のシミュレーション結果データが、別の階層の電圧源３ｉ、電流源３ｇの値を決定するときは、当該内部ノードＮＳ１とＮＳ３、および当該電圧源ＶＳ２とＶＳ４のシミュレーション結果データも保存する。ある階層の内部ノードや電圧源のような素子のシミュレーション結果が別の階層の電圧源又は電流源の値を決定するという依存関係を持っていても、上記による階層化シミュレーションを行うことができる。
【００４９】
次に図１で説明したしシミュレーション方法を更に具体的に説明する。
【００５０】
図９には本発明に係るシミュレーション方法を実現する為のデータ処理システムが例示される。ネットリスト１３はシミュレーション対象回路を特定する階層化回路データである。データ保存領域情報１１は階層化回路データにおいて結果出力ノードとして抽出すべき回路ノードを決める為の情報、例えばインタフェースノードと内部ノードを区別するための情報である。入力波形情報１２は階層化回路データで特定される信号端子もしくは回路ノードに与えられる信号波形を規定する情報であり、シミュレーション対象回路の回路ノードの初期値は前記入力波形情報１２等で決まる。デバイス特性情報１５は階層化回路データで特定される回路素子の回路特性を規定する為のデバイスモデルパラメータなどを意味する。制御情報１４はシミュレーションを行う回路シミュレータ１０の動作を制御するその他の制御情報を意味する。回路シミュレータ１０は、データ保存領域情報１１、入力波形情報１２、ネットリスト１３、制御情報１４、及びデバイス特性情報１５を入力し、図１で説明したように、階層化回路データの指定された上位側階層の回路ノードを結果出力ノードとする回路シミュレーションを行い、その結果を保存結果データ４として保存する。
【００５１】
シミュレーション結果の表示制御手段１７は、表示ノードの指定情報１６が入力されると、その情報で指定された回路ノードが保存結果データ４に含まれているかを検索する。含まれていれば、検索した回路ノードのデータを結果波形情報１８としてディスプレイ１９に表示制御する。
【００５２】
表示ノードの指定情報１６で指定された回路ノードのデータが保存結果データ４に含まれていない場合、オンザフライシミュレーションを経て必要な回路ノードの波形情報をディスプレイ１９に表示する。この処理はオンザフライシミュレーション制御等を行う部分回路シミュレーション制御手段２０で制御する。すなわち、再実行制御部２４は、所要の回路ノードのデータが保存結果データ４に含まれていないとき、その回路ノードを結果出力ノードとする回路シミュレーションに必要な情報を、前記ネットリスト１３、制御情報１４、デバイス特性情報１５及び保存結果データ４を参照して、部分再実行用データ生成手段２１で生成する。生成された部分再実行用データ２２は、例えば図１の回路領域３ａを部分シミュレーションする為のノードＮ５〜Ｎ８の保存情報、領域３ａ内部の回路ノードＮ１５〜Ｎ１７の初期値情報、論理構成情報、論理を構成するデバイスの特性情報等が、シミュレータで処理可能なフォーマットに変換されたデータとされる。回路シミュレータ２３はその部分再実行用データ２２を用いてシミュレーションを実行し、所要の結果出力ノードの波形データを生成する。生成された波形データは結果表示制御手段１７を介してディスプレイ１９に表示される。特に図示はしないが、従来のシミュレーション処理システムでは対象回路全体の回路ノードを結果出力ノードとしてシミュレーションを行い、図９の保存結果データ４と非保存結果データを区別なく合わせた量のデータが取得される。従来のシミュレーション処理システムでは図９のようなオンザフライシミュレーション制御による部分回路シミュレーション制御を行う手段は存在しない。表示指令で指定された回路ノードの波形情報がなければその指令に対してエラー応答を返すだけである。
【００５３】
図１０には図９の回路シミュレータ１０による回路シミュレーション処理フローが例示される。前記ネットリスト１３などの必要な情報を入力する（Ｓ１）。それら入力情報に基づいて、シミュレーション対象の回路ノードから指定階層の回路ノードを抽出し、結果出力ノードとして設定する（Ｓ２）。ここでは、結果出力ノードとして抽出する対象はインタフェースノードだけでなく、他の回路領域と直接依存関係のある内部ノードも抽出する。前記入力情報に基づいてシミュレーションの為の行列式が生成され（Ｓ３）、デバイスのモデル計算（Ｓ４）、行列計算（Ｓ５）を経て、ニュートンラプソン法による解の収束が得られたかを判定し（Ｓ６）、所定の誤差範囲内で収束が得られるまで上記処理を繰返す。それによる収束値は、その時の結果出力ノードにおける遷移状態の一つの値とされ、全ての結果出力ノードに対する解析が終了するまで、前記モデル計算、行列計算、収束判定を繰り返す（Ｓ７，Ｓ８）。それら処理で各結果出力ノードに得られた結果データが出力されて（Ｓ９）、保存される。
【００５４】
図１１には図９の結果表示制御手段１７及び部分回路シミュレーション制御手段２０によるシミュレーション結果の表示制御フローが例示される。表示ノード情報１６で指定された回路ノードを示す表示変数が与えられると（Ｓ１１）、その表示変数データを検索し（Ｓ１２）、対応する結果データの有無が判定される（Ｓ１３）。対応する結果データがある場合にはデータ表示を行う（Ｓ１４）。対応する結果データがない場合には、部分回路シミュレーション制御手段２０による部分回路シミュレーション処理が行われ（Ｓ１５）、それによって得られた結果データが表示される（Ｓ１４）。結果表示の終了が指示されるまで、上記処理ステップを繰返して、結果表示の制御が行われる（Ｓ１６）。
【００５５】
図１２には図９の部分回路シミュレーション制御手段２０と結果表示制御手段１７によって構成されるオンザフライシミュレーション機能付きの結果表示制御手段２６の詳細な一例が示される。部分再実行用データ生成手段２１で生成される部分再実行用データ２２は、部分再実行用入力波形情報２２Ａ、部分再実行用ネットリスト２２Ｂ、部分再実行用初期値情報２２Ｃを含む。オンザフライシミュレーションによるシミュレーションの再実行対象を図１の回路領域３ａとすると、部分再実行用入力波形情報２２Ａは例えば保存結果データに含まれる図１の回路ノードＮ５〜Ｎ８の情報とされる。部分実行用ネットリスト２２Ｂは例えば図１の回路領域３ａの回路構成を規定するネットリストとされる。前記部分再実行用初期値情報２２Ｃは、例えば保存結果データ４と共に保存された回路領域３ａ内部の回路ノードＮ１５〜Ｎ１７の初期値情報とされる。前記部分再実行用データを用いた回路シミュレーションにより、非保存結果データとされた回路ノードの内の所要の回路ノードの情報が結果データ２３Ａとして得られる。
【００５６】
次に、データを保存すべき結果出力ノードを抽出する処理について説明する。この処理は図１０のステップＳ２における結果出力ノード抽出処理に対応される。
【００５７】
図１３には階層構造を持った回路データ（階層化回路データ）による階層構造が例示される。●は回路ブロック（以下単にブロックとも記す）が有する回路ノードの内の内部ノードを意味し、◆はブロックが有する回路ノードの内、上位側又は下位側にインタフェースされるインタフェースノードを意味する。特にここでは、前記内部ノードの結果データが他の回路領域に対して直接依存性がある場合も例示される。例えば、最上位ブロックの電圧源３ｊが下位階層のブロックＸ１の中にあるＸ２の内部ノードや回路素子の状態に依存する場合が示されている。電圧源３ｊの電圧Ｖｄｅｐは、ブロックＸ１の中にあるＸ２の素子Ｍ１に流れるドレーン電流Ｉｄｒａｉｎ（Ｘ１．Ｘ２．Ｍ１）と、ブロックＸ１の中にあるＸ２のノードＮ１の電圧Ｖ（Ｘ１．Ｘ２．Ｎ１）とに依存する。即ち、前記電流Ｉｄｒａｉｎ（Ｘ１．Ｘ２．Ｍ１）はブロックＸ１の中にあるブロックＸ２の素子Ｍ１を通して流れるドレーン電流の意味とする。前記電圧Ｖ（Ｘ１．Ｘ２．Ｎ１）はブロックＸ１の中にあるブロックＸ２のノードのＮ１の電圧の意味とする。
【００５８】
図１４には図１３の回路ブロックの階層構造と階層レベルとの関係が概略的に示される。図１３及び図１４より、最上位ブロックは下位のブロックＳ１，Ｓ２を参照し、階層レベル２のブロックＳ１はブロックＳ２を参照する。回路レベル３のブロックＳ２は下位のブロック参照を有していない。
【００５９】
図１５には図３などで説明した階層化回路データにおける各階層の回路ブロックが保有する情報を例示する。回路ブロックは、ブロック名、下位ブロックの階層間対応情報、素子情報、インタフェースノード情報、及び内部ノード情報を有する。下位ブロックの階層間対応情報及び素子情報については不要な場合もある。前記下位ブロックの階層間対応情報は、下位ブロック参照名、接続ノード情報、インタフェースノード情報、及び下位ブロック名を有する。図１３の最上位ブロックを一例とすれば、下位ブロック参照名は参照を定義する定義側のＸ１，Ｘ２であり、下位ブロック名はＸ１に対応して参照される側のＳ１であり、Ｘ２に対応して参照される側のＳ２である。
【００６０】
前記回路ブロックの態様を説明する。回路ブロックの態様は図１６に例示されるところの下位ブロックのみで構成される態様、図１７に例示されるところの下位ブロックと素子で構成される態様、図１８に例示されるところの素子のみで構成される態様に大別される。素子とは、最下位概念の回路要素を意味し、トランジスタ、抵抗、容量、伝達関数などで表現される数学的要素を意味する。ブロックとは複数の回路素子の集合として位置付けられる。図１６の回路ブロックの回路情報は素子情報を持たない。図１８の回路ブロックは下位ブロックの階層間対応情報を持たない。素子とは、図１等で説明した単位素子若しくは単位デバイス（Individual Device）である。
【００６１】
シミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの一般的なデータ形態は図１９に例示される。階層レベル間における回路ブロック情報のリンクは前記下位ブロックの階層間対応情報で行われる。図１９に例示されるデータ形態の回路ブロック情報からインタフェースノードや内部ノードのノード情報を抽出したときの情報フォーマットは、特に制限されないが、図２０に例示されるように、階層レベル毎に最上位側より下位ブロック参照名が区切り文字で区切られて付加され、最後にインタフェースノード名又は内部ノード名を有する、階層情報付きノード名としての情報フォーマットを有する。
【００６２】
図２１には図１３に例示された階層構造を持つシミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの具体例が示される。図２２には図２１の回路ブロック情報から抽出されたインタフェースノード及び内部ノードの全てのノード情報が階層情報付きノード名として与えられている。
【００６３】
図２３には前記結果出力ノード抽出処理の制御フローチャートが例示される。先ず、最上位ブロックを選択し階層レベルを１に設定する（Ｓ２０）。当該階層レベルにおいて、インタフェースノードのような保存すべき結果出力ノードがあるかを判定する（Ｓ２１）。保存すべきものがあれば、設定された階層レベルの階層情報と内部ノードを階層情報付きノード名として結果出力ノードに登録する（Ｓ２２）。ステップＳ２２の後、又はステップＳ２１において保存すべき結果出力ノードがないと判定されたとき、回路ブック情報から下位ブロック参照情報を検索し（Ｓ２３）、下位ブロック参照の有無を判別する（Ｓ２４）。下位ブロック参照があるときは、当該参照に係る下位ブロックへ移動し、設定階層レベルを１上げる（Ｓ２５）。移動した下位ブロックにおいて前記ステップＳ２１〜Ｓ２４の処理を行う。上記処理は、設定階層レベルが指定階層レベルに到達するまで、或は下位ブロックの参照がなくなるまで繰返される。
【００６４】
下位ブロックの参照がなくなったとき、設定階層レベルが“１”であるかを判別し（Ｓ２６）、そうでなければ、設定階層レベルから一つ上位のブロックに戻り、設定階層レベルを１下げる（Ｓ２７）。この設定階層レベルのブロックにおいて全ての下位ブロック参照が終了したかを判定する（Ｓ２８）。即ち、そこから下位にリンクする更に別の下位ブロック参照があるか否かを判別する。判別の結果、更に別の下位ブロック参照がある場合には、次の下位ブロック参照に対応する下位ブロックへ移動し、設定階層レベルを１上げて（Ｓ２９）ステップＳ２１に戻り、上記同様の処理を繰返す。前記ステップＳ２８の判別により、その設定階層レベルから下位にリンクする更に別の下位ブロック参照がないと判断されたときは、設定階層レベルが“１”であるかが判別され（Ｓ３０）、そうでなければステップＳ２７に戻り、前記ステップＳ２６又はＳ３０において設定階層レベルが“１”である、と判別されるまで上記処理を繰返す。最後に、全ての階層レベルにおいて依存性のある電圧源又は電流源によって参照される下位階層の内部ノード及び素子の状態を検索し、検索されたノードを結果出力ノードに追加し、検索された素子の状態を素子情報として登録する（Ｓ３１）。
【００６５】
図２５には、オンザフライシミュレーションで図１３の回路における階層情報付きノードＸ１．Ｘ１．Ｎ１についてシミュレーション結果を生成するときの概念図が例示される。ｔｍｒ１、ｔｍｒ2、ｔｍｒ3、ｔｍｒ4は図１３の対応ノードを意味する。既存波形とは既に保存されているインタフェースノードの結果保存データによって特定される波形である。
【００６６】
図２６及び図２７には、オンザフライシミュレーションで別の回路における内部ノードＮ１，Ｎ４についてシミュレーション結果を生成するときの概念図が例示される。図２６におけるノードＮ２，Ｎ３は、図２７に例示されるように下位ブロックＳ３へのインタフェースノードの保存結果データによって特定される。既存波形は既に保存されているインタフェースノードの結果保存データによって特定される。
【００６７】
上記説明では、結果出力ノードの抽出処理機能は図９の回路シミュレータ１０がその機能の一部として有するものとしたが、図２８に例示されるように結果出力ノード抽出処理手段１０Ａを回路シミュレータ１０から分離させてもよい。要するに、回路シミュレータとは別に提供される結果出力ノード抽出プログラムを利用してよい。図２８にはオンザフライシミュレーションのための手段は図示を省略してある。
【００６８】
《ボルテージソースループの抑制》
前記オンザフライシミュレーションにおいてボルテージソースループの発生を予め抑制するための方法について説明する。先ず図２９乃至図４２を参照しながら上位階層にインタフェースする上位インタフェースノードＮ１〜ＮＮに関するボルテージソースループの抑制について説明する。
【００６９】
図２９にはボルテージソースループを発生される虞のある態様として着目する第１の例が示される。シミュレーション対象回路１に対して３ｐ、３ｑは代表的に示された階層化回路データの領域（単に回路領域とも記す）である。回路領域３ｐは、電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成された部分回路ＶＬＣと、前記部分回路ＶＬＣをその上位階層にインタフェースする１個以上の特定ノードとしての上位インタフェースノードＮ１〜ＮＮとを有する。前記部分回路ＶＬＣがグランド電位ＧＮＤに接続されている。回路領域３ｐがそのような素子やノードを有していることは図１５乃至図１８で説明した素子情報、外部接続ノード（インタフェースノード）情報及び内部接続ノード（内部ノード）情報から分かる。ＲＧは抵抗回路、ＶＩＮ１、ＶＳＲＣは外部電源である。ＳＲＣは外部電源ＶＳＲＣが供給される電源端子である。
【００７０】
図３０には図２９の回路領域３ｐにおいて部分回路ＶＬＣがボルテージソースループを形成する場合の例が示される。部分回路ＶＬＣは電圧源ＶｓとインダクタＬｔを備える。オンザフライシミュレーションにおいて上位インタフェースノードＮ１〜ＮＮには所要のタイムスロットにおける対応する保存結果データが与えられる。与えられる保存結果データが等価的に電圧源ＶＮ１〜ＶＮＮとされるデータであるとすると、電圧源ＶＮ１〜ＶＮＮが接続するグランド電位ＧＮＤと部分回路ＶＬＣが接続するグランド電位ＧＮＤとの間には電圧源又はインダクタのみから構成される閉回路、即ちボルテージソースループＶＬＰが形成される。シミュレーションにおいてボルテージソースループがあると、そのパスに含まれるノードの電圧に矛盾を生じたり、電流値を取得することができないという不都合を生ずる虞があり、シミュレーション結果を得られない場合がある。
【００７１】
図３１には図２９の回路領域３ｐに対するオンザフライシミュレーションにおいてボルテージソースループの発生を抑制する回路状態が例示される。図２９の状態が検出されたとき、オンザフライシミュレーションにおいて前記上位インタフェースノードＮ１〜ＮＮに与える入出力情報を電流情報とする。すなわち、当該上位インタフェースノードＮ１〜ＮＮに電流源ＩＮ１〜ＩＮＮを接続する。これにより、シミュレーションに際して回路素子として電圧源とインダクタの少なくとも一方の素子だけしか接続されていない部分回路ＶＬＣがあっても、当該部分回路ＶＬＣの電位的基準をグランド電位ＧＮＤによって規定し、且つ、当該部分回路ＶＬＣの上位インタフェースノードＮ１〜ＮＮに電流源ＩＮ１〜ＩＮＮを接続することによって、前記上位インタフェースノードＮ１〜ＮＮに電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、部分回路ＶＬＣを含む回路３ｐに対して目的とするオンザフライシミュレーションを行うことができる。
【００７２】
図３２には前記ノードＮ１〜ＮＮの電流情報を求める方法が示される。即ち、シミュレーション対象回路１に対するシミュレーションにおいて、ノードＮ１〜ＮＮに電圧０の電圧源Ｖ（ＩＮ１）〜Ｖ（ＩＮＮ）を素子として追加し、当該素子に流れる電流の値も一つの結果データ４として保存する。図３１のオンザフライシミュレーションではその電流値の電流源ＩＮ１〜ＩＮＮをノードＮ１〜ＮＮに与えてやればよい。図３２の例を拡張的に適用する場合を考えると、図３２の場合に限らず、データ保存領域２における所要の複数の回路ノードに対するシミュレーション結果データを電圧値と電流値で保存しても良い。更に拡張すれば、データ非保存領域３においてデータ保存領域の回路ノードとインタフェースされていない電圧源と電流源の値も、データ保存領域に対する回路シミュレーション結果のデータ保存と共に初期条件として保存しておくのが便利である。この場合には電圧源の電流値、電流源の電圧値も保存すれば尚良い。
【００７３】
次に第２の例を説明する。図３３のように回路領域３ｐ内の部分回路ＶＬＣが上位インタフェースノードＮ１の他に別の内部回路ＣＩＲに接続されている場合を考える。部分回路ＶＬＣｖは１個の電圧源Ｖｓ又は少なくとも２個以上の連結された電圧源Ｖｓから構成されるものとする。前記部分回路ＶＣＬｖは上記同様にグランド電位に接続されている。前記部分回路ＶＬＣｖに更に他の回路ＣＩＲが接続される場合には当該他の回路ＣＩＲの状態によって部分回路ＶＬＣｖの前記上位インタフェースノードＮ１〜ＮＮの値が決まることになるので、回路領域３ｐのオンザフライシミュレーションでは図３４のように本来全ての上位インタフェースノードＮ１〜ＮＮをフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。回路領域３ｐのオンザフライシミュレーションにおいて部分回路ＶＬＣｖの電圧源に流れる電流をシミュレーションによって検証したい場合には、図３５に例示されるように、全ての上位インタフェースノードＮ１〜ＮＮに入出力情報として電流情報を与えればよい。電流情報は上記と同じように求めればよい。見方を変えれば、図３４の方法は、部分回路ＶＬＣｖの電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、全ての上位インタフェースノードはフローティングであってよいということになる。
【００７４】
次に第３の例を説明する。前記部分回路ＶＬＣが電圧源ＶｓとインダクタＬｔの何れか１個の素子又は電圧源ＶｓとインダクタＬｔの少なくとも２個以上の連結された素子から構成され、前記部分回路ＶＬＣをその外部に接続する１個以上の上位インタフェースノードＮ１〜ＮＮが配置され、前記部分回路ＶＬＣがグランド電位ＧＮＤに接続されているとき、回路領域３ｐに対するオンザフライシミュレーションにおいて前記部分回路ＶＬＣの全ての素子に流れる電流を見ないとき、図３６に示されるように、前記部分回路ＶＬＣを削除してオンザフライシミュレーションを行えばよい。要するに、部分回路ＶＬＣの全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
【００７５】
次に第４の例を説明する。上記説明では部分回路ＶＬＣはグランド電位ＧＮＤに接続されているものとした。必ずしもそうであることを要しない。図２９に対して図３７のような回路を想定する。図２９との相違点は部分回路ＶＬＣがグランド電位に接続されていないことである。このとき、回路領域３ｐに対するオンザフライシミュレーションにおいて、図３８のように前記上位インタフェースノードＮ１〜ＮＮの全てに電圧源情報ＶＮ１〜ＶＮＮを与えると図３０で説明したのと同様にボルテージソースループＶＬＰが形成される。ボルテージソースループの発生を抑制するには、図３９のように、回路領域３ｐに対するオンザフライシミュレーションでは、前記上位インタフェースノードＮ１〜ＮＮの一つの上位インタフェースノードＮＮに与える入出力情報を電圧源情報ＶＮＮとし、残りの上位インタフェースノードＮ１〜ＮＮ−１に与える入出力情報を電流源情報ＩＮ１〜ＩＮＮ−１とする。上位インタフェースノードＮＮに与える入出力情報としての電圧源情報VＮＮが例えば図３１におけるグランド電位ＧＮＤに相当する情報とされる。これにより、回路領域３ｐ内でグランド電位ＧＮＤに接続されていない部分回路ＶＬＣに対して、電位的基準を電圧源情報ＶＮＮによって規定し、且つ、当該部分回路ＶＬＣの上位インタフェースノードＮ１〜ＮＮ−１に電流源ＩＮ１〜ＩＮＮ−１を接続することによって、前記上位インタフェースノードＮ１〜ＮＮ−１に電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、部分回路ＶＬＣを含む回路領域３ｐに対して目的とするオンザフライシミュレーションを行うことができる。上位インタフェースノードＮ１〜ＮＮ−１の電流源ＩＮ１〜ＩＮＮ−１を得るには図３２で説明したのと同じ方法を用いれば良い。
【００７６】
次に第５の例を説明する。上記部分回路ＶＬＣｖについてもグランド電位ＧＮＤに接続されている場合を説明したが、必ずしもそうであることを要しない。図３３に対して図４０のような回路を想定する。図３３との相違点は部分回路ＶＬＣｖがグランド電位ＧＮＤに接続されていないことである。前述のように部分回路ＶＬＣｖは１個の電圧源Ｖｓ又は少なくとも２個以上の連結された電圧源Ｖｓから構成されるものとする。図４１に例示されるように、回路領域３ｐに対するオンザフライシミュレーションにおいて、前記上位インタフェースノードＮ１〜ＮＮの一つの上位インタフェースノードＮＮに与える入出力情報を電圧源情報ＶＮＮとし、この電圧源情報ＶＮＮがグランド電位ＧＮＤの代わりに部分回路ＶＬＣｖに対する一方の電位的基準を与える。前記部分回路ＶＬＣｖに他の回路ＣＩＲが接続される場合には当該他の回路ＣＩＲの状態によって部分回路ＶＬＣｖの前記上位インタフェースノードＮ１〜ＮＮ−１の値が決まることになる。したがって、回路領域３ｐのオンザフライシミュレーションでは図４１のように上位インタフェースノードＮＮを除くその他の上位インタフェースノードＮ１〜ＮＮ−１をフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。回路領域３ｐのオンザフライシミュレーションにおいて部分回路ＶＬＣｖの電圧源Ｖｓに流れる電流をシミュレーションによって検証したい場合には、図４２に例示されるように、電圧情報ＶＮＮの入力用上位インタフェースノードＮＮを除くその他の上位インタフェースノードＮ１〜ＮＮ−１に入出力情報として電流情報を与えればよい。電流情報は上記と同じように求めればよい。見方を変えれば、図４２の方法は、部分回路ＶＬＣｖの電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、電圧情報ＶＮＮの入力用上位インタフェースノードＮＮ以外の上位インタフェースノードはフローティングであってよいということになる。
【００７７】
また、図３３及び図４１において部分回路ＶＬＣｖがインダクタを含む場合も、図３５及び図４２は有効である。インダクタを含む場合は電流を正しく再現する必要があるので、図４１のように上位インタフェースノードをフローティングにすることはできない。
【００７８】
次に第６の例を説明する。図３７のように部分回路ＶＣＬがグランド電位に接続されていない場合にも、前記第３の例と同じように、回路領域３ｐに対するオンザフライシミュレーションにおいて前記部分回路ＶＬＣの全ての素子に流れる電流を見ないときは、図３６に示されるように、前記部分回路ＶＬＣを削除してオンザフライシミュレーションを行えばよい。要するに、部分回路ＶＬＣの全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
【００７９】
次に図４３乃至図５８を参照しながら下位階層にインタフェースする下位インタフェースノードＭ１〜ＭＮに関するボルテージソースループの抑制について説明する。
【００８０】
図４３には前記部分回路ＶＬＣをその下位階層にインタフェースする１個以上の特定ノードとしての下位インタフェースノードＮ１〜ＮＮの保存データを用いて部分回路ＶＬＣに対するオンザフライシミュレーションを行う場合の態様が例示される。シミュレーション対象回路１に対して３ｐ、３ｑ、３ｒは代表的に示された階層化回路データの領域（単に回路領域とも記す）である。図４４のように部分回路ＶＬＣが電圧源とインダクタ以外の素子、例えば抵抗素子で構成されている場合には、下位インタフェースノードＭ１〜ＭＮには、予め保存されているシミュレーション結果データに基づいて例えば電圧源ＶＭ１〜ＶＭＮのデータが与えられればよい。この場合にはボルテージソースループは形成されず、正確なシミュレーション結果を得ることができる。一方、部分回路ＶＬＣが電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成されている場合、例えば、図４５のように、部分回路ＶＬＣが電圧源ＶｓとインダクタＬｔの直列回路を備えるときはボルテージソースループが形成される。下位インタフェースノードＭ１〜ＭＮに与えられる保存結果データが等価的に電圧源ＶＭ１〜ＶＭＮとされるデータであるとすると、電圧源ＶＭ１〜ＶＭＮが接続するグランド電位ＧＮＤと部分回路ＶＬＣが接続するグランド電位ＧＮＤとの間には電圧源又はインダクタのみから構成される閉回路、即ちボルテージソースループＶＬＰが形成される。以下、下位インタフェースノードＭ１〜ＭＮに関してそのようなボルテージループの生成を抑制する態様を説明する。
【００８１】
図４６には図４３の回路領域３ｐに対するオンザフライシミュレーションにおいてボルテージソースループの発生を抑制する回路状態が例示される。図４６の状態が検出されたとき、オンザフライシミュレーションにおいて前記下位インタフェースノードＭ１〜ＭＮに与える入出力情報を電流情報とする。すなわち、当該下位インタフェースノードＭ１〜ＭＮに電流源ＩＭ１〜ＩＭＮを接続する。これにより、シミュレーションに際して回路素子として電圧源とインダクタの少なくとも一方の素子だけしか接続されていない部分回路ＶＬＣがあっても、当該部分回路ＶＬＣの電位的基準をグランド電位ＧＮＤによって規定し、且つ、当該部分回路ＶＬＣの下位インタフェースノードＭ１〜ＭＮに電流源ＩＭ１〜ＩＭＮを接続することによって、前記下位インタフェースノードＭ１〜ＭＮに電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、部分回路ＶＬＣを含む回路３ｐに対して目的とするオンザフライシミュレーションを行うことができる。
【００８２】
図４７には前記ノードＭ１〜ＭＮの電流情報を求める方法が示される。即ち、シミュレーション対象回路１に対するシミュレーションにおいて、ノードＭ１〜ＭＮに電圧０の電圧源Ｖ（ＩＭ１）〜Ｖ（ＩＭＮ）を素子として追加し、当該素子に流れる電流の値を一つの結果データ４として保存する。図４６のオンザフライシミュレーションではその電流値の電流源ＩＭ１〜ＩＭＮをノードＭ１〜ＭＮに与えてやればよい。図３２の例を拡張的に適用する場合を考えると、図４７の場合に限らず、シミュレーション対象領域における所要の複数の回路ノードに対するシミュレーション結果データを電圧値と電流値で保存しても良い。
【００８３】
次に第２の例を説明する。図４８のように回路領域３ｒ内の部分回路が下位インタフェースノードの他に別の内部回路ＣＩＲに接続されている場合を考える。部分回路ＶＬＣｖは１個の電圧源Ｖｓ又は少なくとも２個以上の連結された電圧源Ｖｓから構成されるものとする。前記部分回路ＶＣＬｖは上記同様にグランド電位に接続されている。前記部分回路ＶＬＣｖに更に他の回路ＣＩＲが接続される場合には当該他の回路ＣＩＲの状態によって部分回路ＶＬＣｖの前記下位インタフェースノードＭ１〜ＭＮの値が決まることになるので、回路領域３ｐのオンザフライシミュレーションでは図４９のように本来全ての下位インタフェースノードＭ１〜ＭＮをフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。回路領域３ｐのオンザフライシミュレーションにおいて部分回路ＶＬＣｖの電圧源に流れる電流をシミュレーションによって検証したい場合には、図５０に例示されるように、全ての下位インタフェースノードＭ１〜ＭＮに入出力情報として電流情報ＩＭ２〜ＩＭＮを与えればよい。電流情報ＩＭ２〜ＩＭＮは上記と同じように求めればよい。見方を変えれば、図４９の方法は、部分回路ＶＬＣｖの電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、全ての下位インタフェースノードＭ１〜ＭＮはフローティングであってよいということになる。
【００８４】
次に第３の例を説明する。図５０のように、前記部分回路ＶＬＣが電圧源ＶｓとインダクタＬｔの何れか１個の素子又は電圧源ＶｓとインダクタＬｔの少なくとも２個以上の連結された素子から構成され、前記部分回路ＶＬＣをその下位階層に接続する１個以上の下位インタフェースノードＭ１〜ＭＮが配置され、前記部分回路ＶＬＣがグランド電位ＧＮＤに接続されているとき、回路領域３ｐに対するオンザフライシミュレーションにおいて前記部分回路ＶＬＣの全ての素子に流れる電流を見ないとき、図５１に示されるように、前記部分回路ＶＬＣを削除してオンザフライシミュレーションを行えばよい。要するに、部分回路ＶＬＣの全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
【００８５】
次に第４の例を説明する。上記説明では部分回路ＶＬＣはグランド電位ＧＮＤに接続されているものとした。必ずしもそうであることを要しない。図４３に対して図５２のような回路を想定する。図４３との相違点は部分回路ＶＬＣがグランド電位に接続されていないことである。このとき、回路領域３ｐに対するオンザフライシミュレーションにおいて、図５３のように前記下位インタフェースノードＭ１〜ＭＮの全てに電圧源情報ＶＭ１〜ＶＭＮを与えると図４５で説明したのと同様にボルテージソースループＶＬＰが形成される。ボルテージソースループの発生を抑制するには、図５４のように、回路領域３ｐに対するオンザフライシミュレーションでは、前記下位インタフェースノードＭ１〜ＭＮの一つの下位インタフェースノードＭＮに与える入出力情報を電圧源情報ＶＭＮとし、残りの下位インタフェースノードＭ１〜ＭＮ−１に与える入出力情報を電流源情報ＩＭ１〜ＩＭＮ−１とする。下位インタフェースノードＭＮに与える入出力情報としての電圧源情報VＭＮが例えば図４６におけるグランド電位ＧＮＤに相当する情報とされる。これにより、回路領域３ｐ内でグランド電位ＧＮＤに接続されていない部分回路ＶＬＣに対して、電位的基準を電圧源情報ＶＭＮによって規定し、且つ、当該部分回路ＶＬＣの下位インタフェースノードＭ１〜ＭＮ−１に電流源ＩＭ１〜ＩＭＮ−１を接続することによって、前記下位インタフェースノードＭ１〜ＭＮ−１に電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、部分回路ＶＬＣを含む回路領域３ｐに対して目的とするオンザフライシミュレーションを行うことができる。下位インタフェースノードＭ１〜ＭＮ−１の電流源ＩＭ１〜ＩＭＮ−１を得るには図４７で説明したのと同じ方法を用いれば良い。
【００８６】
次に第５の例を説明する。上記部分回路ＶＬＣｖについてもグランド電位ＧＮＤに接続されている場合を説明したが、必ずしもそうであることを要しない。図４８に対して図５５のような回路を想定する。図４８との相違点は部分回路ＶＬＣｖがグランド電位ＧＮＤに接続されていないことである。前述のように部分回路ＶＬＣｖは１個の電圧源Ｖｓ又は少なくとも２個以上の連結された電圧源Ｖｓから構成されるものとする。図５６に例示されるように、回路領域３ｐに対するオンザフライシミュレーションにおいて、前記下位インタフェースノードＭ１〜ＭＮの一つの下位インタフェースノードＭＮに与える入出力情報を電圧源情報ＶＭＮとし、この電圧源情報ＶＭＮがグランド電位ＧＮＤの代わりに部分回路ＶＬＣｖに対する一方の電位的基準を与える。前記部分回路ＶＬＣｖに他の回路ＣＩＲが接続される場合には当該他の回路ＣＩＲの状態によって部分回路ＶＬＣｖの前記下位インタフェースノードＭ１〜ＭＮ−１の値が決まることになる。したがって、回路領域３ｐのオンザフライシミュレーションでは図５６のように下位インタフェースノードＭＮを除くその他の下位インタフェースノードＭ１〜ＭＮ−１をフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。回路領域３ｐのオンザフライシミュレーションにおいて部分回路ＶＬＣｖの電圧源Ｖｓに流れる電流をシミュレーションによって検証したい場合には、図５７に例示されるように、電圧情報ＶＭＮの入力用下位インタフェースノードＭＮを除くその他の下位インタフェースノードＭ１〜ＭＮ−１に入出力情報として電流情報ＩＭ１〜ＩＭＮ−１を与えればよい。電流情報は上記と同じように求めればよい。見方を変えれば、図５７の方法は、部分回路ＶＬＣｖの電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、電圧情報ＶＭＮの入力用下位インタフェースノードＭＮ以外の下位インタフェースノードはフローティングであってよいということになる。
【００８７】
また、図４８及び図５６において部分回路ＶＬＣｖがインダクタを含む場合も、図５０及び図５７は有効である。インダクタを含む場合は電流を正しく再現する必要があるので、図５６のように下位インタフェースノードをフローティングにすることはできない。
【００８８】
次に第６の例を説明する。図５２のように部分回路ＶＣＬがグランド電位に接続されていない場合にも、前記第３の例と同じように、回路領域３ｐに対するオンザフライシミュレーションにおいて前記部分回路ＶＬＣの全ての素子に流れる電流を見ないときは、図５１に示されるように、前記部分回路ＶＬＣを削除してオンザフライシミュレーションを行えばよい。要するに、部分回路ＶＬＣの全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
【００８９】
以上説明したシミュレーション方法によれば、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、ボルテージソースループによる不都合も生じ難い。特に、下位側と上位側への階層間のインタフェースノードに関する結果データを保存するから、所定の階層レベルよりも低い下位階層の全ての結果データを捨てる場合に比べて、シミュレーション処理すべき階層化回路の階層の深さに拘わらず保存すべきデータ量とシミュレーション処理時間とをほぼ一定にすることができる。
【００９０】
また、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、ボルテージソースループによる不都合も生じ難い。
【００９１】
大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量で達成可能であって、ボルテージソースループによる不都合も生じ難い。
【００９２】
大規模集積回路のような大規模なシミュレーション対象に対しシミュレーション結果データの表示速度を高速化することが容易であって、ボルテージソースループによる不都合も生じ難い。
【００９３】
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
【００９４】
例えば、シミュレーション対象回路の規模は、数十万乃至数百万ゲートの規模であってよい。上述に基づく説明ではシミュレーション結果の表示機能の拡張としてオンザフライシミュレーションを位置付けているが、表示とは切り離して、部分シミュレーションとして発明を把握することは当然可能である。更に表示機能拡張の場合にも、シミュレーション結果の表示に限定されず、階層情報に対するデータ処理結果の表示という観点で発明を把握することも可能である。
【００９５】
更に、上記シミュレーション方法は前述のフローチャートで示した機能若しくは処理手順をコンピュータを用いて実現する為のシミュレーションプログラムとして把握可能であることは言うまでも無い。そのようなシミュレーションプログラムが提供されることにより、前記シミュレーション方法を容易に実施に移すことが可能になる。
【００９６】
また、本発明のシミュレーション方法は回路シミュレーションに限定されず、デバイスシミュレーションにも適用可能である。例えば、ＭＯＳトランジスタなどのデバイス断面領域をメッシュ状のブロックに分けて階層的に把握しながらシミュレーションを行うデバイスシミュレーションの場合、前記結果出力点は、例えばデバイス断面上の電流又は電圧着目点になる。前記上位側階層のシミュレーションでは結果出力点は前記メッシュ境界部分に存在され、下位側階層のシミュレーションでは結果出力点は前記メッシュ内に存在されることになる。メッシュ内の結果出力点をシミュレーション結果として得る場合には、メッシュ境界部分の既存結果出力点の既存シミュレーション結果と、その既存結果を得る時と同じシミュレーション初期条件とを用いて部分的なデバイスシミュレーションを行えばよい。
【００９７】
本発明は、半導体集積回路の回路シミュレーション、半導体デバイスのデバイスシミュレーション等に広く適用することができる。
【図面の簡単な説明】
【００９８】
【図１】本発明に係るシミュレーション方法の前提となる概念を結果出力区分の一例と共に示す概念図である。
【図２】本発明に係るシミュレーション方法の概念を更に示した原理図である。
【図３】本発明に係るシミュレーション方法の原理を階層化回路データの階層構造に着目して示す原理図である。
【図４】シミュレーション対象回路における部分的な回路変更や素子パラメータの変更があったときの状態を例示する説明図である。
【図５】部分的な回路変更や素子パラメータの変更があったとき、その変更を反映したシミュレーション結果を得る方法を例示する説明図である。
【図６】図５の部分的な変更に対処するシミュレーション方法の原理を階層化回路データの階層構造に着目して示した原理図である。
【図７】オンザフライシミュレーションの並列処理の概念を示す概念図である。
【図８】回路変更等に起因する部分領域のオンザフライシミュレーション類似のシミュレーションに対する並列処理の原理図である。
【図９】本発明に係るシミュレーション方法を実現する為のデータ処理システムを例示するシステム図である。
【図１０】図９の回路シミュレータによる回路シミュレーション処理のフローチャートである。
【図１１】図９の結果表示制御手段及び部分回路シミュレーション制御手段によるシミュレーション結果の表示制御フローである。
【図１２】図９の部分回路シミュレーション制御手段と結果表示制御手段によって構成されるオンザフライシミュレーション機能付きの結果表示制御手段の詳細を例示するシステム図である。
【図１３】階層構造を持った回路データ（階層化回路データ）の階層構造を例示する説明図である。
【図１４】図１３の回路ブロックの階層構造と階層レベルとの関係の概略説明図である。
【図１５】階層化回路データにおける各階層の回路ブロックが保有する情報を例示する説明図である。
【図１６】下位ブロックのみで構成される回路ブロックのデータ態様の説明図である。
【図１７】下位ブロックと素子で構成される回路ブロックのデータ態様の説明図である。
【図１８】素子のみで構成される回路ブロックのデータ態様の説明図である。
【図１９】シミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの一般的なデータ形態を例示する説明図である。
【図２０】図１９に例示されるデータ形態の回路ブロック情報からノード情報を抽出したときの情報フォーマット図である。
【図２１】図１３に例示された階層構造を持つシミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの具体例を示すデータ構造説明図である。
【図２２】図２１の回路ブロック情報から抽出された外部接続ノード及び内部接続ノードの全てのノード情報が階層情報付きノード名として与えられている状態を示す説明図である。
【図２３】結果出力ノード抽出処理の制御フローチャートである。
【図２４】内部ノードの結果データが電流源及び電圧源の値に直接影響する依存関係を例示する説明図である。
【図２５】オンザフライシミュレーションで図１３の回路における階層情報付きノードについてシミュレーション結果を生成するときの概念図である。
【図２６】オンザフライシミュレーションにおいて内部ノードについてシミュレーション結果を生成するときの概念図である。
【図２７】オンザフライシミュレーションにおいて内部ノードについてシミュレーション結果を生成するときの概念図である。
【図２８】結果出力ノード抽出処理手段を回路シミュレータから分離させ例を示す概略システム図である。
【図２９】上位側のインタフェースノードに関してボルテージソースループを発生される虞のある態様を例示する説明図である。
【図３０】図２９の回路領域において部分回路がボルテージソースループを形成する場合を例示する回路図である。
【図３１】図２９の回路領域に対するオンザフライシミュレーションにおいてボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図３２】ボルテージソースループ抑制対象とする上位側インタフェースノードノードの電流情報を求める方法を例示する回路図である。
【図３３】部分回路が上位インタフェースノードの他に別の内部回路に接続されている場合を考慮してオンザフライシミュレーションにおけるボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図３４】図３４の場合の対策として全ての上位インタフェースノードをフローティングにすればよい場合を示す回路図である。
【図３５】図３４の場合にオンザフライシミュレーションで部分回路の電圧源に流れる電流をシミュレーションによって検証したい場合に全ての上位インタフェースノードに入出力情報として電流情報を与えればよい場合を示す回路図である。
【図３６】オンザフライシミュレーションにおいて部分回路の全ての素子に流れる電流を見ないとき部分回路ＶＬＣを削除してオンザフライシミュレーションを行えばよい場合を示す回路図である。
【図３７】部分回路がグランド電位に接続されていない場合を考慮してオンザフライシミュレーションにおけるボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図３８】図３７において上位インタフェースノードの全てに電圧源情報を与えるとボルテージソースループが形成される状態を示す回路図である。
【図３９】図３８のボルテージソースループの発生を抑制するための対策を示す回路図である。
【図４０】部分回路にグランド電位が接続されていない場合を考慮してオンザフライシミュレーションにおけるボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図４１】図４０における具体的な対策として一つの上位インタフェースノードに電圧源情報を与えてグランド電位の代わりに部分回路に対する一方の電位的基準を与えるようにした状態を示す回路図である。
【図４２】図４１において部分回路の電圧源に流れる電流をシミュレーションによって検証したい場合の対策を示す回路図である。
【図４３】下位階層にインタフェースする下位インタフェースノードの保存データを用いて部分回路ＶＬＣに対するオンザフライシミュレーションを行う場合の態様を示す回路図である。
【図４４】図４３において下位インタフェースノードに予め保存されているシミュレーション結果データである電圧源のデータが与えられた状態を示す回路図である。
【図４５】部分回路が電圧源とインダクタの何れか１個の素子又は電圧源とインダクタの少なくとも２個以上の連結された素子から構成されている場合に部分回路が電圧源とインダクタの直列回路を備えるときボルテージソースループが形成される状態を示す回路図である。
【図４６】図４５においてオンザフライシミュレーションにおいてボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図４７】下位インタフェースノードの電流情報を求める方法を示す回路図である。
【図４８】部分回路が下位インタフェースノードの他に別の内部回路に接続されている場合を考慮してオンザフライシミュレーションにおけるボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図４９】図４８の場合の対策として全ての上位インタフェースノードをフローティングにすればよい場合を示す回路図である。
【図５０】図４９の場合にオンザフライシミュレーションで部分回路の電圧源に流れる電流をシミュレーションによって検証したい場合に全ての下位インタフェースノードに入出力情報として電流情報を与えればよい場合を示す回路図である。
【図５１】オンザフライシミュレーションにおいて部分回路の全ての素子に流れる電流を見ないとき部分回路を削除してオンザフライシミュレーションを行えばよい場合を示す回路図である。
【図５２】部分回路がグランド電位に接続されていない場合を考慮してオンザフライシミュレーションにおけるボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図５３】図５２において上位インタフェースノードの全てに電圧源情報を与えるとボルテージソースループが形成される状態を示す回路図である。
【図５４】図５３のボルテージソースループの発生を抑制するための対策を示す回路図である。
【図５５】部分回路にグランド電位が接続されていない場合を考慮してオンザフライシミュレーションにおけるボルテージソースループの発生を抑制する回路状態を例示する回路図である。
【図５６】図５５における具体的な対策として一つの下位インタフェースノードに電圧源情報を与えてグランド電位の代わりに部分回路に対する一方の電位的基準を与えるようにした状態を示す回路図である。
【図５７】図５６において部分回路の電圧源に流れる電流をシミュレーションによって検証したい場合の対策を示す回路図である。
【符号の説明】
【００９９】
１  シミュレーション対象回路
２  データ保存領域としての回路領域
３  データ非保存領域としての回路領域
４  データ保存領域２の保存結果データ
５  オンザフライシミュレーションによる結果データ
Ｎｕｉ  上位階層へのインタフェースノード
Ｎｄｉ  下位階層へのインタフェースノード
Ｎｉｓ  内部ノード
ＶＬＣ  電圧源とインダクタから成る部分回路
ＶＬＣｖ  電圧源から成る部分回路
Ｖｓ  部分回路に含まれる電圧源
Ｌｔ  部分回路に含まれるインダクタ
Ｎ１〜ＮＮ  上位インタフェースノード
Ｍ１〜ＭＮ  下位インタフェースノード
ＧＮＤ  グランド電位
ＶＬＰ  ボルテージソースループ
IＮ１〜IＮＮ  電流源
IＭ１〜IＭＮ  電流源
ＶＮ１〜ＶＮＮ  電圧源
ＶＭ１〜ＶＭＮ  電圧源
ＣＩＲ  部分回路に結合するその他の回路
Ｖ（ＩＮ１）〜Ｖ（ＩＮＮ）  電圧０の電圧源
Ｖ（ＩＭ１）〜Ｖ（ＩＭＮ）  電圧０の電圧源
３ｉ  下位階層の状態に依存する上位階層の電流源
３ｇ  下位階層の状態に依存する上位階層の電圧源
【図１】
2007213274.tif 000003
【図２】
2007213274.tif 000004
【図３】
2007213274.tif 000005
【図４】
2007213274.tif 000006
【図５】
2007213274.tif 000007
【図６】
2007213274.tif 000008
【図７】
2007213274.tif 000009
【図８】
2007213274.tif 000010
【図９】
2007213274.tif 000011
【図１０】
2007213274.tif 000012
【図１１】
2007213274.tif 000013
【図１２】
2007213274.tif 000014
【図１３】
2007213274.tif 000015
【図１４】
2007213274.tif 000016
【図１５】
2007213274.tif 000017
【図１６】
2007213274.tif 000018
【図１７】
2007213274.tif 000019
【図１８】
2007213274.tif 000020
【図１９】
2007213274.tif 000021
【図２０】
2007213274.tif 000022
【図２１】
2007213274.tif 000023
【図２２】
2007213274.tif 000024
【図２３】
2007213274.tif 000025
【図２４】
2007213274.tif 000026
【図２５】
2007213274.tif 000027
【図２６】
2007213274.tif 000028
【図２７】
2007213274.tif 000029
【図２８】
2007213274.tif 000030
【図２９】
2007213274.tif 000031
【図３０】
2007213274.tif 000032
【図３１】
2007213274.tif 000033
【図３２】
2007213274.tif 000034
【図３３】
2007213274.tif 000035
【図３４】
2007213274.tif 000036
【図３５】
2007213274.tif 000037
【図３６】
2007213274.tif 000038
【図３７】
2007213274.tif 000039
【図３８】
2007213274.tif 000040
【図３９】
2007213274.tif 000041
【図４０】
2007213274.tif 000042
【図４１】
2007213274.tif 000043
【図４２】
2007213274.tif 000044
【図４３】
2007213274.tif 000045
【図４４】
2007213274.tif 000046
【図４５】
2007213274.tif 000047
【図４６】
2007213274.tif 000048
【図４７】
2007213274.tif 000049
【図４８】
2007213274.tif 000050
【図４９】
2007213274.tif 000051
【図５０】
2007213274.tif 000052
【図５１】
2007213274.tif 000053
【図５２】
2007213274.tif 000054
【図５３】
2007213274.tif 000055
【図５４】
2007213274.tif 000056
【図５５】
2007213274.tif 000057
【図５６】
2007213274.tif 000058
【図５７】
2007213274.tif 000059