(57)【要約】【課題】回路内の素子あるいは回路ブロックが複数のシミュレーションモデルを持つシミュレーションにおいて、入力信号の属性によって自動的なモデルの切り替えを可能にする。【解決手段】回路内の入力信号に信号の計算に必要な精度や種類を表すモデル切替属性を付加し（Ｓ１０１）、回路内の素子あるいは回路ブロックに必要なシミュレーション速度や精度を表す優先切替属性を付加し（Ｓ１０２）、前記モデル切替属性を基準として入力する回路内の全ての素子あるいは回路ブロックのシミュレーションモデルの切り替えを行い（Ｓ１１３）、前記シミュレーションモデルでネットリストを作成し（Ｓ１１４）、シミュレーションを実行する（Ｓ１１５）。【選択図】図１
2006209491.tif 000002
【特許請求の範囲】
【請求項１】
複数のシミュレーションモデルを持つ素子あるいは回路ブロックの回路シミュレーションを行う回路シミュレーション方法において、回路内の入力信号に信号の計算に必要な精度あるいは種類を表すモデル切替属性を付加する手段と、回路内の素子あるいは回路ブロックに必要なシミュレーション速度あるいは精度を表す優先切替属性を付加する手段と、前記モデル切替属性を基準として入力する回路内の全ての素子あるいは回路ブロックのシミュレーションモデルの切り替えを行う手段と、前記シミュレーションモデルの精度に従った前記モデル切替属性を次段の素子あるいは回路ブロックの入力として出力する手段と、前記シミュレーションモデルでネットリストを作成して、シミュレーションを実行する手段とを有することを特徴とする回路シミュレーション方法。
【請求項２】
回路内の素子あるいは回路ブロックに前記モデル切替属性に該当するシミュレーションモデルが存在しない場合、素子あるいは回路ブロックが持つ前記優先切替属性に従ってシミュレーションモデルの切り替えを行うことを特徴とする請求項１記載の回路シミュレーション方法。
【請求項３】
入力信号に付加した前記モデル切替属性を次段の素子あるいは回路ブロックの入力として出力し、前記モデル切替属性を入力とする回路内の全ての素子あるいは回路ブロックのシミュレーションモデルの切り替えを行い、複数の前記シミュレーションモデルが競合した場合、素子あるいは回路ブロックが持つ優先切替属性に従ってシミュレーションモデルの切り替えを行うことを特徴とする請求項１記載の回路シミュレーション方法。
【請求項４】
複数のシミュレーションモデルを持つ素子あるいは回路ブロックの回路シミュレーションを実行するコンピュータを備えた回路シミュレーション装置において、請求項１の回路シミュレーション方法を前記コンピュータに実行させることを特徴とする回路シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを用いたシミュレーション方法およびシミュレーション装置に係り、回路内の素子あるいは回路ブロックが複数のシミュレーションモデルを持つシミュレーションにおいて、入力信号の属性によって自動的にモデルの切り替えを行う回路シミュレーション技術に関するものである。
【背景技術】
【０００２】
近年、大規模化する回路設計において素子レベルの回路図を作成し、それらを組み合わせることによって全体を構成していくボトムアップの回路設計方式から、まず全体の機能設計を行い、その段階での機能漏れやインターフェースの整合を確認し、それを機能別の回路ブロックに分割し、それぞれの回路ブロックごとに、機能別の回路ブロックにさらに分割していくトップダウンの回路設計方式に移行しつつある。
【０００３】
前記トップダウン回路設計を実現するために必要不可欠なものが機能記述言語である。すなわち、特性レベルの動作記述から抽象レベルの動作記述までをサポートする機能記述言語を用いて、最上位の機能設計を抽象的な動作レベルで記述し、全体回路のシミュレーションを実行する。次に、回路ブロックに分割し、それぞれをまた動作レベルで記述する。これらを繰り返し、それぞれの回路ブロックの素子レベルの回路図を作成し、回路全体のシミュレーションを実行する。
【０００４】
これらの過程の中で、それぞれの回路ブロックは複数のシミュレーションモデルを持つことになる。シミュレーションモデルとは、Ｓｐｉｃｅ（素子レベル）あるいは機能記述言語を使用したＶｅｒｉｌｏｇ−Ａ（特性レベル），Ｖｅｒｉｌｏｇ−Ａ（抽象レベル），Ｖｅｒｉｌｏｇ−Ｄなどである。Ｃａｄｅｎｃｅ社より市販されている回路図エディタ“Ｃｏｍｐｏｓｅｒ”というソフトウェアを用いて作成した回路図をシミュレーションする場合は、コンフィギュレーションファイル（それぞれの回路ブロックが使用するシミュレーションモデルの切替を指定するファイル）を利用する仕組みになっている。
【０００５】
図２３はコンフィギュレーションファイルを利用してシミュレーションに用いるシミュレーションモデルの切り替えを行う処理のフロー図である。図１２を用いて図２３のフローを説明する。
【０００６】
図１２はシミュレーションを実行する回路図の一例を示した図である。図１２の全体回路は、グラウンド１２０１，１２０２と、入力信号源１２０３，１２０４と、回路ブロック１２０５〜１２０９とから構成されている。それぞれのシンボル間は配線で接続されている。配線はそれぞれ矢印方向に信号が伝達することを示している。
【０００７】
図１３は前記回路ブロック１２０５〜１２０９が持つシミュレーションモデルを示した図である。例えば回路ブロック１２０６は、シミュレーションモデルとしてＶｅｒｉｌｏｇ−Ａ（抽象），Ｖｅｒｉｌｏｇ−Ａ（特性），Ｓｐｉｃｅ（素子）を持つことを示し、回路ブロック１２０９はシミュレーションモデルとしてＶｅｒｉｌｏｇ−Ａ（抽象），Ｓｐｉｃｅ（素子）を持つことを示している。シミュレーション精度としてはＳｐｉｃｅ（素子）が最高精度であり、Ｖｅｒｉｌｏｇ−Ａ（抽象）が最低精度であるものとする。
【０００８】
回路ブロック１２０５〜１２０９が持つ複数のシミュレーションモデルの中からシミュレーションに用いるモデルへの切り替えを行うフローを図２３を用いて説明する。まず、コンフィギュレーションファイルを開く（Ｓ２３０１）。次に、コンフィギュレーションファイル上の回路ブロックについて、個別にシミュレーションに用いるモデルに切り替えを行う（Ｓ２３０２）。ステップ（Ｓ２３０２）の処理を回路図上の全ての回路ブロックに対して行う（Ｓ２３０３）。
【０００９】
図２２は前記ステップ（Ｓ２３０１〜Ｓ２３０３）の処理で作成されるコンフィギュレーションファイルの一例を示す図である。例えば、図２２の回路ブロック１２０９は、シミュレーションモデルとしてＶｅｒｉｌｏｇ−Ａ（抽象），Ｓｐｉｃｅ（素子）の２モデルを持っており、シミュレーションに用いるモデルはＳｐｉｃｅ（素子）であることを示している。シミュレーションの検証内容や要求するシミュレーションの速度，精度に応じて、図２２のコンフィギュレーションファイルのそれぞれの回路ブロックのモデルの切り替えを行うことによって、複数のシミュレーションを実行することが可能となる。
【００１０】
回路図上の回路ブロックが複数のシミュレーションモデルを持つシミュレーションにおいて、収束に関する問題が発生した場合の解決手段として特許文献１に開示されている回路シミュレーション方法がある。この回路シミュレーション方法では、回路全体をＳｐｉｃｅ（素子）でシミュレーションを実行し、収束に関する問題が発生した場合に回路図内の任意の１回路ブロックに対してＳｐｉｃｅ（素子）切替を行い、該回路ブロック以外の回路ブロックをＶｅｒｉｌｏｇ−Ａに切り替えてシミュレーションを実行し、該回路ブロックのノード電圧をデータベースに記録する。
【００１１】
これらの過程を回路図内の全ての回路ブロックに対して繰り返し、データベースに記録されたそれぞれの回路ブロックのノード電圧値を初期推定値として、シミュレーションを再度実行し、収束性を向上させることが可能となる。
【特許文献１】特開２００４−１３８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来のコンフィギュレーションファイルを利用したシミュレーションモデルの切替方法では、回路設計者がシミュレーションの検証内容や要求するシミュレーションの速度，精度に応じて、その都度、モデルの切り替えを行う必要があり、検証内容が増加すればするほど、一定条件でシミュレーションを実行することができないという課題があった。
【００１３】
本発明は、前記従来の課題を解決し、回路内の素子あるいは回路ブロックが複数のシミュレーションモデルを持つシミュレーションにおいて、入力信号の属性によって自動的にモデルの切り替えを行うようにした回路シミュレーション方法および回路シミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
前記目的を達成するために、本発明に係る回路シミュレーション方法および回路シミュレーション装置は、回路内の入力信号にモデル切替属性を付加する手段と、回路内のそれぞれの素子あるいは回路ブロックに優先切替属性を付加する手段と、前記モデル切替属性によって暫定モデル（素子あるいは回路ブロックに入力する全てのモデル切替属性に対して暫定的に切り替えを行うモデル全て）への切り替えを行う手段と、前記暫定モデルのモデル切替属性を出力に伝達する手段と、前記優先切替属性によって前記暫定モデルから確定モデル（実際のシミュレーションで使用するモデル）への切り替えを行う手段と、前記確定モデルでネットリストを作成する手段と、前記ネットリストを用いてシミュレーションを実行する手段を備え、効率的なシミュレーションを実行することを可能としている。
【発明の効果】
【００１５】
本発明に係る回路シミュレーション方法および回路シミュレーション装置によれば、回路内の入力信号に付加するモデル切替属性と、それぞれの素子あるいは回路ブロックに付加する優先切替属性によって、自動的に全ての素子あるいは回路ブロックのモデルの切り替えを行うため、シミュレーションの検証内容や要求するシミュレーション精度，速度に応じて常に一定条件で効率的なシミュレーションを実行することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態について図面を参照しながら説明する。
【００１７】
（第１の実施形態）
図１は本発明の第１の実施形態である回路シミュレーション方法および回路シミュレーション装置を説明するフロー図である。図２を用いて図１のフローを説明する。
【００１８】
図２はシミュレーションを実行する回路図の一例を示した図であり、図２の全体回路は、グラウンド２０１と、入力信号源２０２と、回路ブロック２０３〜２０６から構成されている。それぞれのシンボル間は配線で接続されている。配線はそれぞれ矢印方向に信号とモデル切替属性が伝達することを示している。
【００１９】
図３は前記回路ブロック２０３〜２０６が持つシミュレーションモデルを示した図である。例えば、回路ブロック２０３はシミュレーションモデルとしてディジタルモデル（Ｖｅｒｉｌｏｇ−Ｄ）とアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）を持つことを示し、回路ブロック２０５はシミュレーションモデルとしてディジタルモデル（Ｖｅｒｉｌｏｇ−Ｄ）を持つことを示している。
【００２０】
次に図１のフローを説明する。まず、図２の入力信号源２０２にモデル切替属性を付加する（Ｓ１０１）。前記モデル切替属性はＤ（ディジタルモデル）とＡ（アナログモデル）の２つの属性値を持つ。次に、回路図内のそれぞれの回路ブロックに優先切替属性を付加する（Ｓ１０２）。前記優先切替属性はＳ（ＳＰＥＥＤ）とＡ（ＡＣＣＵＲＡＣＹ）の２つの属性値を持ち、複数のモデル切替属性が入力する回路ブロックのモデル切替をシミュレーションの速度、または精度を重視して優先的に行う属性である。
【００２１】
図４は図２の前記入力信号源と前記回路ブロックに前記モデル切替属性と前記優先切替属性を付加した図であり、モデル切替属性４０１はアナログモデルの切り替えを指定し、優先切替属性４０２は複数のモデル切替属性が入力する場合、シミュレーション速度を重視した切り替えを指定している。前記優先切替属性のデフォルト値はＳ（ＳＰＥＥＤ）とし、指定のない回路ブロックは全てシミュレーション速度を重視した切り替えを行うものとする。また、４０３はモデル切替属性の伝達状況を示している。
【００２２】
図１のステップ（Ｓ１０３）にて、入力信号源２０２に付加したモデル切替属性４０１（ＭＯＤＥＬ：Ａ）を出力に伝達する。図４の回路図内の未処理のモデル切替属性の有無を確認し（Ｓ１０４）、前記モデル切替属性４０３が該当する。モデル切替属性４０３が入力し、属性値（ＭＯＤＥＬ：Ａ）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック２０３が該当する（Ｓ１０６）。
【００２３】
次に回路ブロック２０３が持つシミュレーションモデルの中にアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）が存在するか否かの確認を行い（Ｓ１０７）、存在するため回路ブロック２０３はアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）への暫定モデル切り替えを行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００２４】
上記までの処理の経過を図５に示している。図５の回路ブロック２０３はアナログモデルに切替を行ったことを明示している。５０１，５０２は回路ブロック２０３から伝達したモデル切替属性の伝達状況を示している。また、処理が終了したモデル切替属性４０３は明示的に色を変えている。
【００２５】
ステップ（Ｓ１０４）の処理に戻り、図５の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性５０１，５０２が該当する。説明のためにモデル切替属性５０１が先に該当したものとする。仮にモデル切替属性５０２が先に該当したとしても結果は同じである。
【００２６】
モデル切替属性５０１が入力し、属性値（ＭＯＤＥＬ：Ａ）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、回路ブロック２０４が該当する（Ｓ１０６）。回路ブロック２０４が持つシミュレーションモデルの中にアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）が存在するか否かの確認を行い（Ｓ１０７）、存在するため回路ブロック２０４はアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００２７】
ステップ（Ｓ１０４）の処理に戻り、図５の回路図内の未処理のモデル切替属性の有無を確認し、モデル切替属性５０２と回路ブロック２０４が出力に伝達した前記モデル切替属性が該当する。説明のためにモデル切替属性５０２が該当したものとする。前記モデル切替属性５０２が入力し、属性値（ＭＯＤＥＬ：Ａ）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック２０５が該当する（Ｓ１０６）。回路ブロック２０５が持つシミュレーションモデルの中にアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）が存在するか否かの確認を行う（Ｓ１０７）。回路ブロック２０５はディジタルモデル（Ｖｅｒｉｌｏｇ−Ｄ）しか持たないため必然的にディジタルモデル（Ｖｅｒｉｌｏｇ−Ｄ）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００２８】
上記までの処理の経過を図６に示している。６０１，６０２は回路ブロック２０４，２０５から伝達したモデル切替属性の伝達状況を示している。処理が終了したモデル切替属性５０１，５０２は明示的に色を変えている。
【００２９】
ステップ（Ｓ１０４）の処理に戻り、図６の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性６０１，６０２が該当する。説明のためにモデル切替属性６０１が先に該当したものとする。仮にモデル切替属性６０２が先に該当したとしても結果は同じである。
【００３０】
モデル切替属性６０１が入力し、属性値（ＭＯＤＥＬ：Ａ）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、回路ブロック２０６が該当する（Ｓ１０６）。回路ブロック２０６が持つシミュレーションモデルの中にアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）が存在するかどうかの確認を行い（Ｓ１０７）、存在するため回路ブロック２０６はアナログモデル（Ｖｅｒｉｌｏｇ−Ａ）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００３１】
上記までの処理の経過を図７に示している。７０１は回路ブロック２０６から伝達したモデル切替属性の伝達状況を示している。処理が終了したモデル切替属性６０１は明示的に色を変えている。
【００３２】
ステップ（Ｓ１０４）の処理に戻り、図７の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性６０２，７０１が該当する。説明のためにモデル切替属性６０２が該当したものとする。モデル切替属性６０２が入力し、属性値（ＭＯＤＥＬ：Ｄ）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック２０６が該当する（Ｓ１０６）。前記回路ブロック２０６が持つシミュレーションモデルの中にディジタルモデル（Ｖｅｒｉｌｏｇ−Ｄ）が存在するか否かの確認を行い（Ｓ１０７）、存在するため前記回路ブロック２０６はディジタルモデル（Ｖｅｒｉｌｏｇ−Ｄ）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００３３】
上記までの処理の経過を図８に示している。図８の回路ブロック２０６はアナログモデルとディジタルモデルの両方の切り替えを行ったことを明示している。８０１は前記回路ブロック２０６から伝達したモデル切替属性の伝達状況を示している。また、処理が終了したモデル切替属性６０２は明示的に色を変えている。
【００３４】
ステップ（Ｓ１０４）の処理に戻り、図８の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性７０１，８０１が該当する。モデル切替属性７０１，８０１はそれぞれＳ１０７の処理で入力する回路ブロックが存在しないため、ステップ（Ｓ１０４）の処理に戻る。未処理のモデル切替属性が存在しないため、図８のそれぞれの回路ブロックの優先切替属性を抽出する（Ｓ１１２）。
【００３５】
ステップ（Ｓ１１２）の処理でシミュレーション速度を重視する優先切替属性（ＰＲＩＯＲＩＴＹ：Ｓ）を抽出し、シミュレーションで用いるモデルを決定する確定モデル切替を行う（Ｓ１１３）。図８でシミュレーションモデルが競合しているのは、回路ブロック２０６であり、優先切替属性からディジタルモデル（Ｖｅｒｉｌｏｇ−Ｄ）への切替を行う。ステップ（Ｓ１１３）の処理で回路ブロック２０３，２０４はアナログモデルへの切り替え、回路ブロック２０５，２０６はディジタルモデルへの切り替えを行う。上記までの処理の結果を図９に示している。
【００３６】
図１０は入力信号源２０２に付加したモデル切替属性１００１がディジタルモデル（ＭＯＤＥＬ：Ｄ）の場合の切替結果を示した図、図１１は回路ブロック２０３〜２０６全ての優先切替属性１１０１〜１１０４がシミュレーション精度重視（ＰＲＩＯＲＩＴＹ：Ａ）の場合の切替結果を示した図である。
【００３７】
図１に戻って、切り替えを行ったシミュレーションモデルで回路図のネットリストを作成し（Ｓ１１４）、作成した前記ネットリストを用いてシミュレーションを実行する（Ｓ１１５）。
【００３８】
以上、説明したようにディジタルモデルとアナログモデルの２モデルを持つ回路ブロックのデジアナ混載シミュレーションにおいて、入力信号源に付加したモデル切替属性と回路ブロックに付加した優先切替属性によって、シミュレーションの速度，精度を考慮した常に一定条件での効率的なシミュレーションを実行することが可能となる。
【００３９】
（第２の実施形態）
第２の実施形態では、第１の実施形態とは異なり、シミュレーションモデルとしてディジタルモデルとアナログモデルの２モデルだけではなく、アナログモデルの精度を考慮したモデルを複数持つ回路ブロックのモデルの切り替えを行うフローについて説明する。図１２を用いて図１のフローを説明する。
【００４０】
図１２はシミュレーションを実行する回路図の一例を示した図であり、グラウンド１２０１，１２０２と、入力信号源１２０３，１２０４と、回路ブロック１２０５〜１２０９から構成されている。それぞれのシンボル間は配線で接続されている。配線はそれぞれ矢印方向に信号とモデル切替属性が伝達することを示している。
【００４１】
図１３は前記回路ブロック１２０５〜１２０９が持つシミュレーションモデルを示した図である。例えば、回路ブロック１２０６はシミュレーションモデルとしてＶｅｒｉｌｏｇ−Ａ（抽象），Ｖｅｒｉｌｏｇ−Ａ（特性），Ｓｐｉｃｅ（素子）を持つことを示し、回路ブロック１２０９はシミュレーションモデルとしてＶｅｒｉｌｏｇ−Ａ（抽象），Ｓｐｉｃｅ（素子）を持つことを示している。シミュレーション精度としてはＳｐｉｃｅ（素子）が最高精度であり、Ｖｅｒｉｌｏｇ−Ａ（抽象）が最低精度であるものとする。
【００４２】
図１のフローを説明する。まず、図１２の入力信号源１２０３，１２０４にモデル切替属性を付加する（Ｓ１０１）。モデル切替属性はＡ１（Ｖｅｒｉｌｏｇ−Ａ（抽象））とＡ２（Ｖｅｒｉｌｏｇ−Ａ（特性））とＡ３（Ｓｐｉｃｅ（素子））の３つの属性値を持つ。次に回路図内のそれぞれの回路ブロックに優先切替属性を付加する（Ｓ１０２）。優先切替属性は、Ｓ（ＳＰＥＥＤ）とＡ（ＡＣＣＵＲＡＣＹ）の２つの属性値を持ち、複数のモデル切替属性が入力する回路ブロックのモデル切替や入力のモデル切替属性に該当するモデルを持たない回路ブロックのモデル切替をシミュレーションの速度、または精度を重視して優先的に行う属性である。
【００４３】
図１４は図１２の前記入力信号源と前記回路ブロックに前記モデル切替属性と前記優先切替属性を付加した図であり、モデル切替属性１４０１，１４０２はそれぞれＡ１（Ｖｅｒｉｌｏｇ−Ａ（抽象））とＡ３（Ｓｐｉｃｅ（素子））の切替を指定し、優先切替属性１４０４，１４０５は回路ブロック１２０８，１２０９がシミュレーション精度を重視したモデル切替を行うことを指定し、優先切替属性１４０３は、それ以外の回路ブロックがシミュレーション速度を重視したモデル切替を行うことを指定している。
【００４４】
前記入力信号源１２０３，１２０４に付加したモデル切替属性１４０１（ＭＯＤＥＬ：Ａ１）と、モデル切替属性１４０２（ＭＯＤＥＬ：Ａ３）を出力に伝達する（Ｓ１０３）。１４０６，１４０７はモデル切替属性の伝達状況を示している。
【００４５】
次に、図１４の回路図内の未処理のモデル切替属性の有無を確認し（Ｓ１０４）、前記モデル切替属性１４０６，１４０７が該当する。説明のためにモデル切替属性１４０６が先に該当したものとする。仮にモデル切替属性１４０７が先に該当したとしても結果は同じである。モデル切替属性１４０６が入力し、属性値（ＭＯＤＥＬ：Ａ１）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック１２０８が該当する（Ｓ１０６）。
【００４６】
次に回路ブロック１２０８が持つシミュレーションモデルの中にＶｅｒｉｌｏｇ−Ａ（抽象）が存在するか否かの確認を行い（Ｓ１０７）、存在するため回路ブロック１２０８はＶｅｒｉｌｏｇ−Ａ（抽象）への暫定モデル切替を行う（Ｓ１０８）。そして、切替を行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００４７】
ステップ（Ｓ１０４）の処理に戻り、図１４の回路図内の未処理のモデル切替属性の有無を確認し、モデル切替属性１４０７と回路ブロック１２０８が出力に伝達した前記モデル切替属性が該当する。説明のために前記モデル切替属性１４０７が該当したものとする。モデル切替属性１４０７が入力し、属性値（ＭＯＤＥＬ：Ａ３）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック１２０５が該当する（Ｓ１０６）。前記回路ブロック１２０５が持つシミュレーションモデルの中にＳｐｉｃｅ（素子）が存在するか否かの確認を行い（Ｓ１０７）、存在するため回路ブロック１２０５はＳｐｉｃｅ（素子）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００４８】
上記までの処理の経過を図１５に示している。１５０１，１５０２は回路ブロック１２０５，１２０８から伝達したモデル切替属性の伝達状況を示している。処理が終了したモデル切替属性１４０６，１４０７は明示的に色を変えている。
【００４９】
ステップ（Ｓ１０４）の処理に戻り、図１５の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性１５０１，１５０２が該当する。説明のためにモデル切替属性１５０２が先に該当したものとする。仮にモデル切替属性１５０１が先に該当したとしても結果は同じである。モデル切替属性１５０２が入力し、属性値（ＭＯＤＥＬ：Ａ１）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、回路ブロック１２０６が該当する（Ｓ１０６）。回路ブロック１２０６が持つシミュレーションモデルの中にＳｐｉｃｅ（素子）が存在するか否かの確認を行い（Ｓ１０７）、存在するため回路ブロック１２０６はＳｐｉｃｅ（素子）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００５０】
ステップ（Ｓ１０４）の処理に戻り、図１５の回路図内の未処理のモデル切替属性の有無を確認し、モデル切替属性１５０１と回路ブロック１２０６が出力に伝達したモデル切替属性が該当する。説明のために回路ブロック１２０６が出力に伝達したモデル切替属性が該当したものとする。回路ブロック１２０６が出力に伝達したモデル切替属性が入力し、属性値（ＭＯＤＥＬ：Ａ１）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック１２０７が該当する（Ｓ１０６）。回路ブロック１２０７はＶｅｒｉｌｏｇ−Ａ（特性）しか持たないため必然的にＶｅｒｉｌｏｇ−Ａ（特性）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００５１】
上記までの処理の経過を図１６に示している。１６０１，１６０２は回路ブロック１２０６，１２０７から伝達したモデル切替属性の伝達状況を示している。処理が終了したモデル切替属性１５０２，１６０１は明示的に色を変えている。
【００５２】
ステップ（Ｓ１０４）の処理に戻り、図１６の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性１５０１，１６０２が該当する。説明のためにモデル切替属性１６０２が該当したものとする。モデル切替属性１６０２が入力し、属性値（ＭＯＤＥＬ：Ａ２）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック１２０９が該当する（Ｓ１０６）。回路ブロック１２０９が持つシミュレーションモデルの中にＶｅｒｉｌｏｇ−Ａ（特性）が存在するか否かの確認を行う（Ｓ１０７）。回路ブロック１２０９はシミュレーションモデルとしてＶｅｒｉｌｏｇ−Ａ（抽象），Ｓｐｉｃｅ（素子）しか持たないため、回路ブロック１２０９に付加した優先切替属性を抽出する（Ｓ１０９）。優先切替属性の属性値はＡ（ＡＣＣＵＲＡＣＹ）のため、シミュレーション精度を重視してＳｐｉｃｅ（素子）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００５３】
上記までの処理の経過を図１７に示している。１７０１は回路ブロック１２０７から伝達したモデル切替属性の伝達状況を示している。処理が終了したモデル切替属性１６０２は明示的に色を変えている。
【００５４】
ステップ（Ｓ１０４）の処理に戻り、図１７の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性１５０１，１７０１が該当する。説明のためにモデル切替属性１７０１が該当したものとする。モデル切替属性１７０１が入力し、属性値（ＭＯＤＥＬ：Ａ３）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック１２０８が該当する（Ｓ１０６）。回路ブロック１２０８が持つシミュレーションモデルの中にＳｐｉｃｅ（素子）が存在するか否かの確認を行い（Ｓ１０７）、存在するため回路ブロック１２０８はＳｐｉｃｅ（素子）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００５５】
ステップ（Ｓ１０４）の処理に戻り、図１７の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性１５０１と前記回路ブロック１２０８が出力に伝達したモデル切替属性が該当する。説明のために回路ブロック１２０８が出力に伝達したモデル切替属性が該当したものとする。回路ブロック１２０８が出力に伝達したモデル切替属性が入力し、属性値（ＭＯＤＥＬ：Ａ３）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック１２０６が該当する（Ｓ１０６）。回路ブロック１２０６が持つシミュレーションモデルの中にＳｐｉｃｅ（素子）が存在するか否かの確認を行い（Ｓ１０７）、存在するため前記回路ブロック１２０６はＳｐｉｃｅ（素子）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００５６】
ステップ（Ｓ１０４）の処理に戻り、図１７の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性１５０１と前記回路ブロック１２０６が出力に伝達したモデル切替属性が該当する。説明のためにモデル切替属性１５０１が該当したものとする。モデル切替属性１５０１が入力し、属性値（ＭＯＤＥＬ：Ａ３）で未処理の回路ブロックの有無を確認する（Ｓ１０５）。モデル切替属性１５０１は回路ブロック１２０６に入力しているが、既に属性値（ＭＯＤＥＬ：Ａ３）は処理済みのため以降の処理は行わない。
【００５７】
上記までの処理の経過を図１８に示している。１８０１，１８０２は回路ブロック１２０８，１２０６から伝達したモデル切替属性の伝達状況を示している。処理が終了したモデル切替属性１５０１，１８０１は明示的に色を変えている。
【００５８】
ステップ（Ｓ１０４）の処理に戻り、図１８の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性１８０２が該当する。モデル切替属性１８０２が入力し、属性値（ＭＯＤＥＬ：Ａ３）で未処理の回路ブロックの有無を確認し（Ｓ１０５）、前記回路ブロック１２０７が該当する（Ｓ１０６）。回路ブロック１２０７はＶｅｒｉｌｏｇ−Ａ（特性）しか持たないため必然的にＶｅｒｉｌｏｇ−Ａ（特性）への暫定モデル切替を行う（Ｓ１０８）。そして、切り替えを行ったモデル切替属性を出力に伝達する（Ｓ１１０）。
【００５９】
上記までの処理経過を図１９に示している。１９０１は回路ブロック１２０７から伝達したモデル切替属性の伝達状況を示している。処理が終了したモデル切替属性１８０２は明示的に色を変えている。
【００６０】
ステップ（Ｓ１０４）の処理に戻り、図１９の回路図内の未処理のモデル切替属性の有無を確認し、前記モデル切替属性１９０１が該当する。モデル切替属性１９０１が入力し、属性値（ＭＯＤＥＬ：Ａ２）で未処理の回路ブロックの有無を確認する（Ｓ１０５）。モデル切替属性１９０１は回路ブロック１２０６に入力しているが、既に属性値（ＭＯＤＥＬ：Ａ２）は処理済みのため以降の処理は行わない。上記までの処理経過を図２０に示している。
【００６１】
ステップ（Ｓ１０４）の処理に戻り、図２０の回路図内の未処理のモデル切替属性の有無を確認し、未処理のモデル切替属性が存在しないため、図２０のそれぞれの回路ブロックの優先切替属性を抽出する（Ｓ１１２）。ステップ（Ｓ１１２）の処理で回路ブロック１２０８，１２０９についてはシミュレーション精度を重視する前記優先切替属性（ＰＲＩＯＲＩＴＹ：Ａ）を抽出し、それ以外の回路ブロックについてはシミュレーション速度を重視する優先切替属性（ＰＲＩＯＲＩＴＹ：Ｓ）を抽出し、シミュレーションで用いるモデルを決定する確定モデル切替を行う（Ｓ１１３）。
【００６２】
図２０において、シミュレーションモデルが競合しているのは回路ブロック１２０６，１２０８であり、優先切替属性から回路ブロック１２０６はＶｅｒｉｌｏｇ−Ａ（抽象）への切り替えを行い、回路ブロック１２０８はＳｐｉｃｅ（素子）への切り替えを行う。
【００６３】
ステップ（Ｓ１１３）の処理で回路ブロック１２０６はＶｅｒｉｌｏｇ−Ａ（抽象）への切り替え、回路ブロック１２０７はＶｅｒｉｌｏｇ−Ａ（特性）への切り替え、回路ブロック１２０５，１２０８，１２０９はＳｐｉｃｅ（素子）への切り替えを行う。上記までの処理の結果を図２１に示している。
【００６４】
次に切り替えを行ったシミュレーションモデルで回路図のネットリストを作成し（Ｓ１１４）、作成したネットリストを用いてシミュレーションを実行する（Ｓ１１５）。
【００６５】
以上、説明したように精度を考慮した複数のシミュレーションモデルを持つ回路ブロックのシミュレーションにおいて、入力信号源に付加したモデル切替属性と回路ブロックに付加した優先切替属性によって、シミュレーションの速度，精度を考慮した常に一定条件での効率的なシミュレーションを実行することが可能となる。
【産業上の利用可能性】
【００６６】
本発明は、複数のシミュレーションモデルの切替を行う回路シミュレーションなどに有用である。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施の形態である回路シミュレーション方法および回路シミュレーション装置を説明する図
【図２】シミュレーションを実行する回路図の一例を示した図
【図３】図２の回路図においてそれぞれの回路ブロックが持つシミュレーションモデルを示した図
【図４】図２の回路図において入力信号源にモデル切替属性、回路ブロックに優先切替属性を付加した図
【図５】図４の回路図においてアナログモデル切替の処理経過を示した図
【図６】図４の回路図においてアナログモデル切替の処理経過を示した図
【図７】図４の回路図においてアナログモデル切替の処理経過を示した図
【図８】図４の回路図においてアナログモデル切替の処理経過を示した図
【図９】図４の回路図においてアナログモデル切替の処理後を示した図
【図１０】図４の回路図においてディジタルモデル切替の処理後を示した図
【図１１】図４の回路図においてアナログモデル切替と精度優先切替の処理後を示した図
【図１２】シミュレーションを実行する回路図の一例を示した図
【図１３】図１２の回路図においてそれぞれの回路ブロックが持つシミュレーションモデルを示した図
【図１４】図１２の回路図において入力信号源にモデル切替属性、回路ブロックに優先切替属性を付加した図
【図１５】図１４の回路図においてモデル切替の処理経過を示した図
【図１６】図１４の回路図においてモデル切替の処理経過を示した図
【図１７】図１４の回路図においてモデル切替の処理経過を示した図
【図１８】図１４の回路図においてモデル切替の処理経過を示した図
【図１９】図１４の回路図においてモデル切替の処理経過を示した図
【図２０】図１４の回路図においてモデル切替の処理経過を示した図
【図２１】図１４の回路図においてモデル切替の処理後を示した図
【図２２】シミュレーションモデルの切替を指定するコンフィギュレーションファイルを示した図
【図２３】従来のモデル切替を説明する図
【符号の説明】
【００６８】
２０１  グラウンド
２０２  入力信号源
２０３〜２０６  回路ブロック
４０１  モデル切替属性
４０２  優先切替属性
４０３  モデル切替属性の伝達状況
５０１，５０２  モデル切替属性の伝達状況
６０１，６０２  モデル切替属性の伝達状況
７０１  モデル切替属性の伝達状況
８０１  モデル切替属性の伝達状況
１００１  モデル切替属性
１１０１〜１１０４  優先切替属性
１２０１，１２０２  グラウンド
１２０３，１２０４  入力信号源
１２０５〜１２０９  回路ブロック
１４０１，１４０２  モデル切替属性
１４０３〜１４０５  優先切替属性
１４０６，１４０７  モデル切替属性の伝達状況
１５０１，１５０２  モデル切替属性の伝達状況
１６０１，１６０２  モデル切替属性の伝達状況
１７０１  モデル切替属性の伝達状況
１８０１，１８０２  モデル切替属性の伝達状況
１９０１  モデル切替属性の伝達状況
【図１】
2006209491.tif 000003
【図２】
2006209491.tif 000004
【図３】
2006209491.tif 000005
【図４】
2006209491.tif 000006
【図５】
2006209491.tif 000007
【図６】
2006209491.tif 000008
【図７】
2006209491.tif 000009
【図８】
2006209491.tif 000010
【図９】
2006209491.tif 000011
【図１０】
2006209491.tif 000012
【図１１】
2006209491.tif 000013
【図１２】
2006209491.tif 000014
【図１３】
2006209491.tif 000015
【図１４】
2006209491.tif 000016
【図１５】
2006209491.tif 000017
【図１６】
2006209491.tif 000018
【図１７】
2006209491.tif 000019
【図１８】
2006209491.tif 000020
【図１９】
2006209491.tif 000021
【図２０】
2006209491.tif 000022
【図２１】
2006209491.tif 000023
【図２２】
2006209491.tif 000024
【図２３】
2006209491.tif 000025