(57)【要約】【課題】電力制御回路を自動生成することを可能とする回路生成装置を提供する。【解決手段】回路に関する情報をプログラム言語で記述した動作レベル記述情報を基に、合成付帯情報とＲＴレベル回路情報とを生成する動作合成手段（１１１）と、合成付帯情報を基に電力制御回路を生成し、該生成した電力制御回路を、ＲＴレベル回路情報のＲＴレベル回路と接続する電力制御回路生成手段（１１２）と、を有することを特徴とする。【選択図】図１
2008102619.tif 000002
【特許請求の範囲】
【請求項１】
回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、前記回路を構成する構成要素の相互関係を示すＲＴレベル回路情報を生成する動作合成手段と、
前記構成要素を制御するための制御情報と、前記構成要素の処理に必要な制御の流れを示す制御フロー情報と、前記構成要素での処理に必要な時間を示す遅延情報と、の少なくとも１つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、前記構成要素と、を接続する電力制御回路生成手段と、
を有することを特徴とする回路生成システム。
【請求項２】
前記電力制御回路生成手段は、
ゲイティング回路を含む電力制御回路を生成することを特徴とする請求項１記載の回路生成システム。
【請求項３】
前記電力制御回路生成手段は、
ゲイティング回路を生成するゲイティング回路生成手段と、
前記ゲイティング回路に対し、外部端子を生成する外部端子生成手段と、を有することを特徴とする請求項２記載の回路生成システム。
【請求項４】
前記外部端子は、信号を入力する入力端子と、信号を出力する出力端子と、であることを特徴とする請求項３記載の回路生成システム。
【請求項５】
前記ゲイティング回路は、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路であることを特徴とする請求項２または３記載の回路生成システム。
【請求項６】
前記電力制御回路に含む前記ゲイティング回路として、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路を設定する設定手段を有し、
前記電力制御回路生成手段は、
前記設定手段により設定された回路を含む電力制御回路を生成することを特徴とする請求項５記載の回路生成システム。
【請求項７】
前記電力制御回路生成手段は、
動作レベル記述情報を解析し、当該動作レベル記述情報の中に、前記回路の動作中に値を保持しなくてはいけない記述が含まれる場合には、クロックゲイティング回路、または、電源をStandby状態に制御するゲイティング回路を含む電力制御回路を生成することを特徴とする請求項５または６記載の回路生成システム。
【請求項８】
前記電力制御回路生成手段は、
電力制御の異なる複数の電力制御回路を生成することを特徴とする請求項１記載の回路生成システム。
【請求項９】
前記制御情報と、前記制御フロー情報と、前記遅延情報と、の少なくとも１つの情報を設定する設定手段を有し、
前記電力制御回路生成手段は、
前記設定手段により設定された情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続することを特徴とする請求項１記載の回路生成システム。
【請求項１０】
前記電力制御回路生成手段は、
前記動作合成手段が前記制御情報を生成する場合に、前記制御情報を基に、電力制御回路を生成することを特徴とする請求項１または９記載の回路生成システム。
【請求項１１】
前記電力制御回路生成手段は、
前記動作合成手段が前記遅延情報を取得可能な場合に、前記遅延情報を基に、電力制御回路を生成することを特徴とする請求項１または９記載の回路生成システム。
【請求項１２】
回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、前記回路を構成する構成要素の相互関係を示すＲＴレベル回路情報を生成する動作合成工程と、
前記構成要素を制御するための制御情報と、前記構成要素の処理に必要な制御の流れを示す制御フロー情報と、前記構成要素での処理に必要な時間を示す遅延情報と、の少なくとも１つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、前記構成要素と、を接続する電力制御回路生成工程と、情報処理装置が行うことを特徴とする回路生成方法。
【請求項１３】
回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、前記回路を構成する構成要素の相互関係を示すＲＴレベル回路情報を生成する動作合成処理と、
前記構成要素を制御するための制御情報と、前記構成要素の処理に必要な制御の流れを示す制御フロー情報と、前記構成要素での処理に必要な時間を示す遅延情報と、の少なくとも１つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、前記構成要素と、を接続する電力制御回路生成処理と、情報処理装置に実行させることを特徴とする回路生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に回路を生成することが可能な回路生成システム、回路生成方法及び回路生成プログラムに関し、特に、電力制御回路を自動生成することが可能な回路生成システム、回路生成方法及び回路生成プログラムに関するものである。
【背景技術】
【０００２】
近年、半導体プロセス技術の急速な進化に伴い、回路の設計規模が大きくなると共に、回路の複雑さが増してきているのが現状である。このことが、以下に述べる２つの大きな問題点を引き起こしている。
【０００３】
１つ目の問題点は、設計の生産性の問題である。
【０００４】
予め設定された設計期間内に設計者に要求される回路の設計規模と、予め設定された設計期間内に実際に設計者が設計可能な回路の設計規模と、の間に大きな差があり、その差が年々増加しているということである。
【０００５】
しかしながら、上述した設計の生産性の問題は、過去においても存在しており、その問題が顕著になる度毎に、その問題をＥＤＡ（Electronic Design Automation）ツールが解決してきた。
【０００６】
例えば、上述したＥＤＡツールとしては、１９７０年代後半に利用された自動配置配線ツールや、１９８０年代後半から１９９０年代前半に利用された論理合成ツールなどが挙げられる。
【０００７】
現在、上述した設計の生産性の問題が再び顕著になってきており、更なるＥＤＡツールが所望されている。そこで、近年注目を集めているＥＤＡツールとして動作合成ツールがある。
【０００８】
動作合成ツールは、動作レベルの回路記述情報から、レジスタトランスファレベル（ＲＴレベル）の回路記述情報（ＲＴレベル回路情報）を生成するものである。
【０００９】
回路を動作レベルで記述することにより、同じ機能をより少ない記述で表現することが可能となる。また、動作レベルにおける検証は、ＲＴレベルの回路と比較すると格段に高速となる。
【００１０】
このため、動作合成ツールは、１９９０年代後半から使用されるようになってきている。
【００１１】
２つ目の問題点は、消費電力の問題である。
【００１２】
回路の集積度の向上により、その回路で消費される電力が増大する傾向にある。
【００１３】
従来は、回路の動作時に消費される動的な消費電力の削減が最も重要とされてきたが、近年では、微細加工技術の進展により、リーク電流等による静的な消費電力の削減も重要となってきている。
【００１４】
このようなことから、低消費電力設計技術として、クロックゲイティング、パワーゲイティングについて開示された文献がある（例えば、非特許文献１参照）。
【００１５】
また、ＭＴ（Multi Threshold）−ＣＭＯＳについて開示された文献がある（例えば、非特許文献２参照）。
【００１６】
また、ＶＴ（Variable Threshold）−ＣＭＯＳについて開示された文献がある（例えば、非特許文献３参照）。
【００１７】
また、本発明より先に出願された特許文献として、高級言語で記述された回路を高位合成してＲＴＬでの記述に変換するときに自動的にクロックゲーディングが施されている回路記述を生成する技術について開示された文献がある（例えば、特許文献１参照）。
【００１８】
また、各設計工程の設計情報の関係を容易に把握することのできる回路設計支援装置として機能する技術について開示された文献がある（例えば、特許文献２参照）。
【００１９】
また、動作記述からハードウェアを合成する動作合成において、少ない面積の増加でコントロールデータフローグラフ（ＣＤＦＧ）中のループ処理をパイプライン化する技術について開示された文献がある（例えば、特許文献３参照）。
【００２０】
また、無駄に消費される電力を削減する低消費電力回路を生成する技術について開示された文献がある（例えば、特許文献４参照）。
【特許文献１】特開２００６−１５５５３３号公報
【特許文献２】特開２００６−１３９６２４号公報
【特許文献３】特開２００４−３２６４６３号公報
【特許文献４】特開２００２−３６６５９６号公報
【非特許文献１】shinichiro. Mutoh, et at all,‘Design Method of MTCMOS Power Switch for Low-Voltage High-Speed LSIs,’ ASP-DAC, 1999.
【非特許文献２】shinichiro. Mutoh, et at all,‘1-V Power Supply High-Speed Digital Circuit Technology with Multithreshold-Voltage CMOS,’IEEE JSSC, vol. 30, no. 8, pp 847-854, August 1995.
【非特許文献３】Tadahiro.Kuroda, et at all,‘A 0.9V, 150MHz, 10mW, 4mm2,2-D Discurete Cosine Transform Core Processor with Variable Threshold-Voltage(VT) Scheme,’IEEE JSSC, vol. 31, no 11, pp.1770-1779, November 1996.
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、上述した従来提案されている低消費電力設計技術を、ＲＴレベルの回路に適用する場合には、電力制御回路を含めた設計を人手で行う必要がある。このため、不具合が混入する可能性が高く、多大な設計期間や検証期間が必要となる。このため、電力制御回路を自動生成することが可能な技術が所望されている。
【００２２】
なお、上記特許文献には、電力制御回路を自動生成する技術について開示されているが、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することまで言及しているものではない。
【００２３】
本発明は、上記事情に鑑みてなされたものであり、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することを可能とする回路生成システム、回路生成方法及び回路生成プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００２４】
かかる目的を達成するために、本発明は、以下の特徴を有することとする。
【００２５】
本発明にかかる回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、回路を構成する構成要素の相互関係を示すＲＴレベル回路情報を生成する動作合成手段と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも１つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成手段と、を有することを特徴とするものである。
【００２６】
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、ゲイティング回路を含む電力制御回路を生成することを特徴とするものである。
【００２７】
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、ゲイティング回路を生成するゲイティング回路生成手段と、ゲイティング回路に対し、外部端子を生成する外部端子生成手段と、を有することを特徴とするものである。
【００２８】
また、本発明にかかる回路生成システムにおいて、外部端子は、信号を入力する入力端子と、信号を出力する出力端子と、であることを特徴とするものである。
【００２９】
また、本発明にかかる回路生成システムにおいて、ゲイティング回路は、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路であることを特徴とするものである。
【００３０】
また、本発明にかかる回路生成システムは、電力制御回路に含むゲイティング回路として、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路を設定する設定手段を有し、電力制御回路生成手段は、設定手段により設定された回路を含む電力制御回路を生成することを特徴とするものである。
【００３１】
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、動作レベル記述情報を解析し、当該動作レベル記述情報の中に、回路の動作中に値を保持しなくてはいけない記述が含まれる場合には、クロックゲイティング回路、または、電源をStandby状態に制御するゲイティング回路を含む電力制御回路を生成することを特徴とするものである。
【００３２】
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、電力制御の異なる複数の電力制御回路を生成することを特徴とするものである。
【００３３】
また、本発明にかかる回路生成システムは、制御情報と、制御フロー情報と、遅延情報と、の少なくとも１つの情報を設定する設定手段を有し、電力制御回路生成手段は、設定手段により設定された情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続することを特徴とするものである。
【００３４】
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、動作合成手段が制御情報を生成する場合に、制御情報を基に、電力制御回路を生成することを特徴とするものである。
【００３５】
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、動作合成手段が遅延情報を取得可能な場合に、遅延情報を基に、電力制御回路を生成することを特徴とするものである。
【００３６】
また、本発明にかかる回路生成方法は、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、回路を構成する構成要素の相互関係を示すＲＴレベル回路情報を生成する動作合成工程と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも１つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成工程と、情報処理装置が行うことを特徴とするものである。
【００３７】
また、本発明にかかる回路生成プログラムは、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、回路を構成する構成要素の相互関係を示すＲＴレベル回路情報を生成する動作合成処理と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも１つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成処理と、情報処理装置に実行させることを特徴とするものである。
【発明の効果】
【００３８】
本発明によれば、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。
【発明を実施するための最良の形態】
【００３９】
まず、本実施形態における回路生成システムの特徴について説明する。
【００４０】
本実施形態における回路生成システムは、図１に示すように、回路に関する情報を動作レベルで記述した動作レベル記述情報（１２１）を基に、回路を構成する構成要素の相互関係を示すＲＴレベル回路情報（１２２）を生成する動作合成手段（１１１）と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも１つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成手段（１１２）と、を有することを特徴とする。これにより、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。以下、添付図面を参照しながら、本実施形態における回路生成システムについて説明する。
【００４１】
＜回路生成システムのシステム構成＞
まず、図１を参照しながら、本実施形態の回路生成システムの構成について説明する。
【００４２】
本実施形態における回路生成システムは、図１に示すように、入力装置（１００）と、情報処理装置（１１０）と、記憶装置（１２０）と、出力装置（１３０）と、を有して構成される。
【００４３】
入力装置（１００）は、動作レベル記述情報（１２１）等を入力するための装置であり、例えば、キーボード、フロッピィディスク読取装置等が挙げられる。なお、入力装置（１００）は、動作レベル記述情報（１２１）等を取得することが可能な装置であれば、あらゆる装置を入力装置（１００）として適用することが可能である。
【００４４】
なお、動作レベル記述情報（１２１）とは、回路に関する情報を動作レベルで記述したものである。詳細には、回路を構成するレジスタや論理素子等の構成要素を考慮することなく、回路の動作アルゴリズムを表現した情報である。動作レベル記述情報（１２１）は、一般的には、時間の概念を含まないものを指すが、時間の概念を含むことを指すこともある。
【００４５】
なお、動作レベル記述情報（１２１）は、例えば、C言語、C++言語、Java（登録商標）言語、SystemC、SpecC等のプログラミング言語で記述することが可能である。
【００４６】
情報処理装置（１１０）は、情報を処理するための装置であり、プログラム制御により動作する。
【００４７】
記憶装置（１２０）は、情報を格納するための装置である。なお、本実施形態における記憶装置（１２０）は、動作レベル記述情報（１２１）を格納する。また、記憶装置（１２０）は、ＲＴレベル回路情報（１２２）と、合成付帯情報（１２３）と、を格納する。
【００４８】
なお、ＲＴレベル回路情報（１２２）とは、回路を構成する構成要素の相互関係を示す情報である。構成要素としては、レジスタおよびレジスタ間の論理素子等が含まれることになる。ＲＴレベル回路情報（１２２）は、動作合成時に利用される。
【００４９】
また、合成付帯情報（１２３）とは、動作レベル記述情報（１２１）や制約条件を基に、動作合成手段（１１１）が生成する情報である。なお、制約条件とは、回路の性能等を決定するための条件であり、例えば、回路の面積や、周波数や、消費電力値などが挙げられる。
【００５０】
出力装置（１３０）は、情報を出力するための装置であり、例えば、ディスプレイや印刷装置等が挙げられる。なお、出力装置（１３０）は、情報を出力することが可能な装置であれば、あらゆる装置が適用可能である。
【００５１】
なお、本実施形態における回路生成システムを構成する情報処理装置（１１０）は、プログラムに従って所定の処理を実行するＣＰＵ（Central Processing Unit）と、プログラムを格納するためのメモリと、を有して構成される。そして、ＣＰＵがメモリに格納されているプログラムを実行することで、図１に示す動作合成手段（１１１）と、電力制御回路生成手段（１１２）と、を情報処理装置（１１０）上に仮想的に実装することになる。以下、情報処理装置（１１０）上に仮想的に実装する動作合成手段（１１１）と、電力制御回路生成手段（１１２）と、の機能について簡単に説明する。
【００５２】
＜動作合成手段１１１＞
動作合成手段（１１１）は、動作レベル記述情報（１２１）を基に、ＲＴレベル回路情報（１２２）を生成し、該生成したＲＴレベル回路情報（１２２）を記憶装置（１２０）に格納する。
【００５３】
また、動作合成手段（１１１）は、動作レベル記述情報（１２１）を基に、合成付帯情報（１２３）を生成し、該生成した合成付帯情報（１２３）を記憶装置（１２０）に格納する。
【００５４】
なお、合成付帯情報（１２３）には、制御情報と、制御フロー情報と、遅延情報と、が含まれる。
【００５５】
制御情報とは、制御対象となる構成要素の入出力等を制御するための情報である。
【００５６】
また、制御フロー情報とは、構成要素の処理に必要な制御の流れを示す情報である。
【００５７】
また、遅延情報とは、構成要素での処理に必要な時間を示す情報である。
【００５８】
＜電力制御生成手段１１２＞
電力制御回路生成手段（１１２）は、ＲＴレベル回路情報（１２２）と、合成付帯情報（１２３）と、を基に、電力制御回路を付加したＲＴレベルの回路を生成する。
【００５９】
＜回路生成システムの処理動作＞
次に、図２を参照しながら、本実施形態の回路生成システムにおける処理動作について説明する。なお、記憶装置（１２０）には、動作レベル記述情報（１２１）が予め格納されているものと仮定する。
【００６０】
まず、動作合成手段（１１１）は、記憶装置（１２０）に格納されている動作レベル記述情報（１２１）を読み出し、該読み出した動作レベル記述情報（１２１）を基に、合成付帯情報（１２３）を生成し、該生成した合成付帯情報（１２３）を記憶装置（１２０）に格納する（ステップＡ１）。
【００６１】
次に、動作合成手段（１１１）は、動作レベル記述情報（１２１）を基に、ＲＴレベル回路情報（１２２）を生成し、該生成したＲＴレベル回路情報（１２２）を記憶装置（１２０）に格納する（ステップＡ２）。
【００６２】
次に、電力制御回路生成手段（１１２）は、記憶装置（１２０）に格納されているＲＴレベル回路情報（１２２）を読み出し、該読み出したＲＴレベル回路情報（１２２）を基に、そのＲＴレベル回路情報（１２２）の制御対象モジュールに対し、ゲイティング回路を埋め込む（ステップＡ３）。
【００６３】
次に、電力制御回路生成手段（１１２）は、記憶装置（１２０）に格納されている合成付帯情報（１２３）を読み出し、該読み出した合成付帯情報（１２３）に含まれる制御情報と、制御フロー情報と、遅延情報と、の少なくとも１つの情報を基に、ゲイティング制御回路を生成する。
【００６４】
なお、上記生成したゲイティング制御回路により、ＲＴレベル回路情報（１２２）のＲＴレベル回路と、ＲＴレベル回路情報（１２２）の制御対象モジュールに埋め込まれたゲイティング回路と、を接続することになる（ステップＡ４）。以上の一連の処理により、電力制御回路付きのＲＴレベル回路を生成することが可能となる。
【００６５】
これにより、本実施形態における回路生成システムは、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。なお、上述した一連の処理において、制御情報と、制御フロー情報と、遅延情報と、の少なくとも１つの情報を設定し、その設定した情報を基に、ゲイティング制御回路を生成するようにすることも可能である。
【００６６】
なお、動作合成手段（１１１）は、制御フロー情報を常に生成することになるため、電力制御回路を生成する際に制御フロー情報を利用することは可能であるが、制御情報については、動作合成手段（１１１）が制御情報を生成する場合に利用することが可能である。また、遅延情報については、動作合成手段（１１１）が遅延情報を取得可能な場合に利用することが可能である。なお、動作合成手段（１１１）が遅延情報を取得可能な場合としては、回路設計者が遅延情報を設定した場合や、動作合成手段（１１１）がＲＴレベル回路情報（１２２）を生成する際に遅延情報を利用した場合等が挙げられる。
【００６７】
（第１の実施形態）
次に、電力制御回路付きのＲＴレベル回路を生成する際の第１の実施形態について説明する。
【００６８】
第１の実施形態では、制御情報を利用して、電力制御回路付きのＲＴレベル回路を生成する場合について説明する。
【００６９】
図３は、Ｃ言語で記述された動作レベル記述情報（１２１）を示す。
【００７０】
第１の実施形態では、図３に示す関数main()全体が動作合成によりＲＴレベルの回路に合成されることを想定している。
【００７１】
なお、図３に示す関数main()の中には、複数の関数『func1()、func2()、func3()』が記述されている。本実施形態では、各関数『func1()、func2()、func3()』の実行に必要なサイクル数は未知とし、各関数『func1()、func2()、func3()』を電力制御の処理単位とした場合について説明する。
【００７２】
図４は、動作合成手段（１１１）が図３に示す動作レベル記述情報（１２１）を基に生成可能な回路のブロック図を示す。
【００７３】
なお、図４に示す回路の実現方法は、動作合成手段（１１１）による実現方法の一例であり、動作合成手段（１１１）は、動作レベル記述情報（１２１）に含まれる各関数『func1()、func2()、func3()』を、それぞれ１個の制御対象のモジュールとして実現している。また、動作合成手段（１１１）は、各モジュール『func1、func2、func3』に対する動作の開始を示す開始信号（start信号）と、動作の終了を示す終了信号（end信号）と、を生成した場合を示している。なお、図４に示す開始信号（start信号）と、終了信号（end信号）と、が制御情報に該当する。
【００７４】
次に、図４に示す回路の動作について説明する。
【００７５】
まず、制御部（controller）は、制御対象となるモジュール（func1、func2、func3）を制御するための開始信号（start信号）を生成し、該生成した開始信号（start信号）を、データパス部（data−path）内に存在するモジュール（func1、func2、func3）に送信する。
【００７６】
データパス部（data−path）内に存在するモジュール（func1、func2、func3）は、制御部（controller）が送信した開始信号（start信号）を受け取り、動作を開始する。そして、モジュール（func1、func2、func3）は、動作が終了した場合に、終了信号（end信号）を制御部（controller）に送信する。
【００７７】
制御部（controller）は、モジュール（func1、func2、func3）が送信した終了信号（end信号）を受け取った場合に、モジュール（func1、func2、func3）での動作の終了を検知し、次の状態に遷移する。
【００７８】
なお、ＲＴＬ回路は、動作レベル記述情報（１２１）の回路の動作を複数の状態に分割して実現することになる。
【００７９】
例えば、図４に示す回路を用いて説明すると、制御部（controller）は、図３に示す動作レベル記述情報（１２１）の回路の動作を複数の状態（func1、func2、func3のそれぞれの実行状態）に分割して管理する。そして、制御部（controller）は、制御部（controller）に入力されるクロック（ｃｌｋ）に同期して、１つの状態（func1実行状態）に対する制御信号（start信号）を生成し、該生成した制御信号（start信号）をデータパス部（data−path）に送信する。
【００８０】
データパス部（data−path）は、制御部（controller）から送信された制御信号（start信号）を基に、１つの状態（func1実行状態）の動作を実施し、データパス部（data−path）は、その１つの状態（func1実行状態）の動作が終了した場合に、制御信号（end信号）を制御部（controller）に送信する。
【００８１】
制御部（controller）は、データパス部（data−path）から送信された制御信号（end信号）を受け取った場合に、状態（func1実行状態）の動作の終了を検知し、次の状態（func2実行状態）に遷移する。そして、制御部（controller）は、再び、制御部（controller）に入力されるクロック（ｃｌｋ）に同期して、１つの状態（func2実行状態）に対する制御信号（start信号）を生成し、その生成した制御信号（start信号）をデータパス部（data−path）に送信する。
【００８２】
このように、制御部（controller）は、動作レベル記述情報（１２１）の回路の動作を複数の状態（func1、func2、func3のそれぞれの実行状態）に分割して管理し、制御部（controller）は、データパス部（data−path）から送信された制御信号（end信号）を受け取った場合に、複数の状態（func1、func2、func3のそれぞれの実行状態）を順番に遷移する。なお、制御部（controller）は、データパス部（data−path）から制御信号（end信号）を受け取るまでは、他の状態（例えば、func1実行状態からfunc2実行状態）に遷移せず、同じ状態（例えば、func1実行状態）を繰り返し実行する。
【００８３】
図５は、本実施形態の回路生成システムにより生成される回路のブロック図である。図４との違いは、制御対象となる各モジュール（func1、func2、func3）に対し、電力制御回路が付加された点である。
【００８４】
なお、電力制御回路とは、図５に示すゲイティング回路（p.m.c）と、そのゲイティング回路（p.m.c）との接続に必要な周辺回路を含んだ回路である。なお、周辺回路は、図５には図示されていないが、図５に示すゲイティング回路（p.m.c）のon/off端子と接続するための配線等を含めた回路である。
【００８５】
本実施形態における電力制御回路生成手段（１１２）は、以下の２つの処理により、図５に示す電力制御回路を生成することになる。
【００８６】
まず、電力制御回路生成手段（１１２）は、第１の処理として、制御対象の各モジュール（func1、func2、func3）に対し、ゲイティング回路（p.m.c）を生成する。
【００８７】
次に、電力制御回路生成手段（１１２）は、第２の処理として、ゲイティング制御回路を生成し、第１の処理により生成したゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、の接続を行うことになる。
【００８８】
＜第１の処理＞
まず、第１の処理について説明する。
【００８９】
第１の処理は、電力制御回路生成手段（１１２）が、ゲイティング回路（p.m.c）を生成する処理である。
【００９０】
なお、ゲイティング回路（p.m.c）とは、電力を制御するための制御信号を生成する回路である。なお、ゲイティング回路（p.m.c）が生成した制御信号は、制御対象の各モジュール（func1、func2、func3）内の構成要素の制御端子と接続される。
【００９１】
例えば、クロックゲイティングの場合には、ゲイティング回路（p.m.c）において生成した制御信号は、制御対象の各モジュール（func1、func2、func3）内の構成要素のクロック端子と接続される。
【００９２】
次に、電力制御回路生成手段（１１２）は、ゲイティング回路（p.m.c）に対し、外部端子を生成する。これにより、外部端子を介してゲイティング回路（p.m.c）に信号を入力することが可能となり、ゲイティング回路（p.m.c）は、制御信号を生成することが可能となる。
【００９３】
例えば、図５では、電力制御回路生成手段（１１２）は、ゲイティング回路（p.m.c）の外部端子として、on端子と、off端子と、を生成している。
【００９４】
なお、図６は、ゲイティング回路（p.m.c）の詳細図であり、クロックゲイティング回路の例を示している。
【００９５】
電力制御回路生成手段（１１２）は、外部端子であるon/off端子の信号を基にクロックゲイティング回路の制御信号（en）を生成し、該生成した制御信号（en）を、クロックゲイティング回路（clock gating）と接続する。
【００９６】
また、クロックゲイティング回路（clock gating）の出力信号を制御対象モジュール（logic circuit）内の構成要素のクロック端子と接続する。この図６に示すような回路により、モジュール（func1、func2、func3）単位のクロックゲイティング回路を実現することが可能となる。
【００９７】
なお、図７は、パワーゲイティング回路の例を示している。
【００９８】
電力制御回路生成手段（１１２）は、上述した図６に示すクロックゲイティング回路と同様に、外部端子であるon/off端子の信号を基にパワーゲイティング回路の制御信号（en）を生成し、該生成した制御信号（en）を、パワーゲイティング回路（power gating）のパワースイッチ（power switch）と接続する。
【００９９】
なお、パワースイッチ（power switch）とは、例えば、グランドと仮想グランドとの間に配置されるトランジスタのゲート端子に相当するものである。
【０１００】
このように、図５に示すゲイティング回路（p.m.c）は、図６、図７に示すような様々な電力マネジメント回路で置き換えることが可能であり、様々な電力マネジメント技術をモジュール単位で実現することが可能となる。
【０１０１】
＜第２の処理＞
次に、第２の処理について説明する。
【０１０２】
第２の処理は、電力制御回路生成手段（１１２）が、図５に示すゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、を接続する処理である。
【０１０３】
なお、ゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、の接続の際には、動作合成手段（１１１）が生成した各モジュール（func1、func2、func3）に対する制御情報（開始信号、終了信号）を利用する。
【０１０４】
本実施形態では、動作合成手段（１１１）は、ＲＴレベル回路情報（１２２）のＲＴレベル回路として、各モジュール（func1、func2、func3）内に、開始信号の入力を待ち受ける信号待受回路と、終了信号を出力する信号出力回路と、を生成する。また、信号の入出力端子として開始信号端子と、終了信号端子と、を生成することになる。そして、電力制御回路生成手段（１１２）は、動作合成手段（１１１）が生成した各モジュール（func1、func2、func3）に対する制御情報（開始信号、終了信号）を利用して、ゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、の接続を行うことになる。
【０１０５】
本実施形態における電力制御回路生成手段（１１２）は、図５に示すように、各モジュール（func1、func2、func3）に対して生成した開始信号（start信号）をゲイティング回路（p.m.c）のon端子に接続し、また、終了信号（end信号）をゲイティング回路（p.m.c）のoff端子に接続することになる。
【０１０６】
これにより、電力制御回路生成手段（１１２）は、動作合成手段（１１１）が各モジュール（func1、func2、func3）に対して生成した制御情報（開始信号、終了信号）を利用し、図５に示すゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、を接続することが可能となる。
【０１０７】
このように、第１の実施形態における回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報（１２１）を基に、回路を構成する制御対象のモジュールの相互関係を示すＲＴレベル回路情報（１２２）を生成する。そして、制御対象のモジュールを制御するための制御情報を基に、電力制御回路を生成し、該生成した電力制御回路と、動作レベル記述情報（１２１）に含まれる制御対象のモジュールと、を接続することで、電力制御回路を付加したＲＴレベルの回路を生成することが可能となる。
【０１０８】
これにより、動作レベル記述情報（１２１）に含まれる回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。
【０１０９】
例えば、動作合成手段（１１１）が、回路を構成する制御対象のモジュールとなるfunc2とfunc3とが同一状態で実行されるように実行のタイミングを決定した場合を考えると、従来提案されている方法（例えば、特許文献１等）では、回路構成要素func2、func3の実行条件にかかわらず、それらの実行タイミングの状態の場合に動作するような回路が実現されるのに対し、第１の実施形態における回路生成システムは、回路構成要素func2、func3単位で電力を制御可能な回路を実現することが可能となる。これにより、より精度の高い制御が可能となり、回路全体の消費電力を、より削減することが可能となる。
【０１１０】
（第２の実施形態）
次に、第２の実施形態について説明する。
【０１１１】
第２の実施形態は、制御フロー情報と、遅延情報と、を利用して、電力制御回路付きのＲＴレベル回路を生成する場合について説明する。なお、第２の実施形態においても、第１の実施形態と同様に、関数モジュールを電力制御の対象とした場合について説明する。
【０１１２】
図８は、第２の実施形態で適用する動作レベル記述情報（１２１）を示す。
【０１１３】
第２の実施形態では、関数main()全体が動作合成によりＲＴレベルの回路に合成されることを想定している。
【０１１４】
なお、図８に示す動作レベル記述情報（１２１）に含まれるwait(c)は、ｃに値が入力されるまで待機することを示す。
【０１１５】
また、図８に示す動作レベル記述情報（１２１）は、入力データｃが入力されるのを待ち、入力信号ａの値に従って、func4()、または、func5()が実行され、そのfunc4()、または、func5()が出力する結果を、出力端子out０より出力する動作を示している。なお、本実施形態では、動作レベル記述情報（１２１）に含まれるこれらの一連の制御動作が制御フロー情報となる。
【０１１６】
また、func4()と、func5()と、は共に、変数ｖを入力としており、func4()は、実行に1clockを要するものとし、func5()は、実行に2clockを要するものとしている。なお、本実施形態では、動作レベル記述情報（１２１）に含まれる制御対象モジュール（func4、func5）の実行に要する時間が遅延情報となる。
【０１１７】
図９は、動作合成手段（１１１）が図８に示す動作レベル記述情報（１２１）を基に生成可能な回路のブロック図を示す。
【０１１８】
なお、図９に示される回路の実現方法は、動作合成手段（１１１）による実現方法の一例であり、動作合成手段（１１１）は、func4()、func5()を、それぞれ１個のモジュールとして実現している。
【０１１９】
モジュール（func4、func5）は、入力となる変数ｖが格納されているレジスタと接続されている。
【０１２０】
また、モジュール（func4、func5）の出力信号は、マルチプレクサと接続されており、マルチプレクサの制御信号は、入力信号ｃと、入力信号ａと入力信号０との比較結果の信号と、が接続されている。
【０１２１】
図１０は、本実施形態における回路生成システムにより生成された回路のブロック図である。
【０１２２】
本実施形態における回路生成システムは、動作合成手段（１１１）が図８に示す動作レベル記述情報（１２１）を基に生成するＲＴレベル回路に対し、電力制御回路を付加することになる。
【０１２３】
なお、電力制御回路生成手段（１１２）は、上述した第１の実施形態と同様に、各モジュール（func4、func5）に対するゲイティング回路（p.m.c）を生成する。
【０１２４】
第２の実施形態において第１の実施形態と異なる点は、ゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、の接続方法である。
【０１２５】
第２の実施形態では、電力制御回路生成手段（１１２）は、図８に示す動作レベル記述情報（１２１）の制御フロー情報を利用し、ゲイティング回路（p.m.c）への制御信号を生成する。
【０１２６】
モジュール（func4）がアクティブになる条件は、入力信号ｃが入力され、かつ、入力信号ａと入力信号０との大小関係がａ＞０となる場合である。
【０１２７】
第２の実施形態では、上述した関係を利用し、電力制御回路生成手段（１１２）は、ゲイティング回路（p.m.c）のon端子に、入力信号ｃと、比較器の出力値と、の論理演算の出力端子を接続する。
【０１２８】
例えば、モジュール（func4）に対するゲイティング回路（p.m.c）のon端子には、入力信号ｃと、比較器の出力値と、の論理積の出力端子を接続している。
【０１２９】
また、モジュール（func5）に対するゲイティング回路（p.m.c）のon端子には、入力信号ｃと、比較器の出力値を反転した値と、の論理積の出力端子を接続している。
【０１３０】
また、電力制御回路生成手段（１１２）は、図８に示す動作レベル記述情報（１２１）の制御対象モジュールの遅延情報を利用し、ゲイティング回路（p.m.c）のoff端子への信号を生成する。
【０１３１】
制御対象モジュールの遅延情報が既知の場合には、on信号がアクティブになった後、モジュールの遅延時間経過後に、off信号をアクティブにすると、電力効率が良好になる。
【０１３２】
第２の実施形態では、電力制御回路生成手段（１１２）は、図８に示す動作レベル記述情報（１２１）の制御対象モジュールの遅延情報を利用し、ゲイティング回路（p.m.c）のon端子に接続する出力線に対し、制御対象モジュールの遅延時間分のレジスタを挿入することで、ゲイティング回路（p.m.c）のoff端子への信号を生成する。
【０１３３】
例えば、モジュール（func4）に対するゲイティング回路（p.m.c）のoff端子への接続の際には、制御対象モジュール（func4）の遅延情報（1clock）を利用し、レジスタを１つ挿入している。
【０１３４】
また、モジュール（func5）に対するゲイティング回路（p.m.c）のoff端子への接続の際には、制御対象モジュール（func5）の遅延情報（2clock）を利用し、レジスタを２つ挿入している。
【０１３５】
このように、第２の実施形態における回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報（１２１）を基に、回路を構成する制御対象のモジュールの相互関係を示すＲＴレベル回路情報（１２２）を生成する。そして、制御対象のモジュールの処理に必要な制御の流れを示す制御フロー情報と、制御対象のモジュールでの処理に必要な時間を示す遅延情報と、を基に、電力制御回路を生成し、該生成した電力制御回路と、動作レベル記述情報（１２１）に含まれる制御対象のモジュールと、を接続することで、電力制御回路を付加したＲＴレベルの回路を生成することが可能となる。
【０１３６】
これにより、動作レベル記述情報（１２１）に含まれる回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。
【０１３７】
例えば、第２の実施形態では、制御フロー情報を基に電力制御回路を生成しているため、制御対象のモジュールfunc4、func5の実行が必要な場合には、必ず制御対象のモジュールfunc4、func5が実行されるような制御を実現することが可能となり、制御対象のモジュールfunc4、func5の実行が必要無い場合には、電力制御（クロックゲイティング、パワーゲイティング）を必ず行うことになる。これにより、従来提案されている方法（例えば、特許文献１等）では、回路構成要素func4、func5の実行が必要無い場合でも回路として動作する可能性があるのに対し、第２の実施形態における回路生成システムは、回路構成要素func4、func5に対する制御情報を利用しない場合でも、精度の高い電力制御が可能となり、より電力消費の少ない回路を実現することが可能となる。
【０１３８】
（第３の実施形態）
次に、第３の実施形態について説明する。
【０１３９】
第３の実施形態は、制御情報と、制御フロー情報と、を利用して、電力制御回路付きのＲＴレベル回路を生成する場合について説明する。なお、第３の実施形態においても、第１の実施形態と同様に、関数モジュールを電力制御の対象とした場合について説明する。
【０１４０】
なお、第３の実施形態で適用する動作レベル記述情報（１２１）は、第２の実施形態で適用した図８に示す動作レベル記述情報（１２１）を適用する。
【０１４１】
まず、動作合成手段（１１１）は、上述した第２の実施形態と同様に、図８に示す動作レベル記述情報（１２１）を基に、図９に示す回路を生成する。
【０１４２】
次に、電力制御回路生成手段（１１２）は、上述した第２の実施形態と同様に、各モジュール（func4、func5）に対するゲイティング回路（p.m.c）を生成する。
【０１４３】
次に、電力制御回路生成手段（１１２）は、制御情報と、制御フロー情報と、を利用して、図１１に示すように、ゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、を接続する。
【０１４４】
このとき、電力制御回路生成手段（１１２）は、ゲイティング回路（p.m.c）のon端子には、第２の実施形態で説明した制御フロー情報を用いて生成した信号を接続する。
【０１４５】
また、電力制御回路生成手段（１１２）は、ゲイティング回路（p.m.c）のoff端子には、第１の実施形態で説明した制御信号（end信号）を接続する。
【０１４６】
このように、第３の実施形態における回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報（１２１）を基に、回路を構成する制御対象のモジュールの相互関係を示すＲＴレベル回路情報（１２２）を生成する。そして、制御対象のモジュールを制御するための制御情報と、制御対象のモジュールの処理に必要な制御の流れを示す制御フロー情報と、を基に、電力制御回路を生成し、該生成した電力制御回路と、制御対象のモジュールと、を接続することで、電力制御回路を付加したＲＴレベルの回路を生成することが可能となる。
【０１４７】
例えば、上述した第１〜第３の実施形態では、電力制御回路を生成する際に、合成付帯情報が異なる場合には、異なるＲＴレベル回路を生成することになる。これにより、本実施形態の回路生成システムを利用することで、回路設計者は、要求性能に適したＲＬレベル回路を実現することが可能となる。
【０１４８】
なお、上述した実施形態では、ゲイティング回路（p.m.c）のon端子の接続方法は、第２の実施形態の方法を適用し、ゲイティング回路（p.m.c）のoff端子の接続方法は、第１の実施形態の方法を適用することにしたが、ゲイティング回路（p.m.c）のon端子の接続方法は、第１の実施形態の方法を適用し、ゲイティング回路（p.m.c）のoff端子の接続方法は、第２の実施形態の方法を適用することも可能である。
【０１４９】
（第４の実施形態）
次に、第４の実施形態について説明する。
【０１５０】
第４の実施形態では、動作レベル記述情報（１２１）を基に、同一の動作レベル記述情報（１２１）内で電力制御の異なる複数の電力制御回路を生成し、その電力制御の異なる複数の電力制御回路付きのＲＴレベル回路を生成する場合について説明する。なお、第４の実施形態においても、第１の実施形態と同様に、関数モジュールを電力制御の対象とした場合について説明する。
【０１５１】
図１２は、第４の実施形態で適用する動作レベル記述情報（１２１）を示す。
【０１５２】
第４の実施形態では、関数main全体が動作合成によりＲＴレベルの回路に合成されることを想定している。
【０１５３】
なお、図１２に示す関数func_staticは、関数の内部にstatic変数sへのアクセスを含む関数である。また、関数func_no_staticは、関数の内部にstatic変数を含まない関数である。
【０１５４】
本実施形態では、関数（func_static、func_no_static）を電力制御の処理対象とした場合について説明する。
【０１５５】
なお、static変数を含む関数を電力制御の対象とする場合には、static変数の値を保持する必要がある。このため、図７に示すパワーゲイティング回路（power gating）のような電源を遮断するような電力制御を行うことはできない。この場合は、電源を遮断する代わりに、電源を低く設定するstandby状態を実現することになる。なお、standby状態とは、電源の値を、基準電源となる値と電源遮断となる値との間に維持させる状態である。
【０１５６】
まず、動作合成手段（１１１）は、第１の実施形態と同様に、図１２に示す動作レベル記述情報（１２１）を基に、図１３に示す回路を生成する。
【０１５７】
次に、電力制御回路生成手段（１１２）は、第１の実施形態と同様に、各モジュール（func_static、func_no_static）に対するゲイティング回路（p.m.c）を生成する。
【０１５８】
次に、電力制御回路生成手段（１１２）は、第１の実施形態と同様に、制御情報を利用して、図１４に示すように、ゲイティング回路（p.m.c）と、動作合成手段（１１１）が生成したＲＴレベル回路情報（１２２）のＲＴレベル回路と、を接続する。
【０１５９】
なお、Standby状態を実現するゲイティング回路（p.m.c）を図１５に示す。
【０１６０】
図１５に示すStandby状態を実現するゲイティング回路（p.m.c）は、図７に示すパワーゲイティング回路（power gating）と同様に実現することが可能であり、電力制御回路生成手段（１１２）は、上述した図７に示すパワーゲイティング回路（power gating）回路と同様に、外部端子であるon/off端子の信号を基にStandby状態を実現する回路（Standby）の制御信号（en）を生成し、該生成した制御信号（en）を、Standby状態を実現する回路（Standby）のスイッチ（switch）と接続する。そして、仮想電源電圧を適切に設定し、standby状態を実現することになる。
【０１６１】
このように、Standby状態を実現するゲイティング回路（p.m.c）の回路構成は、図７に示すパワーゲイティング回路（power gating）と同様の図１５に示す回路構成を実現し、仮想電源電圧を適切に設定することでstandby状態を実現することが可能となる。
【０１６２】
なお、Static変数を含まない関数func_no_staticの電力制御回路は、図７に示すパワーゲイティング回路（power gating）のような電源を遮断するような電力制御を行うことが可能である。このため、上述した実施形態の方法を適用し、図７に示すパワーゲイティング回路（power gating）を含む電力制御回路を実現することが可能となる。
【０１６３】
このように、第４の実施形態は、動作レベル記述情報（１２１）を基に、同一の動作レベル記述情報（１２１）内で電力制御の異なる複数の電力制御回路を生成し、その電力制御の異なる複数の電力制御回路付きのＲＴレベル回路を生成することが可能となる。
【０１６４】
例えば、動作レベル記述情報（１２１）の中に、回路の動作中に値を保持しておかなくてはいけない記述（例えば、静的変数やメモリなど）が含まれる場合には、Standby状態の実現が可能となり、より電力消費の少ないＲＴレベル回路を実現することが可能となる。
【０１６５】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１６６】
例えば、上述した実施形態では、動作レベル記述情報（１２１）に含まれる関数を、電力制御の対象として説明したが、動作合成手段（１１１）に合成させるプロセスの単位を対象としたり、加算器や減算器といった演算器の単位を対象としたりすることも可能である。即ち、電力制御の対象となるものは、特に限定せず、あらゆるものを電力制御の対象の構成要素とすることが可能である。
【０１６７】
また、上述した実施形態において、電力制御回路に含むゲイティング回路として、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路を設定し、該設定した回路を含む電力制御回路を生成するように構築することも可能である。なお、何れかの回路を設定する方法としては、回路設計者が任意に設定することが可能である。但し、動作レベル記述情報（１２１）の中に、回路の動作中に値を保持しなくてはいけない記述（例えば、静的変数やメモリなど）が含まれる場合には、パワーゲイティング回路を含む電力制御回路を生成することができないことになる。
【０１６８】
このため、上述した実施形態において、動作レベル記述情報（１２１）を解析し、当該動作レベル記述情報（１２１）の中に、回路の動作中に値を保持しなくてはいけない記述（例えば、静的変数やメモリなど）が含まれていると判断した場合には、クロックゲイティング回路、または、電源をStandby状態に制御するゲイティング回路を含む電力制御回路を生成するように構築することが好ましい。
【０１６９】
また、上述した実施形態において、on/off/stanbyのように端子の数を拡張し、電力制御回路の取りうる状態を拡張することも可能である。
【０１７０】
また、上述した実施形態の回路生成システムにおける制御動作は、ハード構成や、コンピュータプログラム等のソフトウェアにより実行することが可能であり、また、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記録媒体、または、半導体等の記録媒体に記録し、その記録媒体から上記プログラムを、上述した回路生成システムを構成する情報処理装置に読み込ませることで、上述した制御動作を、情報処理装置において実行させることも可能である。また、所定のネットワークを介して接続されている外部機器から上記プログラムを、上述した情報処理装置に読み込ませることで、上述した制御動作を、情報処理装置において実行させることも可能である。
【産業上の利用可能性】
【０１７１】
本発明にかかる回路生成システム、回路生成方法及び回路生成プログラムは、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に回路を生成することが可能な装置に適用可能である。
【図面の簡単な説明】
【０１７２】
【図１】本実施形態の回路生成システムの内部構成を示すブロック図である。
【図２】回路生成システムが回路生成を行う際に行う一連の処理動作を示すフロチャートである。
【図３】本実施形態の回路生成システムで使用する動作レベル記述情報（１２１）を示す図である。
【図４】回路生成システムが図３に示す動作レベル記述情報（１２１）を基に回路生成を行う第１の実施形態を説明するための第１の図である。
【図５】回路生成システムが図３に示す動作レベル記述情報（１２１）を基に回路生成を行う第１の実施形態を説明するための第２の図である。
【図６】回路生成システムが図３に示す動作レベル記述情報（１２１）を基に回路生成を行う第１の実施形態を説明するための第３の図であり、クロックゲイティング回路の例を示した図である。
【図７】回路生成システムが図３に示す動作レベル記述情報（１２１）を基に回路生成を行う第１の実施形態を説明するための第４の図であり、パワーゲイティング回路の例を示した図である。
【図８】第２の実施形態の回路生成システムで使用する動作レベル記述情報（１２１）を示す図である。
【図９】回路生成システムが図８に示す動作レベル記述情報（１２１）を基に回路生成を行う第２の実施形態を説明するための第１の図である。
【図１０】回路生成システムが図８に示す動作レベル記述情報（１２１）を基に回路生成を行う第２の実施形態を説明するための第２の図である。
【図１１】回路生成システムが図８に示す動作レベル記述情報（１２１）を基に回路生成を行う第３の実施形態を説明するための図である。
【図１２】第４の実施形態の回路生成システムで使用する動作レベル記述情報（１２１）を示す図である。
【図１３】回路生成システムが図１２に示す動作レベル記述情報（１２１）を基に回路生成を行う第４の実施形態を説明するための第１の図である。
【図１４】回路生成システムが図１２に示す動作レベル記述情報（１２１）を基に回路生成を行う第４の実施形態を説明するための第２の図である。
【図１５】回路生成システムが図１２に示す動作レベル記述情報（１２１）を基に回路生成を行う第４の実施形態を説明するための第３の図であり、電源をStandby状態に制御するゲイティング回路（p.m.c）の例を示した図である。
【符号の説明】
【０１７３】
１００    入力装置
１１０    情報処理装置
１１１    動作合成手段
１１２    電力制御回路生成手段
１２０    記憶装置
１２１    動作レベル記述情報
１２２    ＲＴレベル回路情報
１２３    合成付帯情報（制御情報、制御フロー情報、遅延情報等）
１３０    出力装置
【図１】
2008102619.tif 000003
【図２】
2008102619.tif 000004
【図３】
2008102619.tif 000005
【図４】
2008102619.tif 000006
【図５】
2008102619.tif 000007
【図６】
2008102619.tif 000008
【図７】
2008102619.tif 000009
【図８】
2008102619.tif 000010
【図９】
2008102619.tif 000011
【図１０】
2008102619.tif 000012
【図１１】
2008102619.tif 000013
【図１２】
2008102619.tif 000014
【図１３】
2008102619.tif 000015
【図１４】
2008102619.tif 000016
【図１５】
2008102619.tif 000017