JP5157534B2 - 動作合成装置、および、プログラム - Google Patents
動作合成装置、および、プログラム Download PDFInfo
- Publication number
- JP5157534B2 JP5157534B2 JP2008056173A JP2008056173A JP5157534B2 JP 5157534 B2 JP5157534 B2 JP 5157534B2 JP 2008056173 A JP2008056173 A JP 2008056173A JP 2008056173 A JP2008056173 A JP 2008056173A JP 5157534 B2 JP5157534 B2 JP 5157534B2
- Authority
- JP
- Japan
- Prior art keywords
- synthesis
- information
- level description
- processing
- behavior
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic 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)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する動作合成装置であって、
前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報をライブラリ情報として記憶するライブラリ情報記憶手段と、
前記動作レベル記述を言語レベルで最適化する言語レベル最適化手段と、
前記言語レベル最適化手段で最適化した際の最適化の実現方法を示す情報を、当該実現方法を適用した動作レベル記述内の処理を識別する情報と対応付けて記憶する、言語レベル最適化実現方法記憶手段と、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理の所属属性を判別する所属属性判別手段と、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理を処理の属性および前記所属属性判別手段で判別した所属属性毎に分類し、各処理の分類毎に、当該動作レベル記述内での出現数を取得する処理出現数取得手段と、
動作合成の合成内容を指示する合成指示情報を取得する合成指示情報取得手段と、
前記処理出現数取得手段で取得した処理の分類毎の出現数と、ライブラリ情報記憶手段に記憶したライブラリ情報と、前記言語レベル最適化実現方法記憶手段に記憶した情報とに基づいて、前記動作レベル記述が示す処理をレジスタ転送レベル記述で表現するために必要な前記合成指示情報が示す合成内容に合致する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段と、
を備えることを特徴とする。
コンピュータを、
レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報をライブラリ情報として記憶するライブラリ情報記憶手段、
動作レベル記述を言語レベルで最適化する言語レベル最適化手段、
前記言語レベル最適化手段で最適化した際の最適化の実現方法を示す情報を、当該実現方法を適用した動作レベル記述内の処理を識別する情報と対応付けて記憶する、言語レベル最適化実現方法記憶手段、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理の所属属性を判別する所属属性判別手段、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理を処理の属性および前記所属属性判別手段で判別した所属属性毎に分類し、各処理の分類毎に、当該動作レベル記述内での出現数を取得する処理出現数取得手段、
動作合成の合成内容を指示する合成指示情報を取得する合成指示情報取得手段、
前記処理出現数取得手段で取得した処理の分類毎の出現数と、ライブラリ情報記憶手段に記憶したライブラリ情報と、前記言語レベル最適化実現方法記憶手段に記憶した情報とに基づいて、前記動作レベル記述が示す処理をレジスタ転送レベル記述で表現するために必要な前記合成指示情報が示す合成内容に合致する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段、
として機能させる。
なお、当該実施形態は本発明の原理の理解を容易にするためのものであり、本発明の範囲は、下記の実施形態に限られるものではなく、当業者が以下の実施形態の構成を適宜置換した他の実施形態も、本発明の範囲に含まれる。
第1の実施形態に係る動作合成装置100は、図1に示すように、入力部10と、記憶部20と、処理部30と、出力部40とを備える。
一例として、ライブラリ記憶領域22に格納されている、回路構成要素の演算器に関するライブラリ情報を図3(A)に示す。この例では、ビット幅が4、6、8、16ビットで符号がunsignedである4種類の加算器がライブラリ情報として、ライブラリ記憶領域23に登録されている。即ち、このライブラリ情報に基づくRTL記述内に加算器を配置する場合には、この4種類の加算器以外の加算器を配置することはできない。
バインディング工程は、動作レベル記述で表現された各処理に対して、必要なハードウェアリソース(演算器などの回路素子、および、レジスタ等)を割り付ける工程である。
その他の最適化工程は、データパスの最適化等の処理を行う工程である。
なお、合成制約生成部32は、ステップS103で、合成指示情報もさらに加えて、合成制約情報を求めてもよい。このようにすることで、合成指示情報に含まれる、合成回路全体に与えるような指示も、作成される合成制約情報に反映されるので、より合成制約情報の精度が増す。
以上で、合成制約生成処理は終了する。
図3(A)は、ライブラリ記憶領域22に記憶されているライブラリ情報を示した図であり、ビット幅の異なる4種類の加算器が登録されている。
図3(B)は、処理出現数記憶領域26に記憶されている情報を示した図であり、ビット幅「4」、「5」、「6」、「7」の加算処理が1つずつ、ビット幅「8」の加算処理が4つの、合計8つの加算処理が、動作レベル回路記述に含まれていることを示している。
図5(A)は、ライブラリ記憶領域22に記憶されているライブラリ情報を示した図であり、ビット幅と符号の異なる6種類の演算器(加算器、減算器、加減算器)が登録されている。
図5(C)は、図5(B)に示す言語レベル最適化済動作レベル記述を解析して得られた、処理出現数記憶領域26に記憶されている情報を示した図である。この図より、ビット幅「8」、「16」で符号が「unsigned」の加算処理が1つずつ、ビット幅「8」で符号が「unsigned」の減算処理が1つ、ビット幅「16」で符号が「signed」の加算処理が1つの、合計4つの演算処理が、図5(B)の動作レベル記述に含まれていることがわかる。
そして、このようにして作成した合成制約情報に基づいて、動作合成装置100の合成制約生成部32は、以下、回路設計者等からの指示を受けて、RTLレベルを作成する。そのため、本実施形態では、事前に合成制約を準備すること無しに、動作合成を行うことができる。
上記第1の実施形態では、合成制約情報の作成にあたっては、処理の所属属性と言語レベル最適化実現方法とは考慮されない。第2の実施形態では、処理の所属属性と言語レベル最適化実現方法とを考慮に入れて合成制約情報を作成するため、より回路設計者の要求に合致した合成制約情報を生成できる。
なお、ここでいう所属属性とは、当該処理が動作レベル記述内でどのような制御ブロックに属しているかを示す情報であり、例えば、当該処理がループ制御文のボディに属しているか、関数内に属しているか等を示す情報である。
例えば、図8(A)に示す動作レベル記述を、図8(B)に示すように言語レベル最適化した場合には、合成制約生成部32は、ループ制御文をアンロールした演算処理文D4〜D7に、共通のID「01」を発行し、このID「01」と最適化実現方法特定情報「ループのアンロール(繰り返し回数4)」とを対応付けて、言語レベル最適化実現方法記憶領域29に記憶する。また、合成制約生成部32は、関数をインライン展開した処理D2、D8には、共通のID「02」を発行し、このID「02」と最適化実現方法特定情報「関数のインライン展開(呼び出し回数2)」とを対応付けて、言語レベル最適化実現方法記憶領域29に記憶する。そして、全体としては、図9(C)に示すような情報が、言語レベル最適化実現方法記憶領域29に記憶される。
なお、このステップS202の処理は、動作レベル記述の言語レベル最適化の処理(ステップS201)の際に、動作合成部31が行ってもよい。
なお、このステップS203の処理は、動作レベル記述の言語レベル最適化の処理(ステップS201)の際に、動作合成部31が行ってもよい。
また、ステップS202の処理とステップS203の処理を順序を逆に行ってもよい。
以上で、合成制約生成処理は終了する。
図10(A)は、ライブラリ記憶領域22に記憶されているライブラリ情報を示した図であり、3種類の加算器、減算器が登録されている。
図10(B)は、所属別処理出現数記憶領域28に記憶されている情報を示した図であり、所属属性が「無」の加算処理が2個、所属属性「ループ」の加算処理が4個、所属属性「関数」の減算処理が2個の合計8つの演算処理が、図8(B)に示す動作レベル記述に含まれていることを示している。
図10(C)は、言語レベル最適化実現方法記憶領域29に記憶されている情報を示した図であり、言語レベル最適化により、ID「01」で特定できる処理(図8(B)の動作記述のD4〜D7の処理)に繰り返し回数4回のループ展開(アンロール)がなされ、また、ID「02」で特定できる処理(図8(B)の動作記述のD2、D8の処理)に呼び出し回数2回の関数のインライン展開がなされたことが示されている。
また、合成指示記憶領域23には、動作合成処理に対する面積優先合成と遅延優先合成の優先割合を示す情報が記憶可能であり、この例では、「面積優先と遅延優先との優先度の割合を1:1になるように動作合成を行う」ことが合成指示情報記憶領域23に記憶されている。
同様に、ID「02」の処理について着目すると、この処理は、図10(B)、図10(C)より呼び出し回数は2回で、インライン展開された処理は2つであることが分かるため、合成指示情報が示す「面積優先と遅延優先との優先度の割合を1:1になるように動作合成を行う」ことを達成するために、この処理を実現するのに、演算器(減算器)1個が、合成制約として求まる。
また、所属属性「無」の処理に対しても、該当の出現数は、図10(B)より2個であるため、合成指示情報が示す「面積優先と遅延優先との優先度の割合を1:1になるように動作合成を行う」ことを達成するために、この処理を実現するのに、演算器(加算器)1個が、合成制約として求まる。
以上、まとめると、図10(D)に示すような合成制約情報が最終的に作成され、合成制約記憶領域24に記憶されることとなる。
具体的には、上記実施の形態では、動作合成装置のプログラムが、メモリ等に予め記憶されているものとして説明した。しかし、上述の処理動作を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行するプログラムプロファイリング装置を構成してもよい。
また、上述の機能を、OS(Operating System)が分担又はOSとアプリケーションの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
20 記憶部
21 動作レベル記述記憶領域
22 ライブラリ記憶領域
23 合成指示記憶領域
24 合成制約記憶領域
25 中間レベル記述記憶領域
26 処理出現数記憶領域
27 RTレベル記述記憶領域
30 処理部
31 動作合成部
32 合成制約生成部
40 出力部
100 動作合成装置
Claims (6)
- 動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する動作合成装置であって、
前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報をライブラリ情報として記憶するライブラリ情報記憶手段と、
前記動作レベル記述を言語レベルで最適化する言語レベル最適化手段と、
前記言語レベル最適化手段で最適化した際の最適化の実現方法を示す情報を、当該実現方法を適用した動作レベル記述内の処理を識別する情報と対応付けて記憶する、言語レベル最適化実現方法記憶手段と、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理の所属属性を判別する所属属性判別手段と、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理を処理の属性および前記所属属性判別手段で判別した所属属性毎に分類し、各処理の分類毎に、当該動作レベル記述内での出現数を取得する処理出現数取得手段と、
動作合成の合成内容を指示する合成指示情報を取得する合成指示情報取得手段と、
前記処理出現数取得手段で取得した処理の分類毎の出現数と、ライブラリ情報記憶手段に記憶したライブラリ情報と、前記言語レベル最適化実現方法記憶手段に記憶した情報とに基づいて、前記動作レベル記述が示す処理をレジスタ転送レベル記述で表現するために必要な前記合成指示情報が示す合成内容に合致する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段と、
を備えることを特徴とする、動作合成装置。 - 前記処理の所属属性は、当該処理の動作レベル記述内での位置が、ループ内であること、所定の関数内であること、関数外であることの少なくとも1つを含む、
ことを特徴とする、請求項1に記載の動作合成装置。 - 前記回路構成要素は、演算要素、記憶要素、入力要素、出力要素の少なくとも1つを含む、
ことを特徴とする、請求項1又は2に記載の動作合成装置。 - 前記合成指示情報は、動作合成を、回路面積優先で行うことを示した情報か遅延優先で行うことを示した情報かの何れか一方の情報を含む、
ことを特徴とする、請求項1乃至3の何れか1つに記載の動作合成装置。 - 前記合成指示情報は、動作合成を回路面積優先で行うことと遅延優先で行うこととの優先度の割合を示した情報である、
ことを特徴とする、請求項1乃至3の何れか1つに記載の動作合成装置。 - コンピュータを、
レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報をライブラリ情報として記憶するライブラリ情報記憶手段、
動作レベル記述を言語レベルで最適化する言語レベル最適化手段、
前記言語レベル最適化手段で最適化した際の最適化の実現方法を示す情報を、当該実現方法を適用した動作レベル記述内の処理を識別する情報と対応付けて記憶する、言語レベル最適化実現方法記憶手段、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理の所属属性を判別する所属属性判別手段、
前記言語レベル最適化手段で最適化した動作レベル記述を解析して、該動作レベル記述に含まれる処理を処理の属性および前記所属属性判別手段で判別した所属属性毎に分類し、各処理の分類毎に、当該動作レベル記述内での出現数を取得する処理出現数取得手段、
動作合成の合成内容を指示する合成指示情報を取得する合成指示情報取得手段、
前記処理出現数取得手段で取得した処理の分類毎の出現数と、ライブラリ情報記憶手段に記憶したライブラリ情報と、前記言語レベル最適化実現方法記憶手段に記憶した情報とに基づいて、前記動作レベル記述が示す処理をレジスタ転送レベル記述で表現するために必要な前記合成指示情報が示す合成内容に合致する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段、
として機能させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008056173A JP5157534B2 (ja) | 2008-03-06 | 2008-03-06 | 動作合成装置、および、プログラム |
US12/399,326 US8127259B2 (en) | 2008-03-06 | 2009-03-06 | Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008056173A JP5157534B2 (ja) | 2008-03-06 | 2008-03-06 | 動作合成装置、および、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009211614A JP2009211614A (ja) | 2009-09-17 |
JP5157534B2 true JP5157534B2 (ja) | 2013-03-06 |
Family
ID=41054928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008056173A Expired - Fee Related JP5157534B2 (ja) | 2008-03-06 | 2008-03-06 | 動作合成装置、および、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8127259B2 (ja) |
JP (1) | JP5157534B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5157534B2 (ja) * | 2008-03-06 | 2013-03-06 | 日本電気株式会社 | 動作合成装置、および、プログラム |
JP5228546B2 (ja) * | 2008-03-13 | 2013-07-03 | 日本電気株式会社 | 動作合成装置、および、プログラム |
JP5622257B2 (ja) * | 2009-11-20 | 2014-11-12 | 日本電気株式会社 | 動作合成システム及び動作合成プログラム |
JP5842255B2 (ja) * | 2013-12-12 | 2016-01-13 | 国立大学法人東京工業大学 | プログラミング言語による論理回路記述から論理回路を生成するための装置及び方法 |
JP6266183B2 (ja) * | 2015-08-27 | 2018-01-24 | 三菱電機株式会社 | 回路設計支援装置および回路設計支援プログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2938170B2 (ja) * | 1990-09-07 | 1999-08-23 | 株式会社東芝 | 機能設計支援装置 |
JPH05334465A (ja) * | 1992-06-02 | 1993-12-17 | Nec Corp | 演算器・記憶装置・データ転送装置必要数計数装置 |
JPH09160949A (ja) * | 1995-12-07 | 1997-06-20 | Hitachi Ltd | ハードウエアとソフトウエアの混在システムの設計支援方法 |
JP3527146B2 (ja) * | 1999-09-13 | 2004-05-17 | Necエレクトロニクス株式会社 | システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体 |
US7353491B2 (en) * | 2004-05-28 | 2008-04-01 | Peter Pius Gutberlet | Optimization of memory accesses in a circuit design |
JP2006285865A (ja) | 2005-04-04 | 2006-10-19 | Nec Electronics Corp | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム |
JP4580827B2 (ja) * | 2005-06-17 | 2010-11-17 | 株式会社東芝 | 動作合成装置及び自動動作合成方法 |
JP2007102631A (ja) * | 2005-10-06 | 2007-04-19 | Matsushita Electric Ind Co Ltd | 論理回路設計支援装置およびこれを用いた論理回路設計支援方法 |
JP2007287044A (ja) * | 2006-04-19 | 2007-11-01 | Toshiba Corp | 設計支援装置 |
US7882483B2 (en) * | 2007-05-31 | 2011-02-01 | Atrenta, Inc. | Method for checking constraints equivalence of an integrated circuit design |
JP5157534B2 (ja) * | 2008-03-06 | 2013-03-06 | 日本電気株式会社 | 動作合成装置、および、プログラム |
-
2008
- 2008-03-06 JP JP2008056173A patent/JP5157534B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-06 US US12/399,326 patent/US8127259B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090228859A1 (en) | 2009-09-10 |
US8127259B2 (en) | 2012-02-28 |
JP2009211614A (ja) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4580827B2 (ja) | 動作合成装置及び自動動作合成方法 | |
JP2009520268A5 (ja) | ||
JP5157534B2 (ja) | 動作合成装置、および、プログラム | |
JP2007034887A (ja) | ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置 | |
JP2001202397A (ja) | システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法 | |
JP5228546B2 (ja) | 動作合成装置、および、プログラム | |
US7735042B2 (en) | Context aware sub-circuit layout modification | |
JPWO2020188658A1 (ja) | アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム | |
JP7025104B2 (ja) | 情報処理装置、方法およびプログラム | |
JP2007080049A (ja) | 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部 | |
JP2018041301A (ja) | Rtl最適化システム及びrtl最適化プログラム | |
JP6735951B2 (ja) | 高位合成装置、高位合成方法および高位合成プログラム | |
JP2008204341A (ja) | インタフェース合成装置 | |
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
JP2001209664A (ja) | 高位合成方法並びに高位合成方法の実施に使用される記録媒体 | |
JP5267376B2 (ja) | 動作合成装置、動作合成方法、ならびに、プログラム | |
US10157164B2 (en) | Hierarchical synthesis of computer machine instructions | |
JP6257421B2 (ja) | 回路設計支援装置および回路設計支援プログラム | |
JP6545406B2 (ja) | 高位合成装置、高位合成方法および高位合成プログラム | |
JP2007323606A (ja) | 動作合成装置 | |
JP5692063B2 (ja) | 動作合成装置、動作合成方法、及びプログラム | |
JP6266183B2 (ja) | 回路設計支援装置および回路設計支援プログラム | |
JP2005258767A (ja) | 情報処理システムの構成方法および半導体集積回路 | |
JPH10326297A (ja) | 高位合成装置及びその記録媒体 | |
JP2009301505A (ja) | 半導体集積回路の消費電力見積り装置、消費電力見積り方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120709 |
|
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: 20121113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5157534 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151221 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |