(57)【要約】【課題】回路解析における解析漏れを低減すること。【解決手段】解析支援装置１００は、入力端子１０１から入力された正位相の信号が通過する節点を特定し、一旦いずれかの節点を通過した信号が再び同一の節点に帰還する経路を探索する。次に、解析支援装置１００は、探索した経路上の素子の種別に基づいて、経路上のいずれかの節点を通過した信号が再び同一の節点に帰還した場合に、信号の位相が反転するか否かを判定する。そして、解析支援装置１００は、いずれかの節点を通過した信号が同一の節点に帰還した場合に信号の位相が反転しないと判定した場合、探索した経路に含まれる節点を正帰還のループに含まれる節点として出力する。【選択図】図１
2014199604.tif 000002
【特許請求の範囲】
【請求項１】
回路内の複数の素子と、前記複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得する取得部と、
前記取得部によって取得された前記回路データに基づいて、素子の種別と前記素子を信号が通過する場合に前記信号の位相が反転するか否かを示す情報とを対応付けて記憶する記憶部の記憶内容を参照して、前記回路内の複数の節点のうちのいずれかの節点を通過した信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定する判定部と、
前記判定部によって前記信号の位相が反転しないと判定された場合に、前記いずれかの節点を示す情報を出力する出力部と、
を有することを特徴とする解析支援装置。
【請求項２】
前記回路データを参照して、前記回路内の入力端子から入力された信号が通過する順に前記回路内の節点を特定して、前記信号が前記いずれかの節点を通過してから前記いずれかの節点に帰還するまでの経路を探索する探索部を有し、
前記判定部は、前記探索部によって探索された前記経路上の素子の種別に基づいて、前記記憶部の記憶内容を参照して、前記いずれかの節点を通過した前記信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定することを特徴とする請求項１に記載の解析支援装置。
【請求項３】
前記記憶部は、トランジスタと、前記トランジスタのゲート端子からドレイン端子へと信号が通過する場合に前記信号の位相が反転することを示す情報と、を対応付けて記憶し、
前記判定部は、前記記憶部の記憶内容を参照して、前記入力端子から入力された信号が、前記経路上でトランジスタのゲート端子からドレイン端子へと偶数回通過した場合に、前記信号の位相が反転しないと判定することを特徴とする請求項２に記載の解析支援装置。
【請求項４】
コンピュータが、
回路内の複数の素子と、前記複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得し、
取得した前記回路データに基づいて、素子の種別と前記素子を信号が通過する場合に前記信号の位相が反転するか否かを示す情報とを対応付けて記憶する記憶部の記憶内容を参照して、前記回路内の複数の節点のうちのいずれかの節点を通過した信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定し、
前記信号の位相が反転しないと判定された場合に、前記いずれかの節点を示す情報を出力する、
処理を実行することを特徴とする解析支援方法。
【請求項５】
コンピュータに、
回路内の複数の素子と、前記複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得し、
取得した前記回路データに基づいて、素子の種別と前記素子を信号が通過する場合に前記信号の位相が反転するか否かを示す情報とを対応付けて記憶する記憶部の記憶内容を参照して、前記回路内の複数の節点のうちのいずれかの節点を通過した信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定し、
前記信号の位相が反転しないと判定された場合に、前記いずれかの節点を示す情報を出力する、
処理を実行させることを特徴とする解析支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析支援装置、解析支援方法、および解析支援プログラムに関する。
【背景技術】
【０００２】
従来、回路解析ソフトウェアは、解析対象の回路に対して、直流解析（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ  Ａｎａｌｙｓｉｓ）を実行して回路内の節点の電圧値を算出し、算出した電圧値を初期電圧値として交流解析（Ａｌｔｅｒｎａｔｉｎｇ  Ｃｕｒｒｅｎｔ  Ａｎａｌｙｓｉｓ）または過渡解析（Ｔｒａｎｓｉｅｎｔ  Ａｎａｌｙｓｉｓ）を実行する。
【０００３】
また、回路解析ソフトウェアは、直流解析では、回路の動作を解析するために、回路内の節点の電圧値を規定の電圧値に設定して解析し、回路内の節点の電圧値を規定の電圧値に設定した場合に対応する、回路の一つの動作の状態を示す節点の電圧値を算出する。
【０００４】
関連する技術としては、例えば、回路解析を実行して電圧値が解に収束しなかった非収束の節点を検出する技術がある。また、例えば、回路解析を実行して非収束の節点が検出された場合に他の節点における解に収束済みの電圧値の平均値を初期値として設定して再び回路解析を実行する技術がある。また、例えば、回路解析を実行して節点に対する最後の電圧値と最後から１つ前の電圧値とにより収束判定を行う技術がある。また、例えば、所定の収束条件を満たすまで、ニュートン法やＤａｍｐｅｄ−Ｎｅｗｔｏｎ法などの複数のソルバを所定順序で起動して電圧値の解を求める技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１２１５７８号公報
【特許文献２】特開平５−３４２２９４号公報
【特許文献３】特開平６−１１０９５９号公報
【特許文献４】特開平９−１７９８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、回路の複数の動作の状態の各々の状態を示す節点の電圧値を算出するために、直流解析において回路内のどの節点の電圧値を規定の電圧値とは異なる電圧値に設定すればよいか判断することが難しい。
【０００７】
１つの側面では、本発明は、回路解析を支援することができる解析支援装置、解析支援方法、および解析支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、回路内の複数の素子と、複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得し、取得した回路データに基づいて、素子の種別と素子を信号が通過する場合に信号の位相が反転するか否かを示す情報とを対応付けて記憶する記憶部の記憶内容を参照して、回路内の複数の節点のうちのいずれかの節点を通過した信号がいずれかの節点に帰還した場合に信号の位相が反転するか否かを判定し、信号の位相が反転しないと判定された場合に、いずれかの節点を示す情報を出力する解析支援装置、解析支援方法、および解析支援プログラムが提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、回路解析を支援することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる解析支援装置１００による解析支援処理の一例を示す説明図である。
【図２】図２は、実施の形態にかかる解析支援装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、位相情報テーブル３００の記憶内容の一例を示す説明図である。
【図４】図４は、解析支援装置１００の機能的構成を示すブロック図である。
【図５】図５は、取得データの一例を示す説明図である。
【図６】図６は、解析対象の回路６００の一例を示す説明図である。
【図７】図７は、解析支援装置１００の動作の一例を示す説明図（その１）である。
【図８】図８は、解析支援装置１００の動作の一例を示す説明図（その２）である。
【図９】図９は、解析支援装置１００の動作の一例を示す説明図（その３）である。
【図１０】図１０は、解析支援装置１００の動作の一例を示す説明図（その４）である。
【図１１】図１１は、解析支援装置１００の動作の一例を示す説明図（その５）である。
【図１２】図１２は、解析支援装置１００の動作の一例を示す説明図（その６）である。
【図１３】図１３は、解析支援装置１００の動作の一例を示す説明図（その７）である。
【図１４】図１４は、解析支援装置１００の解析支援処理手順の一例を示すフローチャートである。
【図１５】図１５は、ステップＳ１４０２に示した探索処理手順の一例を示すフローチャートである。
【図１６】図１６は、ステップＳ１５０８に示したループ判定処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる解析支援装置、解析支援方法、および解析支援プログラムの実施の形態を詳細に説明する。
【００１２】
（解析支援処理の一例）
図１は、実施の形態にかかる解析支援装置１００による解析支援処理の一例を示す説明図である。図１において、解析支援装置１００は、解析対象の回路の中から正帰還のループを検出して正帰還のループに含まれる節点を示す情報を出力するコンピュータである。
【００１３】
ここで、正帰還のループとは、一旦通過した信号の位相と同相の信号が帰還するループである。このため、ループ内の節点の電圧値は解に収束しない場合がある。以下の説明では、回路内の入力端子から入力された信号の位相を「正位相」と表記する場合がある。一方で、正位相の信号を位相反転した信号の位相を「逆位相」と表記する場合がある。
【００１４】
解析支援装置１００は、例えば、（Ａ）の回路に対して、入力端子１０１から入力された正位相の信号が通過する節点を特定し、一旦いずれかの節点を通過した信号が再び同一の節点に帰還する経路を探索する。解析支援装置１００は、（Ａ）の回路では、節点１０２を通過して再び節点１０２に帰還する経路を探索する。
【００１５】
次に、解析支援装置１００は、経路上の素子の種別に基づいて、節点１０２を通過した信号が再び節点１０２に帰還した場合に、信号の位相が反転するか否かを判定する。解析支援装置１００は、（Ａ）の回路では、節点１０２を通過する信号の位相が正位相であって、素子１０３において位相反転して逆位相になり、素子１０４において位相反転して正位相になり、素子１０５において位相反転せずに節点１０２に帰還することを特定する。
【００１６】
したがって、解析支援装置１００は、節点１０２を通過した信号が、節点１０２に帰還した場合に、信号の位相が反転しないと判定する。換言すれば、解析支援装置１００は、節点１０２が、正帰還のループに含まれる節点であると判定する。
【００１７】
これにより、解析支援装置１００は、正帰還のループに含まれ、回路解析において電圧値が解に収束しない場合がある節点を検出して出力することができる。以下の説明では、回路解析において電圧値が解に収束しない場合がある節点を「不定節点」と表記する場合がある。
【００１８】
このため、解析支援装置１００の利用者は、通知された不定節点を把握し、不定節点の電圧値が解に収束するように不定節点の電圧値を設定することができる。また、解析支援装置１００の利用者は、回路の複数の動作の状態を示す初期電圧値を算出するために、不定節点に複数の電圧値を設定することにより、回路解析における解析漏れを低減することができ、実際の回路の動作に応じた解析結果を得ることができることがある。
【００１９】
また、解析支援装置１００は、例えば、（Ｂ）の回路に対して、入力端子１０６から入力された正位相の信号が通過する節点を特定し、一旦いずれかの節点を通過した信号が再び同一の節点に帰還する経路を探索する。解析支援装置１００は、（Ｂ）の回路では、節点１０７を通過して再び節点１０７に帰還する経路を探索する。
【００２０】
次に、解析支援装置１００は、経路上の素子の種別に基づいて、節点１０７を通過した信号が再び節点１０７に帰還した場合に、信号の位相が反転するか否かを判定する。解析支援装置１００は、（Ｂ）の回路では、節点１０７を通過する信号の位相が正位相であって、素子１０８において位相反転して逆位相になり、素子１０９において位相反転して正位相になり、素子１１０において位相反転して逆位相になることを特定する。そして、解析支援装置１００は、節点１０７を通過する信号の位相が逆位相になって節点１０７に帰還することを特定する。
【００２１】
したがって、解析支援装置１００は、節点１０７を通過した信号が、節点１０７に帰還した場合に、信号の位相が反転すると判定する。換言すれば、解析支援装置１００は、節点１０７が、負帰還のループに含まれる節点であると判定する。ここで、負帰還のループとは、一旦通過した信号の位相と逆相の信号が帰還するループである。解析支援装置１００は、負帰還のループに含まれ、電圧値が発散しない節点を検出しない。
【００２２】
（解析支援装置１００のハードウェア構成例）
図２は、実施の形態にかかる解析支援装置１００のハードウェア構成例を示すブロック図である。図２において、解析支援装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、インターフェース（Ｉ／Ｆ：Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２３】
ここで、ＣＰＵ２０１は、解析支援装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２４】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２５】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２６】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２７】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２８】
スキャナ２１２は、画像を光学的に読み取り、解析支援装置１００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ２０６、光ディスク２０７、ディスプレイ２０８、キーボード２１０、マウス２１１、スキャナ２１２、およびプリンタ２１３の少なくともいずれか１つは、なくてもよい。
【００２９】
（位相情報テーブル３００の記憶内容）
次に、図３を用いて、位相情報テーブル３００の記憶内容の一例について説明する。位相情報テーブル３００は、例えば、上述したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５などにより実現される。
【００３０】
図３は、位相情報テーブル３００の記憶内容の一例を示す説明図である。図３に示すように、位相情報テーブル３００は、検索項目に対応付けて、符号項目を有し、検索方向ごとに各項目に情報が設定されることによりレコードを記憶する。
【００３１】
検索項目には、信号が通過する素子の種別が記憶される。符号項目には、検索項目が示す種別の素子を通過した信号の位相が同じままか反転するかを示す情報が記憶される。例えば、レコード３０１には、信号がゲート端子からドレイン端子へと通過する場合のトランジスタを示す情報と、信号の位相が反転することを示す情報と、が対応付けて記憶されている。
【００３２】
（解析支援装置１００の機能的構成例）
次に、図４を用いて、解析支援装置１００の機能的構成例について説明する。
【００３３】
図４は、解析支援装置１００の機能的構成を示すブロック図である。解析支援装置１００は、取得部４０１と、探索部４０２と、記憶部４０３と、判定部４０４と、出力部４０５と、解析部４０６と、を含む。取得部４０１と、探索部４０２と、記憶部４０３と、判定部４０４と、出力部４０５と、解析部４０６とは、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００３４】
取得部４０１は、回路内の複数の素子と、複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得する。ここで、回路とは、直流解析、交流解析、過渡解析などの解析対象になる回路である。回路データとは、例えば、解析対象になる回路を示すネットリストである。ネットリストについては、図５に後述する。
【００３５】
また、取得部４０１は、ネットリストに記載された節点のうち、入力端子になる節点を示す端子データを取得してもよい。これにより、探索部４０２は、取得部４０１によって取得された回路データに基づいて、解析対象の回路においてループになる経路を探索することができる。取得されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３６】
探索部４０２は、回路データを参照して、回路内の入力端子から入力された信号が通過する順に回路内の節点を特定して、信号がいずれかの節点を通過してからいずれかの節点に帰還するまでの経路を探索する。
【００３７】
探索部４０２は、例えば、回路データを参照して、入力端子になる節点を現在の節点として設定し、現在の節点に接続された素子を特定し、特定した素子のうちで現在の節点からの信号が通過可能な素子を特定する。次に、探索部４０２は、特定した通過可能な素子を通過した先にある節点を特定して、現在の節点と特定した節点との経路を探索する。
【００３８】
ここで、信号が通過可能な素子とは、例えば、ゲート端子からドレイン端子へと通過する場合のトランジスタ、ドレイン端子とソース端子との間を通過する場合のトランジスタ、ゲート端子からソース端子へと通過する場合のトランジスタである。また、信号が通過可能な素子とは、例えば、抵抗、容量、およびインダクタなどの受動素子である。
【００３９】
そして、探索部４０２は、特定した通過可能な素子を通過した先にある節点を、新たな現在の節点として設定し、上述した処理と同様にして新たな現在の節点から通過可能な素子を通過した先にある節点を特定して経路を探索する処理を繰り返す。この時、探索部４０２は、現在の節点から通過可能な素子を通過した先にある節点であっても、直前に特定した節点であれば、経路の逆戻りを防止するために特定しない。
【００４０】
探索部４０２は、上述した処理において、既に探索した経路に含まれる節点が特定された場合に、特定した節点を始点として経路を逆に戻って特定した節点に戻るまでの経路を、ループとして検出する。これにより、探索部４０２は、正帰還のループになりうるループを検出することができる。探索結果は、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４１】
記憶部４０３は、素子の種別と素子を信号が通過する場合に信号の位相が反転するか否かを示す情報とを対応付けて記憶する。記憶部４０３は、例えば、トランジスタと、トランジスタのゲート端子からドレイン端子へと信号が通過する場合に信号の位相が反転することを示す情報と、を対応付けて記憶する。ここで、トランジスタとは、例えば、金属酸化膜半導体電界効果トランジスタ（ＭＯＳＦＥＴ：Ｍｅｔａｌ−Ｏｘｉｄｅ−Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ−Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）である。記憶部４０３は、例えば、図３に示した位相情報テーブル３００を記憶する。
【００４２】
判定部４０４は、取得部４０１によって取得された回路データに基づいて、記憶部４０３の記憶内容を参照して、回路内の複数の節点のうちのいずれかの節点を通過した信号がいずれかの節点に帰還した場合に信号の位相が反転するか否かを判定する。
【００４３】
判定部４０４は、例えば、探索部４０２によって探索された経路上の素子の種別に基づいて、記憶部４０３の記憶内容を参照して、いずれかの節点を通過した信号がいずれかの節点に帰還した場合に信号の位相が反転するか否かを判定する。
【００４４】
判定部４０４は、具体的には、経路上で信号がトランジスタのゲート端子からドレイン端子へと偶数回通過した場合に、信号の位相が反転しないと判定する。ここで、０回は、偶数回に含まれる。換言すれば、判定部４０４は、記憶部４０３の記憶内容を参照して、入力端子から入力された信号が、経路上で信号の位相が偶数回反転した場合に、信号の位相が反転しないと判定する。
【００４５】
これにより、判定部４０４は、信号の位相が反転しない場合、探索部４０２によって探索されたループが正帰還のループであると判定することができる。判定結果は、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４６】
出力部４０５は、判定部４０４によって信号の位相が反転しないと判定された場合に、いずれかの節点を示す情報を出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。
【００４７】
解析部４０６は、判定部４０４によって信号の位相が反転しないと判定されたいずれかの節点に、回路内の電源の電圧値を設定した場合と、回路内の接地の電圧値を設定した場合と、について、回路の回路解析を行う。例えば、判定部４０４によって信号の位相が反転しないと判定された第１の節点と第２の節点とがある場合を例に挙げる。この場合、解析部４０６は、第１の節点に電源の電圧値を設定し、第２の節点に電源の電圧値を設定し、回路の回路解析を行う。
【００４８】
また、この場合、解析部４０６は、第１の節点に電源の電圧値を設定し、第２の節点に接地の電圧値を設定し、回路の回路解析を行う。また、この場合、解析部４０６は、第１の節点に接地の電圧値を設定し、第２の節点に電源の電圧値を設定し、回路の回路解析を行う。また、この場合、解析部４０６は、第１の節点に接地の電圧値を設定し、第２の節点に接地の電圧値を設定し、回路の回路解析を行う。
【００４９】
これにより、解析部４０６は、解が非収束になる場合がある節点について複数の初期値を設定して解析することにより、解析漏れを低減することができる。解析結果は、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５０】
（取得データの一例）
次に、図５を用いて、取得データの一例について説明する。取得データは、取得部４０１によって取得された回路データ５０２と端子データ５０１とを含む。
【００５１】
図５は、取得データの一例を示す説明図である。図５に示すように、端子データ５０１は、入力端子、出力端子、電源、または接地になる節点の名称と、端子の種別と、を示すデータである。図５の例では、例えば、ｉｎｐｕｔは、入力端子を示す。ｏｕｔｐｕｔは、出力端子を示す。Ｐｏｗｅｒは、電源を示す。ＧＮＤは、接地を示す。図５の例では、具体的には、節点「ＩＮ」が入力端子になる節点であることを示す。
【００５２】
また、回路データ５０２は、素子名と、素子の接続される節点と、を示すデータである。図５の例では、１行目が素子名を、２行目以降の行が節点の名称を、各々、示す。図５の例では、具体的には、トランジスタ「Ｍ１」と、トランジスタ「Ｍ１」のドレイン端子が接続された節点「ＯＵＴ」、ゲート端子が接続された節点「ＩＮ」、ソース端子が接続された節点「ＶＤＤ」、バルク端子が接続された節点「ＶＤＤ」を示す。
【００５３】
（解析対象の回路６００の一例）
次に、図６を用いて、解析対象の回路６００の一例について説明する。
【００５４】
図６は、解析対象の回路６００の一例を示す説明図である。図６に示すように、解析対象の回路６００は、図５に示した回路データ５０２に対応する回路６００であって、トランジスタＭ１〜Ｍ８を含む回路６００である。
【００５５】
（解析支援装置１００の動作）
次に、図７〜図１３を用いて、図６に示した解析対象の回路６００に対する解析支援装置１００の動作の一例について説明する。
【００５６】
図７〜図１３は、解析支援装置１００の動作の一例を示す説明図である。図７に示すように、解析支援装置１００は、入力端子になる節点「ＩＮ」を現在の節点として設定する。次に、解析支援装置１００は、現在の節点「ＩＮ」から通過可能な素子として、トランジスタＭ１，Ｍ３を特定する。そして、解析支援装置１００は、特定したトランジスタＭ１，Ｍ３を通過した先の節点を特定する。
【００５７】
ここで、解析支援装置１００は、現在の節点と、特定した各々の素子と、各々の素子を通過した先の節点と、を示すデータを、作成する。以下の説明では、現在の節点と、特定した各々の素子と、各々の素子を通過した先の節点と、を示すデータを「接続データ」と表記する場合がある。図７の例では、解析支援装置１００は、接続データ［Ｍ１：ＩＮ：ＯＵＴ］と、接続データ［Ｍ１：ＩＮ：ＶＤＤ］と、接続データ［Ｍ３：ＩＮ：ＯＵＴ］と、接続データ［Ｍ３：ＩＮ：Ｘ］と、を作成する。上述した接続データは、［素子の名称：現在の節点：通過した先の節点］を示す。
【００５８】
次に、解析支援装置１００は、作成した接続データのうちのいずれかの接続データを、探索する経路を示す接続データとして選択する。図７の例では、解析支援装置１００は、接続データ［Ｍ１：ＩＮ：ＯＵＴ］を選択し、作業メモリ７０１に記憶する。解析支援装置１００は、未選択の接続データを、未処理メモリ７０３に記憶する。そして、解析支援装置１００は、図８に示す動作に移行する。
【００５９】
図８に示すように、解析支援装置１００は、選択した接続データ［Ｍ１：ＩＮ：ＯＵＴ］に基づいて、節点「ＩＮ」から節点「ＯＵＴ」へとトランジスタＭ１を信号が通過した場合に信号の位相が反転するか否かを特定する。
【００６０】
ここで、解析支援装置１００は、回路データ５０２を参照して、節点「ＩＮ」から節点「ＯＵＴ」へとトランジスタＭ１を信号が通過した場合に、トランジスタＭ１のゲート端子からドレイン端子へと信号が通過することを特定する。次に、解析支援装置１００は、位相情報テーブル３００を参照して、トランジスタのゲート端子からドレイン端子へと信号が通過するため、信号が反転することを特定する。
【００６１】
そして、解析支援装置１００は、選択した接続データ［Ｍ１：ＩＮ：ＯＵＴ］が示す経路を通過した場合に、信号が反転することを示す位相データ［ＩＮ：ＯＵＴ：−］を作成して、節点メモリ７０２に記憶する。
【００６２】
また、解析支援装置１００は、選択した接続データ［Ｍ１：ＩＮ：ＯＵＴ］を、探索済みの経路を示す接続データとして、作業メモリ７０１から検索履歴メモリ７０４に移動する。また、解析支援装置１００は、選択した接続データ［Ｍ１：ＩＮ：ＯＵＴ］に基づいて、現在の節点を、トランジスタＭ１を通過した先の節点「ＯＵＴ」に設定する。そして、解析支援装置１００は、図９に示す動作に移行する。
【００６３】
図９に示すように、解析支援装置１００は、図７と同様に、現在の節点「ＯＵＴ」から通過可能な素子として、トランジスタＭ５，Ｍ７を特定する。そして、解析支援装置１００は、特定したトランジスタＭ５，Ｍ７を通過した先の節点を特定する。
【００６４】
ここで、解析支援装置１００は、現在の節点と、特定した各々の素子と、各々の素子を通過した先の節点と、を示す接続データを、作成する。図９の例では、解析支援装置１００は、接続データ［Ｍ５：ＯＵＴ：ＩＮ］と、接続データ［Ｍ５：ＯＵＴ：ＶＤＤ］と、接続データ［Ｍ７：ＯＵＴ：ＩＮ］と、接続データ［Ｍ７：ＯＵＴ：Ｙ］とを作成する。
【００６５】
次に、解析支援装置１００は、作成した接続データのうちのいずれかの接続データを、探索する経路を示す接続データとして選択する。図９の例では、解析支援装置１００は、接続データ［Ｍ５：ＯＵＴ：ＩＮ］を選択し、作業メモリ７０１に記憶する。解析支援装置１００は、未選択の接続データを、未処理メモリ７０３に記憶する。そして、解析支援装置１００は、図１０に示す動作に移行する。
【００６６】
図１０に示すように、解析支援装置１００は、図８と同様に、選択した接続データ［Ｍ５：ＯＵＴ：ＩＮ］に基づいて、節点「ＯＵＴ」から節点「ＩＮ」へとトランジスタＭ５を信号が通過した場合に信号の位相が反転するか否かを特定する。
【００６７】
ここで、解析支援装置１００は、回路データ５０２を参照して、節点「ＯＵＴ」から節点「ＩＮ」へとトランジスタＭ５を信号が通過した場合に、トランジスタＭ５のゲート端子からドレイン端子へと信号が通過することを特定する。次に、解析支援装置１００は、位相情報テーブル３００を参照して、トランジスタのゲート端子からドレイン端子へと信号が通過するため、信号が反転することを特定する。
【００６８】
そして、解析支援装置１００は、選択した接続データ［Ｍ５：ＯＵＴ：ＩＮ］が示す経路を通過した場合に、信号が反転することを示す位相データ［ＯＵＴ：ＩＮ：−］を作成して、節点メモリ７０２に記憶する。
【００６９】
ここで、解析支援装置１００は、選択した接続データ［Ｍ５：ＯＵＴ：ＩＮ］が示す経路を通過した先の節点「ＩＮ」が、検索履歴メモリ７０４のいずれかの接続データが示す経路の始点となる節点と同一であるか否かを判定する。
【００７０】
図１０の例では、解析支援装置１００は、選択した接続データ［Ｍ５：ＯＵＴ：ＩＮ］が示す経路を通過した先の節点「ＩＮ」が、検索履歴メモリ７０４の接続データ［Ｍ１：ＩＮ：ＯＵＴ］が示す経路の始点となる節点「ＩＮ」と同一であると判定する。
【００７１】
これにより、解析支援装置１００は、作業メモリ７０１と検索履歴メモリ７０４とを参照して、解析対象の回路６００内に、節点「ＩＮ」から節点「ＯＵＴ」を通過して節点「ＩＮ」に戻るループを検出する。そして、解析支援装置１００は、図１１に示す動作に移行する。
【００７２】
図１１に示すように、解析支援装置１００は、節点メモリ７０２を参照して、節点「ＩＮ」から節点「ＯＵＴ」を通過して節点「ＩＮ」に戻るループ上で、信号の位相が反転する場合があれば、「−１」を作業メモリ１１０１に記憶する。また、解析支援装置１００は、節点メモリ７０２を参照して、節点「ＩＮ」から節点「ＯＵＴ」を通過して節点「ＩＮ」に戻るループ上で、信号の位相が同じままである場合があれば、「１」を作業メモリ１１０１に記憶する。そして、解析支援装置１００は、作業メモリ１１０１に記憶した各々の値を乗算した値をＡｎｓとして算出する。
【００７３】
次に、解析支援装置１００は、Ａｎｓが「１」になる場合に、ループ上での位相の反転が偶数回であって正帰還のループであると判定する。ここで、０回は偶数回に含む。一方で、解析支援装置１００は、Ａｎｓが「−１」になる場合に、ループ上での位相の反転が奇数回であって負帰還のループであると判定する。
【００７４】
図１１の例では、解析支援装置１００は、節点「ＩＮ」から節点「ＯＵＴ」を通過して節点「ＩＮ」に戻るループ上で、トランジスタＭ１を通過して信号が位相反転するため、「−１」を作業メモリ１１０１に記憶する。また、解析支援装置１００は、節点「ＩＮ」から節点「ＯＵＴ」を通過して節点「ＩＮ」に戻るループ上で、トランジスタＭ５を通過して信号が位相反転するため、「−１」を作業メモリ１１０１に記憶する。
【００７５】
次に、解析支援装置１００は、作業メモリ１１０１に記憶した「−１」と「−１」とを乗算した値をＡｎｓ「１」として算出する。解析支援装置１００は、Ａｎｓが「１」であるため、正帰還のループであると判定する。そして、解析支援装置１００は、図１２に示す動作に移行する。
【００７６】
図１２に示すように、解析支援装置１００は、節点「ＩＮ」から節点「ＯＵＴ」を通過して節点「ＩＮ」に戻るループが正帰還のループであると判定されたため、節点「ＩＮ」が正帰還のループに含まれる不定節点であると判定する。次に、解析支援装置１００は、不定節点であると判定された節点「ＩＮ」を不定節点メモリ１２０１に記憶する。
【００７７】
また、解析支援装置１００は、選択した接続データ［Ｍ５：ＯＵＴ：ＩＮ］を、探索済みの経路を示す接続データとして、作業メモリ７０１から検索履歴メモリ７０４に移動する。そして、解析支援装置１００は、図１３に示す動作に移行する。
【００７８】
図１３に示すように、解析支援装置１００は、ループが探索されたため、別の経路の探索に移行する。図１３の例では、解析支援装置１００は、未処理メモリ７０３に記憶された未選択の接続データのうち、接続データ［Ｍ３：ＩＮ：ＯＵＴ］を選択し、作業メモリ７０１に記憶する。そして、解析支援装置１００は、図８〜図１２の処理と同様にして経路を探索する。
【００７９】
これにより、解析支援装置１００は、正帰還のループに含まれ、電圧値が発散する場合がある節点であって、回路解析において電圧値が解に収束しない場合がある節点を記憶することができる。また、解析支援装置１００は、記憶した不定節点を示す情報を、解析支援装置１００の利用者に通知することができる。
【００８０】
結果として、解析支援装置１００の利用者は、解析対象の回路６００の回路解析を行う場合に、通知された節点が不定節点であることを把握して回路解析を行うことができ、不定節点の電圧値を調整して解析漏れを低減することができる。
【００８１】
また、解析支援装置１００は、記憶した不定節点を示す情報に基づいて、不定節点に規定の電圧値を設定して、回路解析ソフトウェアを用いて自動で回路解析を行ってもよい。回路解析ソフトウェアとは、例えば、ＳＰＩＣＥである。結果として、解析支援装置１００は、不定節点の電圧値を調整して回路解析を行うため、解析漏れを低減することができる。
【００８２】
（解析支援処理手順の一例）
次に、図１４を用いて、解析支援装置１００の解析支援処理手順の一例について説明する。
【００８３】
図１４は、解析支援装置１００の解析支援処理手順の一例を示すフローチャートである。図１４において、解析支援装置１００は、回路データ５０２が入力されたか否かを判定する（ステップＳ１４０１）。ここで、回路データ５０２が入力されていない場合（ステップＳ１４０１：Ｎｏ）、解析支援装置１００は、ステップＳ１４０１の処理に戻る。
【００８４】
一方で、回路データ５０２が入力された場合（ステップＳ１４０１：Ｙｅｓ）、解析支援装置１００は、図１５に示す探索処理を実行して（ステップＳ１４０２）、不定節点を検出する。次に、解析支援装置１００は、検出された各々の不定節点に対して所定の電圧値を設定する場合の全ての組み合わせを示すパターン情報を作成する（ステップＳ１４０３）。
【００８５】
次に、解析支援装置１００は、作成したパターン情報のうちの未選択のパターン情報を選択する（ステップＳ１４０４）。そして、解析支援装置１００は、選択したパターン情報が示す、各々の不定節点の電圧値の組み合わせを設定した場合について、解析対象の回路６００の回路解析を行う（ステップＳ１４０５）。
【００８６】
次に、解析支援装置１００は、未選択のパターン情報があるか否かを判定する（ステップＳ１４０６）。ここで、未選択のパターン情報がある場合（ステップＳ１４０６：Ｙｅｓ）、解析支援装置１００は、ステップＳ１４０４の処理に戻る。
【００８７】
一方で、未選択のパターン情報がない場合（ステップＳ１４０６：Ｎｏ）、解析支援装置１００は、解析支援処理を終了する。これにより、解析支援装置１００は、不定節点を検出し、検出した不定節点に規定の電圧値を設定して、回路解析ソフトウェアを用いて自動で回路解析を行うことができる。結果として、解析支援装置１００は、不定節点の電圧値を調整して回路解析を行うため、解析漏れを低減することができる。
【００８８】
（探索処理手順の一例）
次に、図１５を用いて、ステップＳ１４０２に示した探索処理手順の一例について説明する。
【００８９】
図１５は、ステップＳ１４０２に示した探索処理手順の一例を示すフローチャートである。図１５において、解析支援装置１００は、未選択の入力端子になる節点を選択する（ステップＳ１５０１）。次に、選択した入力端子になる節点に接続された素子を抽出して、接続データを作成する（ステップＳ１５０２）。
【００９０】
そして、解析支援装置１００は、素子が抽出されたか否かを判定する（ステップＳ１５０３）。ここで、素子が抽出されていない場合（ステップＳ１５０３：Ｎｏ）、解析支援装置１００は、ステップＳ１５１０の処理に移行する。
【００９１】
一方で、素子が抽出された場合（ステップＳ１５０３：Ｙｅｓ）、解析支援装置１００は、作成した接続データのうちの未選択の接続データを選択する（ステップＳ１５０４）。次に、解析支援装置１００は、選択した接続データに基づいて位相データを作成する（ステップＳ１５０５）。そして、解析支援装置１００は、作成した位相データを節点メモリ７０２に記憶する（ステップＳ１５０６）。
【００９２】
次に、解析支援装置１００は、検索履歴メモリ７０４に記憶された接続データが示す経路の始点になる節点に、選択した接続データが示す経路を通過した先にある節点と一致するものがあるか否かを判定する（ステップＳ１５０７）。
【００９３】
ここで、一致するものがある場合（ステップＳ１５０７：Ｙｅｓ）、解析支援装置１００は、図１６に後述するループ判定処理を実行して（ステップＳ１５０８）、ステップＳ１５１０の処理に移行する。
【００９４】
一方で、一致するものがない場合（ステップＳ１５０７：Ｎｏ）、解析支援装置１００は、選択した接続データを検索履歴メモリ７０４に記憶して（ステップＳ１５０９）、ステップＳ１５１０の処理に移行する。
【００９５】
ステップＳ１５１０において、解析支援装置１００は、未選択の接続データがあるか否かを判定する（ステップＳ１５１０）。ここで、未選択の接続データがある場合（ステップＳ１５１０：Ｙｅｓ）、解析支援装置１００は、ステップＳ１５０２の処理に戻る。
【００９６】
一方で、未選択の接続データがない場合（ステップＳ１５１０：Ｎｏ）、解析支援装置１００は、未選択の入力端子になる節点があるか否かを判定する（ステップＳ１５１１）。ここで、未選択の入力端子になる節点がある場合（ステップＳ１５１１：Ｙｅｓ）、解析支援装置１００は、ステップＳ１５０１の処理に戻る。
【００９７】
一方で、未選択の入力端子になる節点がない場合（ステップＳ１５１１：Ｎｏ）、解析支援装置１００は、探索処理を終了する。これにより、解析支援装置１００は、不定節点を検出することができる。
【００９８】
（ループ判定処理手順）
次に、図１６を用いて、ステップＳ１５０８に示したループ判定処理手順について説明する。
【００９９】
図１６は、ステップＳ１５０８に示したループ判定処理手順を示すフローチャートである。図１６において、解析支援装置１００は、接続データに基づいて、ループを探索する（ステップＳ１６０１）。次に、解析支援装置１００は、探索したループが、正帰還のループであるか否かを判定する（ステップＳ１６０２）。
【０１００】
ここで、正帰還のループである場合（ステップＳ１６０２：Ｙｅｓ）、解析支援装置１００は、不定節点として節点メモリ７０２に記憶して（ステップＳ１６０３）、ステップＳ１６０４の処理に移行する。一方で、正帰還のループではない場合（ステップＳ１６０２：Ｎｏ）、解析支援装置１００は、ステップＳ１６０４の処理に移行する。
【０１０１】
ステップＳ１６０４において、解析支援装置１００は、選択した接続データを検索履歴メモリ７０４に記憶して（ステップＳ１６０４）、ループ判定処理を終了する。これにより、解析支援装置１００は、不定節点を検出することができる。
【０１０２】
以上説明したように、解析支援装置１００によれば、回路６００内の複数の節点のうちのいずれかの節点を通過した信号がいずれかの節点に帰還した場合に信号の位相が反転するか否かを判定することができる。これにより、解析支援装置１００は、回路６００内の正帰還のループに含まれる節点を検出することができる。
【０１０３】
このため、解析支援装置１００の利用者は、通知された不定節点を把握し、不定節点の電圧値が解に収束するように不定節点の電圧値を設定することができる。また、解析支援装置１００の利用者は、回路の複数の動作の状態を示す初期電圧値を算出するために、不定節点に複数の電圧値を設定することにより、回路解析における解析漏れを低減することができ、実際の回路の動作に応じた解析結果を得ることができることがある。また、解析支援装置１００の利用者は、回路６００内の正帰還のループに含まれるハイインピーダンスになる節点を検出することができる。
【０１０４】
また、解析支援装置１００によれば、検出した不定節点に、回路６００内の電源の電圧値を設定した場合と、回路６００内の接地の電圧値を設定した場合と、について、回路６００の回路解析を行うことができる。これにより、解析支援装置１００は、不定節点の電圧値を調整して回路解析を行うため、解析漏れを低減することができる。
【０１０５】
また、回路内の全ての節点に対して複数通りの電圧値を設定して解析することにより解析漏れを低減する場合が考えられる。しかしながら、この場合、解析にかかる時間が増大してしまう。一方で、解析支援装置１００は、不定節点を検出して、不定節点に複数通りの電圧値を設定して解析することにより、全ての節点に対して複数通りの電圧値を設定して解析する場合に比べて、解析にかかる時間を低減しつつ、解析漏れを低減することができる。
【０１０６】
なお、本実施の形態で説明した解析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本解析支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本解析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１０７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１０８】
（付記１）回路内の複数の素子と、前記複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得する取得部と、
前記取得部によって取得された前記回路データに基づいて、素子の種別と前記素子を信号が通過する場合に前記信号の位相が反転するか否かを示す情報とを対応付けて記憶する記憶部の記憶内容を参照して、前記回路内の複数の節点のうちのいずれかの節点を通過した信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定する判定部と、
前記判定部によって前記信号の位相が反転しないと判定された場合に、前記いずれかの節点を示す情報を出力する出力部と、
を有することを特徴とする解析支援装置。
【０１０９】
（付記２）前記回路データを参照して、前記回路内の入力端子から入力された信号が通過する順に前記回路内の節点を特定して、前記信号が前記いずれかの節点を通過してから前記いずれかの節点に帰還するまでの経路を探索する探索部を有し、
前記判定部は、前記探索部によって探索された前記経路上の素子の種別に基づいて、前記記憶部の記憶内容を参照して、前記いずれかの節点を通過した前記信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定することを特徴とする付記１に記載の解析支援装置。
【０１１０】
（付記３）前記記憶部は、トランジスタと、前記トランジスタのゲート端子からドレイン端子へと信号が通過する場合に前記信号の位相が反転することを示す情報と、を対応付けて記憶し、
前記判定部は、前記記憶部の記憶内容を参照して、前記入力端子から入力された信号が、前記経路上でトランジスタのゲート端子からドレイン端子へと偶数回通過した場合に、前記信号の位相が反転しないと判定することを特徴とする付記２に記載の解析支援装置。
【０１１１】
（付記４）前記判定部によって前記信号の位相が反転しないと判定された前記いずれかの節点に、前記回路内の電源の電圧値を設定した場合と、前記回路内の接地の電圧値を設定した場合と、について、前記回路の回路解析を行う解析部を有することを特徴とする付記１または２に記載の解析支援装置。
【０１１２】
（付記５）コンピュータが、
回路内の複数の素子と、前記複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得し、
取得した前記回路データに基づいて、素子の種別と前記素子を信号が通過する場合に前記信号の位相が反転するか否かを示す情報とを対応付けて記憶する記憶部の記憶内容を参照して、前記回路内の複数の節点のうちのいずれかの節点を通過した信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定し、
前記信号の位相が反転しないと判定された場合に、前記いずれかの節点を示す情報を出力する、
処理を実行することを特徴とする解析支援方法。
【０１１３】
（付記６）コンピュータに、
回路内の複数の素子と、前記複数の素子のうちの少なくとも２つの素子が接続される節点と、を示す回路データを取得し、
取得した前記回路データに基づいて、素子の種別と前記素子を信号が通過する場合に前記信号の位相が反転するか否かを示す情報とを対応付けて記憶する記憶部の記憶内容を参照して、前記回路内の複数の節点のうちのいずれかの節点を通過した信号が前記いずれかの節点に帰還した場合に前記信号の位相が反転するか否かを判定し、
前記信号の位相が反転しないと判定された場合に、前記いずれかの節点を示す情報を出力する、
処理を実行させることを特徴とする解析支援プログラム。
【符号の説明】
【０１１４】
１００  解析支援装置
４０１  取得部
４０２  探索部
４０３  記憶部
４０４  判定部
４０５  出力部
４０６  解析部
【図１】
2014199604.tif 000003
【図２】
2014199604.tif 000004
【図３】
2014199604.tif 000005
【図４】
2014199604.tif 000006
【図５】
2014199604.tif 000007
【図６】
2014199604.tif 000008
【図７】
2014199604.tif 000009
【図８】
2014199604.tif 000010
【図９】
2014199604.tif 000011
【図１０】
2014199604.tif 000012
【図１１】
2014199604.tif 000013
【図１２】
2014199604.tif 000014
【図１３】
2014199604.tif 000015
【図１４】
2014199604.tif 000016
【図１５】
2014199604.tif 000017
【図１６】
2014199604.tif 000018