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