JP2011192001A - 高位合成装置及び高位合成方法 - Google Patents

高位合成装置及び高位合成方法 Download PDF

Info

Publication number
JP2011192001A
JP2011192001A JP2010057326A JP2010057326A JP2011192001A JP 2011192001 A JP2011192001 A JP 2011192001A JP 2010057326 A JP2010057326 A JP 2010057326A JP 2010057326 A JP2010057326 A JP 2010057326A JP 2011192001 A JP2011192001 A JP 2011192001A
Authority
JP
Japan
Prior art keywords
unit
internal representation
clock frequency
module
semiconductor integrated
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.)
Withdrawn
Application number
JP2010057326A
Other languages
English (en)
Inventor
Toru Fujita
田 透 藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010057326A priority Critical patent/JP2011192001A/ja
Priority to US13/048,650 priority patent/US20110225557A1/en
Publication of JP2011192001A publication Critical patent/JP2011192001A/ja
Withdrawn legal-status Critical Current

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

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)
  • Power Sources (AREA)

Abstract

【課題】半導体集積回路の消費電力をさらに低減するための高位合成を行う高位合成装置を提供する。
【解決手段】高位合成装置10は、半導体集積回路の動作記述から内部表現を生成する内部表現生成部12と、内部表現生成部12により生成された内部表現について、演算のスケジューリングを行うスケジューリング部13と、スケジューリング部13の処理結果に基づいて、演算を実行するモジュールのクロック周波数を変更する周波数制御部14と、周波数制御部14により変更されたクロック周波数でモジュールが動作するように、半導体集積回路の回路構成を決定するアロケーション部15と、アロケーション部15の処理結果に基づいて、内部表現からレジスタ転送レベル記述を生成するレジスタ転送レベル記述生成部16と、レジスタ転送レベル記述生成部16により生成されたレジスタ転送レベル記述を出力する出力部17と、を備える。
【選択図】図2

Description

本発明は、高位合成装置及び高位合成方法に関し、より詳しくは、半導体集積回路の設計に用いられる高位合成装置及び高位合成方法に関する。
従来、半導体集積回路の設計に用いられる高位合成では、ハードウェア記述言語(以下、「HDL(Hardware Description Language)」という)により表現された動作記述からCDFG(Control Data Flow Graph)等の内部表現が生成され、内部表現に基づいてスケジューリング及びアロケーションが行われ、スケジューリング及びアロケーションの結果に基づいてレジスタ転送レベル記述(以下、「RTL(Register Transfer Level)記述」という)が生成されていた。
設計者は、半導体集積回路の消費電力を低減するために、高位合成において生成されるRTL記述を実現するモジュールの消費電力を低減する(例えば、低消費電力のモジュールを選択する)か、クロックゲーティング技術を採用する必要があった。
しかしながら、低消費電力のモジュールやクロックゲーティング技術による半導体集積回路の消費電力の低減には限界があった。
すなわち、従来の高位合成結果から、半導体集積回路の消費電力をさらに低減することは困難であった。
特開2007−287088号公報
本発明の目的は、半導体集積回路の消費電力をさらに低減するための高位合成を行う高位合成装置及び高位合成方法を提供することである。
本発明の第1態様によれば、
半導体集積回路の動作記述から内部表現を生成する内部表現生成部と、
前記内部表現生成部により生成された内部表現について、演算のスケジューリングを行うスケジューリング部と、
前記スケジューリング部の処理結果に基づいて、前記演算を実行するモジュールのクロック周波数を変更する周波数制御部と、
前記周波数制御部により変更されたクロック周波数で前記モジュールが動作するように、前記半導体集積回路の回路構成を決定するアロケーション部と、
前記アロケーション部の処理結果に基づいて、前記内部表現からレジスタ転送レベル記述を生成するレジスタ転送レベル記述生成部と、
前記レジスタ転送レベル記述生成部により生成されたレジスタ転送レベル記述を出力する出力部と、
を備えることを特徴とする高位合成装置が提供される。
本発明の第2態様によれば、
半導体集積回路の動作記述から内部表現を生成し、
前記内部表現について、演算のスケジューリングを行い
スケジューリングされた内部表現に基づいて、前記演算を実行するモジュールのクロック周波数を変更し、
前記変更されたクロック周波数で前記モジュールが動作するように、前記半導体集積回路の回路構成を決定し、
前記決定した回路構成に基づいて、前記内部表現からレジスタ転送レベル記述を生成し、
前記レジスタ転送レベル記述を出力する、
ことを特徴とする高位合成方法が提供される。
本発明によれば、半導体集積回路の消費電力をさらに低減するための高位合成結果を得ることができる。
本実施形態に係る高位合成装置10を含むシステムの構成を示すブロック図である。 図1の高位合成装置10の構成を示すブロック図である。 図2の周波数制御部14の構成を示すブロック図である。 本実施形態に係る高位合成処理の手順を示すフローチャートである。 図4のスケジューリングステップ(S403)において生成されるスケジューリングされたCDFGの一例を示す概略図である。 図4の周波数制御ステップ(S404)の手順を示すフローチャートである。 図6のクロック周波数変更ステップ(S602)の処理結果に対応するCDFGの一例を示す概略図である。 図6のチェイニングステップ(S603)の手順を示すフローチャートである。 図6のチェイニングステップ(S603)において用いられるチェイニングテーブルの一例を示す概略図である。 図6のチェイニングステップ(S603)の処理結果に対応するCDFGの一例を示す概略図である。
以下、本発明の実施形態について、図面を参照して詳細に説明する。
本実施形態に係る高位合成装置の構成について説明する。図1は、本実施形態に係る高位合成装置10を含むシステムの構成を示すブロック図である。図2は、図1の高位合成装置10の構成を示すブロック図である。図3は、図2の周波数制御部14の構成を示すブロック図である。
図1に示すように、高位合成装置10は、メモリ20と、入力装置30と、出力装置40と、に接続される。メモリ20には、高位合成装置10の機能を実現するための高位合成プログラムが格納されている。入力装置30は、ユーザが高位合成装置10のオペレーションに必要な情報を入力するときに使用される。例えば、入力装置30は、キーボードである。出力装置40は、ユーザが高位合成装置10のオペレーションの結果を確認するときに使用される。例えば、出力装置40は、ディスプレイである。
図2に示すように、高位合成装置10は、入力部11と、内部表現生成部12と、スケジューリング部13と、周波数制御部14と、アロケーション部15と、RTL記述生成部16と、出力部17と、を備える。
図2の入力部11は、入力装置30を使用してユーザが入力した情報を受け付けるように構成される。より具体的には、入力部11は、HDLで表現された半導体集積回路の動作記述と、クロック周波数等の半導体集積回路の制約を示す制約情報と、半導体集積回路のパラメータを含むライブラリと、を受け付ける。
図2の内部表現生成部12は、半導体集積回路の動作記述から内部表現を生成するように構成される。より具体的には、内部表現生成部12は、動作記述の演算をノードに変換し、複数の演算の間のデータの流れを示す変数を、ノード間を接続する矢印で表現することによって、CDFGを生成する。
図2のスケジューリング部13は、内部表現生成部12により生成された内部表現について、演算のスケジューリングを行うように構成される。より具体的には、スケジューリング部13は、データの依存関係と、制約情報に示される半導体集積回路の制約と、を満たすように、演算段をCDFGの各演算に割り当てる。換言すると、スケジューリング部13は、制約情報に基づいて、CDFGの各演算を適切な演算段に配置する。1つの演算段には、1クロックサイクルで実行可能な1又は複数の演算が割り当てられる。
図2の周波数制御部14は、スケジューリング部13の処理結果に基づいて、演算を実行するモジュールのクロック周波数を変更するように構成される。図3に示すように、周波数制御部14は、演算段算出部141と、クロック周波数変更部142と、チェイニング部143と、制御情報生成部144と、を備える。
図3の演算段算出部141は、モジュールが全ての演算を実行するのに必要な演算段(以下、「必要演算段」という)の数を算出するように構成される。
図3のクロック周波数変更部142は、演算段算出部141により算出された演算段の数に基づいて、モジュールのクロック周波数を減らすように構成される。
図3のチェイニング部143は、減少したクロック周波数を有するモジュールにより実行される演算の演算段を変更するように構成される。
図3の制御情報生成部144は、クロック周波数の変更量と、減少したクロック周波数を有するモジュールの識別情報と、を含む制御情報を生成するように構成される。
図2のアロケーション部15は、周波数制御部14により変更されたクロック周波数でモジュールが動作するように、半導体集積回路の回路構成を決定するように構成される。換言すると、アロケーション部15は、スケジューリング部13によりスケジューリングされたCDFGの各演算を適切な演算器等の回路素子に変換する。
図2のRTL記述生成部16は、アロケーション部15の処理結果に基づいて、内部表現からRTL記述を生成するように構成される。
図2の出力部17は、RTL記述生成部16により生成されたRTL記述と、制御情報生成部144により生成された制御情報と、を出力するように構成される。
本実施形態に係る高位合成処理について説明する。図4は、本実施形態に係る高位合成処理の手順を示すフローチャートである。図5は、図4のスケジューリングステップ(S403)において生成されるスケジューリングされたCDFGの一例を示す概略図である。
<図4:入力ステップ(S401)> 入力部11が、動作記述と、制約情報と、ライブラリと、を入力装置30から受け付ける。例えば、制約情報には、クロック周波数が100[MHz]であり、モジュールが動作するサイクル数の制約(以下、「サイクル制約」という)が8サイクルであることが示される。それにより、高位合成処理に必要な情報が高位合成装置10に供給される。
<図4:内部表現生成ステップ(S402)> 内部表現生成部12が、入力ステップ(S401)において受け付けられた動作記述から内部表現を生成する。
<図4:スケジューリングステップ(S403)> スケジューリング部13が、内部表現生成部ステップ(S402)において生成された内部表現について、演算のスケジューリングを行う。それにより、スケジューリングされた内部表現が生成される。スケジューリングされた内部表現では、動作記述に現れる演算の実行ステップが決められる。より具体的には、スケジューリング部13は、ASAP(As Soon As Possible)アルゴリズム又はALAP(As Late As Possible)アルゴリズムを用いて、CDFGのスケジューリングを行う。アルゴリズムがASAPであり、且つ、演算遅延が10[ns]である場合には、図5のスケジューリングされたCDFGが生成される。図5には、演算CF1〜CF4を含むモジュールFと、演算CG1〜CG18を含むモジュールGと、が示される。図5では、矢印がデータの流れを示し、破線がクロックサイクルCCn(n:1,2,・・)を示す。図5のスケジュールされたCDFGでは、矢印が破線と交わったときに、データの保持が行われる。すなわち、図5に示すように、矢印と破線の交点にラッチLm(m:1,2,・・)が設けられる。モジュールFでは、9回のラッチL1〜L9が設けられる。モジュールGでは、20回のラッチL1〜L20が設けられる。ラッチLmの数が増えるほど、消費電力の高い半導体集積回路のRTL記述が生成される。
<図4:周波数制御ステップ(S404)> 周波数制御部14が、スケジューリングステップ(S403)において生成されたスケジューリングされた内部表現について、演算を実行するモジュールのクロック周波数を減らす。
周波数制御ステップ(S404)の手順について説明する。図6は、図4の周波数制御ステップ(S404)の手順を示すフローチャートである。図7は、図6のクロック周波数変更ステップ(S602)の処理結果に対応するCDFGの一例を示す概略図である。
<図6:演算段算出ステップ(S601)> 演算段算出部141が、必要演算段の数を算出する。例えば、図5に示すように、ASAPアルゴリズムを用いて生成されたCDFGでは、1つのクロックサイクルCCnにおいて1つの演算が実行される。従って、先頭の演算が割り当てられたクロックサイクルと最後の演算が割り当てられたクロックサイクルとの間のクロックサイクルの数が、全ての演算を実行するのに必要な演算段の数である。図5では、モジュールFについては、演算段CS2に最後の演算CF4が割り当てられ、モジュールGについては、演算段CS8に最後の演算CG18が割り当てられる。従って、モジュールFの必要演算段の数は3であり、モジュールGの必要演算段の数は9である。なお、演算段算出部141は、ALAP等のその他のアルゴリズムを用いて生成されたCDFGについても、同様の方法により、必要演算段の数を算出することができる。
<図6:クロック周波数変更ステップ(S602)> クロック周波数変更部142が、演算段算出ステップ(S601)において算出された必要演算段の数に基づいて、モジュールのクロック周波数を減らす。より具体的には、クロック周波数変更部142は、式1を用いて新たなクロック周波数を算出する。例えば、図5では、元のクロック周波数(f)は100[MHz]であり、モジュールFの必要演算段の数(S)は3であり、モジュールGの必要演算段の数(S)は9であり、サイクル制約(C)は8である。従って、モジュールFの新たなクロック周波数(f´)は約50[MHz]であり、モジュールGの新たなクロック周波数(f´)は約112[MHz]である。この場合には、モジュールFのクロック周波数は50[MHz]に変更され、モジュールGのクロック周波数は100[MHz]に維持される。その結果、図7に示すようなCDFGが生成される。図5のCDFGと比較すると、図7のCDFGでは、モジュールFのクロック周波数が半分であるので、モジュールFのラッチの数も減少する。より具体的には、図5では、モジュールFのラッチの数は9個(L1〜L9)であるのに対して、図7では、モジュールFのラッチの数は5個(L1〜L5)である。換言すると、図5のCDFGと比較すると、図7のCDFGからは、消費電力の低いRTL記述が生成される。
[数1] f´=f×S/C ・・・ (式1)
f:元のクロック周波数
f´:新たなクロック周波数
S:必要演算段の数
C:サイクル制約
<図6:チェイニングステップ(S603)> チェイニング部143が、クロック周波数変更ステップ(S602)において変更されたクロック周波数を有するモジュールにより実行される演算の演算段を変更する。
チェイニングステップ(S603)の手順について説明する。図8は、図6のチェイニングステップ(S603)の手順を示すフローチャートである。図9は、図6のチェイニングステップ(S603)において用いられるチェイニングテーブルの一例を示す概略図である。図10は、図6のチェイニングステップ(S603)の処理結果に対応するCDFGの一例を示す概略図である。
<図8:S801> チェイニング部143が、入力ステップ(S401)において受け付けられたライブラリに基づいて、チェイニングテーブルを生成する。図9に示すように、チェイニングテーブルは、CDFGの演算の識別情報を示す「識別情報」と、演算が終了する時刻を示す「時刻(T)」と、演算が実行されるサイクルを示す「実行サイクル(C)」と、チェイニングステップ(S603)が完了したことを示す「完了フラグ」と、を含む。演算の識別情報は、ライブラリに含まれる。
<図8:S802> チェイニング部143が、変数Sに初期値1を設定する。変数Sは、チェイニングステップ(S603)で取り扱われる演算(以下、「対象演算」という)の識別情報に対応する。
<図8:S803> チェイニング部143が、「識別情報」の値と変数Sの値とが一致する演算をスタックする。すなわち、S802において変数Sに設定された初期値に対応する演算が対象演算としてスタックされる。
<図8:S804> チェイニング部143が、演算がスタックされているか否かを判定する。演算がスタックされている場合には(S804−YES)、S805に進む。演算がスタックされていない場合には(S804−NO)、S811に進む。すなわち、初期値に対応する演算がある場合にはS805に進み、初期値に対応する演算がない場合にはS811に進む。
<図8:S805> チェイニング部143が、“TP+T”の値を対象演算の「時刻(T)」に設定する。TPは、識別情報の値が変数Sの値より小さい演算(以下、「先行演算」という)の「時刻(T)」の値の中の最大値である。それにより、変数Sに対応する演算の実行時刻(仮の実行時刻)が決まる。
<図8:S806> チェイニング部143が、“T/f´”を切り上げた値を「実行サイクル(C)」に設定する。それにより、変数Sに対応する演算の「実行サイクル(C)」が“C+1”に決まる。
<図8:S807> チェイニング部143が、「実行サイクル(C)」の値が先行演算の実行サイクル(CP)の値と一致するか否かを判定する。「実行サイクル(C)」の値が先行演算の実行サイクル(CP)の値と一致する場合には(S807−YES)、S808に進む。「実行サイクル(C)」の値が先行演算の実行サイクル(CP)の値と一致しない場合には(S807−NO)、S809に進む。
<図8:S808> チェイニング部143が、“C×f´+T”の値を「時刻(T)」に設定する。それにより、変数Sに対応する演算の実行時刻が決まる。
<図8:S809> チェイニング部143が、対象演算の「完了フラグ」にフラグを設定する。それにより、チェイニングステップが完了した演算が記録される。
<図8:S811> チェイニング部143が、変数Sをインクリメントする。それにより、対象演算が変更される。
<図8:S812> チェイニング部143が、「識別情報」の値と変数Sの値とが一致する演算をスタックする。それにより、S811において変数Sに設定された値に対応する演算が対象演算としてスタックされる。
<図8:S813> チェイニング部143が、演算がスタックされているか否かを判定する。演算がスタックされている場合には(S811−YES)、S805に戻る。演算がスタックされていない場合には(S813−NO)、チェイニングステップ(S603)を終了する。
チェイニングステップ(S603)の具体例について説明する。
はじめに、図7のチェイニングテーブルが生成される。
次いで、図7の演算CF1,CF2がスタックされる。演算CF1,CF2の先行演算は存在しないので、演算CF1,CF2の「時刻(T)」に、演算CF1,CF2の実行時間である10[ns]が設定される。次いで、演算CF1,CF2の「実行サイクル」に1が設定される。「実行サイクル(C)」に設定される値は、「時刻(T)」の値をクロック周期(20[ns])で割り、その値(「時刻(T)」/「クロック周期」)を切り上げることにより算出される。次いで、演算CF1,CF2の「完了フラグ」にフラグ“○”が設定される。
次いで、演算CF1,CF2に後続する演算CF3がスタックされる。次いで、演算CF3の「時刻(T)」に、演算CF3の実行時間である10[ns]と先行演算である演算CF1又は演算CF2の時刻10[ns]との和である20[ns]が設定される。次いで、演算CF3の「実行サイクル」に1が設定される。ついで、演算CF3の「完了フラグ」にフラグ“○”が設定される。
次いで、演算CF3に後続する演算CF4がスタックされる。次いで、演算CF4の「時刻(T)」に、演算CF4の実行時間である10[ns]と先行演算である演算CF3の時刻20[ns]との和である30[ns]が設定される。次いで、演算CF4の「実行サイクル」に2が設定される。ついで、演算CF4の「完了フラグ」にフラグ“○”が設定される。
その結果、図10に示すようなCDFGが生成される。図10のCDFGでは、図7のCDFGと比較して、演算CF1〜CF3が同じ演算段で実行されるので、モジュールFのラッチの数が減少する。すなわち、図10では、モジュールFのラッチの数は4個(L1〜L4)である。図7のCDFGと比較すると、図10のCDFGからは、消費電力の低いRTL記述が生成される。
<図6:制御情報生成ステップ(S604)> 制御情報生成部144が、クロック周波数変更ステップ(S602)において変更されたクロック周波数の変更量と、変更されたクロック周波数を有するモジュールの識別情報と、を含む制御情報を生成する。例えば、チェイニングステップ(S603)において図10のCDFGが生成された場合には、変更量は50[MHz]であり、モジュールの識別情報は「F」である。
図4の周波数制御ステップ(S404)は、図6の制御情報生成ステップ(S604)の後に終了する。
<図4:アロケーションステップ(S405)> アロケーション部15が、周波数制御ステップ(S404)において変更されたクロック周波数でモジュールが動作するように、半導体集積回路の回路構成を決定する。例えば、チェイニングステップ(S603)において図10のCDFGが生成された場合には、アロケーション部15は、図10のCDFGを実現する回路構成を決定する。
<図4:RTL記述生成ステップ(S406)> RTL記述生成部16が、アロケーションステップ(S405)の処理結果に基づいて、内部表現からRTL記述を生成する。例えば、チェイニングステップ(S603)において図10のCDFGが生成された場合には、RTL記述生成部16は、図10のCDFGを実現する半導体集積回路のRTL記述を生成する。それにより、内部表現生成ステップ(S402)において生成された図5のCDFGを実現する半導体集積回路と比べて、消費電力が低い半導体集積回路のRTL記述が生成される。
<図4:出力ステップ(S407)> 出力部17が、RTL記述生成ステップ(S406)において生成されたRTL記述と、制御情報生成ステップ(S604)において生成された制御情報と、を出力装置40に出力する。それにより、従来に比べて、消費電力の低い半導体集積回路のRTL記述と、本実施形態に係る高位合成処理に関する制御情報と、が得られる。
図4の高位合成処理は、出力ステップ(S407)の後に終了する。
本実施形態によれば、周波数制御部14により、ラッチの数が減少するように、演算を実行するモジュールのクロック周波数が制御される。それにより、従来に比べて、消費電力の低い半導体集積回路のRTL記述が得られる。
また、本実施形態によれば、チェイニング部143により、演算の演算段が変更される。それにより、さらに消費電力の低い半導体集積回路のRTL記述が得られる。
本発明の実施形態に係る高位合成装置10の少なくとも一部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。ソフトウェアで構成する場合には、高位合成装置10の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させても良い。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でも良い。
また、本発明の実施形態に係る高位合成装置10の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布しても良い。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布しても良い。
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
10 高位合成装置
11 入力部
12 内部表現生成部
13 スケジューリング部
14 周波数制御部
141 演算段算出部
142 クロック周波数変更部
143 チェイニング部
144 制御情報生成部
15 アロケーション部
16 RTL記述生成部
17 出力部
20 メモリ
30 入力装置
40 出力装置

Claims (5)

  1. 半導体集積回路の動作記述から内部表現を生成する内部表現生成部と、
    前記内部表現生成部により生成された内部表現について、演算のスケジューリングを行うスケジューリング部と、
    前記スケジューリング部の処理結果に基づいて、前記演算を実行するモジュールのクロック周波数を変更する周波数制御部と、
    前記周波数制御部により変更されたクロック周波数で前記モジュールが動作するように、前記半導体集積回路の回路構成を決定するアロケーション部と、
    前記アロケーション部の処理結果に基づいて、前記内部表現からレジスタ転送レベル記述を生成するレジスタ転送レベル記述生成部と、
    前記レジスタ転送レベル記述生成部により生成されたレジスタ転送レベル記述を出力する出力部と、
    を備えることを特徴とする高位合成装置。
  2. 前記周波数制御部は、
    前記モジュールが全ての演算を実行するのに必要な演算段の数を算出する演算段算出部と、
    前記演算段算出部により算出された演算段の数に基づいて、前記モジュールのクロック周波数を減らすクロック周波数変更部と、
    を備える請求項1記載の高位合成装置。
    高位合成装置。
  3. 前記周波数制御部は、さらに、減少したクロック周波数を有するモジュールにより実行される演算の演算段を変更するチェイニング部を備える、
    請求項1又は2記載の高位合成装置。
  4. 前記周波数制御部は、さらに、前記クロック周波数の変更量と、減少したクロック周波数を有するモジュールの識別情報と、を含む制御情報を生成する制御情報生成部を備え、
    前記出力部は、さらに、前記制御情報生成部により生成された前記制御情報を出力する、
    請求項1乃至3の何れか1項記載の高位合成装置。
  5. 半導体集積回路の動作記述から内部表現を生成し、
    前記内部表現について、演算のスケジューリングを行い
    スケジューリングされた内部表現に基づいて、前記演算を実行するモジュールのクロック周波数を変更し、
    前記変更されたクロック周波数で前記モジュールが動作するように、前記半導体集積回路の回路構成を決定し、
    前記決定した回路構成に基づいて、前記内部表現からレジスタ転送レベル記述を生成し、
    前記レジスタ転送レベル記述を出力する、
    ことを特徴とする高位合成方法。
JP2010057326A 2010-03-15 2010-03-15 高位合成装置及び高位合成方法 Withdrawn JP2011192001A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010057326A JP2011192001A (ja) 2010-03-15 2010-03-15 高位合成装置及び高位合成方法
US13/048,650 US20110225557A1 (en) 2010-03-15 2011-03-15 High-level synthesis apparatus, high-level synthesis method, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010057326A JP2011192001A (ja) 2010-03-15 2010-03-15 高位合成装置及び高位合成方法

Publications (1)

Publication Number Publication Date
JP2011192001A true JP2011192001A (ja) 2011-09-29

Family

ID=44561143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010057326A Withdrawn JP2011192001A (ja) 2010-03-15 2010-03-15 高位合成装置及び高位合成方法

Country Status (2)

Country Link
US (1) US20110225557A1 (ja)
JP (1) JP2011192001A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6255880B2 (ja) * 2013-10-10 2018-01-10 株式会社ソシオネクスト 高位合成用データ生成装置、高位合成装置、高位合成用データ生成方法及びプログラム
KR20200139525A (ko) 2019-06-04 2020-12-14 삼성전자주식회사 Fpga를 포함하는 전자 시스템 및 이의 동작 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205084A (ja) * 2009-03-04 2010-09-16 Renesas Electronics Corp 動作合成システム、動作合成方法、動作合成プログラム

Also Published As

Publication number Publication date
US20110225557A1 (en) 2011-09-15

Similar Documents

Publication Publication Date Title
Xu et al. Autodnnchip: An automated dnn chip predictor and builder for both fpgas and asics
JP4923128B2 (ja) 回路設計およびリタイミングの方法および装置
US5764951A (en) Methods for automatically pipelining loops
Liu et al. Compositional system-level design exploration with planning of high-level synthesis
WO2006135816A2 (en) Optimization of memory accesses in a circuit design
JP2007034887A (ja) ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置
JP2013109438A (ja) 動作合成方法、動作合成プログラム及び動作合成装置
US9659123B2 (en) Systems and methods for flexibly optimizing processing circuit efficiency
JP2011192001A (ja) 高位合成装置及び高位合成方法
US6654945B1 (en) Storage medium in which data for designing an integrated circuit is stored and method of fabricating an integrated circuit
JP2003316838A (ja) システムlsiの設計方法及びこれを記憶した記録媒体
Mittal et al. Design exploration and implementation of simplex algorithm over reconfigurable computing platforms
Marculescu et al. System-level process-driven variability analysis for single and multiple voltage-frequency island systems
JP5228546B2 (ja) 動作合成装置、および、プログラム
US9721051B2 (en) Reducing clock skew in synthesized modules
JP2011237989A (ja) 半導体集積回路の設計装置、その設計方法、及びその設計プログラム
JP5644432B2 (ja) 動作合成システム、動作合成方法、動作合成用プログラム及び半導体装置
JP2008204111A (ja) 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体
JP2001209664A (ja) 高位合成方法並びに高位合成方法の実施に使用される記録媒体
Kalla et al. High-level design verification using Taylor Expansion Diagrams: first results
JP2007086952A (ja) 半導体集積回路の論理検証方法、設計方法、及び電圧発生回路マクロの論理モデルが記録された記録媒体
Zhuge et al. Timing optimization via nest-loop pipelining considering code size
JP2009129367A (ja) 動作合成システム、動作合成方法および動作合成用プログラム
JP5009243B2 (ja) 動作合成装置、動作合成方法、プログラム、記録媒体、および半導体集積回路の製造方法
JP2007323606A (ja) 動作合成装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130604