JP6801460B2 - 情報処理装置、プログラム、および情報処理方法 - Google Patents
情報処理装置、プログラム、および情報処理方法 Download PDFInfo
- Publication number
- JP6801460B2 JP6801460B2 JP2017002530A JP2017002530A JP6801460B2 JP 6801460 B2 JP6801460 B2 JP 6801460B2 JP 2017002530 A JP2017002530 A JP 2017002530A JP 2017002530 A JP2017002530 A JP 2017002530A JP 6801460 B2 JP6801460 B2 JP 6801460B2
- Authority
- JP
- Japan
- Prior art keywords
- module division
- cost
- module
- node
- candidate
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 43
- 238000003672 processing method Methods 0.000 title claims description 12
- 238000012545 processing Methods 0.000 claims description 30
- 238000000034 method Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 36
- 230000015572 biosynthetic process Effects 0.000 description 24
- 238000003786 synthesis reaction Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/39—Circuit design at the physical level
-
- 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
-
- 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/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
図1〜図4を参照しながら、本実施形態の概要について説明する。
上述のごとく高位合成ツールによって扱うことのできる回路規模には限界がある。そのため、図1に示すように、モジュール分割処理(ステップS1)を含むアクセラレーションが実行される。図1はアクセラレーション工程を説明するフローチャート(ステップS1〜S3)である。
まず、図5を参照しながら、本実施形態の情報処理装置(コンピュータ)10のハードウェア構成について説明する。図5は、当該ハードウェア構成の一例を示すブロック図である。
次に、図6および図7を参照しながら、本実施形態の情報処理装置(コンピュータ)10の機能構成について説明する。図6は、当該機能構成の一例を示すブロック図であり、図7は、図6に示す情報処理装置10の機能構成をより具体的に説明するブロック図である。
DFG32を解析し、設計対象回路全体の性能を考慮してDFG32における中間ノードを複数のモジュールに分割する機能(モジュール分割機能)を果たす。このため、コンピュータ10は、図6に示すように、少なくとも処理部20,記憶部30,入力部40および表示部50としての機能を有している。
次に、図8〜図13を参照しながら、Mリスト34およびモジュール分割結果35と、コスト算出部21および選択部22の動作とについて説明する。
本実施形態では、DFG32における演算単位である中間ノード毎に、コスト(総カット数)に関する情報を含むモジュール分割情報であるMリスト34が、コスト算出部21によって作成される。なお、中間ノードについては、単にノードという場合がある。
ここで、図12に示すフローチャート(ステップS11〜S19)に従って、本実施形態の情報処理装置10におけるコスト算出部21の動作について説明する。コスト算出部21は、DFG32の入力側中間ノードからトポロジカル順に中間ノードを対象ノードkとして扱い、対象ノードkに対し図12に示すフローチャートによる処理を行なうことで、対象ノードkについてのMリスト34を算出作成する。
ついで、図13に示すフローチャート(ステップS21〜S25)に従って、本実施形態の情報処理装置10における選択部22の動作について説明する。図12に示す処理でDFG32の各中間ノードについてのMリスト34が作成された後、選択部22は、図13に示すフローチャートによる処理を行なう。つまり、選択部22は、Mリスト34のコストに基づき、DFG32の出力ノードから、最小コストのモジュール分割候補を分割対象モジュールとして選択しながらバックトレースする。
次に、図14(A)〜図17を参照しながら、本実施形態の情報処理装置10による具体的な動作(モジュール分割動作)について説明する。
このように、本実施形態によれば、DFG32から複数のモジュール分割候補が作成され、モジュール分割候補毎に総カット数(コスト)が求められ、総カット数が最小となるモジュール分割候補が選択される。これにより、ユーザのスキルに依存することなく、最適なモジュール分割を行なうことができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
以上の実施形態に関し、さらに以下の付記を開示する。
データフローグラフにおける複数の演算単位であるノードから、一以上の前記ノードを含む複数のモジュール分割候補を作成し、作成した前記複数のモジュール分割候補のそれぞれについて当該モジュール分割候補の入出力信号線の配線幅に応じたコストを算出するコスト算出部と、
前記コスト算出部によって算出した前記コストに基づき、前記複数のモジュール分割候補から、所定コストとなる一以上のモジュール分割候補を、分割対象モジュールとして選択する選択部と、を有する、情報処理装置。
前記所定コストは、最小コストである、付記1に記載の情報処理装置。
前記コストは、各モジュール分割候補の境界を横切る複数のエッジに付与された重みの総和であり、
前記重みは、当該重みを付与された前記エッジに対応する前記入出力信号線の配線幅に応じた値である、付記1または付記2に記載の情報処理装置。
各モジュール分割候補に関する制約条件が予め設定され、
前記コスト算出部は、前記制約条件を満たすモジュール分割候補を作成する、または、前記選択部は、前記制約条件を満たすモジュール分割候補を前記分割対象モジュールとして選択する、付記1〜付記3のいずれか一項に記載の情報処理装置。
前記制約条件は、各モジュール分割候補に含まれる前記ノードの数、各モジュール分割候補の面積、各モジュール分割候補のスループットのうちの少なくとも一つである、付記4に記載の情報処理装置。
前記コスト算出部は、前記データフローグラフにおける入力側のノードからトポロジカル順に前記コストを算出する、付記1〜付記5のいずれか一項に記載の情報処理装置。
データフローグラフにおける複数の演算単位であるノードから、一以上の前記ノードを含む複数のモジュール分割候補を作成し、
作成した前記複数のモジュール分割候補のそれぞれについて当該モジュール分割候補の入出力信号線の配線幅に応じたコストを算出し、
算出した前記コストに基づき、前記複数のモジュール分割候補から、所定コストとなる一以上のモジュール分割候補を、分割対象モジュールとして選択する、
処理を、コンピュータに実行させる、プログラム。
前記所定コストは、最小コストである、付記7に記載のプログラム。
前記コストは、各モジュール分割候補の境界を横切る複数のエッジに付与された重みの総和(総カット数)であり、
前記重みは、当該重みを付与された前記エッジに対応する前記入出力信号線の配線幅に応じた値である、付記7または付記8に記載のプログラム。
各モジュール分割候補に関する制約条件が予め設定され、
前記制約条件を満たすモジュール分割候補を作成する、または、前記制約条件を満たすモジュール分割候補を前記分割対象モジュールとして選択する、処理を、前記コンピュータに実行させる、付記7〜付記9のいずれか一項に記載のプログラム。
前記制約条件は、各モジュール分割候補に含まれる前記ノードの数、各モジュール分割候補の面積、各モジュール分割候補のスループットのうちの少なくとも一つである、付記10に記載のプログラム。
前記データフローグラフにおける入力側のノードからトポロジカル順に前記コストを算出する、処理を、前記コンピュータに実行させる、付記7〜付記11のいずれか一項に記載のプログラム。
コンピュータによって実行される情報処理方法であって、
データフローグラフにおける複数の演算単位であるノードから、一以上の前記ノードを含む複数のモジュール分割候補を作成し、
作成した前記複数のモジュール分割候補のそれぞれについて当該モジュール分割候補の入出力信号線の配線幅に応じたコストを算出し、
算出した前記コストに基づき、前記複数のモジュール分割候補から、所定コストとなる一以上のモジュール分割候補を、分割対象モジュールとして選択する、情報処理方法。
前記所定コストは、最小コストである、付記13に記載の情報処理方法。
前記コストは、各モジュール分割候補の境界を横切る複数のエッジに付与された重みの総和(総カット数)であり、
前記重みは、当該重みを付与された前記エッジに対応する前記入出力信号線の配線幅に応じた値である、付記13または付記14に記載の情報処理方法。
各モジュール分割候補に関する制約条件が予め設定され、
前記制約条件を満たすモジュール分割候補を作成する、または、前記制約条件を満たすモジュール分割候補を前記分割対象モジュールとして選択する、付記13〜付記15のいずれか一項に記載の情報処理方法。
前記制約条件は、各モジュール分割候補に含まれる前記ノードの数、各モジュール分割候補の面積、各モジュール分割候補のスループットのうちの少なくとも一つである、付記16に記載の情報処理方法。
前記データフローグラフにおける入力側のノードからトポロジカル順に前記コストを算出する、付記13〜付記17のいずれか一項に記載の情報処理方法。
11 プロセッサ(処理部)
12 RAM(記憶部)
13 HDD(記憶部)
14 グラフィック処理装置
14a モニタ(表示部,出力部)
15 入力インタフェース
15a キーボード(入力部)
15b マウス(入力部)
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
20 処理部
21 コスト算出部
22 選択部
30 記憶部
31 プログラム
32 データフローグラフ(DFG)
33 制約条件
34 Mリスト(モジュール分割情報)
35 モジュール分割結果
40 入力部
50 表示部(出力部)
101 ソフトウェアコード
102 モジュール毎コード
103 論理回路データ
104 ハードウェア回路データ
Claims (7)
- データフローグラフにおける複数の演算単位であるノードから、一以上の前記ノードを含む複数のモジュール分割候補を作成し、作成した前記複数のモジュール分割候補のそれぞれについて当該モジュール分割候補の入出力信号線の配線幅に応じたコストを、前記データフローグラフにおける入力側のノードからトポロジカル順に算出するコスト算出部と、
前記コスト算出部によって算出した前記コストに基づき、前記複数のモジュール分割候補から、所定コストとなる一以上のモジュール分割候補を、分割対象モジュールとして選択する選択部と、を有する、情報処理装置。 - 前記所定コストは、最小コストである、請求項1に記載の情報処理装置。
- 前記コストは、各モジュール分割候補の境界を横切る複数のエッジに付与された重みの総和であり、
前記重みは、当該重みを付与された前記エッジに対応する前記入出力信号線の配線幅に応じた値である、請求項1または請求項2に記載の情報処理装置。 - 各モジュール分割候補に関する制約条件が予め設定され、
前記コスト算出部は、前記制約条件を満たすモジュール分割候補を作成する、または、前記選択部は、前記制約条件を満たすモジュール分割候補を前記分割対象モジュールとして選択する、請求項1〜請求項3のいずれか一項に記載の情報処理装置。 - 前記制約条件は、各モジュール分割候補に含まれる前記ノードの数、各モジュール分割候補の面積、各モジュール分割候補のスループットのうちの少なくとも一つである、請求項4に記載の情報処理装置。
- データフローグラフにおける複数の演算単位であるノードから、一以上の前記ノードを含む複数のモジュール分割候補を作成し、
作成した前記複数のモジュール分割候補のそれぞれについて当該モジュール分割候補の入出力信号線の配線幅に応じたコストを、前記データフローグラフにおける入力側のノードからトポロジカル順に算出し、
算出した前記コストに基づき、前記複数のモジュール分割候補から、所定コストとなる一以上のモジュール分割候補を、分割対象モジュールとして選択する、
処理を、コンピュータに実行させる、プログラム。 - コンピュータによって実行される情報処理方法であって、
データフローグラフにおける複数の演算単位であるノードから、一以上の前記ノードを含む複数のモジュール分割候補を作成し、
作成した前記複数のモジュール分割候補のそれぞれについて当該モジュール分割候補の入出力信号線の配線幅に応じたコストを、前記データフローグラフにおける入力側のノードからトポロジカル順に算出し、
算出した前記コストに基づき、前記複数のモジュール分割候補から、所定コストとなる一以上のモジュール分割候補を、分割対象モジュールとして選択する、情報処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017002530A JP6801460B2 (ja) | 2017-01-11 | 2017-01-11 | 情報処理装置、プログラム、および情報処理方法 |
PCT/JP2017/046498 WO2018131457A1 (ja) | 2017-01-11 | 2017-12-25 | 情報処理装置、プログラム、および情報処理方法 |
US16/353,322 US11062066B2 (en) | 2017-01-11 | 2019-03-14 | Information processing apparatus, computer-readable recording medium, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017002530A JP6801460B2 (ja) | 2017-01-11 | 2017-01-11 | 情報処理装置、プログラム、および情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018112865A JP2018112865A (ja) | 2018-07-19 |
JP6801460B2 true JP6801460B2 (ja) | 2020-12-16 |
Family
ID=62839433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017002530A Active JP6801460B2 (ja) | 2017-01-11 | 2017-01-11 | 情報処理装置、プログラム、および情報処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11062066B2 (ja) |
JP (1) | JP6801460B2 (ja) |
WO (1) | WO2018131457A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977089B2 (en) * | 2018-04-16 | 2021-04-13 | International Business Machines Corporation | Fusing and unfusing operators during a job overlay |
US10586003B1 (en) * | 2018-08-21 | 2020-03-10 | Xilinx, Inc. | Circuit design using high level synthesis and linked hardware description language libraries |
GB202004594D0 (en) * | 2020-03-30 | 2020-05-13 | Microsoft Technology Licensing Llc | Partitioning for an execution pipeline |
US11301606B1 (en) | 2021-05-11 | 2022-04-12 | Windbond Electronics Corp. | Counting method for counting the stage number passing through a signal path on a graphical user interface |
US11314911B1 (en) * | 2021-05-27 | 2022-04-26 | Xilinx, Inc. | High-level synthesis implementation of data structures in hardware |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926632A (en) * | 1996-04-11 | 1999-07-20 | Matsushita Electric Industrial Co., Ltd. | Circuit partitioning method, circuit partitioning apparatus, and computer-readable recording medium having thereon circuit partitioning program |
US6437804B1 (en) * | 1997-10-23 | 2002-08-20 | Aprisma Management Technologies, Inc | Method for automatic partitioning of node-weighted, edge-constrained graphs |
JP2000222442A (ja) * | 1999-01-29 | 2000-08-11 | Fujitsu Ltd | 論理回路分割方法及びその装置 |
JP2001142922A (ja) | 1999-11-15 | 2001-05-25 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置の設計方法 |
US6964029B2 (en) * | 2002-10-31 | 2005-11-08 | Src Computers, Inc. | System and method for partitioning control-dataflow graph representations |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US7237214B1 (en) * | 2003-03-04 | 2007-06-26 | Synplicity, Inc. | Method and apparatus for circuit partitioning and trace assignment in circuit design |
JP4397744B2 (ja) * | 2004-06-25 | 2010-01-13 | パナソニック株式会社 | 半導体集積回路の高位合成方法 |
US8015522B2 (en) * | 2008-01-04 | 2011-09-06 | Springsoft Usa, Inc. | System for implementing post-silicon IC design changes |
JP2010113405A (ja) | 2008-11-04 | 2010-05-20 | Toshiba Corp | 半導体集積回路合成装置 |
US8255860B1 (en) * | 2009-04-03 | 2012-08-28 | Altera Corporation | Exploiting independent portions of logic designs for timing optimization |
US8327304B2 (en) * | 2010-11-18 | 2012-12-04 | International Business Machines Corporation | Partitioning for hardware-accelerated functional verification |
JP2012150631A (ja) * | 2011-01-19 | 2012-08-09 | Renesas Electronics Corp | 半導体集積回路の設計方法および設計装置 |
US8701069B1 (en) * | 2012-11-21 | 2014-04-15 | Maxeler Technologies, Ltd. | Systems and methods for optimizing allocation of hardware resources to control logic in parallel pipelined hardware |
JP2016014950A (ja) | 2014-07-01 | 2016-01-28 | 三菱電機株式会社 | 回路設計支援装置及び回路設計支援方法及びプログラム |
US9858373B2 (en) * | 2015-07-15 | 2018-01-02 | International Business Machines Corporation | In-cycle resource sharing for high-level synthesis of microprocessors |
-
2017
- 2017-01-11 JP JP2017002530A patent/JP6801460B2/ja active Active
- 2017-12-25 WO PCT/JP2017/046498 patent/WO2018131457A1/ja active Application Filing
-
2019
- 2019-03-14 US US16/353,322 patent/US11062066B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018112865A (ja) | 2018-07-19 |
US20190205487A1 (en) | 2019-07-04 |
WO2018131457A1 (ja) | 2018-07-19 |
US11062066B2 (en) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6801460B2 (ja) | 情報処理装置、プログラム、および情報処理方法 | |
US6711729B1 (en) | Methods and apparatuses for designing integrated circuits using automatic reallocation techniques | |
US7631282B2 (en) | Methods and apparatuses for designing integrated circuits | |
US8799837B2 (en) | Optimizing a netlist circuit representation by leveraging binary decision diagrams to perform rewriting | |
US6438731B1 (en) | Integrated circuit models having associated timing exception information therewith for use in circuit design optimizations | |
JP2001202397A (ja) | システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法 | |
US8316335B2 (en) | Multistage, hybrid synthesis processing facilitating integrated circuit layout | |
JP2007034887A (ja) | ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置 | |
JP2007034584A (ja) | 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法 | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
US20110239172A1 (en) | Verification supporting system | |
US20130346930A1 (en) | Best clock frequency search for fpga-based design | |
JP5785725B2 (ja) | 電力見積装置、電力見積方法及びプログラム | |
US8127259B2 (en) | Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium | |
JP5830955B2 (ja) | 検証装置、検証方法及び検証プログラム | |
WO2012137652A1 (ja) | Fpga設計支援システムおよびfpga設計支援方法ならびにfpga設計支援プログラム | |
JP6763411B2 (ja) | 設計支援装置、設計支援方法、および設計支援プログラム | |
JP3992947B2 (ja) | 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム | |
JP4131871B2 (ja) | 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム | |
JP5001126B2 (ja) | ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体 | |
JP2005242812A (ja) | 回路設計支援システム、回路設計支援方法及びプログラム | |
JP6305644B2 (ja) | アーキテクチャ生成装置およびアーキテクチャ生成プログラム | |
JP5267376B2 (ja) | 動作合成装置、動作合成方法、ならびに、プログラム | |
JP5262678B2 (ja) | 動作合成システム、動作合成方法、及び動作合成用プログラム | |
JP2016139203A (ja) | 設計情報作成方法、設計情報作成装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200924 |
|
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: 20201027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6801460 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |