JP2010113405A - 半導体集積回路合成装置 - Google Patents
半導体集積回路合成装置 Download PDFInfo
- Publication number
- JP2010113405A JP2010113405A JP2008283360A JP2008283360A JP2010113405A JP 2010113405 A JP2010113405 A JP 2010113405A JP 2008283360 A JP2008283360 A JP 2008283360A JP 2008283360 A JP2008283360 A JP 2008283360A JP 2010113405 A JP2010113405 A JP 2010113405A
- Authority
- JP
- Japan
- Prior art keywords
- power consumption
- semiconductor integrated
- integrated circuit
- graph
- module
- 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.)
- Pending
Links
Images
Abstract
【課題】消費電力を削減した半導体集積回路を効率的に設計する半導体集積回路合成装置を提供する。
【解決手段】動作記述またはRTL記述に基づいてグラフを生成するグラフ生成手段12、13と、グラフを小グラフに分割する分割手段14と、夫々の小グラフからモジュール回路を夫々生成する回路生成処理手段15と、全モジュール回路の合計の消費電力を見積もり、消費電力が所定条件を満たしているか否かを判定する消費電力見積/評価手段16と、を備え、満たしていない場合、分割手段に小グラフをさらに分割させ、満たしている場合、モジュール回路毎にゲーティッドクロックされた半導体集積回路のRTL記述を生成する半導体集積回路合成装置。
【選択図】 図3
【解決手段】動作記述またはRTL記述に基づいてグラフを生成するグラフ生成手段12、13と、グラフを小グラフに分割する分割手段14と、夫々の小グラフからモジュール回路を夫々生成する回路生成処理手段15と、全モジュール回路の合計の消費電力を見積もり、消費電力が所定条件を満たしているか否かを判定する消費電力見積/評価手段16と、を備え、満たしていない場合、分割手段に小グラフをさらに分割させ、満たしている場合、モジュール回路毎にゲーティッドクロックされた半導体集積回路のRTL記述を生成する半導体集積回路合成装置。
【選択図】 図3
Description
消費電力を削減した半導体集積回路を効率的に設計する半導体集積回路合成装置に関する。
近年、半導体集積回路の高集積化に伴い、消費電力が増加する傾向がある。したがって、設計者には消費電力をできるだけ削減した半導体集積回路の設計を行うことが求められる。
従来、消費電力を削減した半導体集積回路を設計する技術としては、動作記述に含まれる一つのスレッドを複数に分割し、分割後の夫々のスレッドを実行する夫々のモジュールに対して夫々ゲーティッドクロックを行う半導体集積回路を生成する技術がある(例えば特許文献1参照)。この技術により設計される半導体集積回路は、分割後の夫々のモジュールに対し動作するときにのみクロックを供給するので、非動作のモジュールにこれまで供給していたクロックに基づく電力の分だけ消費電力が削減されたものとなる。
しかしながら、上記従来の技術によれば、どのように分割するかを設計者が決めなければならないので、設計した半導体集積回路の消費電力削減効果が十分ではなかった場合、再度スレッドを分割しなおす作業が必要になる。すなわち、上記従来技術によれば、設計者にかかる負担が大きく、設計に長い時間がかかることになるため、効率的な設計作業を行うことができなかった。
本発明は、消費電力を削減した半導体集積回路を効率的に設計する半導体集積回路合成装置を提供することを目的とする。
本願発明の一態様によれば、半導体集積回路の動作記述またはレジスタ転送レベル記述に基づいて、演算をノードとし、演算間のデータの流れをエッジとしたグラフを生成するグラフ生成手段と、該生成されたグラフを複数の小グラフに分割する分割手段と、スケジューリングおよびハードウェア部品の割り当てを行って前記夫々の小グラフからモジュール回路を夫々生成する回路生成処理手段と、非動作中のモジュール回路にはクロック供給しないこととして前記回路生成処理手段が生成した全モジュール回路の合計の消費電力を見積もり、該見積もった消費電力が所定条件を満たしているか否かを判定する消費電力見積/評価手段と、を備え、前記消費電力見積/評価手段が見積もった消費電力が前記所定条件を満たしていないと判定した場合、前記分割手段に前記分割後の小グラフをさらに分割させ、前記消費電力見積/評価手段が前記見積もった消費電力が前記所定条件を満たしていると判定した場合、前記回路生成処理手段が生成したモジュール回路に基づき、モジュール回路毎にゲーティッドクロックされた半導体集積回路のレジスタ転送レベル記述を生成する、ことを特徴とする半導体集積回路合成装置が提供される。
本発明によれば、消費電力を削減した半導体集積回路を効率的に設計する半導体集積回路合成装置を提供することができるという効果を奏する。
まず、スレッドおよびゲーティッドクロックについて説明する。スレッドとは、例えば入力データを受け取り、処理を行い、出力データを生成する動作単位を指す。この動作単位は、回路記述としては入/出力ポートを持つモジュールとして定義され、さらにモジュールのポートは信号で接続される。
同期回路ではクロック信号によりデータをレジスタに保持する。すべてのレジスタにクロックが供給されると、論理回路を構成するトランジスタがオンオフ、スイッチングを起こすため電力を消費する。このスイッチング回数を減らすために、新しいデータを取り込む必要がなくレジスタの値を保持するクロックサイクルでは、レジスタへのクロック供給を止める設計(ゲーティッドクロック)が用いられている。
図1に、スレッドが1つの場合(スレッド分割前)とスレッドが3つの場合(スレッド分割後)の消費電力の差を示す。モジュール一つが複数のスレッドを有する場合があるが、以降の説明においては一つのスレッドが一つのモジュールに対応するものとして説明する。1スレッド(モジュール)の場合、同モジュールは時刻Tまでクロックが供給され、平均W0の消費電力を消費する。一方これを3つのスレッド(モジュール)に分割し、各モジュールが動作するときにのみクロックを供給し、動作しないときにクロックを止めると、非動作モジュールの回路のトランジスタがスイッチしないため、図1下図に示すように消費電力が削減される。
一般的に、半導体集積回路の全体または一部について、予め消費電力の上限の制約が与えられる。従来技術によれば、設計者が勘に頼ってスレッド分割を行うこととなるため、消費電力の制約以下の半導体集積回路の設計を得るまでに時間と労力がかかった。これに対し、本発明の実施の形態は、分割後の消費電力の見積もりに基づいて十分な消費電力削減効果が得られるまで自動的にスレッド分割を繰り返すので、設計者に負担をかけることなく、また短時間で、消費電力の制約以下の半導体集積回路を得ることができる。
以下に添付図面を参照して、この発明にかかる半導体集積回路合成装置および半導体集積回路合成方法の最良な実施の形態を詳細に説明する。
(第1の実施の形態)
図2は、本発明にかかる第1の実施の形態の半導体集積回路合成装置の構成を示すブロック図である。第1の実施の形態にかかる半導体集積回路は、文献「D.D.Gajski,L.Ramachandran,"Introduction to High-level Synthesis",IEEE Design & Test Computer, Winter 1994, pp.44-54.」にて紹介されているような方法を用いて、動作記述であるSystemC記述から動作合成を行う。第1の実施の形態にかかる半導体集積回路は、その動作合成処理の途中でスレッド分割を実行する。
図2は、本発明にかかる第1の実施の形態の半導体集積回路合成装置の構成を示すブロック図である。第1の実施の形態にかかる半導体集積回路は、文献「D.D.Gajski,L.Ramachandran,"Introduction to High-level Synthesis",IEEE Design & Test Computer, Winter 1994, pp.44-54.」にて紹介されているような方法を用いて、動作記述であるSystemC記述から動作合成を行う。第1の実施の形態にかかる半導体集積回路は、その動作合成処理の途中でスレッド分割を実行する。
すなわち、図2に示すように、第1の実施の形態の半導体集積回路合成装置10は、全体制御部11と、入力記述解釈部12と、コントロールデータフローグラフ(CDFG)生成部13と、スレッド分割部(分割手段)14と、回路生成処理部(回路生成処理手段)15と、消費電力見積/評価部(消費電力見積/評価手段)16と、クロックゲート生成部17と、レジスタ転送レベル(Register Transfer Level;RTL)記述生成部18と、を備える。
入力記述解釈部12およびCDFG生成部13は、導体集積回路のSystemC記述から、演算をノードとし、演算間のデータの流れをエッジとしたグラフであるCDFGを生成するグラフ生成手段を構成する。すなわち、入力記述解釈部12は、入力されるクロック周期、レイテンシ、消費電力に関する制約およびSystemC記述を解釈する。CDFG生成部13は、入力記述解釈部12が解釈したSystemC記述からCDFGを生成する。
スレッド分割部14は、CDFG生成部13が生成したCDFGを複数のCDFGに自動分割する。
回路生成処理部15は、レイテンシ制約に基づき、スレッド分割部14が分割した複数のCDFGに対してスケジューリングと、演算器、レジスタ、メモリなどのハードウェア部品のアロケーションと、該アロケートされたハードウェア部品間を接続するデータパスの生成と、該生成されたデータパスを制御する有限状態機械(FSM)の生成とを行うことにより、分割されたスレッド(モジュール)毎の回路の構成(モジュール回路)である複数のデータパスグラフ(DPG)を生成する。
消費電力見積/評価部16は、テクノロジライブラリを用いて、非動作中のモジュール回路にはクロック供給しないこととして全モジュール回路の消費電力を見積もり、十分な消費電力削減効果が得られるように分割されたか否かを判定評価する。
クロックゲート生成部17は、回路生成処理部15が生成した夫々のデータパスグラフに対し、クロックゲート回路を夫々生成する。RTL記述生成部18は、夫々のモジュールのデータパスグラフおよび生成されたクロックゲート回路に基づき、半導体集積回路全体のRTL記述を生成する。
全体制御部11は、以上の各構成要素を必要に応じて呼び出して制御する。
図3は、半導体集積回路合成装置10のハードウェア構成を示す図である。半導体集積回路合成装置10は、CPU(Central Processing Unit)1、ROM(Read Only Memory)2、RAM(Random Access Memory)3、表示部4、入力部5を有している。半導体集積回路合成装置10では、これらのCPU1、ROM2、RAM3、表示部4、入力部5がバスラインを介して接続されている。
CPU1は、半導体集積回路の合成を行うコンピュータプログラムである半導体集積回路合成プログラム6を実行する。表示部4は、液晶モニタなどの表示装置であり、CPU1からの指示に基づいて、操作画面などの設計者に対する出力情報を表示する。入力部5は、マウスやキーボードを備えて構成され、設計者からの半導体集積回路合成装置10の操作が入力される。入力部5へ入力された操作情報は、CPU1へ送られる。
半導体集積回路合成プログラム6は、ROM2内に格納されており、バスラインを介してRAM3へロードされる。CPU1はRAM3内にロードされた半導体集積回路合成プログラム6を実行する。具体的には、半導体集積回路合成装置10では、設計者による入力部5からの指示入力に従って、CPU1がROM2内から半導体集積回路合成プログラム6を読み出してRAM3内のプログラム格納領域に展開して各種処理を実行する。CPU1は、この各種処理に際して生じる各種データをRAM3内に形成されるデータ格納領域に一時的に記憶させておく。なお、半導体集積回路合成プログラム6は、DISKなどの記憶装置に格納しておいてもよい。また、半導体集積回路合成プログラム6は、DISKなどの記憶装置にロードしてもよい。
本実施の形態の半導体集積回路合成装置10で実行される半導体集積回路合成プログラム6は、前述の各部(全体制御部11、入力記述解釈部12、CDFG生成部13、スレッド分割部14、回路生成処理部15、消費電力見積/評価部16、クロックゲート生成部17、およびRTL記述生成部18)を含む構成となっており、上記各部が主記憶装置上にロードされ、全体制御部11、入力記述解釈部12、CDFG生成部13、スレッド分割部14、回路生成処理部15、消費電力見積/評価部16、クロックゲート生成部17、およびRTL記述生成部18が主記憶装置上に生成される。
なお、本実施形態の半導体集積回路合成装置10で実行される半導体集積回路合成プログラム6を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の半導体集積回路合成装置10で実行される半導体集積回路合成プログラム6をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態の半導体集積回路合成プログラム6を、ROM等に予め組み込んで本実施形態の半導体集積回路合成装置10に提供するように構成してもよい。
次に、半導体集積回路合成装置10の動作を説明する。図4は、半導体集積回路合成装置10の動作を説明するフローチャートである。図4において、まず、入力記述解釈部12は、クロック周期、レイテンシ制約、消費電力制約を読み取るとともに、入力されたSystemC記述の構文と意味解釈を実行する(ステップS1)。
SystemC記述の入力例を図5および図6に示す。図5にはピンが定義されている。図5において、入力として、クロックclk、リセットreset、起動信号にthread1_s、32ビットデータa,b、64ビットデータcが定義されている。また、出力として、ビジー信号thread1_b、終了信号thread1_e、出力データoが定義されている。
図6にはクロックで駆動されるスレッド(関数)が記述されている。図6において、thread1_sがtrueになるとdo_while()以下のアルゴリズム記述部分の演算を行い、出力oに結果を受け渡す。演算中、ビジー信号thread1_bはtureに、終了後にfalseになる。また演算が終了すると終了信号thread1_eはtrueになる。
クロック周期、レイテンシ制約、および消費電力制約の入力例を図7に示す。図示するように、クロック周期、レイテンシ制約および低消費電力制約はコマンドで与えられる。
CDFG生成部13は、ステップS1にて解釈されたSystemC記述からCDFGを生成する(ステップS2)。
図8左図は、図6のアルゴリズム記述部分から生成されたCDFGである。○はノードを示し、変数または演算器である。○間の有向線分はデータの流れを示す。またマルチプレクサは特別な記号で示す。
スレッド分割部14は、ステップS2にて生成されたCDFGを取り込み、複数のCDFGに分割する(ステップS3)。図9は、ステップS3におけるスレッド分割部14による分割の手順を説明するフローチャートである。図9において、まず、スレッド分割部14は、入力ノードからグラフをトレースし、パスを生成する(ステップS11)。そして、スレッド分割部14は、データパスの中央に位置するエッジを見出す(ステップS12)。最後に、スレッド分割部14は、前記見出した中央に位置するエッジを境界として、境界を横切る接続数が最小になるように2つのグラフに分割する(ステップS13)。
例えば、図8左図のパスとして、スレッド分割部14は、[a,+,*,t,MUX,o]、[a,+,*,t,>,MUX,o]、[b,+,*,t,MUX,o]、[b,+,*,t,>,MUX,o]を抽出する。第1のパスでは[*,t]が、第2のパスでは、[t,>]が中央に位置し、分割候補のエッジになる。第3、第4のパスの候補も前者2つと同じである。エッジ[*,t]の*の接続先は1つ、エッジ[t,>]のtの接続先は2つある。スレッド分割部14は、接続数の少ない方である[*,t]を選択して分割する。ただし、スレッド分割部14は、繰り返しループ中のデータパスについてはトレースしない。そして、スレッド分割部14は、分割後のエッジの端点に変数(ノード)を挿入する。スレッド分割部14は、CDFGの分割後のCDFGに変数tをノードとしてコピーする。こうして分割されたCDFGは、図8右図のようになる。
回路生成処理部15は、レイテンシ制約に基づき、ステップS3にて分割された夫々のCDFGから夫々DPGを生成する(ステップS4)。
図10は、図8右図の分割されたCDFGの上部のCDFGから生成されたDPGを説明する図である。rxはレジスタを、逆向きの台形は演算器を、端子記号はマルチプレクサを示す。マルチプレクサは図右にあるSystemCのレジスタ出力によって制御され、点線は制御信号を示している。この例は、3ステートで実行される回路である。
消費電力見積/評価部16は、生成されたDPGに基づき、テクノロジライブラリを使用して消費電力を見積もり、見積もった消費電力結果が消費電力制約を満足するか否かを判定評価する(ステップS5)。見積もった消費電力結果が消費電力制約を満足しないと判定した場合、ステップS3に移行する。
テクノロジライブラリは、論理合成で用いる基本セルライブラリであり、設計者の入力により与えられる。テクノロジライブラリには、論理セル/フリップフロップ/ラッチなどのセルのサイズ(面積m2)、ピン間遅延(p sec)、内部の容量(pf)、利用可能な電源電圧(V)などが格納されている。また、テクノロジライブラリには、本装置でアロケーションが可能な各種ビット幅の演算器のサイズ(m2)、レジスタのサイズ(m2)、キャパシタンス(pf)が格納されている。
ステップS5の消費電力見積/評価部16の動作をさらに具体的に説明する。CMOSトランジスタからなる論理回路においては、トランジスタのオンオフ、スイッチングに起因するモジュールiの消費電力は次の式で求められる。本例ではトランジスタのスイッチング確率を0.5としている。
ここで、
Ngi:モジュールiの組み合わせ回路部分の面積(ゲート数)
Nri:モジュールiのレジスタの面積(ビット数)
Cg:組み合わせ回路部分の1単位面積(1ゲート)あたりのキャパシタンス
Cr:レジスタの1面積(1ビット)あたりのキャパシタンス
V:電源電圧
f:クロック周波数
である。
Ngi:モジュールiの組み合わせ回路部分の面積(ゲート数)
Nri:モジュールiのレジスタの面積(ビット数)
Cg:組み合わせ回路部分の1単位面積(1ゲート)あたりのキャパシタンス
Cr:レジスタの1面積(1ビット)あたりのキャパシタンス
V:電源電圧
f:クロック周波数
である。
Ngiは、モジュールiに含まれる演算器やマルチプレクサ全部の面積(ゲート数)であり、消費電力見積/評価部16は、テクノロジライブラリの値を用いてNgiを計算する。図10のDPGは、32ビット加算器が1つ、32ビット減算器が1つ、32ビット乗算器が1つ、2ビット加算器が1つから構成される。
Nriは、モジュールiに含まれるレジスタのビット数である。レジスタra、rbは32ビット、rtmp1、rtmp2も32ビット、rt1は64ビット、FSMは3ステートで、rst、rnstとも2ビットである。これらを合計すると、198ビットである。消費電力見積/評価部16は、これらのレジスタビット数分の面積をテクノロジライブラリから取り出す。
消費電力見積/評価部16は、回路のキャパシタンスをテクノロジライブラリから、また電源電圧を制約またはテクノロジライブラリから求め、クロック周期は制約として与えられたものを用いる。なお、このモジュールのレイテンシLiは、3ステートで動作するため3である。消費電力見積/評価部16は、式1を実行してモジュールiの消費電力を求めるとともに、レイテンシを計算する。
そして、消費電力見積/評価部16は、次の式を実行して、非動作中のモジュールにはクロック供給しないこととした全モジュールの動作時間あたりの消費電力を求める。
消費電力見積/評価部16は、式2を実行することによって求めた全モジュールの動作時間あたりの消費電力が十分に削減されているか否かを判定する。すなわち、以下に示す評価関数Fの真偽を判定する。
ここで、Pconstは消費電力制約、Pall_cは現在の消費電力見積もり値、Pall_oldは分割前の消費電力見積もり値である。
評価関数が真すなわち、全モジュール動作時間あたりの全モジュール消費電力が消費電力制約を満足、または分割前の消費電力見積もり値が分割後の消費電力見積もり値より小さい場合、消費電力見積/評価部16は、消費電力が十分に削減されていると判定する。評価関数が偽の場合は、消費電力見積/評価部16は消費電力が十分に削減されていないと判定する。消費電力見積/評価部16が消費電力が十分に削減されていないと判定した場合、ステップS3に戻ってスレッド分割部14は分割したスレッドをさらに分割する。
スレッド分割部14は、再分割を行う場合、消費電力量が最大のモジュールに対応するスレッドを分割対象とする。すなわち、分割対象のモジュールは、以下の式で与えられるモジュールMiである。
クロックゲート生成部17は、夫々のモジュールに対し、夫々クロックゲート回路を生成する(ステップS6)。最後に、RTL記述生成部18は、夫々のモジュールのDPGおよび生成されたクロックゲート回路に基づき、RTL記述を生成する(ステップS7)。RTLは例えばverilogやVHDLなどのハードウェア記述言語で記述される。
図11は分割後のモジュールの一例を説明する図である。xx_sはモジュールを起動するスタート信号、xx_bはビジー(動作中を示す)信号、xx_eは処理終了信号である。スタート信号がアサートされている時にはクロックをイネーブルし、終了信号がアサートされたらディスイネーブルする。よってゲーティッドクロックのイネーブル信号は
となる。ゲーティッドクロックは例えば図12のようにデータラッチとAND論理を用いて構成される。クロックゲート生成部17は、夫々のモジュールに対して夫々1つのデータラッチとAND論理回路を生成する。ここで、信号極性により、必ずしもANDである必要はなくOR論理でも実現可能である。
以上述べたように、第1の実施の形態によれば、動作記述に含まれるスレッドに対応するコントロールデータフローグラフを生成し、予め定められた条件が満たされるまで自動的に該グラフの分割を繰り返すように構成したので、消費電力を削減した半導体集積回路を効率的に設計する半導体集積回路合成装置を提供することができる。また、消費電力制約を充足するか、または消費電力が最小になるまで分割を繰り返すように前記する条件を設定したので、半導体集積回路は十分に消費電力が削減された半導体集積回路を設計することができる。また、最も消費電力が大きいモジュールが分割対象となるように構成したので、一回の分割による電力削減量を大きくすることができる。また、コントロールデータフローグラフのデータパスの略中央に位置するエッジで該グラフを分割するように構成したので、一回の分割による電力削減量を大きくすることができる。また、該グラフのデータパスの略中央に位置するエッジが複数ある場合、境界を横切るエッジの数が少ない部分で該グラフを分割するように構成したので、分割に伴って新しく配備されるレジスタの数を少なく抑えることができる。
ところで、近年の半導体集積回路の微細化に伴い、レジスタや組み合わせ回路などからのリーク電流が無視できなくなってきている。そこで、消費電力見積/評価部16は、消費電力を求めるとき、式1の代わりに、式1にリーク電流による消費電力の項を付加した以下の式を用いるようにしてもよい。
ここで、Plkgは組み合わせ回路部分の1単位面積(ゲート)あたりのリーク電流による消費電力であり、Plkrはレジスタの1単位面積(1ビット)あたりのリーク電流による消費電力である。消費電力見積/評価部16は、PlkgおよびPlkrをテクノロジライブラリから取得する。式5を用いて消費電力を算出することにより、組み合わせ回路およびスレッドを分割する毎に増加するレジスタからのリーク電流の影響を考慮したより正確な消費電力を見積もることができるようになる。
また、動作記述としてSystemC記述を取り上げて説明したが、入力される動作記述はSystemC記述に限定されるものではなく、各種演算と制御が記述できアルゴリズムが記述できるものであれば容易に対応可能であるため、どのような言語を用いた記述であってもよい。また、クロック周期、レイテンシ、消費電力制約の入力形式もコマンド入力に限定されるものではなく、SystemCの記述中のコメントで入力されるようにしてもよい。
(第2の実施の形態)
次に、本発明にかかる第2の実施の形態の半導体集積回路合成装置について説明する。図13は、第2の実施の形態の半導体集積回路合成装置の構成を示すブロック図である。第2の実施の形態の半導体集積回路合成装置20は、RTL記述を入力とし、消費電力を削減するために該入力されたRTL記述に基づくモジュールをさらに分割する。
次に、本発明にかかる第2の実施の形態の半導体集積回路合成装置について説明する。図13は、第2の実施の形態の半導体集積回路合成装置の構成を示すブロック図である。第2の実施の形態の半導体集積回路合成装置20は、RTL記述を入力とし、消費電力を削減するために該入力されたRTL記述に基づくモジュールをさらに分割する。
すなわち、半導体集積回路合成装置20は、グラフ生成手段として、入力記述解釈部21、DPG生成部22、およびCDFG変換部23を有する。入力記述解釈部21は、入力されるクロック周期、レイテンシ、消費電力に関する制約およびRTL記述を解釈する。DPG生成部22は、解釈されたRTL記述に基づき、モジュール毎にDPGを生成する。CDFG変換部23は、該生成されたDPGをCDFGに変換する。
半導体集積回路合成装置20は、その他に、全体制御部11、スレッド分割部14、回路生成処理部15、消費電力見積/評価部16、クロックゲート生成部17、およびRTL記述生成部18を備える。これらの各構成要素の機能は第1の実施の形態にかかる同一符号の各構成要素と同一であるので、詳細な説明を省略する。
次に、第2の実施の形態の半導体集積回路合成装置20の動作を説明する。図14は、第2の実施の形態の半導体集積回路合成装置20の動作を説明するフローチャートである。
まず、入力記述解釈部21は、入力されるクロック周期、レイテンシ、消費電力に関する制約およびRTL記述を解釈する(ステップS21)。そして、DPG生成部22は、解釈されたRTL記述に基づき、モジュール毎に図11に示したようなDPGを生成する(ステップS22)。そして、CDFG変換部23は、該生成された夫々のDPGから、データ、制御パスグラフのレジスタ、マルチプレクサ、FSMのレジスタ、演算器を削除して、CDFGに変換する(ステップS23)。以降、半導体集積回路合成装置20は、第1の実施の形態の動作のステップS3〜ステップS7と同等の動作を、ステップS24〜ステップS28において実行する。
このように、第2の実施の形態によれば、RTL記述に含まれる夫々のモジュールの記述に対応するコントロールデータフローグラフを生成し、所望の条件が満たされるまで自動的に該グラフの分割を繰り返すように構成したので、消費電力を削減した半導体集積回路を効率的に設計する半導体集積回路合成装置を提供することができる。
1 CPU、2 ROM、3 RAM、4 表示部、5 入力部、6 半導体集積回路合成プログラム、10 半導体集積回路合成装置、11 全体制御部、12 入力記述解釈部、13 CDFG生成部、14 スレッド分割部、15 回路生成処理部、16 消費電力見積/評価部、17 クロックゲート生成部、18 RTL記述生成部、20 半導体集積回路合成装置、21 入力記述解釈部、22 DPG生成部、23 CDFG変換部。
Claims (5)
- 半導体集積回路の動作記述またはレジスタ転送レベル記述に基づいて、演算をノードとし、演算間のデータの流れをエッジとしたグラフを生成するグラフ生成手段と、
該生成されたグラフを複数の小グラフに分割する分割手段と、
スケジューリングおよびハードウェア部品の割り当てを行って前記夫々の小グラフからモジュール回路を夫々生成する回路生成処理手段と、
非動作中のモジュール回路にはクロック供給しないこととして前記回路生成処理手段が生成した全モジュール回路の合計の消費電力を見積もり、該見積もった消費電力が所定条件を満たしているか否かを判定する消費電力見積/評価手段と、
を備え、
前記消費電力見積/評価手段が見積もった消費電力が前記所定条件を満たしていないと判定した場合、前記分割手段に前記分割後の小グラフをさらに分割させ、前記消費電力見積/評価手段が前記見積もった消費電力が前記所定条件を満たしていると判定した場合、前記回路生成処理手段が生成したモジュール回路に基づき、モジュール回路毎にゲーティッドクロックされた半導体集積回路のレジスタ転送レベル記述を生成する、ことを特徴とする半導体集積回路合成装置。 - 前記所定条件は、予め定められる消費電力制約を充足することか、または消費電力が最小になること、であることを特徴とする請求項1に記載の半導体集積回路合成装置。
- 前記分割手段は、消費電力が最大のモジュール回路に対応する小グラフを分割する、ことを特徴とする請求項1または2に記載の半導体集積回路合成装置。
- 前記分割手段は、グラフのデータパスの略中央に位置するエッジで該グラフを2つの小グラフに分割する、ことを特徴とする請求項1〜3の何れか一つに記載の半導体集積回路合成装置。
- 前記分割手段は、グラフのデータパスの略中央に位置するエッジが複数ある場合、境界を横切るエッジの数が少ない部分で該グラフを分割する、ことを特徴とする請求項4に記載の半導体集積回路合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008283360A JP2010113405A (ja) | 2008-11-04 | 2008-11-04 | 半導体集積回路合成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008283360A JP2010113405A (ja) | 2008-11-04 | 2008-11-04 | 半導体集積回路合成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010113405A true JP2010113405A (ja) | 2010-05-20 |
Family
ID=42301939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008283360A Pending JP2010113405A (ja) | 2008-11-04 | 2008-11-04 | 半導体集積回路合成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010113405A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11062066B2 (en) | 2017-01-11 | 2021-07-13 | Fujitsu Limited | Information processing apparatus, computer-readable recording medium, and information processing method |
-
2008
- 2008-11-04 JP JP2008283360A patent/JP2010113405A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11062066B2 (en) | 2017-01-11 | 2021-07-13 | Fujitsu Limited | Information processing apparatus, computer-readable recording medium, and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7162704B2 (en) | Method and apparatus for circuit design and retiming | |
US6247134B1 (en) | Method and system for pipe stage gating within an operating pipelined circuit for power savings | |
JP3357813B2 (ja) | ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP3150122B2 (ja) | 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム | |
US11842199B2 (en) | Controlling the operating speed of stages of an asynchronous pipeline | |
EP2610702A2 (en) | Power consumption prediction method for clock-gating integrated circuit device | |
US9842187B1 (en) | Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design | |
US7958476B1 (en) | Method for multi-cycle path and false path clock gating | |
Hassoun et al. | Optimal buffered routing path constructions for single and multiple clock domain systems | |
US7725843B2 (en) | Behavioral synthesis apparatus, behavioral synthesis method, method for manufacturing digital circuit, behavioral synthesis control program and computer-readable recording medium | |
JP2008065457A (ja) | 半導体集積回路の設計方法及び設計システム | |
US8776003B2 (en) | System and method for employing side transition times from signoff-quality timing analysis information to reduce leakage power in an electronic circuit and an electronic design automation tool incorporating the same | |
JP2008299464A (ja) | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 | |
US7941679B2 (en) | Method for computing power savings and determining the preferred clock gating circuit of an integrated circuit design | |
JP2010113405A (ja) | 半導体集積回路合成装置 | |
US11308025B1 (en) | State machine block for high-level synthesis | |
US8176451B2 (en) | Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium | |
Kamal et al. | Design of NBTI-resilient extensible processors | |
Hyun et al. | Allocation of Multibit Retention Flip-Flops for Power Gated Circuits: Algorithm-Design Unified Approach | |
JP2009301192A (ja) | シミュレーション装置およびシミュレーション方法 | |
JP2016024683A (ja) | 情報処理装置及びその制御方法 | |
JPH08106476A (ja) | 論理回路自動合成方法 | |
Kim et al. | DEMI: A delay minimization algorithm for cell-based digital VLSI design | |
Mahnke | Low Power ASIC Design Using Voltage Scaling at the Logic Level | |
Palumbo et al. | Research Article Modelling and Automated Implementation of Optimal Power Saving Strategies in Coarse-Grained Reconfigurable Architectures |