JP5668404B2 - 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置 - Google Patents

構成情報管理装置、その方法及びそのプログラム並びに動作合成装置 Download PDF

Info

Publication number
JP5668404B2
JP5668404B2 JP2010228633A JP2010228633A JP5668404B2 JP 5668404 B2 JP5668404 B2 JP 5668404B2 JP 2010228633 A JP2010228633 A JP 2010228633A JP 2010228633 A JP2010228633 A JP 2010228633A JP 5668404 B2 JP5668404 B2 JP 5668404B2
Authority
JP
Japan
Prior art keywords
configuration information
profile
reconfigurable hardware
electronic circuit
unit
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
Application number
JP2010228633A
Other languages
English (en)
Other versions
JP2012083901A (ja
Inventor
吉之介 加藤
吉之介 加藤
粟島 亨
亨 粟島
戸井 崇雄
崇雄 戸井
中村 典嗣
典嗣 中村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010228633A priority Critical patent/JP5668404B2/ja
Publication of JP2012083901A publication Critical patent/JP2012083901A/ja
Application granted granted Critical
Publication of JP5668404B2 publication Critical patent/JP5668404B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、再構成可能ハードウェアにより実現する電子回路を最適化するのに好適な、構成情報管理装置、その方法及びそのプログラム並びにプログラム動作合成装置に関する。
再構成可能ハードウェアとして、FPGA(Field Programmable Gate Array)やDRP(Dynamically Reconfigurable Processor)等の技術が提案されている。これらに関連する技術については、以下の文献に開示されている。
例えば、特許文献1及び特許文献2には、多数のプロセッサエレメントが複数のエレメントグループに区分されており、複数の状態管理部と複数のエレメントグループとが個々に接続されている再構成可能ハードウェアが記載されている。そして、特許文献1及び特許文献2に記載の再構成可能ハードウェアは、小規模な複数の状態遷移を複数の状態管理部で個別に管理することや、大規模な一つの状態遷移を複数の状態管理部で協調して管理することが可能である。
また、特許文献3には、システムLSIの設計方法が記載されている。具体的には、特許文献3に記載の技術では、システムLSIは、動作合成を使用したソフト・ハード協調設計システムを用いて設計される。そして、プロセッサの命令機能を設計するステップでは、データベースから既存命令を選択し、新規命令を新たに定義する。新規命令は、アルゴリズムを含む新規動作関数と、新規動作関数記述を指定する新規命令記述とに分けて記述する。新規命令が作成されると、新規命令記述は命令セットライブラリに、新規動作関数記述は動作関数ライブラリに、それぞれ登録される。そして、このようにシステムLSIを設計することにより、設計にかかるコストや時間を短縮することが可能となる。
特許第3987782号公報 特許第3987783号公報 特開2006−202330号公報
上述したように、再構成可能ハードウェア上に実現される電子回路の設計には、動作合成ツールを用いた設計手法が有効である。この、動作合成ツールとは入力ポートや変数のビット幅等のハードウェア化に必要な情報を含んだ動作レベル記述を動作合成することにより、レジスタ転送レベル(RTL:Register Transfer Level)記述を出力するツールである。なお、以下、適宜、レジスタ転送レベルのことを「RTL」と呼ぶ。
また、一般に、動作合成の分野においては、動作レベル記述から得られる情報のみを用いて最適化を行う静的コンパイルと呼ばれる手法が用いられている。
しかしながら、再構成可能ハードウェアにより実現される電子回路を実際に動作させて、動作時に得られる回路動作に関する情報(以下、適宜「プロファイル情報」と呼ぶ。)を用いて最適化を行いたいという要望が強い。
なぜならば、例えばある状態から別の状態への遷移確率が偏っていることが分かれば、公知の最適化技術等を適用して電子回路の処理性能を向上させることや、消費電力を削減することができると期待されるからである。また、プロファイル情報を用いて最適化を行うには、上述したように電子回路を実際に動作させる必要があるが、この動作を停止させることなく動的に構成情報の最適化を行うことが望ましい。
そこで本発明は、動的に構成情報の最適化を行うことが可能な、構成情報管理装置、その方法及びそのプログラム並びに動作合成装置を提供することを目的とする。
本発明の第1の観点によれば、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み部と、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み部と、を備え、前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理装置が提供される。
本発明の第2の観点によれば、本発明の第1の観点により提供される構成情報管理装置と接続された動作合成装置において、前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第1の動作レベル記述の入力を受け付ける受付部と、プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第1の動作レベル記述に追加することにより第2の動作レベル記述を生成する追加部と、与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成する動作合成部と、前記第2の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理装置に送信し、前記前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得するプロファイル部と、前記プロファイル部が出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第1の動作レベル記述を前記動作合成部に動作合成させることにより最適化されたレジスタ転送レベル記述を取得する最適化部と、を備えることを特徴とする動作合成装置が提供される。
本発明の第3の観点によれば、構成情報管理装置により実行される構成情報管理方法であって、前記構成情報管理装置が備える構成情報読み込み部が、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付け、前記構成情報管理装置が備える書き込み部が、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換え、前記再構成可能ハードウェア上の構成情報メモリには相互に独立した複数の書き込みポートと読み出しポートが持たされており、当該構成情報管理方法では前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理方法が提供される。
本発明の第4の観点によれば、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み機能と、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み機能と、を備え、前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込む構成情報管理装置としてコンピュータを動作させることを特徴とする構成情報管理プログラムが提供される。
本発明によれば、再構成可能ハードウェア上に構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換えることから、動的に構成情報の最適化を行うことが可能な、構成情報管理装置、その方法及びそのプログラム並びに動作合成装置を提供することができる。
本発明の実施形態に係る動作合成装置の物理的構成を示すブロック図である。 本発明の実施形態に係る構成情報管理装置の物理的構成を示すブロック図である。 本発明の実施形態に係る動作合成装置並びに構成情報管理装置の論理的構成を示すブロック図である。 本発明の実施形態に係る再構成可能ハードウェアの物理的及び論理的構成を示すブロック図である。 本発明の実施形態に係る動作合成処理を行う際の基本的動作を表すフローチャートである。 (A)及び(B)共に、本発明の実施形態に係るプロファイル記述を追加する手順を説明するための図である。 本発明の実施形態に係る構成情報管理処理を行う際の基本的動作を表すフローチャートである。 本発明の実施形態の変形例に係る動作合成装置並びに構成情報管理装置の構成を示すブロック図である。 本発明の実施形態の変形例に係る動作合成装置の動作合成処理、並びに、構成情報管理装置の構成情報管理処理を行う際の基本的動作を表すフローチャートである。
以下、図面を参照して、本実施形態に係る動作合成装置及び構成情報管理装置について詳細に説明する。
最初に、図1及び図2を参照して、本実施形態に係る動作合成装置及び構成情報管理装置の物理的な実装例について説明する。その後に図3の機能ブロック図を参照して本実施形態に係る動作合成装置及び構成情報管理装置の機能的な構成について具体的に説明する。
まず、図1を参照して、本実施形態に係る動作合成装置の物理的な構成について説明する。なお、動作合成装置は、入力ポートや変数のビット幅等のハードウェア化に必要な情報を含んだ動作レベル記述を動作合成することにより、半導体集積回路の構成、配置、配線を記述するRTL記述を得る装置である。
図1に示すように、動作合成装置100は、物理的には、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、ハードディスク装置104と、入力装置105と、表示装置106と、出力装置107と、を有する。動作合成装置100が有する各構成要素はバスを介して相互に接続されている。
CPU101は、ハードディスク装置104に記憶されたプログラムに従って演算処理を行うことにより、動作合成装置100全体の動作を制御する。CPU101は、各構成要素とバスを介して相互に接続され制御信号やデータのやりとりをする。
ROM102は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する部品である。IPLが実行された後、CPU101は、ハードディスク装置104に記憶されたプログラムを一旦RAM103に転送した後、RAM103から読み出して実行する。
RAM103は、データやプログラムを一時的に記憶する部品である。RAM103は、ハードディスク装置104から読み出されたプログラムや、動作合成処理に必要なデータ等を一時記憶する。
ハードディスク装置104は、CPU101により実行されるプログラムを記憶する装置である。また、ハードディスク装置104は、動作合成すべき動作レベル記述や、動作合成により得られたRTL記述等を記憶する。
入力装置105は、CPU101による制御のもと、動作合成に必要なパラメータ等の入力をユーザから受け付ける。更に、入力装置105は、動作合成開始要求等の要求をユーザから受け付ける。入力装置105は、例えば、キーボード、マウス、タッチパネル等により実現される。
表示装置106は、CPU101による制御のもと、ユーザからのパラメータ等の入力や動作合成開始要求等の要求を受け付けるための画面、動作レベル記述を表示するための画面、レジスタ転送レベル記述を表示するための画面等を表示するための装置である。表示装置106は、例えば、液晶ディスプレイ装置等により実現される。
出力装置107は、CPU101による制御のもと、動作合成により得られたRTL記述や、RTL記述を論理合成することにより得られた構成情報等を出力する装置である。出力装置107は、例えば、USB(Universal Serial Bus)規格に準拠したポート等の汎用の通信インターフェースや、ディジタル出力ポート等により実現される。
次に、図2を参照して、本実施形態に係る構成情報管理装置200の物理的な構成について説明する。なお、構成情報管理装置200は、再構成可能ハードウェア上に実現すべき構成情報を、外部の記憶装置から当該再構成可能ハードウェア上へと転送する装置である。
図2に示すように、構成情報管理装置200は、物理的には、CPU201と、ROM202と、RAM203と、入力装置204と、出力装置205と、を有する。構成情報管理装置200が有する各構成要素はバスを介して相互に接続されている。
CPU201は、RAM203に記憶されたプログラムに従って、演算処理を行うことにより、構成情報管理装置200全体の動作を制御する。なお、プログラムは、入力装置204を介してRAM203に記憶される。また、CPU201は、構成情報管理装置200が有する各構成要素と、バスを介して相互に接続され制御信号やデータのやりとりをする。
ROM202は、電源投入直後に実行されるIPLを記憶する装置である。IPLが実行された後、CPU201は、入力装置204を介してRAM203にプログラムを書き込み、その後、RAM203から読み出して実行する。
RAM203は、データやプログラムを一時的に記憶する装置である。RAM203は、入力装置204から入力されたプログラムや、再構成可能ハードウェアに転送する構成情報を一時記憶する。
入力装置204は、CPU201による制御のもと、再構成可能ハードウェア上で実現する構成情報等を受け付ける装置である。入力装置204は、例えば、USB規格に準拠したポート等の汎用の通信インターフェースや、ディジタル入力ポート等により実現される。
出力装置205は、CPU201による制御のもと、再構成ハードウェア上で実現する構成情報等を出力する。出力装置205は、例えば、USB規格に準拠したポート等の汎用の通信インターフェースや、ディジタル出力ポート等により実現される。
なお、図1及び図2に示した構成は一例に過ぎない。他の構成要素を更に有していてもよいし、上述の各要素を代替する他の構成要素に置き換えてもよい。例えば、ハードディスク装置104に代えてFlash SSD(Flash Solid State Drive)により実現するようにしてもよい。
また、図1及び図2は、本実施形態と特に関連する箇所のみを図示したものである。電源等の一般的な構成要素は図示を省略している。
次に、図3を参照して本実施形態の機能ブロックについて説明する。なお、以下に説明する各装置の各部分は、CPU201又はCPU101が、ROM202、ROM102及びハードディスク装置104等に記憶されているプログラム(ソフトウェア)を読み込み、RAM203、RAM103及びその他のハードウェアと協働して処理を行うことにより実現されるものである。
図3を参照すると本実施形態は、動作合成装置100、構成情報管理装置200及び再構成可能ハードウェア900を有している。そして、動作合成装置100、構成情報管理装置200及び再構成可能ハードウェア900は相互に接続されている。なお接続方式は特に限定されるものではなく、任意の接続方式により接続することが可能である。
動作合成装置100は、機能的には、受付部110と、追加部120と、動作合成部130と、プロファイル部140と、最適化部150と、を有する。
受付部110は、再構成可能ハードウェア900により実現される電子回路を表す動作レベル記述(以下、適宜「第1の動作レベル記述」と呼ぶ。)の入力を受け付ける。
また、追加部120は、収集すべきプロファイル指定情報をユーザから受け付ける。
ここで、収集すべきプロファイル指定情報とは、例えば、状態の実行回数、条件分岐の選択回数、レジスタやメモリに書き込まれる値、入力端子から入力される値、出力端子に出力される値等である。なお、この収集すべきプロファイル指定情報はあくまで一例に過ぎず、収集すべきプロファイル指定情報を限定するものではない。任意の情報を、収集すべきプロファイル指定情報とすることが可能である。また、追加部120は、第1の動作レベル記述にプロファイル情報を取得し出力するための記述(以下、適宜「プロファイル記述」と呼ぶ。)を追加した動作レベル記述(以下、適宜「第2の動作レベル記述」と呼ぶ。)を生成する。
動作合成部130は、与えられた第1及び第2の動作レベル記述を動作合成してRTL記述を生成する。ここで、動作合成とは一般的にC言語等の高級プログラミング言語で書かれたアルゴリズム記述から、RTL記述を合成することを言う。そして、このアルゴリズム記述は、通常のソフトウェアのプログラムのように、処理順序通りに動作を記述したものであり、本実施形態における第1及び第2の動作レベル記述に相当する。
プロファイル部140は、第2の動作レベル記述を動作合成部130に与えて得られるRTL記述を論理合成することにより、プロファイル機能付き回路(以下、適宜「プロファイル機能付き回路900a」と呼ぶ。)を再構成可能ハードウェア900に実現するために必要な情報(以下、適宜「構成情報」と呼ぶ。)を生成する。そして、プロファイル部140は、生成した構成情報を構成情報管理装置200に対して出力する。
最適化部150は、プロファイル情報に基づいて最適化情報を生成する。
また、構成情報管理装置200は、構成情報読み込み部210及び構成情報書き込み部220を有する。
構成情報読み込み部210は、動作合成装置100から構成情報を受け付ける。具体的には、構成情報読み込み部210は、動作合成装置100から再構成可能ハードウェア上で実現すべき構成情報の指定を受け付ける。
また、構成情報書き込み部220は、再構成可能ハードウェア900に、当該構成情報を書き込めるか否かを判別し、書き込み可能であれば書き込みを実行する。
次に、図4を参照して再構成可能ハードウェア900の物理的及び機能的構成について説明する。図4を参照すると再構成ハードウェア900は物理的に構成情報メモリ910を有している。構成情報メモリ910は、構成情報を書き込まれるメモリである。そして、構成情報メモリ910に構成情報が書き込まれ、再構成可能ハードウェア900全体と協働することによりプロファイル機能付き回路900aが実現される。
次に、本実施形態に係る動作合成装置100が実行する動作合成処理について図3、図5及び図6を参照して詳細に説明する。
動作合成装置100は、例えば、構成情報書き換えの開始要求を入力装置105を介してユーザから受けとり、これを契機として、図5のフローチャートに示す処理を開始する。
まず、受付部110は、ユーザから動作合成対象の動作レベル記述を受け付ける(ステップS11)。具体的には、受付部110は、ユーザから動作合成対象の動作レベル記述である第1の動作レベル記述の指定を受け付ける。そして、受付部110は、ユーザから指定された第1の動作レベル記述を、ハードディスク装置104から読み出してRAM103に記憶する。
次に、追加部120は、収集すべきプロファイル情報の指定をユーザから受け付ける(ステップS12)。収集すべきプロファイル情報とは、例えば、状態の実行回数、条件分岐の選択回数、レジスタやメモリに書き込まれる値、入力端子から入力される値、出力端子に出力される値等である。なお、この収集すべきプロファイル情報はあくまで一例に過ぎず、収集すべきプロファイル情報を限定するものではない。任意の情報を、収集すべきプロファイル情報とすることが可能である。
次に、追加部120は、プロファイル情報を取得し出力するための記述であるプロファイル記述を、第1の動作レベル記述に追加することにより、第2の動作レベル記述を生成する(ステップS13)。
ここで、追加部120が、第1の動作レベル記述にプロファイル記述を追加する手順について、図6(A)、(B)を参照して説明する。
図6(A)、(B)に示すように、再構成可能ハードウェア900には、多数のPE(Processing Element)が二次元に配置されている。なお、今回は、図6(A)、(B)に、プロファイル記述を追加する手順の説明に必要な部分のみを示す。そして、各PE間を接続する配線やスイッチ等の説明に不要な部分については図示を省略する。なお、各PEは、隣接するPEから供給されたデータに対して構成情報により指定された演算を実行し、演算結果を隣接するPEに供給する。また、各PEは、データを保持するレジスタを有している。
追加部120は、未使用のPEの情報等を動作合成部130から取得する。具体的には、例えば、追加部120は、図6(A)に示すように、データAがPE11からPE12を経てPE13に供給され、データBがPE31からPE32及びPE33を経てPE34に供給され、PE14、PE21、PE22、PE23及びPE24が未使用である旨の情報を取得する。
ここで、データは、当該データが通過する経路から近い場所で収集することが、時間的な観点及びリソース的な観点から効率がよい。すなわち、収集すべきデータが通過する経路に隣接するPEであって未使用のPEで当該データを収集するようにする。
例えば、追加部120は、図6(B)に示すように、PE23でデータAを収集し、PE24でデータBを収集することを決定する。そして、追加部120は、PE23でデータAを収集して所定のタイミングで出力し、PE24でデータBを収集して所定のタイミングで出力するようなプロファイル記述を第1の動作レベル記述に追加する。
これにより、再構成可能ハードウェア900が元来備えているリソースのみで、プロファイル情報を取得することが可能となる。
次に、プロファイル部140は、RTL記述を取得する(ステップS14)。具体的には、プロファイル部140は、追加部120が生成した第2の動作レベル記述を動作合成部130に引き渡して動作合成させることによりRTL記述を生成させ、生成したRTL記述を取得する。
そして、プロファイル部140は、プロファイル情報を取得し出力する機能を備えた回路であるプロファイル機能付き回路900aが生成可能か否かを判別する(ステップS15)。具体的には、プロファイル部140は、取得したRTL記述に基づいて生成されるプロファイル機能付き回路900aが、再構成可能ハードウェア900に実装可能なサイズであるか否かを判別する。
判別方法としては、任意の方法が選択できる。例えば、プロファイル部140は、取得したRTL記述のサイズが所定のサイズ以下であるか否かを判別するようにしてもよい。或いは、取得したRTL記述を論理合成することにより構成情報を取得し、この構成情報のサイズが所定のサイズ以下であるか否かを判別するようにしてもよい。
プロファイル部140は、プロファイル機能付き回路900aが生成可能ではないと判別した場合(ステップS15においてNO)、再度、ユーザにプロファイル情報を指定するように求める。併せてプロファイル部140は、プロファイル情報を変更するように追加部120に指示する。
そして、追加部120は、プロファイル部140からプロファイル情報の変更を指示されることに応答して、ユーザからプロファイル情報の指定を再度受け付ける(ステップS16)。
続いて、動作合成装置100は、再度受け付けたプロファイル情報に基づいて上述の処理(ステップS13〜ステップS15)を実行する。動作合成装置100は、プロファイル機能付き回路900aが生成可能となるまで上述の処理(ステップS13〜ステップS15)を繰り返す。
一方、プロファイル部140は、プロファイル機能付き回路900aが生成可能であると判別した場合(ステップS15においてYES)、プロファイル機能付き回路900aを生成する(ステップS17)。具体的には、プロファイル部140は、取得したRTL記述を論理合成することにより、プロファイル機能付き回路900aを再構成可能ハードウェア900に実現するために必要な構成情報を生成する。そして、構成情報管理装置200に対して指示を出し、生成した構成情報を再構成可能ハードウェア900に書き込ませる。
続いて、プロファイル部140は、プロファイル機能付き回路900aを動作させる(ステップS18)。具体的には、プロファイル部140は、生成した構成情報を再構成可能ハードウェア900に書き込ませた後、プロファイル機能付き回路900aを動作させる。
ここで、プロファイル部140は、再構成可能ハードウェア900上に実現されたプロファイル機能付き回路900aからプロファイル情報を取得する(ステップS19)。プロファイル機能付き回路900aは、動作中にプロファイル情報を取得し、出力する。プロファイル部140は、プロファイル機能付き回路900aの動作中は、プロファイル情報を所定のタイミングで取得し続ける。なお、プロファイル部140の指示を受けた構成情報管理装置200の詳細な動作については後述する。
次に、最適化部150は、プロファイル情報に基づいて最適化情報を生成する(ステップS20)。具体的には、最適化部150は、プロファイル部140が取得したプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたRTL記述を生成するために必要な最適化情報を生成する。なお、重視パラメータ情報は、面積、処理サイクル数、遅延、若しくは、消費電力のうち最適化の際に重視するパラメータを指定する情報である。
面積を重視する最適化では、例えば、64ビットの入力を受け付ける回路に対し、入力される値をプロファイル情報として取得する。取得したプロファイル情報から、実際に入力されている値は常に16ビット以下であると分かれば、入力は16ビットであるというのを新たな制約として、面積を削減する最適化が行える。
最後に、最適化部150は、最適化されたRTL記述を取得する(ステップS21)。具体的には、最適化部150は、第1の動作レベル記述を動作合成部130に与えるとともに、生成した最適化情報を動作合成部130に与えてRTL記述を生成させることにより、最適化されたRTL記述を取得する。最適化部150が最適化されたRTL記述を取得すると動作合成処理が完了する。
本実施形態に係る動作合成装置100によれば、プロファイル機能付きの回路を実際に動作させることによりプロファイル情報を取得し、取得したプロファイル情報に基づいて第1の動作レベル記述の動作合成を行うことが可能となる。そして、プロファイル情報に基づいて第1の動作レベル記述を動作合成することから、最適化されたRTL記述を取得することができるという効果を奏する。
次に、本実施形態に係る構成情報管理装置200が実行する構成情報管理処理について図3及び図7を参照して詳細に説明する。
構成情報管理装置200は、例えば、構成情報の書き換え開始要求を入力装置204を介してユーザから受けると、図7のフローチャートに示す構成情報管理処理を開始する。
まず、構成情報読み込み部210は、動作合成装置100から構成情報を受け付ける(ステップS21)。具体的には、構成情報読み込み部210は、動作合成装置100から再構成可能ハードウェア上で実現すべき構成情報の指定を受け付け、指定された構成情報を入力装置204から受け取って、RAM203に記憶する。
次に、構成情報書き込み部220は、再構成可能ハードウェア900に、当該構成情報を書き込めるか否かを判別する(ステップS22)。具体的には、構成情報書き込み部220は、当該構成情報のサイズが、再構成ハードウェア900上の構成情報メモリ910の空き容量以下か否かを判別する。
構成情報書き込み部220は、構成情報が書き込めないと判別した場合(ステップS22においてNO)、再構成可能ハードウェア900上の回路動作を一旦停止する(ステップS23)。そして、現在の構成情報メモリ910の内容を構成情報管理装置200内のRAM203に退避する(ステップS24)。
一方、構成情報書き込み部220は、構成情報を書き込めると判別した場合(ステップS22においてYES)、構成情報を再構成ハードウェア900の構成情報メモリ910へ書き込む。具体的には、構成情報書き込み部220は、RAM203に記憶された構成情報を、再構成可能ハードウェア上の構成情報メモリ910へと転送する。
構成情報の書き込みを終えると、構成情報書き込み部220は、再構成可能ハードウェア上に実現された電子回路が次に遷移すべき状態の情報を、新しく書き込んだ構成情報へと変更する(ステップS26)。具体的には、構成情報書き込み部220は、現在実行している電子回路に対応した構成情報内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える。
この際、再構成可能ハードウェア900上の構成情報メモリ910に相互に独立した複数の書き込みポートと読み込みポートを持たせることによって、再構成可能ハードウェア上に実現された電子回路の動作を停止することなく、構成情報を書き込むことが可能となる。
この結果、再構成可能ハードウェア900上に実現された電子回路は、動作を停止することなく、新たな構成の電子回路として動作を継続することが可能となるという効果を奏する。
[変形例]
上述した実施形態では、プロファイル機能付き回路900a(第2の動作レベル記述を動作合成することにより得られる回路)を再構成可能ハードウェア900に実装した。そして実装されたプロファイル機能付き回路900aを動作させることにより得られるプロファイル情報と、第1の動作レベル記述とを動作合成する例を示した。しかしながら、プロファイル機能付き回路900aは、単にプロファイル情報を取得するための回路ではなく、本来実現されるべきアプリケーション機能(演算機能、通信機能等)も備えている。このため、プロファイル機能付き回路900aを再構成可能ハードウェア900に実装した状態で、アプリケーションを実行する構成としてもよい。
また、再構成可能ハードウェア900上に既に存在する構成情報と、書き込まれる構成情報との間には、特に関係がない例を示した。しかしながら、既に存在する構成情報が第1の動作レベル記述から得られる構成情報、書き込まれる構成情報が、第2の動作レベル記述から得られる構成情報というように、既に存在する構成情報と、書き込まれる構成情報との間に関係があってもよい。
この場合、動作合成装置100は、プロファイル機能付き回路900aを動作させることにより得られるプロファイル情報を用いて、第2の動作レベル記述を動作合成する。そして、構成情報管理装置は、第2の動作レベル記述を動作合成して得られたRTL記述から求めた構成情報を、再構成可能ハードウェア900に書き込み、次遷移先を変更することにより、アプリケーションの動作中に最適化された回路に更新することが可能となる。
以下、変形例に係る動作合成装置100−1が実行する動作合成処理、並びに、構成情報管理装置200−1が実行する構成情報管理処理について、図8及び図9を参照して詳細に説明する。
まず、受付部110は、ユーザから動作合成対象の動作レベル記述を受け付ける(ステップS31)。受付部110は、ユーザから動作合成対象の動作レベル記述の指定を受け付け、ユーザから指定された第1の動作レベル記述をハードディスク装置104から読み出してRAM103に記憶する。
次に、追加部120は、第1の動作レベル記述にプロファイル記述を追加して第2の動作レベル記述を生成する(ステップS32)。追加部120は、上述したようにプロファイル指定情報に基づいてプロファイル記述を追加してもよいし、あらかじめ定められた情報に基づいてプロファイル記述を追加してもよい。
そして、プロファイル部140は、RTL記述を生成する(ステップS33)。具体的には、プロファイル部140は、追加部120が生成した第2の動作レベル記述を動作合成部130に引き渡して動作合成させることによりRTL記述を生成させ、生成したRTL記述を取得する。
ここでは、理解を容易にするため、取得したRTL記述に基づいて生成される回路は、再構成可能ハードウェアに実装可能なサイズであるものとして説明する。すなわち、図5におけるステップS15及びS16に相当する動作については図示及び説明を省略する。
プロファイル部140は、プロファイル機能付き回路900aを生成する(ステップS34)。具体的には、プロファイル部140は、取得したRTL記述を論理合成することにより、プロファイル機能付き回路900aを再構成可能ハードウェア900に実現するために必要な構成情報を生成する。
次に、構成情報読み込み部210は、プロファイル機能付き回路900aの構成情報を、プロファイル部140より受け付ける(ステップS35)。具体的には、構成情報読み込み部210は、プロファイル部140から当該構成情報の指定を受け付け、指定された構成情報を入力装置204から受け取って、RAM203に記憶する。
そして、構成情報書き込み部220は、プロファイル機能付き回路900aを再構成可能ハードウェアへ書き込む(ステップS36)。具体的には、構成情報書き込み部220は、RAM203から当該構成情報を読み出し、再構成可能ハードウェア900上の構成情報メモリ910へ書き込む。
次に、構成情報書き込み部220は、再構成可能ハードウェア上に実現された電子回路が次に遷移すべき状態の情報を、新しく書き込んだ構成情報へと変更する(ステップS37)。具体的には、構成情報書き込み部220は、現在実行している電子回路に対応した構成情報内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える。
そして、プロファイル部140は、プロファイル機能付き回路900aを動作させる(ステップS38)。
ここで、プロファイル部140は、再構成可能ハードウェア900上に実現されたプロファイル機能付き回路900aからプロファイル情報を取得する(ステップS39)。プロファイル機能付き回路900aは、動作中にプロファイル情報を取得し、出力する。プロファイル部140は、プロファイル機能付き回路900aの動作中は、プロファイル情報を所定のタイミングで取得し続ける。
次に、最適化部150は、プロファイル情報に基づいて最適化情報を生成する(ステップS40)。具体的には、最適化部150は、プロファイル部140が取得したプロファイル情報に基づいて、最適化されたRTL記述を取得するために必要な最適化情報を生成する。なお、最適化部150は、上述したステップS20のようにユーザから指定された重視パラメータ情報に基づいて最適化情報を生成してもよい。なお、上述したステップS20と同様に、重視パラメータ情報は、面積、処理サイクル数、遅延、若しくは、消費電力のうち最適化の際に重視するパラメータを指定する情報である。
そして、最適化部150は、最適化されたRTL記述を取得する(ステップS41)。具体的には、最適化部150は、第2の動作レベル記述を動作合成部130に与えるとともに、生成した最適化情報を動作合成部130に与えてRTL記述を生成させることにより、最適化されたRTL記述を取得する。
次に、プロファイル部140は、プロファイル機能付き回路900aを再度生成する(ステップS40)。具体的には、プロファイル部140は、最適化されたRTL記述を論理合成することにより、プロファイル機能付き回路900aを再構成可能ハードウェア900に実現するために必要な構成情報を生成する。
そして、構成情報書き込み部220は、プロファイル機能付き回路900aを構成するための構成情報を、再構成可能ハードウェア900に再度書き込む(ステップS35〜S37)。以後、動作合成装置201は、再構成されたロファイル機能付き回路900aを対象としてステップS38〜ステップS42の処理を繰り返す。
変形例に係る動作合成装置100−1及び構成情報管理装置200−1によれば、プロファイル機能付きの回路を用いてアプリケーションを動作させている間にプロファイル情報を取得できることから、取得したプロファイル情報に基づいて生成した構成情報を、動作を中止することなく動的に上書きすることができる。このため、再構成可能ハードウェア上に実装された回路を、動作中に最適化された回路に置き換えることができるという効果を奏する。
なお、変形例に係る動作合成装置201によれば、プロファイル機能付きの回路を用いてアプリケーションを動作させる。しかしながら、プロファイル機能を実現する回路部分は、アプリケーション動作に使用しないリソースを用いて構成しているためリソースを追加する必要がないという効果を奏する。
また、プロファイル機能を実現する回路部分は、アプリケーションを実現する回路部分と並行に動作するため、アプリケーション本来の動作に影響を与えることがなく、アプリケーション回路の動作速度を維持することが可能となるという効果を奏する。
なお、第1の動作レベル記述、プロファイル記述、第2の動作レベル記述は、C、C++、SystemC、Java(登録商標)等の高級プログラミング言語により記述するのが一般的であるが、動作合成装置を実現するコンピュータが処理しやすいようにした中間言語により記述してもよい。
また、プロファイル記述を高級プログラミング言語により記述するのではなく、レジスタ転送レベル記述を記述するための言語や中間言語により記述することとしても良い。この場合、プロファイル記述は、プロファイル情報を収集してから出力する電子回路を実現するレジスタ転送レベル記述に相当する。
従って、追加部120が出力する第2の動作レベル記述は、第1の動作レベル記述と、レジスタ転送レベル記述によるプロファイル記述と、を組み合わせたものとなる。
そして、動作合成部130は、第2の動作レベル記述が与えられると、まず、その中に含まれる第1の動作レベル記述を動作合成して、レジスタ転送レベル記述を得る。その後に、得られたレジスタ転送レベル記述にプロファイル記述を追加して、その結果を生成の結果としてプロファイル部140に返す。
また、上記実施形態では、動作合成装置と構成情報管理装置が隣接しているものとして説明した。しかし、動作合成装置と構成情報管理装置を別のコンピュータとして実現し、バスやUSB規格に準拠したケーブル、インターネット等の手段を用いて接続するようにしてもよい。また、接続は有線接続であってもよいがその一部又は全部を無線による接続としてもよい。
更に、上記実施形態では、プログラムが、記憶装置に予め記憶されているものとして説明した。しかし、動作合成装置を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical Disk(Disc))BD(Blu-ray Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波にプログラムを重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
なお、本発明の実施形態である動作合成装置及び構成情報管理装置は、それぞれハードウェアにより実現することもできるが、コンピュータをその動作合成装置及び構成情報管理装置として機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
また、本発明の実施形態による動作合成方法及び構成情報管理方法は、それぞれハードウェアにより実現することもできるが、コンピュータにそれらの方法をそれぞれ実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) 再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み部と、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み部と、
を備えることを特徴とする構成情報管理装置。
(付記2) 付記1に記載の構成情報管理装置において、
前記再構成可能ハードウェア上の構成情報メモリに独立した複数の書き込みポートと読み込みポートを持たせることにより前記電子回路の動作を停止することなく、構成情報を書き込むことを特徴とする構成情報管理装置。
(付記3) 付記1又は2に記載の構成情報管理装置において、
前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、前記再構成可能ハードウェアにより実現される電子回路は、前記プロファイル情報を取得し出力することを特徴とする構成情報管理装置。
(付記4) 付記1乃至3の何れか1項に記載の構成情報管理装置において、
前記書き込み部は、前記構成情報読み込み部が前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理装置。
(付記5) 付記1乃至4の何れか1項に記載の構成情報管理装置と接続された動作合成装置において、
前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第1の動作レベル記述の入力を受け付ける受付部と、
プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第1の動作レベル記述に追加することにより第2の動作レベル記述を生成する追加部と、
与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成する動作合成部と、
前記第2の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理装置に送信し、前記前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得するプロファイル部と、
前記プロファイル部が出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第1の動作レベル記述を前記動作合成部に動作合成させることにより最適化されたレジスタ転送レベル記述を取得する最適化部と、
を備えることを特徴とする動作合成装置。
(付記6) 付記5に記載の動作合成装置において、
前記最適化部は、前記動作合成部に前記第1の動作レベル記述を与えるのに代えて、前記第2の動作レベル記述を与えることを特徴とする動作合成装置。
(付記7) 再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付け、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える、
ことを特徴とする構成情報管理方法。
(付記8) 付記7に記載の構成情報管理方法において、
前記再構成可能ハードウェア上の構成情報メモリに独立した複数の書き込みポートと読み込みポートを持たせることにより前記電子回路の動作を停止することなく、構成情報を書き込むことを特徴とする構成情報管理方法。
(付記9) 付記7又は8に記載の構成情報管理方法において、
前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、前記再構成可能ハードウェアにより実現される電子回路は、前記プロファイル情報を取得し出力することを特徴とする構成情報管理方法。
(付記10) 付記7乃至9の何れか1項に記載の構成情報管理方法において、
前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理方法。
(付記11) 付記7乃至10の何れか1項に記載の構成情報管理方法において、
前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第1の動作レベル記述の入力を受け付け、
プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第1の動作レベル記述に追加することにより第2の動作レベル記述を生成し、
与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成し、
前記第2の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理方法に送信し、前記前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得し、
前記出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第1の動作レベル記述を前記動作合成させることにより最適化されたレジスタ転送レベル記述を取得する、
ことを特徴とする構成情報管理方法。
(付記12) 付記11に記載の構成情報管理方法において、
前記第1の動作レベル記述を与えるのに代えて、前記第2の動作レベル記述を与えることを特徴とする構成情報管理方法。
(付記13) 再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み機能と、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み機能と、
を備える構成情報管理装置としてコンピュータを動作させることを特徴とする構成情報管理プログラム。
(付記14) 付記13に記載の構成情報管理プログラムにおいて、
前記再構成可能ハードウェア上の構成情報メモリに独立した複数の書き込みポートと読み込みポートを持たせることにより前記電子回路の動作を停止することなく、構成情報を書き込むことを特徴とする構成情報管理プログラム。
(付記15) 付記13又は14に記載の構成情報管理プログラムにおいて、
前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、前記再構成可能ハードウェアにより実現される電子回路は、前記プロファイル情報を取得し出力することを特徴とする構成情報管理プログラム。
(付記16) 付記13乃至15の何れか1項に記載の構成情報管理プログラムにおいて、
前記書き込み機能は、前記構成情報読み込み機能が前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理プログラム。
上述のように、本発明によれば、再構成可能ハードウェアの構成を制御する装置、再構成可能ハードウェアにより実現する電子回路を最適化するのに好適な動作合成装置、動作合成方法並びにこれらをコンピュータ上で実現するためのプログラムを提供することができる。
100、101−1 動作合成装置
101、201 CPU
102、202 ROM
103、203 RAM
104 ハードディスク装置
105、204 入力装置
106 表示装置
107、205 出力装置
110 受付部
120 追加部
130 動作合成部
140 プロファイル部
150 最適化部
200、200−1 構成情報管理装置
210 構成情報読み込み部
220 構成情報書き込み部
900 再構成可能ハードウェア
900a プロファイル機能付き回路
910 構成情報メモリ

Claims (9)

  1. 再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み部と、
    前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み部と、
    を備え
    前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理装置。
  2. 請求項1に記載の構成情報管理装置において、
    前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことと並行して、前記再構成可能ハードウェアにより実現される電子回路上で、プロファイル情報の出力を目的とするものではないアプリケーションが動作することを特徴とする構成情報管理装置。
  3. 請求項2に記載の構成情報管理装置において、
    前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、
    前記プロファイル情報の出力を目的とするものではないアプリケーションが使用していない再構成可能ハードウェアにより実現される電子回路上のリソースを使用して、前記再構成可能ハードウェアにより実現される電子回路は前記プロファイル情報を取得し出力することを特徴とする構成情報管理装置。
  4. 請求項1乃至3に記載の構成情報管理装置において、
    前記書き込み部が前記書き換えを行ったことにより実現された前記電子回路から出力されるプロファイル情報に基づいて生成された構成情報を使用して前記書き込み部が再度前記書き換えを行うことを繰り返すことを特徴とする構成情報管理装置。
  5. 請求項1乃至の何れか1項に記載の構成情報管理装置において、
    前記書き込み部は、前記構成情報読み込み部が前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理装置。
  6. 請求項1乃至の何れか1項に記載の構成情報管理装置と接続された動作合成装置において、
    前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第1の動作レベル記述の入力を受け付ける受付部と、
    プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第1の動作レベル記述に追加することにより第2の動作レベル記述を生成する追加部と、
    与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成する動作合成部と、
    前記第2の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理装置に送信し、前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得するプロファイル部と、
    前記プロファイル部が出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第1の動作レベル記述を前記動作合成部に動作合成させることにより最適化されたレジスタ転送レベル記述を取得する最適化部と、
    を備えることを特徴とする動作合成装置。
  7. 請求項に記載の動作合成装置において、
    前記最適化部は、前記動作合成部に前記第1の動作レベル記述を与えるのに代えて、前記第2の動作レベル記述を与えることを特徴とする動作合成装置。
  8. 構成情報管理装置により実行される構成情報管理方法であって、
    前記構成情報管理装置が備える構成情報読み込み部が、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付け、
    前記構成情報管理装置が備える書き込み部が、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換え
    前記再構成可能ハードウェア上の構成情報メモリには相互に独立した複数の書き込みポートと読み出しポートが持たされており、当該構成情報管理方法では前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理方法。
  9. 再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み機能と、
    前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み機能と、
    を備え
    前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込む構成情報管理装置としてコンピュータを動作させることを特徴とする構成情報管理プログラム。
JP2010228633A 2010-10-08 2010-10-08 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置 Active JP5668404B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010228633A JP5668404B2 (ja) 2010-10-08 2010-10-08 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010228633A JP5668404B2 (ja) 2010-10-08 2010-10-08 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置

Publications (2)

Publication Number Publication Date
JP2012083901A JP2012083901A (ja) 2012-04-26
JP5668404B2 true JP5668404B2 (ja) 2015-02-12

Family

ID=46242711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010228633A Active JP5668404B2 (ja) 2010-10-08 2010-10-08 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置

Country Status (1)

Country Link
JP (1) JP5668404B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017029743A1 (ja) * 2015-08-20 2017-02-23 株式会社日立製作所 情報処理装置および情報処理システム
JP6522531B2 (ja) * 2016-02-15 2019-05-29 株式会社日立製作所 通信装置、通信システム、および回路構成制御方法
WO2020030807A1 (en) * 2018-08-09 2020-02-13 Inesc Tec Instituto De Engenharia De Sistemas De Computadores, Tecnologia E Ciência Method and apparatus for optimizing code for field programmable gate arrays

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2869379B2 (ja) * 1996-03-15 1999-03-10 三菱電機株式会社 プロセッサ合成システム及びプロセッサ合成方法
JP2004200311A (ja) * 2002-12-17 2004-07-15 Fujitsu Ltd 論理検証装置
JP4471582B2 (ja) * 2003-04-21 2010-06-02 株式会社ルネサステクノロジ 半導体集積回路及び回路設計装置
JP5012611B2 (ja) * 2008-03-25 2012-08-29 日本電気株式会社 動作合成装置、動作合成方法およびプログラム

Also Published As

Publication number Publication date
JP2012083901A (ja) 2012-04-26

Similar Documents

Publication Publication Date Title
Canis et al. LegUp: An open-source high-level synthesis tool for FPGA-based processor/accelerator systems
US7716622B2 (en) Memory re-implementation for field programmable gate arrays
US9652570B1 (en) Automatic implementation of a customized system-on-chip
US20030079195A1 (en) Methods and apparatuses for designing integrated circuits
CN112035397B (zh) 包括fpga的电子系统及其操作方法
US10289785B1 (en) Platform architecture creation for a system-on-chip
US10311193B2 (en) Alteration of a signal value for an FPGA at runtime
Hung et al. Towards simulator-like observability for FPGAs: a virtual overlay network for trace-buffers
JP2010118081A (ja) 動作合成ツールにおける配列変換
US10817353B1 (en) Adaptable dynamic region for hardware acceleration
JP5012611B2 (ja) 動作合成装置、動作合成方法およびプログラム
JP5668404B2 (ja) 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置
US10216217B1 (en) Adaptive compilation and execution for hardware acceleration
Touiza et al. A novel methodology for accelerating bitstream relocation in partially reconfigurable systems
JP5979965B2 (ja) 回路設計支援装置及び回路設計支援方法及びプログラム
Wolf et al. UltraSynth: insights of a CGRA integration into a control engineering environment
JP2023548392A (ja) 異種集積回路のためのモデルベース設計および区分
Wu et al. A hardware platform for exploring predictable cache coherence protocols for real-time multicores
Sidiropoulos et al. On supporting rapid exploration of memory hierarchies onto fpgas
JP5071189B2 (ja) プロセッサ合成装置、コンパイル装置、開発システム、プロセッサ合成方法およびプログラム
JP2018206195A (ja) 演算システム、演算システムの制御方法およびプログラム
Cvek et al. GNU/Linux and reconfigurable multiprocessor FPGA platform
JP3989397B2 (ja) 集積回路装置およびその装置に対するデータ設定装置
Ortiz et al. Automated Toolchain for Enhanced Productivity in Reconfigurable Multi-accelerator Systems
JP2016139203A (ja) 設計情報作成方法、設計情報作成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140603

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: 20141118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141201

R150 Certificate of patent or registration of utility model

Ref document number: 5668404

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150