(57)【要約】【課題】効率的且つ十分に低消費電力化を行なうことを課題とする。【解決手段】回路設計装置は、回路に含まれるＦＦのうち、動作していないＦＦを抽出し、抽出されたＦＦに対する制御信号の出力元である無動作起因端子を探索する。また、回路設計装置は、無動作起因端子が同一となるＦＦを１つのドメインとしてドメイン化し、ドメイン化されたＦＦそれぞれについてバックトレースを実施する。また、回路設計装置は、バックトレースにおいてＦＦに到達するまでに存在する組み合わせ回路を抽出する。また、回路設計装置は、到達したＦＦのうち同一ドメインでないＦＦそれぞれについてフォワードトレースを実施し、到達したＦＦが同一ドメインである場合に該当する組み合わせ回路も同一ドメインとしてドメイン化する。【選択図】図１
2012003684.tif 000002
【特許請求の範囲】
【請求項１】
回路に含まれる順序回路のうち、動作していない順序回路を示す無動作順序回路を抽出する無動作順序回路抽出部と、
前記無動作順序回路抽出部によって抽出された無動作順序回路に対する制御信号の出力元の順序回路である無動作起因端子を探索する無動作起因端子探索部と、
前記無動作起因端子探索部によって探索された無動作起因端子が同一となる順序回路を１つのグループとしてグループ化する順序回路グループ化部と、
前記順序回路グループ化部によってグループ化された順序回路それぞれについてバックトレースを実施して、上位の順序回路に到達するまでに存在する組み合わせ回路を抽出する組み合わせ回路抽出部と、
前記上位の順序回路のうち同一グループでない順序回路それぞれについてフォワードトレースを実施して、到達した順序回路が同一グループである場合に、前記組み合わせ回路抽出部によって抽出された組み合わせ回路を同一のグループとして追加する組み合わせ回路グループ化部と
を有することを特徴とする回路設計装置。
【請求項２】
前記無動作起因端子探索部は、探索された無動作起因端子が複数存在する場合に、予め決定された優先順位が最も高いものを無動作起因端子とすることを特徴とする請求項１に記載の回路設計装置。
【請求項３】
前記無動作起因端子探索部は、探索された無動作起因端子のファンアウト数が所定値以下である場合に、該無動作起因端子を対象外とすることを特徴とする請求項１又は２に記載の回路設計装置。
【請求項４】
前記順序回路グループ化部は、動作している順序回路を示す動作順序回路における全てのファンアウトが同一グループの無動作順序回路である場合に、該動作順序回路も同一グループとしてグループ化することを特徴とする請求項１に記載の回路設計装置。
【請求項５】
前記順序回路グループ化部は、どのグループにも属さない無動作順序回路それぞれについてバックトレースを実施して、到達した順序回路が全て同一グループである場合に、該無動作順序回路も同一グループとしてグループ化することを特徴とする請求項１に記載の回路設計装置。
【請求項６】
回路に含まれる順序回路のうち、動作していない順序回路を抽出する無動作順序回路抽出手順と、
前記無動作順序回路抽出手順によって抽出された順序回路に基づき、該順序回路に対する制御信号の出力元の順序回路である無動作起因端子を探索する無動作起因端子探索手順と、
前記無動作起因端子探索手順によって探索された無動作起因端子が同一となる順序回路を１つのグループとしてグループ化する順序回路グループ化手順と、
前記順序回路グループ化手順によってグループ化された順序回路それぞれについてバックトレースを実施して、上位の順序回路に到達するまでに存在する組み合わせ回路を抽出する組み合わせ回路抽出手順と、
前記上位の順序回路のうち同一グループでない順序回路それぞれについてフォワードトレースを実施して、到達した順序回路が同一グループである場合に、前記組み合わせ回路抽出手順によって抽出された組み合わせ回路を同一のグループとして追加する組み合わせ回路グループ化手順と
をコンピュータに実行させることを特徴とする回路設計プログラム。
【請求項７】
回路に含まれる順序回路のうち、動作していない順序回路を抽出する無動作順序回路抽出ステップと、
前記無動作順序回路抽出ステップによって抽出された順序回路に基づき、該順序回路に対する制御信号の出力元の順序回路である無動作起因端子を探索する無動作起因端子探索ステップと、
前記無動作起因端子探索ステップによって探索された無動作起因端子が同一となる順序回路を１つのグループとしてグループ化する順序回路グループ化ステップと、
前記順序回路グループ化ステップによってグループ化された順序回路それぞれについてバックトレースを実施して、上位の順序回路に到達するまでに存在する組み合わせ回路を抽出する組み合わせ回路抽出ステップと、
前記上位の順序回路のうち同一グループでない順序回路それぞれについてフォワードトレースを実施して、到達した順序回路が同一グループである場合に、前記組み合わせ回路抽出ステップによって抽出された組み合わせ回路を同一のグループとして追加する組み合わせ回路グループ化ステップと
を含んだことを特徴とする回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計装置、回路設計プログラム及び回路設計方法に関する。
【背景技術】
【０００２】
従来、半導体の集積回路は、組み込まれたシステムの電源が投入中であれば回路全体に電力が供給された状態となるため、回路における信号の変化等の動作の有無に関わらず、一定の電力を消費する。つまり、回路が動作していないにもかかわらず一定の電力を消費することは、省エネルギーの観点から好ましくない。
【０００３】
そこで、近年では、ある回路について動作する必要のない期間に、該当する回路部分への電力供給を遮断することが考えられており、遮断される回路規模が大きくなれば、省エネルギーの効果がより大きいものとなる。電力供給を遮断する回路部分の決定は、固有の制御回路や電源構成を施さなければならないため、回路を実装する前の設計段階で特定することが好ましい。
【０００４】
また、最近では、消費電力を抑制する技術の一つの様態として、クロックゲーティング技術がある。かかるクロックゲーティング技術は、クロックを止めることで回路の動作を止める技術である。また、これらと関連する技術としては、電源を遮断する回路を決定した後にシミュレーションを実行し、決定された回路が妥当か否かを検証する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２５８６６３号公報
【特許文献２】特開２００８−２９９８６２号公報
【特許文献３】特開２００８−１８６２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、効率的且つ十分に低消費電力化を行なうことができないという課題がある。具体的には、設計段階で電力供給を遮断する回路を決定する場合には、設計者が意識して設計を行なわなければならないため、電力供給を遮断する回路を網羅することが困難であるとともに、設計工数に対する費用対効果を予測することも困難である。また、クロックゲーティング技術は、順序回路に対するダイナミックな消費電力のみに対応するものであり、例えば組み合わせ回路等の消費電力を削減できないとともに、常時電力消費するスタティックな消費電力の削減にまで対応することができない。
【０００７】
そこで、本願に開示する技術は、上記に鑑みてなされたものであって、効率的且つ十分に低消費電力化を行なうことが可能である回路設計装置、回路設計プログラム及び回路設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本願に開示する回路設計装置は、回路に含まれる順序回路のうち、動作していない順序回路を示す無動作順序回路を抽出する無動作順序回路抽出部を有する。また、回路設計装置は、無動作順序回路抽出部によって抽出された無動作順序回路に対する制御信号の出力元の順序回路である無動作起因端子を探索する無動作起因端子探索部を有する。また、回路設計装置は、無動作起因端子探索部によって探索された無動作起因端子が同一となる順序回路を１つのグループとしてグループ化する順序回路グループ化部を有する。また、回路設計装置は、順序回路グループ化部によってグループ化された順序回路それぞれについてバックトレースを実施して、上位の順序回路に到達するまでに存在する組み合わせ回路を抽出する組み合わせ回路抽出部を有する。また、回路設計装置は、上位の順序回路のうち同一グループでない順序回路それぞれについてフォワードトレースを実施して、到達した順序回路が同一グループである場合に、組み合わせ回路抽出部によって抽出された組み合わせ回路を同一のグループとして追加する組み合わせ回路グループ化部を有する。
【発明の効果】
【０００９】
本願に開示する回路設計装置、回路設計プログラム及び回路設計方法の一つの様態は、効率的且つ十分に低消費電力化を行なうことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る回路設計装置の構成例を示す図である。
【図２】図２は、実施例１に係る回路設計装置による全体処理の流れの例を示すフローチャートである。
【図３】図３は、テストデータの例を示す図である。
【図４】図４は、論理データの例を示す図である。
【図５】図５は、無動作ＦＦ群を示す図である。
【図６】図６は、論理データ中の無動作ＦＦの例を示す図である。
【図７】図７は、シミュレーションの実行によって生成された無動作ＦＦ＿ＤＢの例を示す図である。
【図８】図８は、トレースを実行して無動作ＦＦを抽出する場合を説明する図である。
【図９Ａ】図９Ａは、ＧＣＤに対してトレースの起点となるＦＦの情報を記憶する無動作ＦＦ＿ＤＢの例を示す図である。
【図９Ｂ】図９Ｂは、ＦＦ＿Ｂに対してトレースの起点となるＦＦの情報を記憶する無動作ＦＦ＿ＤＢの例を示す図である。
【図１０】図１０は、実施例１に係る無動作ＦＦの解析処理の流れの例を示すフローチャートである。
【図１１Ａ】図１１Ａは、無動作ＦＦ「ＦＦ＿Ａ１」に対する入力端子の解析の例を示す図である。
【図１１Ｂ】図１１Ｂは、無動作ＦＦ「ＦＦ＿Ｂ１」に対する入力端子の解析の例を示す図である。
【図１１Ｃ】図１１Ｃは、ＦＦの真理値表の例を示す図である。
【図１２】図１２は、無動作起因端子探索後の無動作ＦＦ＿ＤＢの例を示す図である。
【図１３】図１３は、無動作ルートポイントの解析を説明する図である。
【図１４】図１４は、無動作ルートポイントが追加された無動作ＦＦ＿ＤＢの例を示す図である。
【図１５】図１５は、ファンアウト数より少ない無動作ルートポイントが削除された無動作ＦＦ＿ＤＢの例を示す図である。
【図１６】図１６は、無動作ＦＦのドメイン化を説明する図である。
【図１７Ａ】図１７Ａは、ＧＣＤを無動作ルートポイントとする無動作ＦＦのドメインである無動作ＦＦ＿ＤＢの例を示す図である。
【図１７Ｂ】図１７Ｂは、ＦＦ＿Ｂを無動作ルートポイントとする無動作ＦＦのドメインである無動作ＦＦ＿ＤＢの例を示す図である。
【図１７Ｃ】図１７Ｃは、無動作ルートポイントが存在しないドメインである無動作ＦＦ＿ＤＢの例を示す図である。
【図１８】図１８は、実施例１に係る動作ＦＦのドメイン化処理の流れの例を示すフローチャートである。
【図１９】図１９は、動作ＦＦのドメイン化を説明する図である。
【図２０Ａ】図２０Ａは、Ｓドメインの無動作ＦＦ＿ＤＢの例を示す図である。
【図２０Ｂ】図２０Ｂは、ＳＤＢＴ＿ＤＢの例を示す図である。
【図２０Ｃ】図２０Ｃは、ＳＤＦＴ＿ＤＢの例を示す図である。
【図２０Ｄ】図２０Ｄは、動作ＦＦをドメイン化したときの無動作ＦＦ＿ＤＢの例を示す図である。
【図２１】図２１は、動作ＦＦをドメイン化した結果の例を示す図である。
【図２２】図２２は、実施例１に係るどのドメインにも属さない無動作ＦＦのドメイン化処理の流れの例を示すフローチャートである。
【図２３】図２３は、どのドメインにも属さない無動作ＦＦのドメイン化を説明する図である。
【図２４Ａ】図２４Ａは、Ｅドメインの無動作ＦＦ＿ＤＢの例を示す図である。
【図２４Ｂ】図２４Ｂは、ドメイン無しの無動作ＦＦ＿ＤＢの例を示す図である。
【図２４Ｃ】図２４Ｃは、ＮＤＢＴ＿ＤＢの例を示す図である。
【図２４Ｄ】図２４Ｄは、どのドメインにも属さないドメイン無しの無動作ＦＦをドメイン化したときの無動作ＦＦ＿ＤＢの例を示す図である。
【図２５】図２５は、どのドメインにも属さない無動作ＦＦをドメイン化した結果の例を示す図である。
【図２６】図２６は、実施例１に係る組み合わせ回路ドメイン化処理の流れの例を示すフローチャートである。
【図２７】図２７は、組み合わせ回路のドメイン化を説明する図である。
【図２８Ａ】図２８Ａは、Ａドメインの無動作ＦＦ＿ＤＢの例を示す図である。
【図２８Ｂ】図２８Ｂは、Ｂドメインの無動作ＦＦ＿ＤＢの例を示す図である。
【図２８Ｃ】図２８Ｃは、ドメイン無しの無動作ＦＦ＿ＤＢの例を示す図である。
【図２８Ｄ】図２８Ｄは、バックトレースにおいてＦＦに到達するまでに存在する組み合わせ回路の情報を示す図である。
【図２８Ｅ】図２８Ｅは、ＦＦ＿Ａ１からバックトレースして組み合わせ回路を抽出したときのＤＣ＿ＤＢの例を示す図である。
【図２８Ｆ】図２８Ｆは、フォワードトレースにおいてＦＦに到達するまでに存在する組み合わせ回路の情報を示す図である。
【図２８Ｇ】図２８Ｇは、組み合わせ回路グループ化処理後のＤＣ＿ＤＢの例を示す図である。
【図２９】図２９は、組み合わせ回路ドメイン化処理の結果の例を示す図である。
【図３０】図３０は、実施例１に係るリーク消費電力算出処理の流れの例を示すフローチャートである。
【図３１】図３１は、リーク消費電力算出結果の画面例を示す図である。
【図３２】図３２は、実施例１に係る電源遮断ドメイン生成処理の流れの例を示すフローチャートである。
【図３３】図３３は、保護回路の挿入例を示す図である。
【図３４】図３４は、ネットリストの例を示す図である。
【図３５】図３５は、回路設計プログラムを実行するコンピュータの例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本願に開示する回路設計装置、回路設計プログラム及び回路設計方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例１】
【００１２】
［実施例１に係る回路設計装置の構成］
最初に、図１を用いて、実施例１に係る回路設計装置の構成を説明する。図１は、実施例１に係る回路設計装置の構成例を示す図である。例えば、図１に示すように、回路設計装置１００は、入力部１０１と、出力部１０２と、記憶部１１０と、制御部１２０とを有する。また、この回路設計装置１００は、例えば、ＰＣ（Personal  Computer）等の情報処理端末である。
【００１３】
入力部１０１は、キーボードやマウス等を有し、回路設計装置１００における各種情報の入力を受け付ける。例えば、入力部１０１は、ユーザによって操作され、テストデータや論理データ等の情報の入力を受け付ける。なお、テストデータや論理データ等の詳細については後述する。
【００１４】
出力部１０２は、表示装置としてのモニタ（若しくはディスプレイ、タッチパネル等）やスピーカを有し、回路設計装置１００における各種情報を出力する。例えば、出力部１０２は、回路設計装置１００における処理結果を出力する。なお、処理結果の詳細については後述する。
【００１５】
記憶部１１０は、例えば、制御部１２０による各種処理に要するデータや、制御部１２０による各種処理結果を記憶する。また、記憶部１１０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（flash  memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置である。なお、記憶部１１０によって記憶される各種情報については後述する。
【００１６】
制御部１２０は、例えば、制御プログラム、各種の処理手順等を規定したプログラム及び所要データを格納するための内部メモリを有するとともに、無動作順序回路抽出部１２１と、無動作起因端子探索部１２２と、順序回路グループ化部１２３とを有する。加えて、制御部１２０は、組み合わせ回路抽出部１２４と、組み合わせ回路グループ化部１２５と、リーク消費電力値算出部１２６と、保護回路挿入部１２７とを有する。また、制御部１２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路、又は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路である。
【００１７】
無動作順序回路抽出部１２１は、例えば、回路に含まれるＦＦ（FlipFlop）等の順序回路のうち、動作していないＦＦを示す無動作ＦＦを抽出する。無動作起因端子探索部１２２は、例えば、無動作順序回路抽出部１２１によって抽出された無動作ＦＦに対する制御信号の出力元のＦＦである無動作起因端子を探索する。順序回路グループ化部１２３は、例えば、無動作起因端子探索部１２２によって探索された無動作起因端子が同一となるＦＦを１つのグループとしてグループ化する。なお、以下では、「グループ」及び「グループ化」を「ドメイン」及び「ドメイン化」と呼ぶ。
【００１８】
組み合わせ回路抽出部１２４は、例えば、順序回路グループ化部１２３によってドメイン化されたＦＦそれぞれについてバックトレースを実施して、上位のＦＦに到達するまでに存在する組み合わせ回路を抽出する。組み合わせ回路グループ化部１２５は、例えば、上位のＦＦのうち同一ドメインでないＦＦそれぞれについてフォワードトレースを実施する。そして、組み合わせ回路グループ化部１２５は、到達したＦＦが同一ドメインである場合に、組み合わせ回路抽出部１２４によって抽出された組み合わせ回路を同一のドメインとして追加する。
【００１９】
リーク消費電力値算出部１２６は、例えば、組み合わせ回路グループ化部１２５によるドメイン化後に、回路素子毎のリーク消費電力値を保持するテーブルに基づき、ドメイン毎のリーク消費電力値を算出する。保護回路挿入部１２７は、例えば、組み合わせ回路グループ化部１２５によるドメイン化後に、各ドメインを仮想モジュールとして、該仮想モジュールの出力端子の部分に保護回路を挿入する。なお、各構成要素による詳細な処理内容については後述する。
【００２０】
［実施例１に係る回路設計装置による全体処理フロー］
次に、図２を用いて、実施例１に係る回路設計装置１００による全体処理の流れを説明する。図２は、実施例１に係る回路設計装置１００による全体処理の流れの例を示すフローチャートである。なお、図２では、全体処理についての概要を説明し、詳細については後述する。
【００２１】
例えば、図２に示すように、回路設計装置１００は、テストデータや論理データ等のデータが入力された場合に（ステップＳ１０１肯定）、シミュレーションの実行或いはトレースの実行を行ない、無動作ＦＦを抽出する（ステップＳ１０２）。シミュレーションの実行により無動作ＦＦを抽出する場合には、シミュレーションの実行により得られた結果に基づき、出力が所定値以上変化していないＦＦを無動作ＦＦとして抽出する。一方、トレースの実行により無動作ＦＦを抽出する場合には、論理データから回路トレースによりクロックゲーティングの被制御ＦＦを抽出することで無動作ＦＦを抽出する。なお、回路設計装置１００は、データが入力されない場合に（ステップＳ１０１否定）、該データの入力待ちの状態となる。
【００２２】
そして、回路設計装置１００は、抽出された無動作ＦＦ全てに対して無動作起因端子を解析し、該無動作起因端子からバックトレースを実施して、無動作の要因となるルートポイントを解析する（ステップＳ１０３）。無動作起因端子の解析では、例えば、クロック端子、イネーブル端子或いはデータ端子のいずれであるかを解析する。なお、無動作のルートポイントは、例えば、ゲーテッドクロック、イネーブル制御ルート、リセット及びプリセット等が挙げられる。
【００２３】
続いて、回路設計装置１００は、あるドメインの無動作ＦＦに基づき、バックトレースやフォワードトレースを実施して、動作ＦＦ、無所属のＦＦ及び組み合わせ回路等のドメイン化を行ない、候補ドメインを生成する（ステップＳ１０４）。その後、回路設計装置１００は、候補ドメイン別のリーク消費電力を算出する（ステップＳ１０５）。また、回路設計装置１００は、電源を遮断する対象となる候補ドメインの選択を受け付けて、電源を遮断するドメインのネットリスト等を生成及び出力する（ステップＳ１０６）。
【００２４】
［無動作ＦＦの抽出処理］
次に、図３〜図９Ｂを用いて、実施例１に係る無動作ＦＦの抽出処理の詳細を説明する。詳細には、図３〜図７を用いて、シミュレーションを実行して無動作ＦＦを抽出する場合を説明し、図８〜図９Ｂを用いて、トレースを実行して無動作ＦＦを抽出する場合を説明する。なお、図３〜図９Ｂに係る無動作ＦＦの抽出処理は、ステップＳ１０１及びステップＳ１０２の一例である。
【００２５】
図３は、テストデータの例を示す図である。例えば、図３に示すように、回路設計装置１００に入力されるテストデータは、９つの順序回路ＦＦ＿Ａ〜ＦＦ＿Ａ８と、５つの順序回路ＦＦ＿Ｂ〜ＦＦ＿Ｂ４と、４つの順序回路ＦＦ＿Ｚ１〜ＦＦ＿Ｚ４とを有する。
【００２６】
図４は、論理データの例を示す図である。例えば、図４に示すように、論理データは、入力信号ＩＮ＿１〜ＩＮ＿５やクロック信号ＣＬＫ１及びＣＬＫ２等が入力され、各ＦＦや各種組み合わせ回路を経由し、出力信号ＯＵＴ＿１〜ＯＵＴ＿４を出力する。なお、図４において、組み合わせ回路の一部は雲形で示しており、実線の矢印はＧＣＤからのパスを示しており、破線の矢印はＦＦ＿Ｂからのパスを示している。
【００２７】
これらのテストデータ及び論理データに基づき、無動作順序回路抽出部１２１は、シミュレーションを実行し、全てのＦＦ及び入出力ポートの動作状態から得られた結果において、出力がある一定期間以上変化していないＦＦを無動作ＦＦとして抽出する。図５は、無動作ＦＦ群を示す図である。例えば、図５に示すように、シミュレーションの実行の結果、無動作順序回路抽出部１２１は、一定期間以上動作していないことを示す枠で囲われた２つの群のＦＦを無動作ＦＦとして抽出する。
【００２８】
図６は、論理データ中の無動作ＦＦの例を示す図である。図６に示すように、無動作ＦＦは、網掛けで示されており、ＦＦ＿Ａ〜ＦＦ＿Ａ８と、ＦＦ＿Ｂ〜ＦＦ＿Ｂ４が該当する。そして、無動作順序回路抽出部１２１は、抽出された無動作ＦＦの情報を無動作ＦＦ＿ＤＢ（DataBase）に格納する。図７は、シミュレーションの実行によって生成された無動作ＦＦ＿ＤＢの例を示す図である。例えば、図７に示すように、無動作ＦＦ＿ＤＢは、無動作ＦＦに該当することを示すＦＦの情報として、ＦＦ＿Ａ〜ＦＦ＿Ａ８及びＦＦ＿Ｂ〜ＦＦ＿Ｂ４を記憶する。
【００２９】
図８は、トレースを実行して無動作ＦＦを抽出する場合を説明する図である。例えば、図８に示すように、無動作順序回路抽出部１２１は、回路における全てのＦＦのクロックピン若しくはイネーブルピンからバックトレースする。かかるバックトレースは、入力ピンを２つ以上有するセルすなわち多入力セル、若しくはインバータセル、若しくは外部端子に到達するまで行なわれる。なお、インバータセルとは、論理を反転させる１入力１出力の素子である。
【００３０】
そして、無動作順序回路抽出部１２１は、多入力セルに到達した場合に、該多入力セルに対してトレースの起点となったＦＦのインスタンス名を無動作ＦＦ＿ＤＢに格納する。また、無動作順序回路抽出部１２１は、バックトレースにより到達した多入力セルが同一であるＦＦの群を、同一の条件により同時に制御されるものとしてグルーピングし、該当するＦＦを無動作ＦＦとして無動作ＦＦ＿ＤＢに格納する。
【００３１】
図９Ａは、ＧＣＤに対してトレースの起点となるＦＦの情報を記憶する無動作ＦＦ＿ＤＢの例を示す図である。例えば、図９Ａに示すように、無動作ＦＦ＿ＤＢは、組み合わせ回路であるＧＣＤによる無動作ＦＦに該当することを示すＦＦの情報として、ＦＦ＿Ａ１、ＦＦ＿Ａ２、ＦＦ＿Ａ３、ＦＦ＿Ａ４、ＦＦ＿Ａ６、ＦＦ＿Ａ７及びＦＦ＿Ａ８を記憶する。
【００３２】
図９Ｂは、ＦＦ＿Ｂに対してトレースの起点となるＦＦの情報を記憶する無動作ＦＦ＿ＤＢの例を示す図である。例えば、図９Ｂに示すように、無動作ＦＦ＿ＤＢは、順序回路であるＦＦ＿Ｂによる無動作ＦＦに該当することを示すＦＦの情報として、ＦＦ＿Ｂ１、ＦＦ＿Ｂ２、ＦＦ＿Ｂ３及びＦＦ＿Ｂ４を記憶する。
【００３３】
［無動作ＦＦの解析処理］
次に、図１０〜図１７Ｃを用いて、実施例１に係る無動作ＦＦの解析処理を説明する。図１０は、実施例１に係る無動作ＦＦの解析処理の流れの例を示すフローチャートである。なお、図１０〜図１７Ｃに係る無動作ＦＦの解析処理は、ステップＳ１０３の一例である。
【００３４】
例えば、図１０に示すように、無動作起因端子探索部１２２は、無動作ＦＦ＿ＤＢに含まれる全てのＦＦに対して、制御信号の出力元となる無動作起因端子を探索及び抽出する（ステップＳ２０１）。このとき、無動作起因端子探索部１２２は、探索された無動作起因端子を示す情報を、無動作ＦＦを示す情報と対応付けて無動作ＦＦ＿ＤＢに格納する。
【００３５】
但し、無動作起因端子探索部１２２は、起因端子が複数存在する場合に、予め決定された優先順位に従って最も優先度の高い起因端子を選択する。かかる優先順位の制御情報は、記憶部１１０が有する。また、優先順位は、例えば、クロック端子、イネーブル端子、データ端子の順に優先度が高いこととする。
【００３６】
ここで、図１１Ａ〜図１１Ｃ並びに図１２を用いて、起因端子の解析を説明する。図１１Ａは、無動作ＦＦ「ＦＦ＿Ａ１」に対する入力端子の解析の例を示す図である。図１１Ｂは、無動作ＦＦ「ＦＦ＿Ｂ１」に対する入力端子の解析の例を示す図である。図１１Ｃは、ＦＦの真理値表の例を示す図である。なお、真理値表は、図１１Ｃに示すように、データ端子「Ｄ」と、イネーブル端子「ＥＮ」と、クロック端子「ＣＬＫ」と、リセット端子「ＲＳＴ」と、出力「Ｑ」との情報を対応付けて保持する。また、図１１Ｃ中の「Ｘ」は、任意の情報を示している。
【００３７】
例えば、図１１Ａに示すように、無動作起因端子探索部１２２は、無動作ＦＦ＿ＤＢに含まれるＦＦ＿Ａ１に対して、枠で示す期間内に動作していない入力端子をシミュレーション結果より解析する。このとき、無動作起因端子探索部１２２は、図１１Ａの枠で示す期間中において、図１１Ｃに示す真理値表よりＣＬＫ端子が動作していない（図１１Ｃ中の「−」）ことに起因してＦＦ＿Ａ１が動作していない原因であると特定する。
【００３８】
同様に、図１１Ｂに示すように、無動作起因端子探索部１２２は、無動作ＦＦ＿ＤＢに含まれるＦＦ＿Ｂ１に対して、枠で示す期間内に動作していない入力端子をシミュレーション結果より解析する。このとき、無動作起因端子探索部１２２は、図１１Ｂの枠で示す期間中において、図１１Ｃに示す真理値表よりＥＮ端子が「０」固定であることに起因してＦＦ＿Ｂ１が動作していない原因であると特定する。
【００３９】
図１２は、無動作起因端子探索後の無動作ＦＦ＿ＤＢの例を示す図である。但し、無動作起因端子探索部１２２による無動作ＦＦの解析結果として、ＦＦ＿Ａ１〜ＦＦ＿Ａ４並びにＦＦ＿Ａ６〜ＦＦ＿Ａ８の無動作起因端子が、ＣＬＫ端子である場合を例に挙げる。同様に、ＦＦ＿Ｂ１〜ＦＦ＿Ｂ４の無動作起因端子が、ＥＮ端子である場合、ＦＦ＿Ａ、ＦＦ＿Ａ５及びＦＦ＿Ｂの無動作起因端子が、Ｄ端子である場合を例に挙げる。
【００４０】
例えば、図１２に示すように、無動作ＦＦ＿ＤＢは、無動作ＦＦであるＦＦ＿Ａ、ＦＦ＿Ａ５及びＦＦ＿Ｂと、起因端子であるＤ端子とを示す情報を対応付けて記憶する。また、無動作ＦＦ＿ＤＢは、無動作ＦＦであるＦＦ＿Ａ１〜ＦＦ＿Ａ４並びにＦＦ＿Ａ６〜ＦＦ＿Ａ８と、起因端子であるＣＬＫ端子とを示す情報を対応付けて記憶する。加えて、無動作ＦＦ＿ＤＢは、無動作ＦＦであるＦＦ＿Ｂ１〜ＦＦ＿Ｂ４と、起因端子であるＥＮ端子とを示す情報を対応付けて記憶する。
【００４１】
図１０の説明に戻り、順序回路グループ化部１２３は、無動作ＦＦ＿ＤＢに含まれる全ての起因端子に対してバックトレースを実施して、入力ピンを２つ以上有するセルすなわち多入力セル、若しくは外部端子に到達したら、その素子若しくは外部端子を該起因端子に対応する無動作ＦＦに対する無動作ルートポイントとする（ステップＳ２０２）。このとき、順序回路グループ化部１２３は、検出された無動作ルートポイントを示す情報を、無動作ＦＦ及び起因端子を示す情報と対応付けて無動作ＦＦ＿ＤＢに格納する。
【００４２】
ここで、図１３及び図１４を用いて、無動作ルートポイントの解析を説明する。図１３は、無動作ルートポイントの解析を説明する図である。なお、図１３では、ＦＦ＿Ａ１の無動作起因端子に対してバックトレースを実施する場合を説明する。また、図１３では、無動作ＦＦを網掛けで示している。
【００４３】
例えば、図１３に示すように、順序回路グループ化部１２３は、ＦＦ＿Ａ１の無動作起因端子に対してバックトレースを実施して、最初に検出された多入力セルがＧＣＤである場合に、該ＦＦ＿Ａ１の無動作ルートポイントをＧＣＤとする。なお、図１３では、ＦＦ＿Ａ１及びＧＣＤを円で囲っている。そして、順序回路グループ化部１２３は、このような処理を無動作ＦＦ＿ＤＢの全ての無動作ＦＦに対して実施して、全ての無動作ＦＦに対する無動作ルートポイントを特定するとともに、無動作ＦＦ＿ＤＢに無動作ルートポイントを対応付けて格納する。
【００４４】
図１４は、無動作ルートポイントが追加された無動作ＦＦ＿ＤＢの例を示す図である。図１４に示すように、無動作ＦＦ＿ＤＢは、無動作ＦＦ及び起因端子を示す情報と対応付けて無動作ルートポイントを示す情報を記憶する。例えば、無動作ＦＦ＿ＤＢは、無動作ルートポイント「Ｍｏｄｅ」と、無動作ＦＦ「ＦＦ＿Ａ」と、起因端子「Ｄ」とを対応付けて記憶する。また、無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＧＣＤ」と、無動作ＦＦ「ＦＦ＿Ａ１〜ＦＦ＿Ａ４」並びに「ＦＦ＿Ａ６〜ＦＦ＿Ａ８」と、起因端子「ＣＬＫ」とをそれぞれ対応付けて記憶する。
【００４５】
また、無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＮＡＮＤ＿Ａ５」と、無動作ＦＦ「ＦＦ＿Ａ５」と、起因端子「Ｄ」とを対応付けて記憶する。また、無動作ＦＦ＿ＤＢは、無動作ルートポイント「・・・（雲形で示す任意の組み合わせ回路）」と、無動作ＦＦ「ＦＦ＿Ｂ」と、起因端子「Ｄ」とを対応付けて記憶する。また、無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＦＦ＿Ｂ」と、無動作ＦＦ「ＦＦ＿Ｂ１〜ＦＦ＿Ｂ４」と、起因端子「ＥＮ」とを対応付けて記憶する。
【００４６】
図１０の説明に戻り、順序回路グループ化部１２３は、制御情報に含まれるファンアウト数に基づき、該ファンアウト数より少ない無動作ルートポイントを機能しないように、該当する無動作ルートポイントを無動作ＦＦ＿ＤＢから削除する（ステップＳ２０３）。
【００４７】
ここで、図１５を用いて、ファンアウト数より少ない無動作ルートポイントが削除された無動作ＦＦ＿ＤＢの例を説明する。図１５は、ファンアウト数より少ない無動作ルートポイントが削除された無動作ＦＦ＿ＤＢの例を示す図である。
【００４８】
例えば、図１５に示すように、無動作ＦＦ＿ＤＢは、無動作ルートポイントが追加された図１４に対し、無動作ＦＦ「ＦＦ＿Ａ」、「ＦＦ＿Ａ５」及び「ＦＦ＿Ｂ」に対応する無動作ルートポイントが更新（削除）されている。すなわち、このときのファンアウト数は「４」であり、順序回路グループ化部１２３は、ファンアウト数「４」より少ない無動作ルートポイントを無動作ＦＦ＿ＤＢから削除する。
【００４９】
図１０の説明に戻り、順序回路グループ化部１２３は、無動作ルートポイントが同一になる無動作ＦＦの集団を１つのドメインとし、無動作ＦＦ＿ＤＢを更新する（ステップＳ２０４）。このとき、順序回路グループ化部１２３は、無動作ルートポイントが存在しない無動作ＦＦについて、ドメインに無所属の順序回路としてデータベース化する。
【００５０】
ここで、図１６及び図１７Ａ〜図１７Ｃを用いて、無動作ＦＦのドメイン化を説明する。図１６は、無動作ＦＦのドメイン化を説明する図である。なお、以下では、ＧＣＤを無動作ルートポイントとするドメインを「Ａドメイン」、ＦＦ＿Ｂを無動作ルートポイントとするドメインを「Ｂドメイン」、無動作ルートポイントが存在しないドメインを「ドメイン無し」として説明する。
【００５１】
例えば、図１６に示すように、順序回路グループ化部１２３は、図１５に示す無動作ＦＦ＿ＤＢに基づき、無動作ルートポイントがＧＣＤである縦線で示す無動作ＦＦを「Ａドメイン」としてドメイン化するとともに、無動作ＦＦ＿ＤＢを更新する。また、順序回路グループ化部１２３は、同様に、無動作ルートポイントがＦＦ＿Ｂである横線で示す無動作ＦＦを「Ｂドメイン」としてドメイン化するとともに、無動作ＦＦ＿ＤＢを更新する。加えて、順序グループ化部１２３は、同様に、無動作ルートポイントが存在しない斜線で示す無動作ＦＦを「ドメイン無し」としてドメイン化するとともに、無動作ＦＦ＿ＤＢを更新する。
【００５２】
図１７Ａは、ＧＣＤを無動作ルートポイントとする無動作ＦＦのドメインである無動作ＦＦ＿ＤＢの例を示す図である。例えば、図１７Ａに示すように、「Ａドメイン」としてドメイン化された無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＧＣＤ」と、無動作ＦＦ「ＦＦ＿Ａ１〜ＦＦ＿Ａ４並びにＦＦ＿Ａ６〜ＦＦ＿Ａ８」と、起因端子「ＣＬＫ」とを対応付けて記憶する。
【００５３】
図１７Ｂは、ＦＦ＿Ｂを無動作ルートポイントとする無動作ＦＦのドメインである無動作ＦＦ＿ＤＢの例を示す図である。例えば、図１７Ｂに示すように、「Ｂドメイン」としてドメイン化された無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＦＦ＿Ｂ」と、無動作ＦＦ「ＦＦ＿Ｂ１〜ＦＦ＿Ｂ４」と、起因端子「ＥＮ」とを対応付けて記憶する。
【００５４】
図１７Ｃは、無動作ルートポイントが存在しないドメインである無動作ＦＦ＿ＤＢの例を示す図である。例えば、図１７Ｃに示すように、「ドメイン無し」としてドメイン化された無動作ＦＦ＿ＤＢは、無動作ＦＦ「ＦＦ＿Ａ，ＦＦ＿Ａ５，ＦＦ＿Ｂ」を記憶する。なお、「ドメイン無し」である無動作ＦＦ＿ＤＢは、無動作ルートポイントと起因端子とについては該当するものがないため何も記憶しない。
【００５５】
［候補ドメイン生成処理］
次に、図１８〜図２９を用いて、候補ドメイン生成処理について説明する。詳細には、図１８〜図２１を用いて動作ＦＦのドメイン化を説明し、図２２〜図２５を用いてどのドメインにも属さない無動作ＦＦのドメイン化を説明し、図２６〜図２９を用いて組み合わせ回路のドメイン化を説明する。なお、図１８〜図２９に係る候補ドメイン生成処理は、ステップＳ１０４の一例である。
【００５６】
図１８を用いて、実施例１に係る動作ＦＦのドメイン化処理の流れを説明する。図１８は、実施例１に係る動作ＦＦのドメイン化処理の流れの例を示すフローチャートである。
【００５７】
例えば、図１８に示すように、順序回路グループ化部１２３は、無動作ＦＦ＿ＤＢに含まれるあるドメインの無動作ＦＦそれぞれについてバックトレースを実施する（ステップＳ３０１）。このとき、順序回路グループ化部１２３は、バックトレースによって到達したＦＦと、始点にしたＦＦとを対応付けてデータベース化する。
【００５８】
ここで、図１９を用いて、動作ＦＦのドメイン化を説明する。図１９は、動作ＦＦのドメイン化を説明する図である。なお、図１９では、無動作ＦＦであるＦＦ＿Ｓ１〜ＦＦ＿Ｓ４を網掛けで示している。また、以下では、ドメイン化の結果、これらの無動作ＦＦがＳドメインであるものとして説明する。
【００５９】
例えば、図１９に示すように、順序回路グループ化部１２３は、無動作ＦＦ＿ＤＢに含まれるＳドメインの無動作ＦＦ「ＦＦ＿Ｓ１〜ＦＦ＿Ｓ４」それぞれについてバックトレースを実施する。つまり、順序回路グループ化部１２３は、ＦＦ＿Ｓ１についてバックトレースした結果、到達したＦＦ＿３及びＦＦ＿５を始点となるＦＦ＿Ｓ１と対応付けてデータベースに格納する。
【００６０】
同様に、順序回路グループ化部１２３は、ＦＦ＿Ｓ２についてバックトレースした結果、到達したＦＦ＿１を始点となるＦＦ＿Ｓ２と対応付けてデータベースに格納する。また、順序回路グループ化部１２３は、ＦＦ＿Ｓ３についてバックトレースした結果、到達したＦＦ＿１を始点となるＦＦ＿Ｓ３と対応付けてデータベースに格納する。さらに、順序回路グループ化部１２３は、ＦＦ＿Ｓ４についてバックトレースした結果、到達したＦＦ＿３及びＦＦ＿５を始点となるＦＦ＿Ｓ４と対応付けてデータベースに格納する。なお、バックトレースの実施において、始点と終点とが対応付けて格納されるＤＢは、例えば、ＳＤＢＴ＿ＤＢ（S  Domain  Back  Trace＿DataBase）であるとする。
【００６１】
図２０Ａは、Ｓドメインの無動作ＦＦ＿ＤＢの例を示す図である。例えば、図２０Ａに示すように、Ｓドメインの無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＧＣＤ」と、無動作ＦＦ「ＦＦ＿Ｓ１〜ＦＦ＿Ｓ４」と、起因端子「ＣＬＫ」とをそれぞれ対応付けて記憶する。
【００６２】
図２０Ｂは、ＳＤＢＴ＿ＤＢの例を示す図である。例えば、図２０Ｂに示すように、ＳＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿Ｓ１」と、バックトレース到達ＦＦ「ＦＦ＿３，ＦＦ＿５」とを対応付けて記憶する。また、ＳＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿Ｓ２」と、バックトレース到達ＦＦ「ＦＦ＿１」とを対応付けて記憶する。また、ＳＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿Ｓ３」と、バックトレース到達ＦＦ「ＦＦ＿１」とを対応付けて記憶する。また、ＳＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿Ｓ４」と、バックトレース到達ＦＦ「ＦＦ＿３，ＦＦ＿５」とを対応付けて記憶する。
【００６３】
図１８の説明に戻り、順序回路グループ化部１２３は、バックトレースの結果、到達したＦＦについてフォワードトレースを実施する（ステップＳ３０２）。このとき、順序回路グループ化部１２３は、フォワードトレースによって到達したＦＦと、始点にしたＦＦすなわちステップＳ３０１でバックトレースによって到達したＦＦとを対応付けてデータベース化する。
【００６４】
詳細には、順序回路グループ化部１２３は、図２０Ｂに示すバックトレース到達ＦＦ「ＦＦ＿１，ＦＦ＿３，ＦＦ＿５」それぞれについてフォワードトレースを実施する。つまり、順序回路グループ化部１２３は、ＦＦ＿１についてフォワードトレースした結果、到達したＦＦ＿Ｓ２及びＦＦ＿Ｓ３を始点となるＦＦ＿１と対応付けてデータベースに格納する。
【００６５】
同様に、順序回路グループ化部１２３は、ＦＦ＿３についてフォワードトレースした結果、到達したＦＦ＿Ｓ１及びＦＦ＿２を始点となるＦＦ＿３と対応付けてデータベースに格納する。また、順序回路グループ化部１２３は、ＦＦ＿５についてフォワードトレースした結果、到達したＦＦ＿Ｓ１及びＦＦ＿Ｓ４を始点となるＦＦ＿５と対応付けてデータベースに格納する。なお、フォワードトレースの実施において、始点と終点とが対応付けて格納されるＤＢは、例えば、ＳＤＦＴ＿ＤＢ（S  Domain  Forward  Trace＿DataBase）であるとする。
【００６６】
図２０Ｃは、ＳＤＦＴ＿ＤＢの例を示す図である。例えば、図２０Ｃに示すように、ＳＤＦＴ＿ＤＢは、バックトレース到達ＦＦ「ＦＦ＿１」と、フォワードトレース到達ＦＦ「ＦＦ＿Ｓ２，ＦＦ＿Ｓ３」とを対応付けて記憶する。また、ＳＤＦＴ＿ＤＢは、バックトレース到達ＦＦ「ＦＦ＿３」と、フォワードトレース到達ＦＦ「ＦＦ＿Ｓ１，ＦＦ＿２」とを対応付けて記憶する。また、ＳＤＦＴ＿ＤＢは、バックトレース到達ＦＦ「ＦＦ＿５」と、フォワードトレース到達ＦＦ「ＦＦ＿Ｓ１，ＦＦ＿Ｓ４」とを対応付けて記憶する。
【００６７】
図１８の説明に戻り、順序回路グループ化部１２３は、フォワードトレースの結果、到達したＦＦが全て同一ドメインであるか否かを判定する（ステップＳ３０３）。このとき、順序回路グループ化部１２３は、フォワードトレースで到達したＦＦが全て同一ドメインである場合に（ステップＳ３０３肯定）、該当するバックトレース到達ＦＦを同一ドメインにドメイン化する（ステップＳ３０４）。また、順序回路グループ化部１２３は、同一ドメインへのドメイン化の結果として、無動作ＦＦ＿ＤＢを更新する。
【００６８】
一方、順序回路グループ化部１２３は、フォワードトレースで到達したＦＦが全て同一ドメインでない場合に（ステップＳ３０３否定）、ステップＳ３０５の処理を実行する。そして、順序回路グループ化部１２３は、未処理の無動作ＦＦがあるか否かを判定する（ステップＳ３０５）。このとき、順序回路グループ化部１２３は、未処理の無動作ＦＦがある場合に（ステップＳ３０５肯定）、ステップＳ３０１の処理を実行し、未処理の無動作ＦＦがない場合に（ステップＳ３０５否定）、処理を終了する。ステップＳ３０５における未処理の無動作ＦＦとは、新たに無動作ＦＦ＿ＤＢに登録されたものを含んでいる。なお、上記処理は、無動作ＦＦ＿ＤＢに含まれる全てのドメインについて実施される。
【００６９】
つまり、順序回路グループ化部１２３は、図２０Ｃに示すように、バックトレース到達ＦＦ「ＦＦ＿１」に対応するフォワードトレース到達ＦＦ「ＦＦ＿Ｓ２，ＦＦ＿Ｓ３」の全てが同一のＳドメインであるため、該ＦＦ＿１をＳドメインにドメイン化する。同様に、順序回路グループ化部１２３は、バックトレース到達ＦＦ「ＦＦ＿５」に対応するフォワードトレース到達ＦＦ「ＦＦ＿Ｓ１，ＦＦ＿Ｓ４」の全てが同一のＳドメインであるため、該ＦＦ＿５をＳドメインにドメイン化する。
【００７０】
但し、順序回路グループ化部１２３は、バックトレース到達ＦＦ「ＦＦ＿３」に対応するフォワードトレース到達ＦＦ「ＦＦ＿Ｓ１，ＦＦ＿２」が同一のドメインではないため、この時点では該ＦＦ＿３をＳドメインとしてドメイン化することはない。その後、順序回路グループ化部１２３は、追加されたＦＦ＿１及びＦＦ＿５についても同様にバックトレースを実施して動作ＦＦのドメイン化処理を実行する。これらから、動作ＦＦのファンアウトが全て同一ドメインの無動作ＦＦである場合には、該動作ＦＦも同一ドメインとしてドメイン化することができる。
【００７１】
図２０Ｄは、動作ＦＦをドメイン化したときの無動作ＦＦ＿ＤＢの例を示す図である。なお、図２０Ｄでは、動作ＦＦをＳドメインにドメイン化する場合を説明する。例えば、図２０Ｄに示すように、無動作ＦＦ＿ＤＢは、図２０Ａと同様に無動作ルートポイント「ＧＣＤ」と、無動作ＦＦ「ＦＦ＿Ｓ１〜ＦＦ＿Ｓ４」と、起因端子「ＣＬＫ」とを対応付けて記憶する。これに加えて、無動作ＦＦ＿ＤＢは、Ｓドメインとしてドメイン化された無動作ＦＦ「ＦＦ＿１」及び「ＦＦ＿５」を記憶する。但し、図２０Ｄに示す無動作ＦＦ＿ＤＢは、動作ＦＦのドメイン化における途中経過の一例である。
【００７２】
図２１は、動作ＦＦをドメイン化した結果の例を示す図である。上記のようにして動作ＦＦのドメイン化処理を実行すると、図２１に示すように、ＦＦ＿Ｓ１〜ＦＦ＿Ｓ４に加えてＦＦ＿１〜ＦＦ＿５も同一のドメインとしてドメイン化されることになる。
【００７３】
次に、図２２を用いて、実施例１に係るどのドメインにも属さない無動作ＦＦのドメイン化処理の流れを説明する。図２２は、実施例１に係るどのドメインにも属さない無動作ＦＦのドメイン化処理の流れの例を示すフローチャートである。
【００７４】
例えば、図２２に示すように、順序回路グループ化部１２３は、無動作ＦＦ＿ＤＢに含まれる無動作ルートポイントが存在しない「ドメイン無し」の無動作ＦＦ全てについてバックトレースを実施する（ステップＳ４０１）。このとき、順序回路グループ化部１２３は、バックトレースによって到達したＦＦと、始点にしたＦＦとを対応付けてデータベース化する。
【００７５】
ここで、図２３を用いて、どのドメインにも属さない無動作ＦＦのドメイン化を説明する。図２３は、どのドメインにも属さない無動作ＦＦのドメイン化を説明する図である。なお、図２３では、同一ドメインである無動作ＦＦ「ＦＦ＿Ｅ１〜ＦＦ＿Ｅ６」を網掛けで示し、「ドメイン無し」の無動作ＦＦを交差する斜線で示している。また、かかる同一ドメインは、例えば、「Ｅドメイン」であるものとする。
【００７６】
例えば、図２３に示すように、順序回路グループ化部１２３は、どのドメインにも属さない「ドメイン無し」である無動作ＦＦ「ＦＦ＿１〜ＦＦ＿１２」それぞれについてバックトレースを実施する。つまり、順序回路グループ化部１２３は、ＦＦ＿１についてバックトレースした結果、到達したＦＦ＿Ｅ１、ＦＦ＿Ｅ２及びＦＦ＿Ｅ３を始点となるＦＦ＿１と対応付けてデータベースに格納する。同様に、順序回路グループ化部１２３は、ＦＦ＿２〜ＦＦ＿１２についてもバックトレースを実施して、到達した無動作ＦＦと対応付けてデータベースに格納する。なお、バックトレースの実施において、始点と終点とが対応付けて格納されるＤＢは、例えば、ＮＤＢＴ＿ＤＢ（Non  Domain  Back  Trace＿DataBase）であるとする。
【００７７】
図２４Ａは、Ｅドメインの無動作ＦＦ＿ＤＢの例を示す図である。例えば、図２４Ａに示すように、Ｅドメインの無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＧＣＤ」と、無動作ＦＦ「ＦＦ＿Ｅ１〜ＦＦ＿Ｅ６」と、起因端子「ＣＬＫ」とをそれぞれ対応付けて記憶する。
【００７８】
図２４Ｂは、ドメイン無しの無動作ＦＦ＿ＤＢの例を示す図である。例えば、図２４Ｂに示すように、ドメイン無しの無動作ＦＦ＿ＤＢは、無動作ＦＦ「ＦＦ＿１〜ＦＦ＿１２」を記憶する。なお、ドメイン無しの無動作ＦＦ＿ＤＢは、無動作ルートポイントと起因端子とについては該当するものがないため何も記憶しない。
【００７９】
図２４Ｃは、ＮＤＢＴ＿ＤＢの例を示す図である。例えば、図２４Ｃに示すように、ＮＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿１」と、バックトレース到達ＦＦ「ＦＦ＿Ｅ１，ＦＦ＿Ｅ２，ＦＦ＿Ｅ３」とを対応付けて記憶する。また、ＮＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿２」と、バックトレース到達ＦＦ「ＦＦ＿Ｅ１，ＦＦ＿Ｅ２，ＦＦ＿Ｅ３」とを対応付けて記憶する。また、ＮＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿３」と、バックトレース到達ＦＦ「ＦＦ＿Ｅ４，ＦＦ＿１」とを対応付けて記憶する。同様に、ＮＤＢＴ＿ＤＢは、無動作ＦＦ「ＦＦ＿４」〜「ＦＦ＿１２」についてもバックトレース到達ＦＦと対応付けて記憶する。
【００８０】
図２２の説明に戻り、順序回路グループ化部１２３は、バックトレースによって到達したＦＦが全て同一ドメインであるか否かを判定する（ステップＳ４０２）。このとき、順序回路グループ化部１２３は、到達したＦＦが全て同一ドメインである場合に（ステップＳ４０２肯定）、該当するドメイン無しの無動作ＦＦを同一ドメインにドメイン化する（ステップＳ４０３）。また、順序回路グループ化部１２３は、同一ドメインへのドメイン化の結果として、無動作ＦＦ＿ＤＢ及びＮＤＢＴ＿ＤＢを更新する。
【００８１】
一方、順序回路グループ化部１２３は、バックトレースで到達したＦＦが全て同一ドメインでない場合に（ステップＳ４０２否定）、ステップＳ４０４の処理を実行する。そして、順序回路グループ化部１２３は、未処理のドメイン無しである無動作ＦＦがあるか否かを判定する（ステップＳ４０４）。このとき、順序回路グループ化部１２３は、未処理のドメイン無しである無動作ＦＦがある場合に（ステップＳ４０４肯定）、ステップＳ４０２の処理を実行し、未処理のドメイン無しである無動作ＦＦがない場合に（ステップＳ４０４否定）、処理を終了する。
【００８２】
つまり、順序回路グループ化部１２３は、図２４Ａ及び図２４Ｃに示した無動作ＦＦ＿ＤＢ及びＮＤＢＴ＿ＤＢに基づき、例えばバックトレース到達ＦＦである「ＦＦ＿Ｅ１，ＦＦ＿Ｅ２，ＦＦ＿Ｅ３」が全て同一のＥドメインであることを判定する。そして、順序回路グループ化部１２３は、該当するドメイン無しの無動作ＦＦ「ＦＦ＿１」及び「ＦＦ＿２」をＥドメインの無動作ＦＦ＿ＤＢに格納する。但し、ＦＦ＿３は、バックトレース到達ＦＦ「ＦＦ＿Ｅ４」と「ＦＦ＿１」とが同一ドメインではないため、この時点ではＥドメインにドメイン化されない。これらから、ルートポイントからのファンアウト数が少ない無動作ＦＦは、バックトレースの結果、到達したＦＦが全て同一ドメインのＦＦであれば、該無動作ＦＦも同一ドメインとしてドメイン化されることになる。
【００８３】
図２４Ｄは、どのドメインにも属さないドメイン無しの無動作ＦＦをドメイン化したときの無動作ＦＦ＿ＤＢの例を示す図である。図２４Ｄに示すように、無動作ＦＦ＿ＤＢは、図２４Ａと同様に無動作ルートポイント「ＧＣＤ」と、無動作ＦＦ「ＦＦ＿Ｅ１〜ＦＦ＿Ｅ６」と、起因端子「ＣＬＫ」とを対応付けて記憶する。これに加えて、無動作ＦＦ＿ＤＢは、Ｅドメインとしてドメイン化された無動作ＦＦ「ＦＦ＿１」及び「ＦＦ＿２」を記憶する。但し、図２４Ｄに示す無動作ＦＦ＿ＤＢは、無所属の無動作ＦＦドメイン化における途中経過の一例である。
【００８４】
図２５は、どのドメインにも属さない無動作ＦＦをドメイン化した結果の例を示す図である。上記のようにして無所属の無動作ＦＦのドメイン化処理を実行すると、図２５に示すように、ＦＦ＿１及びＦＦ＿２に加えてＦＦ＿３〜ＦＦ＿１２も同一のドメインとしてドメイン化されることになる。すなわち、ＮＤＢＴ＿ＤＢは、最終的に空になる。
【００８５】
次に、図２６を用いて、実施例１に係る組み合わせ回路ドメイン化処理の流れを説明する。図２６は、実施例１に係る組み合わせ回路ドメイン化処理の流れの例を示すフローチャートである。
【００８６】
例えば、図２６に示すように、組み合わせ回路抽出部１２４は、無動作ＦＦ＿ＤＢから任意のドメインを選択する（ステップＳ５０１）。そして、組み合わせ回路抽出部１２４は、無動作ＦＦ＿ＤＢの選択されたドメイン内の任意の無動作ＦＦについてバックトレースを実施する（ステップＳ５０２）。このとき、組み合わせ回路抽出部１２４は、バックトレースの結果、ＦＦに到達するまでに存在する組み合わせ回路を全て抽出し、データベース化する（ステップＳ５０３）。
【００８７】
ここで、図２７を用いて、組み合わせ回路のドメイン化を説明する。図２７は、組み合わせ回路のドメイン化を説明する図である。なお、図２７では、ドメインの種類として「Ａドメイン」、「Ｂドメイン」及び「ドメイン無し」が存在する場合を例に挙げる。また、図２７において、「Ａドメイン」のＦＦは縦線で示し、「Ｂドメイン」のＦＦは横線で示し、「ドメイン無し」のＦＦは斜線で示す。
【００８８】
例えば、図２７に示すように、組み合わせ回路抽出部１２４は、「Ａドメイン」に含まれる無動作ＦＦ「ＦＦ＿Ａ１」を選択し、バックトレースを実施する。このとき、組み合わせ回路抽出部１２４は、バックトレースの結果、「ＦＦ＿Ａ３」及び「ＦＦ＿Ｚ２」に到達するまでに存在する組み合わせ回路「ＡＮＤ＿Ａ１」を抽出し、データベース化する。なお、バックトレースの実施において、始点、終点及び中間に存在する組み合わせ回路の情報がそれぞれ対応付けて格納されるＤＢは、例えば、ＤＣ＿ＤＢ（Domain  Comb＿DataBase：組み合わせ回路＿ＤＢ）であるとする。
【００８９】
図２８Ａは、Ａドメインの無動作ＦＦ＿ＤＢの例を示す図である。例えば、Ａドメインの無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＦＦ＿Ａ／Ｑ」と、無動作ＦＦ「ＦＦ＿Ａ１〜ＦＦ＿Ａ８」と、起因端子「ＣＬＫ」とを対応付けて記憶する。
【００９０】
図２８Ｂは、Ｂドメインの無動作ＦＦ＿ＤＢの例を示す図である。例えば、Ｂドメインの無動作ＦＦ＿ＤＢは、無動作ルートポイント「ＦＦ＿Ｂ／Ｑ」と、無動作ＦＦ「ＦＦ＿Ｂ１〜ＦＦ＿Ｂ４」と、起因端子「ＥＮ」とを対応付けて記憶する。
【００９１】
図２８Ｃは、ドメイン無しの無動作ＦＦ＿ＤＢの例を示す図である。例えば、ドメイン無しの無動作ＦＦ＿ＤＢは、無動作ＦＦ「ＦＦ＿Ａ」及び「ＦＦ＿Ｂ」を記憶する。なお、ドメイン無しの無動作ＦＦ＿ＤＢは、無動作ルートポイントと起因端子とについては該当するものがないため何も記憶しない。
【００９２】
図２８Ｄは、バックトレースにおいてＦＦに到達するまでに存在する組み合わせ回路の情報を示す図である。例えば、図２８Ｄに示すように、Ａドメインの無動作ＦＦ「ＦＦ＿Ａ１」を始点としてバックトレースを実施する場合には、終点のＦＦ「ＦＦ＿Ａ３」及び「ＦＦ＿Ｚ２」に到達するまでに、組み合わせ回路「ＡＮＤ＿Ａ１」が存在する。
【００９３】
図２８Ｅは、ＦＦ＿Ａ１からバックトレースして組み合わせ回路を抽出したときのＤＣ＿ＤＢの例を示す図である。例えば、図２８Ｅに示すように、ＤＣ＿ＤＢは、Ａドメインに含まれる「ＦＦ＿Ａ１」からバックトレースを実施した結果、ＦＦに到達するまでに存在する組み合わせ回路「ＡＮＤ＿Ａ１」を記憶する。
【００９４】
図２６の説明に戻り、組み合わせ回路グループ化部１２５は、バックトレースで到達したＦＦのうち、同一ドメインでないＦＦを始点としてフォワードトレースを実施する（ステップＳ５０４）。そして、組み合わせ回路グループ化部１２５は、フォワードトレースで到達したＦＦのうち、同一ドメインでないＦＦがあるか否かを判定する（ステップＳ５０５）。
【００９５】
このとき、組み合わせ回路グループ化部１２５は、同一ドメインでないＦＦがある場合に（ステップＳ５０５肯定）、同一ドメインでないＦＦに到達するまでのパスに存在する組み合わせ回路をドメイン化の対象外とする（ステップＳ５０６）。一方、組み合わせ回路グループ化部１２５は、同一ドメインであるＦＦがある場合に（ステップＳ５０５否定）、ステップＳ５０７の処理を実行する。
【００９６】
続いて、組み合わせ回路グループ化部１２５は、ステップＳ５０１で選択した任意のドメイン内において未処理のＦＦがあるか否かを判定する（ステップＳ５０７）。このとき、組み合わせ回路グループ化部１２５は、未処理のＦＦがある場合に（ステップＳ５０７肯定）、ステップＳ５０２の処理を実行し、未処理のＦＦがない場合に（ステップＳ５０７否定）、未処理のドメインがあるか否かを判定する（ステップＳ５０８）。
【００９７】
そして、組み合わせ回路グループ化部１２５は、未処理のドメインがある場合に（ステップＳ５０８肯定）、ステップＳ５０１の処理を実行し、未処理のドメインがない場合に（ステップＳ５０８否定）、処理を終了する。
【００９８】
つまり、組み合わせ回路グループ化部１２５は、図２８Ｄに示す情報に基づき、始点と終点とで同一ドメインでないＦＦ「ＦＦ＿Ｚ２」に対してフォワードトレースを実施する。そして、組み合わせ回路グループ化部１２５は、始点を「ＦＦ＿Ｚ２」としてフォワードトレースした結果、終点「ＦＦ＿Ａ１」、「ＦＦ＿Ａ２」及び「ＦＦ＿Ｚ１」と、経路「ＡＮＤ＿Ａ１」、「ＡＮＤ＿Ａ２」及び「ＡＮＤ＿Ａ２」とをそれぞれ抽出する。続いて、組み合わせ回路グループ化部１２５は、終点のうち同一ドメインでないＦＦ「ＦＦ＿Ｚ１」に対応する組み合わせ回路「ＡＮＤ＿Ａ２」をドメイン化の対象外として、ＤＣ＿ＤＢから削除する。なお、組み合わせ回路グループ化部１２５は、ドメイン内のＦＦ及び全てのドメインのＦＦについて上記処理を実行してＤＣ＿ＤＢを更新する。
【００９９】
図２８Ｆは、フォワードトレースにおいてＦＦに到達するまでに存在する組み合わせ回路の情報を示す図である。例えば、図２８Ｆに示すように、ＦＦ＿Ｚ２を始点としてフォワードトレースを実施する場合には、終点のＦＦ「ＦＦ＿Ａ１」、「ＦＦ＿Ａ２」及び「ＦＦ＿Ｚ１」に到達するまでに、組み合わせ回路「ＡＮＤ＿Ａ１」及び「ＡＮＤ＿Ａ２」が存在する。なお、上記において組み合わせ回路グループ化部１２５は、「ＡＮＤ＿Ａ２」をドメイン化の対象外としてＤＣ＿ＤＢから削除することとしたが、この時点ではＤＣ＿ＤＢには「ＡＮＤ＿Ａ１」のみが記憶されているので、実際には何も更新されることはない。
【０１００】
図２８Ｇは、組み合わせ回路グループ化処理後のＤＣ＿ＤＢの例を示す図である。例えば、図２８Ｇに示すように、ＤＣ＿ＤＢは、Ａドメインにドメイン化される組み合わせ回路として、「ＡＮＤ＿Ａ１」、「ＯＲ＿Ａ３」、「ＮＯＲ＿Ａ４」及び「ＮＡＮＤ＿Ａ５」を記憶する。なお、ＤＣ＿ＤＢは、同様に、Ｂドメインについてもドメイン化された所定の組み合わせ回路（図２７中の雲形で示す所定の組み合わせ回路）を記憶する。
【０１０１】
図２９は、組み合わせ回路ドメイン化処理の結果の例を示す図である。上記のようにして組み合わせ回路のドメイン化処理を実行すると、図２９に示すように、ＦＦ＿Ａ１〜ＦＦ＿Ａ８、ＡＮＤ＿Ａ１、ＯＲ＿Ａ３、ＮＯＲ＿Ａ４及びＮＡＮＤ＿Ａ５は、Ａドメインとしてドメイン化されることになる。また、同様に、ＦＦ＿Ｂ１〜ＦＦ＿Ｂ４と、所定の組み合わせ回路とは、Ｂドメインとしてドメイン化されることになる。なお、図２９中の上部の破線枠で囲われた部分が「Ａドメイン」であり、下部の破線枠で囲われた部分が「Ｂドメイン」である。
【０１０２】
［リーク消費電力算出処理］
次に、図３０を用いて、実施例１に係るリーク消費電力算出処理の流れを説明する。図３０は、実施例１に係るリーク消費電力算出処理の流れの例を示すフローチャートである。なお、図３０に示すリーク消費電力算出処理は、ステップＳ１０５の一例である。
【０１０３】
例えば、図３０に示すように、リーク消費電力値算出部１２６は、組み合わせ回路のドメイン化後に、無動作ＦＦ＿ＤＢ及び組み合わせ回路＿ＤＢ（ＤＣ＿ＤＢ）から同一である任意のドメインを選択する（ステップＳ６０１）。そして、リーク消費電力値算出部１２６は、素子についてＦＦ、ＮＡＮＤ及びＮＯＲ等の種類ごとの素子の数をカウントする（ステップＳ６０２）。
【０１０４】
続いて、リーク消費電力値算出部１２６は、素子の種類毎のリーク消費電力値を保持するライブラリに基づき、ドメイン毎のリーク消費電力値を算出する（ステップＳ６０３）。その後、リーク消費電力値算出部１２６は、求められたリーク消費電力値が所定閾値以上であるか否かを判定する（ステップＳ６０４）。
【０１０５】
このとき、リーク消費電力値算出部１２６は、リーク消費電力値が所定閾値以上である場合に（ステップＳ６０４肯定）、リーク消費電力値を出力部１０２に出力する（ステップＳ６０５）。一方、リーク消費電力値算出部１２６は、リーク消費電力値が所定閾値未満である場合に（ステップＳ６０４否定）、ステップＳ６０１の処理を実行する。ここで、全ての電力値について出力（回路の供給電力を遮断）する場合には、所定閾値を「０」にすれば良い。
【０１０６】
そして、リーク消費電力値算出部１２６は、未処理のドメインがあるか否かを判定する（ステップＳ６０６）。このとき、リーク消費電力値算出部１２６は、未処理のドメインがある場合に（ステップＳ６０６肯定）、ステップＳ６０１の処理を実行し、未処理のドメインがない場合に（ステップＳ６０６否定）、処理を終了する。
【０１０７】
図３１は、リーク消費電力算出結果の画面例を示す図である。例えば、図３１に示すように、出力部１０２は、電力供給を遮断するか否か（ｏｎ，ｏｆｆ）を示す「生成ＳＷ」と、電力供給遮断候補となるドメインを示すＰＳＯ（Power  Shut  Off）候補ドメインとを出力する。加えて、出力部１０２は、ドメイン毎のルートポイント「ルート」、「Ｌｅａｋ消費電力」、「順序回路数」及び「Ｇａｔｅ規模」等を出力する。なお、図３１に示す「ｍａｋｅ  ｄｏｍａｉｎ」は、電力供給を遮断するドメインの「生成ＳＷ」がｏｎにされた後に押下されるものであり、電力供給を遮断するドメインの生成のトリガとなるボタンである。
【０１０８】
［電源遮断対象ドメイン生成処理］
次に、図３２を用いて、実施例１に係る電源遮断ドメイン生成処理の流れを説明する。図３２は、実施例１に係る電源遮断ドメイン生成処理の流れの例を示すフローチャートである。なお、図３２に示す電源遮断ドメイン生成処理は、ステップＳ１０６の一例である。
【０１０９】
例えば、図３２に示すように、保護回路挿入部１２７は、「ｍａｋｅ  ｄｏｍａｉｎ」ボタンが押下された場合に（ステップＳ７０１肯定）、「生成ＳＷ」がｏｎであるドメインを対象に保護回路を挿入する（ステップＳ７０２）。保護回路の挿入では、各ドメインを仮想モジュールとして、該仮想モジュールの出力端子の部分に保護回路を挿入することになる。
【０１１０】
そして、保護回路挿入部１２７は、保護回路の挿入後の接続情報をもとに、ネットリストを生成及び出力する（ステップＳ７０３）。なお、保護回路挿入部１２７は、「ｍａｋｅ  ｄｏｍａｉｎ」ボタンが押下されない場合に（ステップＳ７０１否定）、該ボタンの押下待ちの状態となる。
【０１１１】
図３３は、保護回路の挿入例を示す図である。なお、図３３では、図２９に示した「Ａドメイン」の一部を示している。例えば、図３３に示すように、保護回路挿入部１２７は、Ａドメインを仮想モジュールとして、該仮想モジュールの出力端子となる「ＦＦ＿Ａ１」並びに「ＦＦ＿Ａ２」の部分に保護回路（Isolateセル）を挿入する。
【０１１２】
図３４は、ネットリストの例を示す図である。例えば、図３４に示すように、保護回路挿入部１２７は、保護回路の挿入後の接続情報に基づき、入力や出力、端子間の接続情報等の情報を含み、回路基板の設計で利用されるネットリストを生成及び出力する。なお、ネットリストは、出力部１０２の表示装置により表示出力される。
【０１１３】
［実施例１による効果］
上述したように、回路設計装置１００は、電源供給の遮断対象となる素子を余すことなく抽出し、モジュールを自動生成するので、効率的且つ十分に低消費電力化を行なうことができる。また、回路設計装置１００は、モジュール化後にどれ程の省電力化がはかれたかをドメイン毎に見積もることができるので、費用対効果の予測が容易になる。
【実施例２】
【０１１４】
さて、これまで本願に開示する回路設計装置の実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、（１）ドメイン化された回路の電源供給を遮断、（２）装置の構成、（３）プログラム、において異なる実施例を説明する。
【０１１５】
（１）ドメイン化された回路の電源供給を遮断
上記実施例１では、全ての回路素子についてドメイン化した後に、リーク消費電力を算出したり保護回路を挿入したりする場合を説明したが、ドメイン化した後の情報を出力することもできる。かかる場合には、ドメイン化された全てのドメインについて電力供給を遮断すれば良い。なお、保護回路の挿入については、ドメイン毎の出力端子部分に挿入すれば良いため、従来技術と比較して、設計者のミスや設計工数等を削減することができる。
【０１１６】
（２）装置の構成
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報については、特記する場合を除いて任意に変更することができる。また、図示した回路設計装置１００の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。例えば、順序回路グループ化部１２３を、動作ＦＦを対象にしたドメイン化処理を行なう「動作順序回路グループ化部」と、無動作ＦＦを対象にしたドメイン化処理を行なう「無動作順序回路グループ化部」とに分散しても良い。
【０１１７】
（３）プログラム
ところで、上記実施例では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、予め用意されたプログラムをコンピュータで実行することによって実現するようにしても良い。そこで、以下では、図３５を用いて、上記実施例に示した回路設計装置１００と同様の機能を有する回路設計プログラムを実行するコンピュータの一例を説明する。図３５は、回路設計プログラムを実行するコンピュータの例を示す図である。
【０１１８】
図３５に示すように、回路設計装置１００としてのコンピュータ１１は、バス１８で接続されるＨＤＤ１３、ＣＰＵ１４、ＲＯＭ１５及びＲＡＭ１６等を有する。
【０１１９】
ＲＯＭ１５には、上記実施例に示した回路設計装置１００と同様の機能を発揮する回路設計プログラムが予め記憶されている。つまり、ＲＯＭ１５には、図３５に示すように、無動作順序回路抽出プログラム１５ａと、無動作起因端子探索プログラム１５ｂと、順序回路グループ化プログラム１５ｃと、組み合わせ回路抽出プログラム１５ｄと、組み合わせ回路グループ化プログラム１５ｅとが予め記憶されている。なお、これらのプログラム１５ａ〜プログラム１５ｅについては、図１に示した回路設計装置１００の各構成要素と同様、適宜統合または分散しても良い。
【０１２０】
そして、ＣＰＵ１４がこれらのプログラム１５ａ〜プログラム１５ｅをＲＯＭ１５から読み出して実行する。これにより、図３５に示すように、プログラム１５ａ〜プログラム１５ｅは、無動作順序回路抽出プロセス１４ａと、無動作起因端子探索プロセス１４ｂと、順序回路グループ化プロセス１４ｃと、組み合わせ回路抽出プロセス１４ｄと、組み合わせ回路グループ化プロセス１４ｅとして機能するようになる。なお、プロセス１４ａ〜プロセス１４ｅは、図１に示した、無動作順序回路抽出部１２１と、無動作起因端子探索部１２２と、順序回路グループ化部１２３と、組み合わせ回路抽出部１２４と、組み合わせ回路グループ化部１２５とに対応する。そして、ＣＰＵ１４は、ＲＡＭ１６に記録されたデータに基づいて回路設計プログラムを実行する。
【０１２１】
なお、上記各プログラム１５ａ〜プログラム１５ｅについては、必ずしも最初からＲＯＭ１５に記憶させておく必要はない。例えば、コンピュータ１１に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に各プログラムを記憶させておいても良い。また、例えば、コンピュータ１１の内外に備えられるＨＤＤ等の「固定用の物理媒体」に各プログラムを記憶させておいても良い。また、例えば、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１１に接続される「他のコンピュータ（またはサーバ）」等に各プログラムを記憶させておいても良い。そして、コンピュータ１１がこれから各プログラムを読み出して実行するようにしても良い。
【０１２２】
以上の実施例１及び２を含む実施形態に関し、さらに以下の付記を開示する。
【０１２３】
（付記１）回路に含まれる順序回路のうち、動作していない順序回路を示す無動作順序回路を抽出する無動作順序回路抽出部と、
前記無動作順序回路抽出部によって抽出された無動作順序回路に対する制御信号の出力元の順序回路である無動作起因端子を探索する無動作起因端子探索部と、
前記無動作起因端子探索部によって探索された無動作起因端子が同一となる順序回路を１つのグループとしてグループ化する順序回路グループ化部と、
前記順序回路グループ化部によってグループ化された順序回路それぞれについてバックトレースを実施して、上位の順序回路に到達するまでに存在する組み合わせ回路を抽出する組み合わせ回路抽出部と、
前記上位の順序回路のうち同一グループでない順序回路それぞれについてフォワードトレースを実施して、到達した順序回路が同一グループである場合に、前記組み合わせ回路抽出部によって抽出された組み合わせ回路を同一のグループとして追加する組み合わせ回路グループ化部と
を有することを特徴とする回路設計装置。
【０１２４】
（付記２）前記無動作起因端子探索部は、探索された無動作起因端子が複数存在する場合に、予め決定された優先順位が最も高いものを無動作起因端子とすることを特徴とする付記１に記載の回路設計装置。
【０１２５】
（付記３）前記無動作起因端子探索部は、探索された無動作起因端子のファンアウト数が所定値以下である場合に、該無動作起因端子を対象外とすることを特徴とする付記１又は２に記載の回路設計装置。
【０１２６】
（付記４）前記順序回路グループ化部は、動作している順序回路を示す動作順序回路における全てのファンアウトが同一グループの無動作順序回路である場合に、該動作順序回路も同一グループとしてグループ化することを特徴とする付記１に記載の回路設計装置。
【０１２７】
（付記５）前記順序回路グループ化部は、どのグループにも属さない無動作順序回路それぞれについてバックトレースを実施して、到達した順序回路が全て同一グループである場合に、該無動作順序回路も同一グループとしてグループ化することを特徴とする付記１に記載の回路設計装置。
【０１２８】
（付記６）前記組み合わせ回路グループ化部によるグループ化後に、回路素子毎のリーク消費電力値を保持するテーブルに基づき、グループ毎のリーク消費電力値を算出するリーク消費電力値算出部をさらに有することを特徴とする付記１に記載の回路設計装置。
【０１２９】
（付記７）前記組み合わせ回路グループ化部によるグループ化後に、各グループを仮想モジュールとして、該仮想モジュールの出力端子の部分に保護回路を挿入する保護回路挿入部をさらに有することを特徴とする付記１又は２に記載の回路設計装置。
【０１３０】
（付記８）回路に含まれる順序回路のうち、動作していない順序回路を抽出する無動作順序回路抽出手順と、
前記無動作順序回路抽出手順によって抽出された順序回路に基づき、該順序回路に対する制御信号の出力元の順序回路である無動作起因端子を探索する無動作起因端子探索手順と、
前記無動作起因端子探索手順によって探索された無動作起因端子が同一となる順序回路を１つのグループとしてグループ化する順序回路グループ化手順と、
前記順序回路グループ化手順によってグループ化された順序回路それぞれについてバックトレースを実施して、上位の順序回路に到達するまでに存在する組み合わせ回路を抽出する組み合わせ回路抽出手順と、
前記上位の順序回路のうち同一グループでない順序回路それぞれについてフォワードトレースを実施して、到達した順序回路が同一グループである場合に、前記組み合わせ回路抽出手順によって抽出された組み合わせ回路を同一のグループとして追加する組み合わせ回路グループ化手順と
をコンピュータに実行させることを特徴とする回路設計プログラム。
【０１３１】
（付記９）回路に含まれる順序回路のうち、動作していない順序回路を抽出する無動作順序回路抽出ステップと、
前記無動作順序回路抽出ステップによって抽出された順序回路に基づき、該順序回路に対する制御信号の出力元の順序回路である無動作起因端子を探索する無動作起因端子探索ステップと、
前記無動作起因端子探索ステップによって探索された無動作起因端子が同一となる順序回路を１つのグループとしてグループ化する順序回路グループ化ステップと、
前記順序回路グループ化ステップによってグループ化された順序回路それぞれについてバックトレースを実施して、上位の順序回路に到達するまでに存在する組み合わせ回路を抽出する組み合わせ回路抽出ステップと、
前記上位の順序回路のうち同一グループでない順序回路それぞれについてフォワードトレースを実施して、到達した順序回路が同一グループである場合に、前記組み合わせ回路抽出ステップによって抽出された組み合わせ回路を同一のグループとして追加する組み合わせ回路グループ化ステップと
を含んだことを特徴とする回路設計方法。
【符号の説明】
【０１３２】
１００  回路設計装置
１０１  入力部
１０２  出力部
１１０  記憶部
１２０  制御部
１２１  無動作順序回路抽出部
１２２  無動作起因端子探索部
１２３  順序回路グループ化部
１２４  組み合わせ回路抽出部
１２５  組み合わせ回路グループ化部
１２６  リーク消費電力値算出部
１２７  保護回路挿入部
【図１】
2012003684.tif 000003
【図２】
2012003684.tif 000004
【図３】
2012003684.tif 000005
【図４】
2012003684.tif 000006
【図５】
2012003684.tif 000007
【図６】
2012003684.tif 000008
【図７】
2012003684.tif 000009
【図８】
2012003684.tif 000010
【図９Ａ】
2012003684.tif 000011
【図９Ｂ】
2012003684.tif 000012
【図１０】
2012003684.tif 000013
【図１１Ａ】
2012003684.tif 000014
【図１１Ｂ】
2012003684.tif 000015
【図１１Ｃ】
2012003684.tif 000016
【図１２】
2012003684.tif 000017
【図１３】
2012003684.tif 000018
【図１４】
2012003684.tif 000019
【図１５】
2012003684.tif 000020
【図１６】
2012003684.tif 000021
【図１７Ａ】
2012003684.tif 000022
【図１７Ｂ】
2012003684.tif 000023
【図１７Ｃ】
2012003684.tif 000024
【図１８】
2012003684.tif 000025
【図１９】
2012003684.tif 000026
【図２０Ａ】
2012003684.tif 000027
【図２０Ｂ】
2012003684.tif 000028
【図２０Ｃ】
2012003684.tif 000029
【図２０Ｄ】
2012003684.tif 000030
【図２１】
2012003684.tif 000031
【図２２】
2012003684.tif 000032
【図２３】
2012003684.tif 000033
【図２４Ａ】
2012003684.tif 000034
【図２４Ｂ】
2012003684.tif 000035
【図２４Ｃ】
2012003684.tif 000036
【図２４Ｄ】
2012003684.tif 000037
【図２５】
2012003684.tif 000038
【図２６】
2012003684.tif 000039
【図２７】
2012003684.tif 000040
【図２８Ａ】
2012003684.tif 000041
【図２８Ｂ】
2012003684.tif 000042
【図２８Ｃ】
2012003684.tif 000043
【図２８Ｄ】
2012003684.tif 000044
【図２８Ｅ】
2012003684.tif 000045
【図２８Ｆ】
2012003684.tif 000046
【図２８Ｇ】
2012003684.tif 000047
【図２９】
2012003684.tif 000048
【図３０】
2012003684.tif 000049
【図３１】
2012003684.tif 000050
【図３２】
2012003684.tif 000051
【図３３】
2012003684.tif 000052
【図３４】
2012003684.tif 000053
【図３５】
2012003684.tif 000054