JP2008102619A - 回路生成システム、回路生成方法及び回路生成プログラム - Google Patents

回路生成システム、回路生成方法及び回路生成プログラム Download PDF

Info

Publication number
JP2008102619A
JP2008102619A JP2006282810A JP2006282810A JP2008102619A JP 2008102619 A JP2008102619 A JP 2008102619A JP 2006282810 A JP2006282810 A JP 2006282810A JP 2006282810 A JP2006282810 A JP 2006282810A JP 2008102619 A JP2008102619 A JP 2008102619A
Authority
JP
Japan
Prior art keywords
circuit
information
power control
control circuit
gating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006282810A
Other languages
English (en)
Other versions
JP5023652B2 (ja
Inventor
Tetsuya Aoyama
哲也 青山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006282810A priority Critical patent/JP5023652B2/ja
Priority to US11/907,712 priority patent/US8091053B2/en
Publication of JP2008102619A publication Critical patent/JP2008102619A/ja
Application granted granted Critical
Publication of JP5023652B2 publication Critical patent/JP5023652B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】電力制御回路を自動生成することを可能とする回路生成装置を提供する。
【解決手段】回路に関する情報をプログラム言語で記述した動作レベル記述情報を基に、合成付帯情報とRTレベル回路情報とを生成する動作合成手段(111)と、合成付帯情報を基に電力制御回路を生成し、該生成した電力制御回路を、RTレベル回路情報のRTレベル回路と接続する電力制御回路生成手段(112)と、を有することを特徴とする。
【選択図】図1

Description

本発明は、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に回路を生成することが可能な回路生成システム、回路生成方法及び回路生成プログラムに関し、特に、電力制御回路を自動生成することが可能な回路生成システム、回路生成方法及び回路生成プログラムに関するものである。
近年、半導体プロセス技術の急速な進化に伴い、回路の設計規模が大きくなると共に、回路の複雑さが増してきているのが現状である。このことが、以下に述べる2つの大きな問題点を引き起こしている。
1つ目の問題点は、設計の生産性の問題である。
予め設定された設計期間内に設計者に要求される回路の設計規模と、予め設定された設計期間内に実際に設計者が設計可能な回路の設計規模と、の間に大きな差があり、その差が年々増加しているということである。
しかしながら、上述した設計の生産性の問題は、過去においても存在しており、その問題が顕著になる度毎に、その問題をEDA(Electronic Design Automation)ツールが解決してきた。
例えば、上述したEDAツールとしては、1970年代後半に利用された自動配置配線ツールや、1980年代後半から1990年代前半に利用された論理合成ツールなどが挙げられる。
現在、上述した設計の生産性の問題が再び顕著になってきており、更なるEDAツールが所望されている。そこで、近年注目を集めているEDAツールとして動作合成ツールがある。
動作合成ツールは、動作レベルの回路記述情報から、レジスタトランスファレベル(RTレベル)の回路記述情報(RTレベル回路情報)を生成するものである。
回路を動作レベルで記述することにより、同じ機能をより少ない記述で表現することが可能となる。また、動作レベルにおける検証は、RTレベルの回路と比較すると格段に高速となる。
このため、動作合成ツールは、1990年代後半から使用されるようになってきている。
2つ目の問題点は、消費電力の問題である。
回路の集積度の向上により、その回路で消費される電力が増大する傾向にある。
従来は、回路の動作時に消費される動的な消費電力の削減が最も重要とされてきたが、近年では、微細加工技術の進展により、リーク電流等による静的な消費電力の削減も重要となってきている。
このようなことから、低消費電力設計技術として、クロックゲイティング、パワーゲイティングについて開示された文献がある(例えば、非特許文献1参照)。
また、MT(Multi Threshold)−CMOSについて開示された文献がある(例えば、非特許文献2参照)。
また、VT(Variable Threshold)−CMOSについて開示された文献がある(例えば、非特許文献3参照)。
また、本発明より先に出願された特許文献として、高級言語で記述された回路を高位合成してRTLでの記述に変換するときに自動的にクロックゲーディングが施されている回路記述を生成する技術について開示された文献がある(例えば、特許文献1参照)。
また、各設計工程の設計情報の関係を容易に把握することのできる回路設計支援装置として機能する技術について開示された文献がある(例えば、特許文献2参照)。
また、動作記述からハードウェアを合成する動作合成において、少ない面積の増加でコントロールデータフローグラフ(CDFG)中のループ処理をパイプライン化する技術について開示された文献がある(例えば、特許文献3参照)。
また、無駄に消費される電力を削減する低消費電力回路を生成する技術について開示された文献がある(例えば、特許文献4参照)。
特開2006−155533号公報 特開2006−139624号公報 特開2004−326463号公報 特開2002−366596号公報 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.
しかしながら、上述した従来提案されている低消費電力設計技術を、RTレベルの回路に適用する場合には、電力制御回路を含めた設計を人手で行う必要がある。このため、不具合が混入する可能性が高く、多大な設計期間や検証期間が必要となる。このため、電力制御回路を自動生成することが可能な技術が所望されている。
なお、上記特許文献には、電力制御回路を自動生成する技術について開示されているが、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することまで言及しているものではない。
本発明は、上記事情に鑑みてなされたものであり、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することを可能とする回路生成システム、回路生成方法及び回路生成プログラムを提供することを目的とするものである。
かかる目的を達成するために、本発明は、以下の特徴を有することとする。
本発明にかかる回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、回路を構成する構成要素の相互関係を示すRTレベル回路情報を生成する動作合成手段と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも1つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成手段と、を有することを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、ゲイティング回路を含む電力制御回路を生成することを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、ゲイティング回路を生成するゲイティング回路生成手段と、ゲイティング回路に対し、外部端子を生成する外部端子生成手段と、を有することを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、外部端子は、信号を入力する入力端子と、信号を出力する出力端子と、であることを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、ゲイティング回路は、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路であることを特徴とするものである。
また、本発明にかかる回路生成システムは、電力制御回路に含むゲイティング回路として、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路を設定する設定手段を有し、電力制御回路生成手段は、設定手段により設定された回路を含む電力制御回路を生成することを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、動作レベル記述情報を解析し、当該動作レベル記述情報の中に、回路の動作中に値を保持しなくてはいけない記述が含まれる場合には、クロックゲイティング回路、または、電源をStandby状態に制御するゲイティング回路を含む電力制御回路を生成することを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、電力制御の異なる複数の電力制御回路を生成することを特徴とするものである。
また、本発明にかかる回路生成システムは、制御情報と、制御フロー情報と、遅延情報と、の少なくとも1つの情報を設定する設定手段を有し、電力制御回路生成手段は、設定手段により設定された情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続することを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、動作合成手段が制御情報を生成する場合に、制御情報を基に、電力制御回路を生成することを特徴とするものである。
また、本発明にかかる回路生成システムにおいて、電力制御回路生成手段は、動作合成手段が遅延情報を取得可能な場合に、遅延情報を基に、電力制御回路を生成することを特徴とするものである。
また、本発明にかかる回路生成方法は、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、回路を構成する構成要素の相互関係を示すRTレベル回路情報を生成する動作合成工程と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも1つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成工程と、情報処理装置が行うことを特徴とするものである。
また、本発明にかかる回路生成プログラムは、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、回路を構成する構成要素の相互関係を示すRTレベル回路情報を生成する動作合成処理と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも1つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成処理と、情報処理装置に実行させることを特徴とするものである。
本発明によれば、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。
まず、本実施形態における回路生成システムの特徴について説明する。
本実施形態における回路生成システムは、図1に示すように、回路に関する情報を動作レベルで記述した動作レベル記述情報(121)を基に、回路を構成する構成要素の相互関係を示すRTレベル回路情報(122)を生成する動作合成手段(111)と、構成要素を制御するための制御情報と、構成要素の処理に必要な制御の流れを示す制御フロー情報と、構成要素での処理に必要な時間を示す遅延情報と、の少なくとも1つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続する電力制御回路生成手段(112)と、を有することを特徴とする。これにより、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。以下、添付図面を参照しながら、本実施形態における回路生成システムについて説明する。
<回路生成システムのシステム構成>
まず、図1を参照しながら、本実施形態の回路生成システムの構成について説明する。
本実施形態における回路生成システムは、図1に示すように、入力装置(100)と、情報処理装置(110)と、記憶装置(120)と、出力装置(130)と、を有して構成される。
入力装置(100)は、動作レベル記述情報(121)等を入力するための装置であり、例えば、キーボード、フロッピィディスク読取装置等が挙げられる。なお、入力装置(100)は、動作レベル記述情報(121)等を取得することが可能な装置であれば、あらゆる装置を入力装置(100)として適用することが可能である。
なお、動作レベル記述情報(121)とは、回路に関する情報を動作レベルで記述したものである。詳細には、回路を構成するレジスタや論理素子等の構成要素を考慮することなく、回路の動作アルゴリズムを表現した情報である。動作レベル記述情報(121)は、一般的には、時間の概念を含まないものを指すが、時間の概念を含むことを指すこともある。
なお、動作レベル記述情報(121)は、例えば、C言語、C++言語、Java(登録商標)言語、SystemC、SpecC等のプログラミング言語で記述することが可能である。
情報処理装置(110)は、情報を処理するための装置であり、プログラム制御により動作する。
記憶装置(120)は、情報を格納するための装置である。なお、本実施形態における記憶装置(120)は、動作レベル記述情報(121)を格納する。また、記憶装置(120)は、RTレベル回路情報(122)と、合成付帯情報(123)と、を格納する。
なお、RTレベル回路情報(122)とは、回路を構成する構成要素の相互関係を示す情報である。構成要素としては、レジスタおよびレジスタ間の論理素子等が含まれることになる。RTレベル回路情報(122)は、動作合成時に利用される。
また、合成付帯情報(123)とは、動作レベル記述情報(121)や制約条件を基に、動作合成手段(111)が生成する情報である。なお、制約条件とは、回路の性能等を決定するための条件であり、例えば、回路の面積や、周波数や、消費電力値などが挙げられる。
出力装置(130)は、情報を出力するための装置であり、例えば、ディスプレイや印刷装置等が挙げられる。なお、出力装置(130)は、情報を出力することが可能な装置であれば、あらゆる装置が適用可能である。
なお、本実施形態における回路生成システムを構成する情報処理装置(110)は、プログラムに従って所定の処理を実行するCPU(Central Processing Unit)と、プログラムを格納するためのメモリと、を有して構成される。そして、CPUがメモリに格納されているプログラムを実行することで、図1に示す動作合成手段(111)と、電力制御回路生成手段(112)と、を情報処理装置(110)上に仮想的に実装することになる。以下、情報処理装置(110)上に仮想的に実装する動作合成手段(111)と、電力制御回路生成手段(112)と、の機能について簡単に説明する。
<動作合成手段111>
動作合成手段(111)は、動作レベル記述情報(121)を基に、RTレベル回路情報(122)を生成し、該生成したRTレベル回路情報(122)を記憶装置(120)に格納する。
また、動作合成手段(111)は、動作レベル記述情報(121)を基に、合成付帯情報(123)を生成し、該生成した合成付帯情報(123)を記憶装置(120)に格納する。
なお、合成付帯情報(123)には、制御情報と、制御フロー情報と、遅延情報と、が含まれる。
制御情報とは、制御対象となる構成要素の入出力等を制御するための情報である。
また、制御フロー情報とは、構成要素の処理に必要な制御の流れを示す情報である。
また、遅延情報とは、構成要素での処理に必要な時間を示す情報である。
<電力制御生成手段112>
電力制御回路生成手段(112)は、RTレベル回路情報(122)と、合成付帯情報(123)と、を基に、電力制御回路を付加したRTレベルの回路を生成する。
<回路生成システムの処理動作>
次に、図2を参照しながら、本実施形態の回路生成システムにおける処理動作について説明する。なお、記憶装置(120)には、動作レベル記述情報(121)が予め格納されているものと仮定する。
まず、動作合成手段(111)は、記憶装置(120)に格納されている動作レベル記述情報(121)を読み出し、該読み出した動作レベル記述情報(121)を基に、合成付帯情報(123)を生成し、該生成した合成付帯情報(123)を記憶装置(120)に格納する(ステップA1)。
次に、動作合成手段(111)は、動作レベル記述情報(121)を基に、RTレベル回路情報(122)を生成し、該生成したRTレベル回路情報(122)を記憶装置(120)に格納する(ステップA2)。
次に、電力制御回路生成手段(112)は、記憶装置(120)に格納されているRTレベル回路情報(122)を読み出し、該読み出したRTレベル回路情報(122)を基に、そのRTレベル回路情報(122)の制御対象モジュールに対し、ゲイティング回路を埋め込む(ステップA3)。
次に、電力制御回路生成手段(112)は、記憶装置(120)に格納されている合成付帯情報(123)を読み出し、該読み出した合成付帯情報(123)に含まれる制御情報と、制御フロー情報と、遅延情報と、の少なくとも1つの情報を基に、ゲイティング制御回路を生成する。
なお、上記生成したゲイティング制御回路により、RTレベル回路情報(122)のRTレベル回路と、RTレベル回路情報(122)の制御対象モジュールに埋め込まれたゲイティング回路と、を接続することになる(ステップA4)。以上の一連の処理により、電力制御回路付きのRTレベル回路を生成することが可能となる。
これにより、本実施形態における回路生成システムは、回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。なお、上述した一連の処理において、制御情報と、制御フロー情報と、遅延情報と、の少なくとも1つの情報を設定し、その設定した情報を基に、ゲイティング制御回路を生成するようにすることも可能である。
なお、動作合成手段(111)は、制御フロー情報を常に生成することになるため、電力制御回路を生成する際に制御フロー情報を利用することは可能であるが、制御情報については、動作合成手段(111)が制御情報を生成する場合に利用することが可能である。また、遅延情報については、動作合成手段(111)が遅延情報を取得可能な場合に利用することが可能である。なお、動作合成手段(111)が遅延情報を取得可能な場合としては、回路設計者が遅延情報を設定した場合や、動作合成手段(111)がRTレベル回路情報(122)を生成する際に遅延情報を利用した場合等が挙げられる。
(第1の実施形態)
次に、電力制御回路付きのRTレベル回路を生成する際の第1の実施形態について説明する。
第1の実施形態では、制御情報を利用して、電力制御回路付きのRTレベル回路を生成する場合について説明する。
図3は、C言語で記述された動作レベル記述情報(121)を示す。
第1の実施形態では、図3に示す関数main()全体が動作合成によりRTレベルの回路に合成されることを想定している。
なお、図3に示す関数main()の中には、複数の関数『func1()、func2()、func3()』が記述されている。本実施形態では、各関数『func1()、func2()、func3()』の実行に必要なサイクル数は未知とし、各関数『func1()、func2()、func3()』を電力制御の処理単位とした場合について説明する。
図4は、動作合成手段(111)が図3に示す動作レベル記述情報(121)を基に生成可能な回路のブロック図を示す。
なお、図4に示す回路の実現方法は、動作合成手段(111)による実現方法の一例であり、動作合成手段(111)は、動作レベル記述情報(121)に含まれる各関数『func1()、func2()、func3()』を、それぞれ1個の制御対象のモジュールとして実現している。また、動作合成手段(111)は、各モジュール『func1、func2、func3』に対する動作の開始を示す開始信号(start信号)と、動作の終了を示す終了信号(end信号)と、を生成した場合を示している。なお、図4に示す開始信号(start信号)と、終了信号(end信号)と、が制御情報に該当する。
次に、図4に示す回路の動作について説明する。
まず、制御部(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)での動作の終了を検知し、次の状態に遷移する。
なお、RTL回路は、動作レベル記述情報(121)の回路の動作を複数の状態に分割して実現することになる。
例えば、図4に示す回路を用いて説明すると、制御部(controller)は、図3に示す動作レベル記述情報(121)の回路の動作を複数の状態(func1、func2、func3のそれぞれの実行状態)に分割して管理する。そして、制御部(controller)は、制御部(controller)に入力されるクロック(clk)に同期して、1つの状態(func1実行状態)に対する制御信号(start信号)を生成し、該生成した制御信号(start信号)をデータパス部(data−path)に送信する。
データパス部(data−path)は、制御部(controller)から送信された制御信号(start信号)を基に、1つの状態(func1実行状態)の動作を実施し、データパス部(data−path)は、その1つの状態(func1実行状態)の動作が終了した場合に、制御信号(end信号)を制御部(controller)に送信する。
制御部(controller)は、データパス部(data−path)から送信された制御信号(end信号)を受け取った場合に、状態(func1実行状態)の動作の終了を検知し、次の状態(func2実行状態)に遷移する。そして、制御部(controller)は、再び、制御部(controller)に入力されるクロック(clk)に同期して、1つの状態(func2実行状態)に対する制御信号(start信号)を生成し、その生成した制御信号(start信号)をデータパス部(data−path)に送信する。
このように、制御部(controller)は、動作レベル記述情報(121)の回路の動作を複数の状態(func1、func2、func3のそれぞれの実行状態)に分割して管理し、制御部(controller)は、データパス部(data−path)から送信された制御信号(end信号)を受け取った場合に、複数の状態(func1、func2、func3のそれぞれの実行状態)を順番に遷移する。なお、制御部(controller)は、データパス部(data−path)から制御信号(end信号)を受け取るまでは、他の状態(例えば、func1実行状態からfunc2実行状態)に遷移せず、同じ状態(例えば、func1実行状態)を繰り返し実行する。
図5は、本実施形態の回路生成システムにより生成される回路のブロック図である。図4との違いは、制御対象となる各モジュール(func1、func2、func3)に対し、電力制御回路が付加された点である。
なお、電力制御回路とは、図5に示すゲイティング回路(p.m.c)と、そのゲイティング回路(p.m.c)との接続に必要な周辺回路を含んだ回路である。なお、周辺回路は、図5には図示されていないが、図5に示すゲイティング回路(p.m.c)のon/off端子と接続するための配線等を含めた回路である。
本実施形態における電力制御回路生成手段(112)は、以下の2つの処理により、図5に示す電力制御回路を生成することになる。
まず、電力制御回路生成手段(112)は、第1の処理として、制御対象の各モジュール(func1、func2、func3)に対し、ゲイティング回路(p.m.c)を生成する。
次に、電力制御回路生成手段(112)は、第2の処理として、ゲイティング制御回路を生成し、第1の処理により生成したゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、の接続を行うことになる。
<第1の処理>
まず、第1の処理について説明する。
第1の処理は、電力制御回路生成手段(112)が、ゲイティング回路(p.m.c)を生成する処理である。
なお、ゲイティング回路(p.m.c)とは、電力を制御するための制御信号を生成する回路である。なお、ゲイティング回路(p.m.c)が生成した制御信号は、制御対象の各モジュール(func1、func2、func3)内の構成要素の制御端子と接続される。
例えば、クロックゲイティングの場合には、ゲイティング回路(p.m.c)において生成した制御信号は、制御対象の各モジュール(func1、func2、func3)内の構成要素のクロック端子と接続される。
次に、電力制御回路生成手段(112)は、ゲイティング回路(p.m.c)に対し、外部端子を生成する。これにより、外部端子を介してゲイティング回路(p.m.c)に信号を入力することが可能となり、ゲイティング回路(p.m.c)は、制御信号を生成することが可能となる。
例えば、図5では、電力制御回路生成手段(112)は、ゲイティング回路(p.m.c)の外部端子として、on端子と、off端子と、を生成している。
なお、図6は、ゲイティング回路(p.m.c)の詳細図であり、クロックゲイティング回路の例を示している。
電力制御回路生成手段(112)は、外部端子であるon/off端子の信号を基にクロックゲイティング回路の制御信号(en)を生成し、該生成した制御信号(en)を、クロックゲイティング回路(clock gating)と接続する。
また、クロックゲイティング回路(clock gating)の出力信号を制御対象モジュール(logic circuit)内の構成要素のクロック端子と接続する。この図6に示すような回路により、モジュール(func1、func2、func3)単位のクロックゲイティング回路を実現することが可能となる。
なお、図7は、パワーゲイティング回路の例を示している。
電力制御回路生成手段(112)は、上述した図6に示すクロックゲイティング回路と同様に、外部端子であるon/off端子の信号を基にパワーゲイティング回路の制御信号(en)を生成し、該生成した制御信号(en)を、パワーゲイティング回路(power gating)のパワースイッチ(power switch)と接続する。
なお、パワースイッチ(power switch)とは、例えば、グランドと仮想グランドとの間に配置されるトランジスタのゲート端子に相当するものである。
このように、図5に示すゲイティング回路(p.m.c)は、図6、図7に示すような様々な電力マネジメント回路で置き換えることが可能であり、様々な電力マネジメント技術をモジュール単位で実現することが可能となる。
<第2の処理>
次に、第2の処理について説明する。
第2の処理は、電力制御回路生成手段(112)が、図5に示すゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、を接続する処理である。
なお、ゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、の接続の際には、動作合成手段(111)が生成した各モジュール(func1、func2、func3)に対する制御情報(開始信号、終了信号)を利用する。
本実施形態では、動作合成手段(111)は、RTレベル回路情報(122)のRTレベル回路として、各モジュール(func1、func2、func3)内に、開始信号の入力を待ち受ける信号待受回路と、終了信号を出力する信号出力回路と、を生成する。また、信号の入出力端子として開始信号端子と、終了信号端子と、を生成することになる。そして、電力制御回路生成手段(112)は、動作合成手段(111)が生成した各モジュール(func1、func2、func3)に対する制御情報(開始信号、終了信号)を利用して、ゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、の接続を行うことになる。
本実施形態における電力制御回路生成手段(112)は、図5に示すように、各モジュール(func1、func2、func3)に対して生成した開始信号(start信号)をゲイティング回路(p.m.c)のon端子に接続し、また、終了信号(end信号)をゲイティング回路(p.m.c)のoff端子に接続することになる。
これにより、電力制御回路生成手段(112)は、動作合成手段(111)が各モジュール(func1、func2、func3)に対して生成した制御情報(開始信号、終了信号)を利用し、図5に示すゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、を接続することが可能となる。
このように、第1の実施形態における回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報(121)を基に、回路を構成する制御対象のモジュールの相互関係を示すRTレベル回路情報(122)を生成する。そして、制御対象のモジュールを制御するための制御情報を基に、電力制御回路を生成し、該生成した電力制御回路と、動作レベル記述情報(121)に含まれる制御対象のモジュールと、を接続することで、電力制御回路を付加したRTレベルの回路を生成することが可能となる。
これにより、動作レベル記述情報(121)に含まれる回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。
例えば、動作合成手段(111)が、回路を構成する制御対象のモジュールとなるfunc2とfunc3とが同一状態で実行されるように実行のタイミングを決定した場合を考えると、従来提案されている方法(例えば、特許文献1等)では、回路構成要素func2、func3の実行条件にかかわらず、それらの実行タイミングの状態の場合に動作するような回路が実現されるのに対し、第1の実施形態における回路生成システムは、回路構成要素func2、func3単位で電力を制御可能な回路を実現することが可能となる。これにより、より精度の高い制御が可能となり、回路全体の消費電力を、より削減することが可能となる。
(第2の実施形態)
次に、第2の実施形態について説明する。
第2の実施形態は、制御フロー情報と、遅延情報と、を利用して、電力制御回路付きのRTレベル回路を生成する場合について説明する。なお、第2の実施形態においても、第1の実施形態と同様に、関数モジュールを電力制御の対象とした場合について説明する。
図8は、第2の実施形態で適用する動作レベル記述情報(121)を示す。
第2の実施形態では、関数main()全体が動作合成によりRTレベルの回路に合成されることを想定している。
なお、図8に示す動作レベル記述情報(121)に含まれるwait(c)は、cに値が入力されるまで待機することを示す。
また、図8に示す動作レベル記述情報(121)は、入力データcが入力されるのを待ち、入力信号aの値に従って、func4()、または、func5()が実行され、そのfunc4()、または、func5()が出力する結果を、出力端子out0より出力する動作を示している。なお、本実施形態では、動作レベル記述情報(121)に含まれるこれらの一連の制御動作が制御フロー情報となる。
また、func4()と、func5()と、は共に、変数vを入力としており、func4()は、実行に1clockを要するものとし、func5()は、実行に2clockを要するものとしている。なお、本実施形態では、動作レベル記述情報(121)に含まれる制御対象モジュール(func4、func5)の実行に要する時間が遅延情報となる。
図9は、動作合成手段(111)が図8に示す動作レベル記述情報(121)を基に生成可能な回路のブロック図を示す。
なお、図9に示される回路の実現方法は、動作合成手段(111)による実現方法の一例であり、動作合成手段(111)は、func4()、func5()を、それぞれ1個のモジュールとして実現している。
モジュール(func4、func5)は、入力となる変数vが格納されているレジスタと接続されている。
また、モジュール(func4、func5)の出力信号は、マルチプレクサと接続されており、マルチプレクサの制御信号は、入力信号cと、入力信号aと入力信号0との比較結果の信号と、が接続されている。
図10は、本実施形態における回路生成システムにより生成された回路のブロック図である。
本実施形態における回路生成システムは、動作合成手段(111)が図8に示す動作レベル記述情報(121)を基に生成するRTレベル回路に対し、電力制御回路を付加することになる。
なお、電力制御回路生成手段(112)は、上述した第1の実施形態と同様に、各モジュール(func4、func5)に対するゲイティング回路(p.m.c)を生成する。
第2の実施形態において第1の実施形態と異なる点は、ゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、の接続方法である。
第2の実施形態では、電力制御回路生成手段(112)は、図8に示す動作レベル記述情報(121)の制御フロー情報を利用し、ゲイティング回路(p.m.c)への制御信号を生成する。
モジュール(func4)がアクティブになる条件は、入力信号cが入力され、かつ、入力信号aと入力信号0との大小関係がa>0となる場合である。
第2の実施形態では、上述した関係を利用し、電力制御回路生成手段(112)は、ゲイティング回路(p.m.c)のon端子に、入力信号cと、比較器の出力値と、の論理演算の出力端子を接続する。
例えば、モジュール(func4)に対するゲイティング回路(p.m.c)のon端子には、入力信号cと、比較器の出力値と、の論理積の出力端子を接続している。
また、モジュール(func5)に対するゲイティング回路(p.m.c)のon端子には、入力信号cと、比較器の出力値を反転した値と、の論理積の出力端子を接続している。
また、電力制御回路生成手段(112)は、図8に示す動作レベル記述情報(121)の制御対象モジュールの遅延情報を利用し、ゲイティング回路(p.m.c)のoff端子への信号を生成する。
制御対象モジュールの遅延情報が既知の場合には、on信号がアクティブになった後、モジュールの遅延時間経過後に、off信号をアクティブにすると、電力効率が良好になる。
第2の実施形態では、電力制御回路生成手段(112)は、図8に示す動作レベル記述情報(121)の制御対象モジュールの遅延情報を利用し、ゲイティング回路(p.m.c)のon端子に接続する出力線に対し、制御対象モジュールの遅延時間分のレジスタを挿入することで、ゲイティング回路(p.m.c)のoff端子への信号を生成する。
例えば、モジュール(func4)に対するゲイティング回路(p.m.c)のoff端子への接続の際には、制御対象モジュール(func4)の遅延情報(1clock)を利用し、レジスタを1つ挿入している。
また、モジュール(func5)に対するゲイティング回路(p.m.c)のoff端子への接続の際には、制御対象モジュール(func5)の遅延情報(2clock)を利用し、レジスタを2つ挿入している。
このように、第2の実施形態における回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報(121)を基に、回路を構成する制御対象のモジュールの相互関係を示すRTレベル回路情報(122)を生成する。そして、制御対象のモジュールの処理に必要な制御の流れを示す制御フロー情報と、制御対象のモジュールでの処理に必要な時間を示す遅延情報と、を基に、電力制御回路を生成し、該生成した電力制御回路と、動作レベル記述情報(121)に含まれる制御対象のモジュールと、を接続することで、電力制御回路を付加したRTレベルの回路を生成することが可能となる。
これにより、動作レベル記述情報(121)に含まれる回路を構成する構成要素に関係する詳細な情報を利用して電力制御回路を自動生成することが可能となる。この結果、回路設計者は、電力制御回路を含めた設計を人手で行う必要がなくなり、高品質で信頼性の高い電力制御回路を短期間で設計することが可能となる。
例えば、第2の実施形態では、制御フロー情報を基に電力制御回路を生成しているため、制御対象のモジュールfunc4、func5の実行が必要な場合には、必ず制御対象のモジュールfunc4、func5が実行されるような制御を実現することが可能となり、制御対象のモジュールfunc4、func5の実行が必要無い場合には、電力制御(クロックゲイティング、パワーゲイティング)を必ず行うことになる。これにより、従来提案されている方法(例えば、特許文献1等)では、回路構成要素func4、func5の実行が必要無い場合でも回路として動作する可能性があるのに対し、第2の実施形態における回路生成システムは、回路構成要素func4、func5に対する制御情報を利用しない場合でも、精度の高い電力制御が可能となり、より電力消費の少ない回路を実現することが可能となる。
(第3の実施形態)
次に、第3の実施形態について説明する。
第3の実施形態は、制御情報と、制御フロー情報と、を利用して、電力制御回路付きのRTレベル回路を生成する場合について説明する。なお、第3の実施形態においても、第1の実施形態と同様に、関数モジュールを電力制御の対象とした場合について説明する。
なお、第3の実施形態で適用する動作レベル記述情報(121)は、第2の実施形態で適用した図8に示す動作レベル記述情報(121)を適用する。
まず、動作合成手段(111)は、上述した第2の実施形態と同様に、図8に示す動作レベル記述情報(121)を基に、図9に示す回路を生成する。
次に、電力制御回路生成手段(112)は、上述した第2の実施形態と同様に、各モジュール(func4、func5)に対するゲイティング回路(p.m.c)を生成する。
次に、電力制御回路生成手段(112)は、制御情報と、制御フロー情報と、を利用して、図11に示すように、ゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、を接続する。
このとき、電力制御回路生成手段(112)は、ゲイティング回路(p.m.c)のon端子には、第2の実施形態で説明した制御フロー情報を用いて生成した信号を接続する。
また、電力制御回路生成手段(112)は、ゲイティング回路(p.m.c)のoff端子には、第1の実施形態で説明した制御信号(end信号)を接続する。
このように、第3の実施形態における回路生成システムは、回路に関する情報を動作レベルで記述した動作レベル記述情報(121)を基に、回路を構成する制御対象のモジュールの相互関係を示すRTレベル回路情報(122)を生成する。そして、制御対象のモジュールを制御するための制御情報と、制御対象のモジュールの処理に必要な制御の流れを示す制御フロー情報と、を基に、電力制御回路を生成し、該生成した電力制御回路と、制御対象のモジュールと、を接続することで、電力制御回路を付加したRTレベルの回路を生成することが可能となる。
例えば、上述した第1〜第3の実施形態では、電力制御回路を生成する際に、合成付帯情報が異なる場合には、異なるRTレベル回路を生成することになる。これにより、本実施形態の回路生成システムを利用することで、回路設計者は、要求性能に適したRLレベル回路を実現することが可能となる。
なお、上述した実施形態では、ゲイティング回路(p.m.c)のon端子の接続方法は、第2の実施形態の方法を適用し、ゲイティング回路(p.m.c)のoff端子の接続方法は、第1の実施形態の方法を適用することにしたが、ゲイティング回路(p.m.c)のon端子の接続方法は、第1の実施形態の方法を適用し、ゲイティング回路(p.m.c)のoff端子の接続方法は、第2の実施形態の方法を適用することも可能である。
(第4の実施形態)
次に、第4の実施形態について説明する。
第4の実施形態では、動作レベル記述情報(121)を基に、同一の動作レベル記述情報(121)内で電力制御の異なる複数の電力制御回路を生成し、その電力制御の異なる複数の電力制御回路付きのRTレベル回路を生成する場合について説明する。なお、第4の実施形態においても、第1の実施形態と同様に、関数モジュールを電力制御の対象とした場合について説明する。
図12は、第4の実施形態で適用する動作レベル記述情報(121)を示す。
第4の実施形態では、関数main全体が動作合成によりRTレベルの回路に合成されることを想定している。
なお、図12に示す関数func_staticは、関数の内部にstatic変数sへのアクセスを含む関数である。また、関数func_no_staticは、関数の内部にstatic変数を含まない関数である。
本実施形態では、関数(func_static、func_no_static)を電力制御の処理対象とした場合について説明する。
なお、static変数を含む関数を電力制御の対象とする場合には、static変数の値を保持する必要がある。このため、図7に示すパワーゲイティング回路(power gating)のような電源を遮断するような電力制御を行うことはできない。この場合は、電源を遮断する代わりに、電源を低く設定するstandby状態を実現することになる。なお、standby状態とは、電源の値を、基準電源となる値と電源遮断となる値との間に維持させる状態である。
まず、動作合成手段(111)は、第1の実施形態と同様に、図12に示す動作レベル記述情報(121)を基に、図13に示す回路を生成する。
次に、電力制御回路生成手段(112)は、第1の実施形態と同様に、各モジュール(func_static、func_no_static)に対するゲイティング回路(p.m.c)を生成する。
次に、電力制御回路生成手段(112)は、第1の実施形態と同様に、制御情報を利用して、図14に示すように、ゲイティング回路(p.m.c)と、動作合成手段(111)が生成したRTレベル回路情報(122)のRTレベル回路と、を接続する。
なお、Standby状態を実現するゲイティング回路(p.m.c)を図15に示す。
図15に示すStandby状態を実現するゲイティング回路(p.m.c)は、図7に示すパワーゲイティング回路(power gating)と同様に実現することが可能であり、電力制御回路生成手段(112)は、上述した図7に示すパワーゲイティング回路(power gating)回路と同様に、外部端子であるon/off端子の信号を基にStandby状態を実現する回路(Standby)の制御信号(en)を生成し、該生成した制御信号(en)を、Standby状態を実現する回路(Standby)のスイッチ(switch)と接続する。そして、仮想電源電圧を適切に設定し、standby状態を実現することになる。
このように、Standby状態を実現するゲイティング回路(p.m.c)の回路構成は、図7に示すパワーゲイティング回路(power gating)と同様の図15に示す回路構成を実現し、仮想電源電圧を適切に設定することでstandby状態を実現することが可能となる。
なお、Static変数を含まない関数func_no_staticの電力制御回路は、図7に示すパワーゲイティング回路(power gating)のような電源を遮断するような電力制御を行うことが可能である。このため、上述した実施形態の方法を適用し、図7に示すパワーゲイティング回路(power gating)を含む電力制御回路を実現することが可能となる。
このように、第4の実施形態は、動作レベル記述情報(121)を基に、同一の動作レベル記述情報(121)内で電力制御の異なる複数の電力制御回路を生成し、その電力制御の異なる複数の電力制御回路付きのRTレベル回路を生成することが可能となる。
例えば、動作レベル記述情報(121)の中に、回路の動作中に値を保持しておかなくてはいけない記述(例えば、静的変数やメモリなど)が含まれる場合には、Standby状態の実現が可能となり、より電力消費の少ないRTレベル回路を実現することが可能となる。
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
例えば、上述した実施形態では、動作レベル記述情報(121)に含まれる関数を、電力制御の対象として説明したが、動作合成手段(111)に合成させるプロセスの単位を対象としたり、加算器や減算器といった演算器の単位を対象としたりすることも可能である。即ち、電力制御の対象となるものは、特に限定せず、あらゆるものを電力制御の対象の構成要素とすることが可能である。
また、上述した実施形態において、電力制御回路に含むゲイティング回路として、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路を設定し、該設定した回路を含む電力制御回路を生成するように構築することも可能である。なお、何れかの回路を設定する方法としては、回路設計者が任意に設定することが可能である。但し、動作レベル記述情報(121)の中に、回路の動作中に値を保持しなくてはいけない記述(例えば、静的変数やメモリなど)が含まれる場合には、パワーゲイティング回路を含む電力制御回路を生成することができないことになる。
このため、上述した実施形態において、動作レベル記述情報(121)を解析し、当該動作レベル記述情報(121)の中に、回路の動作中に値を保持しなくてはいけない記述(例えば、静的変数やメモリなど)が含まれていると判断した場合には、クロックゲイティング回路、または、電源をStandby状態に制御するゲイティング回路を含む電力制御回路を生成するように構築することが好ましい。
また、上述した実施形態において、on/off/stanbyのように端子の数を拡張し、電力制御回路の取りうる状態を拡張することも可能である。
また、上述した実施形態の回路生成システムにおける制御動作は、ハード構成や、コンピュータプログラム等のソフトウェアにより実行することが可能であり、また、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記録媒体、または、半導体等の記録媒体に記録し、その記録媒体から上記プログラムを、上述した回路生成システムを構成する情報処理装置に読み込ませることで、上述した制御動作を、情報処理装置において実行させることも可能である。また、所定のネットワークを介して接続されている外部機器から上記プログラムを、上述した情報処理装置に読み込ませることで、上述した制御動作を、情報処理装置において実行させることも可能である。
本発明にかかる回路生成システム、回路生成方法及び回路生成プログラムは、回路に関する情報を動作レベルで記述した動作レベル記述情報を基に回路を生成することが可能な装置に適用可能である。
本実施形態の回路生成システムの内部構成を示すブロック図である。 回路生成システムが回路生成を行う際に行う一連の処理動作を示すフロチャートである。 本実施形態の回路生成システムで使用する動作レベル記述情報(121)を示す図である。 回路生成システムが図3に示す動作レベル記述情報(121)を基に回路生成を行う第1の実施形態を説明するための第1の図である。 回路生成システムが図3に示す動作レベル記述情報(121)を基に回路生成を行う第1の実施形態を説明するための第2の図である。 回路生成システムが図3に示す動作レベル記述情報(121)を基に回路生成を行う第1の実施形態を説明するための第3の図であり、クロックゲイティング回路の例を示した図である。 回路生成システムが図3に示す動作レベル記述情報(121)を基に回路生成を行う第1の実施形態を説明するための第4の図であり、パワーゲイティング回路の例を示した図である。 第2の実施形態の回路生成システムで使用する動作レベル記述情報(121)を示す図である。 回路生成システムが図8に示す動作レベル記述情報(121)を基に回路生成を行う第2の実施形態を説明するための第1の図である。 回路生成システムが図8に示す動作レベル記述情報(121)を基に回路生成を行う第2の実施形態を説明するための第2の図である。 回路生成システムが図8に示す動作レベル記述情報(121)を基に回路生成を行う第3の実施形態を説明するための図である。 第4の実施形態の回路生成システムで使用する動作レベル記述情報(121)を示す図である。 回路生成システムが図12に示す動作レベル記述情報(121)を基に回路生成を行う第4の実施形態を説明するための第1の図である。 回路生成システムが図12に示す動作レベル記述情報(121)を基に回路生成を行う第4の実施形態を説明するための第2の図である。 回路生成システムが図12に示す動作レベル記述情報(121)を基に回路生成を行う第4の実施形態を説明するための第3の図であり、電源をStandby状態に制御するゲイティング回路(p.m.c)の例を示した図である。
符号の説明
100 入力装置
110 情報処理装置
111 動作合成手段
112 電力制御回路生成手段
120 記憶装置
121 動作レベル記述情報
122 RTレベル回路情報
123 合成付帯情報(制御情報、制御フロー情報、遅延情報等)
130 出力装置

Claims (13)

  1. 回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、前記回路を構成する構成要素の相互関係を示すRTレベル回路情報を生成する動作合成手段と、
    前記構成要素を制御するための制御情報と、前記構成要素の処理に必要な制御の流れを示す制御フロー情報と、前記構成要素での処理に必要な時間を示す遅延情報と、の少なくとも1つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、前記構成要素と、を接続する電力制御回路生成手段と、
    を有することを特徴とする回路生成システム。
  2. 前記電力制御回路生成手段は、
    ゲイティング回路を含む電力制御回路を生成することを特徴とする請求項1記載の回路生成システム。
  3. 前記電力制御回路生成手段は、
    ゲイティング回路を生成するゲイティング回路生成手段と、
    前記ゲイティング回路に対し、外部端子を生成する外部端子生成手段と、を有することを特徴とする請求項2記載の回路生成システム。
  4. 前記外部端子は、信号を入力する入力端子と、信号を出力する出力端子と、であることを特徴とする請求項3記載の回路生成システム。
  5. 前記ゲイティング回路は、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路であることを特徴とする請求項2または3記載の回路生成システム。
  6. 前記電力制御回路に含む前記ゲイティング回路として、クロックゲイティング回路と、パワーゲイティング回路と、電源をStandby状態に制御するゲイティング回路と、の何れかの回路を設定する設定手段を有し、
    前記電力制御回路生成手段は、
    前記設定手段により設定された回路を含む電力制御回路を生成することを特徴とする請求項5記載の回路生成システム。
  7. 前記電力制御回路生成手段は、
    動作レベル記述情報を解析し、当該動作レベル記述情報の中に、前記回路の動作中に値を保持しなくてはいけない記述が含まれる場合には、クロックゲイティング回路、または、電源をStandby状態に制御するゲイティング回路を含む電力制御回路を生成することを特徴とする請求項5または6記載の回路生成システム。
  8. 前記電力制御回路生成手段は、
    電力制御の異なる複数の電力制御回路を生成することを特徴とする請求項1記載の回路生成システム。
  9. 前記制御情報と、前記制御フロー情報と、前記遅延情報と、の少なくとも1つの情報を設定する設定手段を有し、
    前記電力制御回路生成手段は、
    前記設定手段により設定された情報を基に、電力制御回路を生成し、該生成した電力制御回路と、構成要素と、を接続することを特徴とする請求項1記載の回路生成システム。
  10. 前記電力制御回路生成手段は、
    前記動作合成手段が前記制御情報を生成する場合に、前記制御情報を基に、電力制御回路を生成することを特徴とする請求項1または9記載の回路生成システム。
  11. 前記電力制御回路生成手段は、
    前記動作合成手段が前記遅延情報を取得可能な場合に、前記遅延情報を基に、電力制御回路を生成することを特徴とする請求項1または9記載の回路生成システム。
  12. 回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、前記回路を構成する構成要素の相互関係を示すRTレベル回路情報を生成する動作合成工程と、
    前記構成要素を制御するための制御情報と、前記構成要素の処理に必要な制御の流れを示す制御フロー情報と、前記構成要素での処理に必要な時間を示す遅延情報と、の少なくとも1つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、前記構成要素と、を接続する電力制御回路生成工程と、情報処理装置が行うことを特徴とする回路生成方法。
  13. 回路に関する情報を動作レベルで記述した動作レベル記述情報を基に、前記回路を構成する構成要素の相互関係を示すRTレベル回路情報を生成する動作合成処理と、
    前記構成要素を制御するための制御情報と、前記構成要素の処理に必要な制御の流れを示す制御フロー情報と、前記構成要素での処理に必要な時間を示す遅延情報と、の少なくとも1つの情報を基に、電力制御回路を生成し、該生成した電力制御回路と、前記構成要素と、を接続する電力制御回路生成処理と、情報処理装置に実行させることを特徴とする回路生成プログラム。
JP2006282810A 2006-10-17 2006-10-17 回路生成システム、回路生成方法及び回路生成プログラム Active JP5023652B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006282810A JP5023652B2 (ja) 2006-10-17 2006-10-17 回路生成システム、回路生成方法及び回路生成プログラム
US11/907,712 US8091053B2 (en) 2006-10-17 2007-10-16 System, method, and program for generating circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006282810A JP5023652B2 (ja) 2006-10-17 2006-10-17 回路生成システム、回路生成方法及び回路生成プログラム

Publications (2)

Publication Number Publication Date
JP2008102619A true JP2008102619A (ja) 2008-05-01
JP5023652B2 JP5023652B2 (ja) 2012-09-12

Family

ID=39304481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006282810A Active JP5023652B2 (ja) 2006-10-17 2006-10-17 回路生成システム、回路生成方法及び回路生成プログラム

Country Status (2)

Country Link
US (1) US8091053B2 (ja)
JP (1) JP5023652B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211591A (ja) * 2009-03-11 2010-09-24 Mitsubishi Electric Corp 半導体集積回路設計支援システム及びプログラム
US10684862B2 (en) 2016-01-08 2020-06-16 Mitsubishi Electric Corporation Processor synthesis device, processor synthesis method, and computer readable medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968150B1 (ko) * 2008-04-28 2010-07-06 주식회사 하이닉스반도체 클럭제어회로 및 이를 이용한 반도체 메모리 장치
US8001497B2 (en) * 2008-10-01 2011-08-16 Lsi Corporation Control signal source replication
US8030982B2 (en) * 2008-10-30 2011-10-04 Qualcomm Incorporated Systems and methods using improved clock gating cells
US9690894B1 (en) 2015-11-02 2017-06-27 Altera Corporation Safety features for high level design

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366596A (ja) * 2001-06-11 2002-12-20 Sharp Corp 高位合成装置および高位合成方法、高位合成方法による論理回路の製造方法、記録媒体
JP2006155533A (ja) * 2004-12-01 2006-06-15 Matsushita Electric Ind Co Ltd 回路情報生成装置および回路情報生成方法
JP2007213265A (ja) * 2006-02-08 2007-08-23 Sharp Corp 動作合成装置および動作合成方法、ディジタル回路の製造方法、動作合成制御プログラム、可読記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324679B1 (en) * 1997-06-03 2001-11-27 Nec Usa, Inc. Register transfer level power optimization with emphasis on glitch analysis and reduction
US6195786B1 (en) * 1997-12-23 2001-02-27 Nec Usa, Inc. Constrained register sharing technique for low power VLSI design
US6105139A (en) * 1998-06-03 2000-08-15 Nec Usa, Inc. Controller-based power management for low-power sequential circuits
US7134100B2 (en) * 2002-07-29 2006-11-07 Nec Usa, Inc. Method and apparatus for efficient register-transfer level (RTL) power estimation
JP4204039B2 (ja) * 2003-04-24 2009-01-07 シャープ株式会社 動作合成システム、動作合成方法、制御プログラム、可読記録媒体、論理回路の製造方法および論理回路
JP2006139624A (ja) 2004-11-12 2006-06-01 Canon Inc 情報処理装置及びその制御方法
JP2006285865A (ja) * 2005-04-04 2006-10-19 Nec Electronics Corp レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366596A (ja) * 2001-06-11 2002-12-20 Sharp Corp 高位合成装置および高位合成方法、高位合成方法による論理回路の製造方法、記録媒体
JP2006155533A (ja) * 2004-12-01 2006-06-15 Matsushita Electric Ind Co Ltd 回路情報生成装置および回路情報生成方法
JP2007213265A (ja) * 2006-02-08 2007-08-23 Sharp Corp 動作合成装置および動作合成方法、ディジタル回路の製造方法、動作合成制御プログラム、可読記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211591A (ja) * 2009-03-11 2010-09-24 Mitsubishi Electric Corp 半導体集積回路設計支援システム及びプログラム
US10684862B2 (en) 2016-01-08 2020-06-16 Mitsubishi Electric Corporation Processor synthesis device, processor synthesis method, and computer readable medium

Also Published As

Publication number Publication date
US20080092103A1 (en) 2008-04-17
US8091053B2 (en) 2012-01-03
JP5023652B2 (ja) 2012-09-12

Similar Documents

Publication Publication Date Title
US8132144B2 (en) Automatic clock-gating insertion and propagation technique
US8533648B2 (en) Automatic clock-gating propagation technique
JP4988758B2 (ja) マルチサイクル・クロック・ゲーティングのための方法および装置
US7594211B1 (en) Methods and apparatuses for reset conditioning in integrated circuits
US9405357B2 (en) Distribution of power gating controls for hierarchical power domains
JP5023652B2 (ja) 回路生成システム、回路生成方法及び回路生成プログラム
US9471130B2 (en) Configuring idle states for entities in a computing device based on predictions of durations of idle periods
US20090132835A1 (en) Method and system for power-state transition controllers
EP3149577B1 (en) Extracting system architecture in high level synthesis
CN109478141B (zh) 控制异步管线的级的操作速度
Qamar et al. LP-HLS: Automatic power-intent generation for high-level synthesis based hardware implementation flow
US20240184355A1 (en) Latency Events in Multi-Die Architecture
Takizawa et al. A design support tool set for asynchronous circuits with bundled-data implementation on FPGAs
Li et al. SeSCG: selective sequential clock gating for ultra-low-power multimedia mobile processor design
US20190220565A1 (en) Slack time recycling
US9442788B2 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
US20040172232A1 (en) Technique for incorporating power information in register transfer logic design
Hajduk Simple method of asynchronous circuits implementation in commercial FPGAs
Glokler et al. Power reduction for ASIPs: A case study
KR101621760B1 (ko) 비동기 클럭을 가지는 파이프라인 회로 장치
US11941401B1 (en) Instruction fetch using a return prediction circuit
US11868109B2 (en) Sensor interface circuit controller for multiple sensor types in an integrated circuit device
US10734040B1 (en) Level-shifting transparent window sense amplifier
JP4894218B2 (ja) 半導体集積回路
Jovanović et al. Standard cell-based low power embedded controller design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120321

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120522

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120604

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5023652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150