JP3850531B2 - 再構成可能な回路の設計装置、及び再構成可能な回路装置 - Google Patents
再構成可能な回路の設計装置、及び再構成可能な回路装置 Download PDFInfo
- Publication number
- JP3850531B2 JP3850531B2 JP28891697A JP28891697A JP3850531B2 JP 3850531 B2 JP3850531 B2 JP 3850531B2 JP 28891697 A JP28891697 A JP 28891697A JP 28891697 A JP28891697 A JP 28891697A JP 3850531 B2 JP3850531 B2 JP 3850531B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data
- reconfigurable
- logic circuit
- reconfigurable logic
- 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
Description
【発明の属する技術分野】
本発明は、回路構成の変更が可能な論理回路を搭載した再構成可能な回路装置と、その回路データを設計する再構成可能な回路の設計装置に関する。
【0002】
【従来の技術】
ノイマン型の固定された構成の計算機では、プログラムを書き換えることで異なる問題を解決できるが、異なる問題を解くに当たり、ハードウェアを再構成する方法が従来より提案されている。このハードウェアを再構成する方法は、近年、デバイス自体に再構成機能を持つFPGAが登場するに至って、その研究が盛んに行われるようになってきた。
【0003】
現在では、FPGAの再構成可能な素子の粒度は、フリップフロップやゲートの単位であり、これより上位の機能レベルの回路で再構成はできていないが、加算器やラッチを単位とした再構成可能なデバイスも研究されている。
【0004】
図8は、従来の再構成可能な論理回路の設計手法を示すフローチャートである。
【0005】
この設計手法は、FPGA回路の合成を考慮して成されたものであり、仕様記述(ステップS101)から高位合成を行って(ステップS102)レジスタ転送レベルのハードウェアモデルを生成し(ステップS103)、またそのモデルから論理合成を行い(ステップS104)、FPGAの基本セルから成る回路(構成1の論理回路)を合成していた(ステップS105)。
【0006】
また、構成を変える部分について、予め上記図8に示す同一のフローを用いて構成2の論理回路、構成3の論理回路、…を合成している。
【0007】
上記の高位合成技術は、データフローグラフ(DFG)から論理回路を合成する方法である。この技術は、データフローグラフを演算器数の制約の基で実行ステップ分けし、ステップ間に変数の値を保持するレジスタを挿入する。また演算器の割り付けはライブラリにある演算器をDFGの演算子に対応づける。実行ステップ毎に演算を実行させるためにはシーケンサが必要であり、高位合成はこのシーケンサとこれが制御するデータパスの両方を合成する。また、データパス上の演算器の論理回路(ネットリスト)は、高位合成後の論理合成で合成される。そして、FPGAの基本セルの選択とセル間の接続を決定する配置配線を行い、これらの情報はコンフィグレーション情報(回路データ)としてメモリ上に保存しておく。
【0008】
このようにして生成された回路データがFPGAへロードされて、FPGA上に所望の論理回路が構成される。
【0009】
かかる再構成可能な論理回路を利用して、特定のアルゴリズム(プログラム)の処理時に、回路の一部を当該アルゴリズムの処理に最適になるようにリアルタイムもしくは短時間に再構成することによって、この特定のアルゴリズム(プログラム)の処理速度を上げることができる。
【0010】
【発明が解決しようとする課題】
しかしながら、従来の再構成可能な論理回路の設計手法では、ハードウェア記述で回路を設計し、論理合成してから回路構成可変の回路データに変換しているため、設計に多くの時間を要する。
【0011】
さらに、従来の高位合成は、シーケンサとデータパスを混在して回路を合成していたので、入力する回路の一部(所望の部分回路)を再構成することは不可能であった。そのため、人が合成後の回路から再構成する部分回路を切り出す、もしくは再構成する部分回路だけを入力して高位合成することになり、1回の処理で再構成可能な論理回路を合成することができなかった。
【0012】
本発明は、上述の如き従来の問題点を解決するためになされたもので、その目的は、再構成可能な論理回路の設計時間を大幅に短縮することができる再構成可能な回路の設計装置を提供することである。またその他の目的は、1回の処理で再構成可能な論理回路を合成することができる再構成可能な回路の設計装置を提供することである。さらに、その他の目的は、低価格で高速なデータフローマシンを実現する再構成可能な回路装置を提供することである。
【0013】
【課題を解決するための手段】
上記目的を達成するために、第1の発明である再構成可能な回路装置の特徴は、回路の構成を書き換え可能な再構成論理回路部と、データフローグラフの演算処理を再構成可能な回路の基本素子を用いて実現するための回路データを格納する第1の記憶装置と、前記再構成論理回路部が生成した実行中のデータを保持する第2の記憶装置と、前記各装置を制御する制御装置とを備え、前記制御装置は、プログラムをデータフローグラフに変換するフローグラフ変換手段と、演算器の数と種類に基づき前記データフローグラフ上の演算の実行時間範囲を決める実行時間範囲決定手段と、前記実行時間範囲間のデータの保持に必要なレジスタを割り付けるレジスタ割り付け手段と、前記実行時間範囲に分割されたデータフローグラフの演算処理を再構成可能な回路の基本素子を用いて実現するための回路データを生成する回路データ生成手段と、前記回路データを前記第1の記憶装置から前記再構成論理回路部にロードして構成を実現させる第1の手段と、前記第1の手段によって構成された再構成論理回路を実行する第2の手段と、 再構成された前記再構成論理回路部が生成した実行中のデータを、前記第2の記憶装置に格納させる第3の手段とを有し、前記再構成論理回路部が、複数個の再構成論理回路と、前記再構成論理回路に接続された回路データ割り付け装置及び回路データ消去装置とからなることにある。
【0021】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。図1は、本発明の実施形態に係る再構成可能な回路の設計装置の概念図である。
【0022】
設計装置1がプログラム記述PWを取り込み、構文木を生成し、さらに変数と演算や、条件文、ループ文を解析してコントロールデータフローグラフ(CDFG)を生成する。またCDFGを基に演算実行のスケジュールを行い、基本素子を割り付ける。さらにスケジュール後のステート間の変数に対してはレジスタをセットする。
【0023】
本発明では、従来の高位合成が行っていなかった実行ステップ毎の基本素子の割り付け情報(ステート分割されたデータフロー、つまりサブデータフローW1)や、生成したデータレジスタの情報W2を提供(出力)するようにしている。これらの情報を容易に提供することで、データフローからなる回路は、レジスタ間の回路と、レジスタと、レジスタ間の回路をいつ実行するかを制御する回路(シーケンサ)とを個別に扱うことができるようになる。
【0024】
ここで、データレジスタとは、実行ステップ間において信号の値を保持するレジスタのことである。データレジスタの情報とは、例えば実行ステップSiから実行ステップSjの間に存在するレジスタの情報のことであり、どの実行ステップからどの実行ステップの間に存在する何のデータを保持するレジスタであるかを示す。また、レジスタがもつビット幅の情報も存在する。
【0025】
上記設計装置の処理を図2のフローチャートを用いて詳細に説明する。
【0026】
アルゴリズムを記述した図3に示すようなプログラム(C言語)を入力し(ステップS11)、それを解析して図4に示すような構文木を作成する(ステップS12)。
【0027】
演算器の個数は再構成論理回路(回路構成の変更が可能な論理回路)で実現可能なゲート数を基にセットし、これから図5に示すようなコントロールデータフローグラフを生成し(ステップS13)、さらに、データ線のビット幅などリソースの制約を確定し(ステップS14)、その後、どの実行ステップ(実行時間範囲)で演算を実行するかを決めるスケジューリングを行う(ステップS15)。
【0028】
スケジュールされた演算子からなるデータフローグラフ(DFG)は、再構成可能なデータとしてそのステップ数だけ生成される(ステップS16)。ここでは図6に示すようにステップ数2のDFG(サブデータフロー)が生成されている。
【0029】
また、実行ステップ間の回路データの保持に必要なレジスタ(再構成論理回路のレジスタ)を割り付ける。なお、条件信号は、データフローから生成される場合もあるため、条件信号による制御回路は、データフローと混在して生成する。さらに再構成論理回路の基本素子を用いて演算処理を実現するための回路データを生成する(ステップS17)。基本素子のレベルは、加算器を基にしたもの、もしくは通常の論理演算を構成する回路であり、再構成論理回路の基本回路から構成されている。
【0030】
次に、本発明で生成した回路データと再構成可能な回路装置の関係を説明する。
【0031】
図7(a),(b)は、本実施形態の再構成可能な回路装置の構成図であり、同図(a)は回路装置の全体図、同図(b)は再構成論理回路の詳細図である。
【0032】
この再構成可能な回路装置は、図7(a)に示すように、回路構成を書き換え可能な再構成論理回路を有する再構成論理回路部11と、上述した設計装置で生成した回路データを格納する記憶装置12、前記再構成論理回路が生成した実行中のデータを保存する記憶装置13と、これら各装置を制御する制御回路14とから構成されている。
【0033】
上記再構成論理回路部11は、複数個の再構成論理回路11a、回路データ割り付け装置11b及び回路データ消去装置11cからなり、再構成論理回路11aが回路データ割り付け装置11b及び回路データ消去装置11cに接続されている。この接続は、1対1で直接つながれてもよいし、また各ブロックを介在して接続されていてもよい。さらに、回路データ割り付け装置11bと回路データ消去装置11cは1つのブロックで構成されていてもよい。
【0034】
また、再構成論理回路11a、回路データ割り付け装置11b及び回路データ消去装置11cは、SRAM方式のFPGAで実現される。このSRAMに結線情報をロードすることにより、セル及びセル間の内部結線を切り替え、所望の回路を構成する。そして、SRAMのデータを消去することにより回路データを消去する。
【0035】
回路データを格納する記憶装置12は、例えばRAMで構成され、上記設計装置によって生成されたサブデータフローを表す演算の種類とその個数と演算間の結線情報からなる情報が複数格納される。さらに、スケジュールされたDFGの実行順番を表すデータもタグとして格納されている。
【0036】
全体制御回路14は、実行ステップの実行順番に基づき回路データを記憶装置12から取り込み、再構成論理回路部11を構成するFPGAのSRAMにロードする。このとき、サブデータフローからなる回路データは、FPGAで構成可能な数(ステップ)だけロードされる。
【0037】
その後、構成された回路に入力データを印加して演算を実行し、その結果をレジスタに保存する。次のステップで実行する回路データが再構成論理回路部11内にない場合は、回路データ消去装置11cによって、一旦、既存の回路データを消去し、上記と同様に回路データをロードする。このとき、演算結果はRAMからなる記憶装置13に待避しておく。回路が構成された後は再度実行を繰り返す。
【0038】
このように、▲1▼回路データによる回路の構成、▲2▼データフローに基づいた実行、▲3▼回路データの消去、▲4▼回路データによる再構成、▲5▼データフローに基づいた実行、からなるステップを順次実行する。
【0039】
また、図7(b)に示したように再構成論理回路の領域を複数持たせることにより、回路の構成とデータフローの実行とを並行して行うこともできる。さらに、記憶装置12に回路データをFPGAのSRAMのデータ形式で格納しておけば、記憶装置12から再構成せずにSRAMにロードすることができる。
【0040】
このように、本実施形態では、高位合成の技術を用いてデータフローとそれをステップ分けしたサブデータフローを生成し、再構成可能な回路装置にサブデータフローを割付け順番に実行させる。そして、シーケンサなどのマイクロプログラム方式のプロセッサで再構成論理回路の割り当てや実行を制御する。
【0041】
従来のデータフローマシンは、データフローをそのままハード化していたため(つまり、全てのフローグラフの機能を複数のプロセッサに割り付けていた)、回路規模が大きくなりコスト高になっていたが、本実施形態のように再構成可能な回路装置を用いることで全てを一括して回路に割り付ける必要がなくなり、部分的に再構成論理回路に割り付ければよくなる。
【0042】
すなわち、本発明では、従来の高位合成が行っていなかった、実行ステップ毎のコンポーネントの割り付け情報や、レジスタの情報を提供する。これらの情報の提供により、データフローグラフからなる回路は、レジスタ間の回路と、レジスタと、レジスタ間の回路をいつ実行するかを制御する回路(シーケンサ)とを個別に扱うことができるので、入力する回路の所望の一部分を再構成することが可能になる。
【0043】
その結果、固定回路の場合は、各データフローの処理を同一リソース(演算器やレジスタなど)で実現するための制御回路(リソースをシェアして使用するためにデータ入力を切り換えるマルチプレクサなど)が必要であったのが不要となり、制御回路自体も簡単になる。さらには、複雑な制御が不要となり、データを順番に処理(演算)すればよくなり、複雑な制御回路が不要な分だけ固定回路よりも動作速度が高速になる。
【0044】
これにより、低価格で高速なデータフローマシンを実現することが可能になる。
【0045】
また、ハードウェア記述で回路を設計して論理合成してから回路構成可変の回路データに変換する従来の設計手法と異なり、プログラムを直接的に回路データに変換するので、再構成論理回路の設計時間を大幅に短縮することが可能になる。
【0046】
なお、再構成論理回路部11について、本実施形態ではFPGAを引用して説明したが、この方式に限定されるものではない。また、前記全体制御回路14は、本発明のデータフローグラフからなる回路データを生成する機能として、図2のフローチャートを実現する設計装置1の機能を備えるものであってもよい。
【0047】
【発明の効果】
以上詳細に説明したように、第1及び第2の発明である再構成可能な回路の設計装置によれば、プログラムを直接回路データに変換することができ、再構成論理回路の設計時間を大幅に短縮することが可能になる。さらに、レジスタ間の回路と、レジスタと、レジスタ間の回路をいつ実行するかを制御する回路(シーケンサ)を個別に扱うことができるので、入力する回路の一部を再構成することができる。これにより、1回の処理で再構成可能な論理回路を合成することが可能になる。
【0048】
第3の発明である再構成可能な回路装置によれば、回路構成を行いながら、構成の確定した回路を実行することができ、装置の高速化が可能になる。
【0049】
第4の発明である再構成可能な回路装置によれば、上記第第1及び第3の発明と同等の効果を奏し、これにより、低価格で高速なデータフローマシンを実現することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る再構成可能な回路の設計装置の概念図である。
【図2】実施形態の設計装置の処理を示すフローチャートである。
【図3】実施形態で使用するプログラム(C言語)の一例を示す図である。
【図4】実施形態で作成する構文木の一例を示す図である。
【図5】実施形態で作成するコントロールデータフローグラフの一例を示す図である。
【図6】実施形態のスケジュール後のDFGの一例を示す図である。
【図7】実施形態の再構成可能な回路装置の構成図である。
【図8】従来の再構成可能な論理回路の設計方法を示すフローチャートである。
【符号の説明】
1 設計装置
11 再構成論理回路部
11a 再構成論理回路
11b 回路データ割り付け装置
11c 回路データ消去装置
12 記憶装置
13 記憶装置
14 制御回路
Claims (1)
- 回路の構成を書き換え可能な再構成論理回路部と、データフローグラフの演算処理を再構成可能な回路の基本素子を用いて実現するための回路データを格納する第1の記憶装置と、前記再構成論理回路部が生成した実行中のデータを保持する第2の記憶装置と、前記各装置を制御する制御装置とを備え、
前記制御装置は、
プログラムをデータフローグラフに変換するフローグラフ変換手段と、
演算器の数と種類に基づき前記データフローグラフ上の演算の実行時間範囲を決める実行時間範囲決定手段と、
前記実行時間範囲間のデータの保持に必要なレジスタを割り付けるレジスタ割り付け手段と、
前記実行時間範囲に分割されたデータフローグラフの演算処理を再構成可能な回路の基本素子を用いて実現するための回路データを生成する回路データ生成手段と、
前記回路データを前記第1の記憶装置から前記再構成論理回路部にロードして構成を実現させる第1の手段と、
前記第1の手段によって構成された再構成論理回路を実行する第2の手段と、 再構成された前記再構成論理回路部が生成した実行中のデータを、前記第2の記憶装置に格納させる第3の手段とを有し、
前記再構成論理回路部が、複数個の再構成論理回路と、前記再構成論理回路に接続された回路データ割り付け装置及び回路データ消去装置とからなることを特徴とする再構成可能な回路装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28891697A JP3850531B2 (ja) | 1997-10-21 | 1997-10-21 | 再構成可能な回路の設計装置、及び再構成可能な回路装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28891697A JP3850531B2 (ja) | 1997-10-21 | 1997-10-21 | 再構成可能な回路の設計装置、及び再構成可能な回路装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11120210A JPH11120210A (ja) | 1999-04-30 |
JP3850531B2 true JP3850531B2 (ja) | 2006-11-29 |
Family
ID=17736464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28891697A Expired - Fee Related JP3850531B2 (ja) | 1997-10-21 | 1997-10-21 | 再構成可能な回路の設計装置、及び再構成可能な回路装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3850531B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000077652A2 (de) * | 1999-06-10 | 2000-12-21 | Pact Informationstechnologie Gmbh | Sequenz-partitionierung auf zellstrukturen |
TWI234737B (en) * | 2001-05-24 | 2005-06-21 | Ip Flex Inc | Integrated circuit device |
SE0300742D0 (sv) * | 2003-03-17 | 2003-03-17 | Flow Computing Ab | Data Flow Machine |
US8189773B2 (en) * | 2005-04-21 | 2012-05-29 | Panasonic Corporation | Circuit updating system |
JP3985829B2 (ja) * | 2005-09-26 | 2007-10-03 | ソナック株式会社 | プロセッサ |
WO2017033336A1 (ja) | 2015-08-27 | 2017-03-02 | 三菱電機株式会社 | 回路設計支援装置および回路設計支援プログラム |
CN117573607A (zh) * | 2023-11-28 | 2024-02-20 | 北京智芯微电子科技有限公司 | 可重构协处理器、芯片、多核信号处理系统和计算方法 |
-
1997
- 1997-10-21 JP JP28891697A patent/JP3850531B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11120210A (ja) | 1999-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4893309B2 (ja) | 再構成可能な論理回路を有するデータ処理装置 | |
US6732354B2 (en) | Method, system and software for programming reconfigurable hardware | |
Mesquita et al. | Remote and Partial Reconfiguration of FPGAs: tools and trends | |
JP5077597B2 (ja) | データ処理装置 | |
JP2002503839A (ja) | プログラマブルハードウェアアーキテクチャを用いた特定用途向け集積回路を生成する方法 | |
Vidal et al. | UML design for dynamically reconfigurable multiprocessor embedded systems | |
Danne et al. | An EDF schedulability test for periodic tasks on reconfigurable hardware devices | |
JP3850531B2 (ja) | 再構成可能な回路の設計装置、及び再構成可能な回路装置 | |
JPH10256383A (ja) | 半導体装置及びその回路構成方法 | |
Santambrogio et al. | Operating system runtime management of partially dynamically reconfigurable embedded systems | |
EP1470478A2 (en) | Method and device for partitioning large computer programs | |
Khanzode et al. | Concurrent Architecture of Novel Scheduler for IoT based Sensor Networks | |
Cancare et al. | D-RECS: A complete methodology to implement Self Dynamic Reconfigurable FPGA-based systems | |
Wei et al. | Software Defined Chips | |
Baskaran | Runtime reconfigurable platform for embedded systems | |
PRANJUL | ANALYSIS OF COMPUTE KERNELS AND IMPLEMENTATION ON FPGA OVERLAY ARCHITECTURES | |
Kizheppatt | Design automation for partially reconfigurable adaptive systems | |
Bhandari et al. | Methodology for on the fly partial reconfiguration for computation intensive applications on FPGA | |
Barik et al. | Taxonomy of reconfigurable computing and operating system | |
Mahr | Resource efficient communication in network-based reconfigurable on-chip systems | |
Carvalho et al. | Controling Configurations on Dynamic Reconfigurable Systems | |
Bell et al. | Computations and Compilers | |
Cancare et al. | A design flow tailored for self dynamic reconfigurable architecture | |
Koh | Generating the communications infrastructure for module-based dynamic reconfiguration of FPGAs | |
Qu | System-level design and configuration management for run-time reconfigurable devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040309 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040511 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040708 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040721 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20041029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060830 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090908 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |