(57)【特許請求の範囲】
【請求項１】
再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み部と、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み部と、
を備え、
前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理装置。
【請求項２】
請求項１に記載の構成情報管理装置において、
前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことと並行して、前記再構成可能ハードウェアにより実現される電子回路上で、プロファイル情報の出力を目的とするものではないアプリケーションが動作することを特徴とする構成情報管理装置。
【請求項３】
請求項２に記載の構成情報管理装置において、
前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、
前記プロファイル情報の出力を目的とするものではないアプリケーションが使用していない再構成可能ハードウェアにより実現される電子回路上のリソースを使用して、前記再構成可能ハードウェアにより実現される電子回路は前記プロファイル情報を取得し出力することを特徴とする構成情報管理装置。
【請求項４】
請求項１乃至３に記載の構成情報管理装置において、
前記書き込み部が前記書き換えを行ったことにより実現された前記電子回路から出力されるプロファイル情報に基づいて生成された構成情報を使用して前記書き込み部が再度前記書き換えを行うことを繰り返すことを特徴とする構成情報管理装置。
【請求項５】
請求項１乃至４の何れか１項に記載の構成情報管理装置において、
前記書き込み部は、前記構成情報読み込み部が前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理装置。
【請求項６】
請求項１乃至５の何れか１項に記載の構成情報管理装置と接続された動作合成装置において、
前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第１の動作レベル記述の入力を受け付ける受付部と、
プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第１の動作レベル記述に追加することにより第２の動作レベル記述を生成する追加部と、
与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成する動作合成部と、
前記第２の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理装置に送信し、前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得するプロファイル部と、
前記プロファイル部が出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第１の動作レベル記述を前記動作合成部に動作合成させることにより最適化されたレジスタ転送レベル記述を取得する最適化部と、
を備えることを特徴とする動作合成装置。
【請求項７】
請求項６に記載の動作合成装置において、
前記最適化部は、前記動作合成部に前記第１の動作レベル記述を与えるのに代えて、前記第２の動作レベル記述を与えることを特徴とする動作合成装置。
【請求項８】
構成情報管理装置により実行される構成情報管理方法であって、
前記構成情報管理装置が備える構成情報読み込み部が、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付け、
前記構成情報管理装置が備える書き込み部が、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換え、
前記再構成可能ハードウェア上の構成情報メモリには相互に独立した複数の書き込みポートと読み出しポートが持たされており、当該構成情報管理方法では前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理方法。
【請求項９】
再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み機能と、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み機能と、
を備え、
前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込む構成情報管理装置としてコンピュータを動作させることを特徴とする構成情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能ハードウェアにより実現する電子回路を最適化するのに好適な、構成情報管理装置、その方法及びそのプログラム並びにプログラム動作合成装置に関する。
【背景技術】
【０００２】
再構成可能ハードウェアとして、ＦＰＧＡ（Field Programmable Gate Array）やＤＲＰ（Dynamically Reconfigurable Processor）等の技術が提案されている。これらに関連する技術については、以下の文献に開示されている。
【０００３】
例えば、特許文献１及び特許文献２には、多数のプロセッサエレメントが複数のエレメントグループに区分されており、複数の状態管理部と複数のエレメントグループとが個々に接続されている再構成可能ハードウェアが記載されている。そして、特許文献１及び特許文献２に記載の再構成可能ハードウェアは、小規模な複数の状態遷移を複数の状態管理部で個別に管理することや、大規模な一つの状態遷移を複数の状態管理部で協調して管理することが可能である。
【０００４】
また、特許文献３には、システムＬＳＩの設計方法が記載されている。具体的には、特許文献３に記載の技術では、システムＬＳＩは、動作合成を使用したソフト・ハード協調設計システムを用いて設計される。そして、プロセッサの命令機能を設計するステップでは、データベースから既存命令を選択し、新規命令を新たに定義する。新規命令は、アルゴリズムを含む新規動作関数と、新規動作関数記述を指定する新規命令記述とに分けて記述する。新規命令が作成されると、新規命令記述は命令セットライブラリに、新規動作関数記述は動作関数ライブラリに、それぞれ登録される。そして、このようにシステムＬＳＩを設計することにより、設計にかかるコストや時間を短縮することが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３９８７７８２号公報
【特許文献２】特許第３９８７７８３号公報
【特許文献３】特開２００６−２０２３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、再構成可能ハードウェア上に実現される電子回路の設計には、動作合成ツールを用いた設計手法が有効である。この、動作合成ツールとは入力ポートや変数のビット幅等のハードウェア化に必要な情報を含んだ動作レベル記述を動作合成することにより、レジスタ転送レベル（ＲＴＬ：Register Transfer Level）記述を出力するツールである。なお、以下、適宜、レジスタ転送レベルのことを「ＲＴＬ」と呼ぶ。
【０００７】
また、一般に、動作合成の分野においては、動作レベル記述から得られる情報のみを用いて最適化を行う静的コンパイルと呼ばれる手法が用いられている。
【０００８】
しかしながら、再構成可能ハードウェアにより実現される電子回路を実際に動作させて、動作時に得られる回路動作に関する情報(以下、適宜「プロファイル情報」と呼ぶ。）を用いて最適化を行いたいという要望が強い。
【０００９】
なぜならば、例えばある状態から別の状態への遷移確率が偏っていることが分かれば、公知の最適化技術等を適用して電子回路の処理性能を向上させることや、消費電力を削減することができると期待されるからである。また、プロファイル情報を用いて最適化を行うには、上述したように電子回路を実際に動作させる必要があるが、この動作を停止させることなく動的に構成情報の最適化を行うことが望ましい。
【００１０】
そこで本発明は、動的に構成情報の最適化を行うことが可能な、構成情報管理装置、その方法及びそのプログラム並びに動作合成装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の観点によれば、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み部と、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み部と、を備え、前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理装置が提供される。
【００１２】
本発明の第２の観点によれば、本発明の第１の観点により提供される構成情報管理装置と接続された動作合成装置において、前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第１の動作レベル記述の入力を受け付ける受付部と、プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第１の動作レベル記述に追加することにより第２の動作レベル記述を生成する追加部と、与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成する動作合成部と、前記第２の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理装置に送信し、前記前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得するプロファイル部と、前記プロファイル部が出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第１の動作レベル記述を前記動作合成部に動作合成させることにより最適化されたレジスタ転送レベル記述を取得する最適化部と、を備えることを特徴とする動作合成装置が提供される。
【００１３】
本発明の第３の観点によれば、構成情報管理装置により実行される構成情報管理方法であって、前記構成情報管理装置が備える構成情報読み込み部が、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付け、前記構成情報管理装置が備える書き込み部が、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換え、前記再構成可能ハードウェア上の構成情報メモリには相互に独立した複数の書き込みポートと読み出しポートが持たされており、当該構成情報管理方法では前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込むことを特徴とする構成情報管理方法が提供される。
【００１４】
本発明の第４の観点によれば、再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み機能と、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み機能と、を備え、前記再構成可能ハードウェア上の構成情報メモリに相互に独立した複数の書き込みポートと読み出しポートを持たせることにより前記電子回路の動作を停止することなく、次に遷移すべき構成の情報を書き込む構成情報管理装置としてコンピュータを動作させることを特徴とする構成情報管理プログラムが提供される。
【発明の効果】
【００１５】
本発明によれば、再構成可能ハードウェア上に構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換えることから、動的に構成情報の最適化を行うことが可能な、構成情報管理装置、その方法及びそのプログラム並びに動作合成装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る動作合成装置の物理的構成を示すブロック図である。
【図２】本発明の実施形態に係る構成情報管理装置の物理的構成を示すブロック図である。
【図３】本発明の実施形態に係る動作合成装置並びに構成情報管理装置の論理的構成を示すブロック図である。
【図４】本発明の実施形態に係る再構成可能ハードウェアの物理的及び論理的構成を示すブロック図である。
【図５】本発明の実施形態に係る動作合成処理を行う際の基本的動作を表すフローチャートである。
【図６】（Ａ）及び（Ｂ）共に、本発明の実施形態に係るプロファイル記述を追加する手順を説明するための図である。
【図７】本発明の実施形態に係る構成情報管理処理を行う際の基本的動作を表すフローチャートである。
【図８】本発明の実施形態の変形例に係る動作合成装置並びに構成情報管理装置の構成を示すブロック図である。
【図９】本発明の実施形態の変形例に係る動作合成装置の動作合成処理、並びに、構成情報管理装置の構成情報管理処理を行う際の基本的動作を表すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本実施形態に係る動作合成装置及び構成情報管理装置について詳細に説明する。
【００１８】
最初に、図１及び図２を参照して、本実施形態に係る動作合成装置及び構成情報管理装置の物理的な実装例について説明する。その後に図３の機能ブロック図を参照して本実施形態に係る動作合成装置及び構成情報管理装置の機能的な構成について具体的に説明する。
【００１９】
まず、図１を参照して、本実施形態に係る動作合成装置の物理的な構成について説明する。なお、動作合成装置は、入力ポートや変数のビット幅等のハードウェア化に必要な情報を含んだ動作レベル記述を動作合成することにより、半導体集積回路の構成、配置、配線を記述するＲＴＬ記述を得る装置である。
【００２０】
図１に示すように、動作合成装置１００は、物理的には、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ハードディスク装置１０４と、入力装置１０５と、表示装置１０６と、出力装置１０７と、を有する。動作合成装置１００が有する各構成要素はバスを介して相互に接続されている。
【００２１】
ＣＰＵ１０１は、ハードディスク装置１０４に記憶されたプログラムに従って演算処理を行うことにより、動作合成装置１００全体の動作を制御する。ＣＰＵ１０１は、各構成要素とバスを介して相互に接続され制御信号やデータのやりとりをする。
【００２２】
ＲＯＭ１０２は、電源投入直後に実行されるＩＰＬ（Initial Program Loader）を記憶する部品である。ＩＰＬが実行された後、ＣＰＵ１０１は、ハードディスク装置１０４に記憶されたプログラムを一旦ＲＡＭ１０３に転送した後、ＲＡＭ１０３から読み出して実行する。
【００２３】
ＲＡＭ１０３は、データやプログラムを一時的に記憶する部品である。ＲＡＭ１０３は、ハードディスク装置１０４から読み出されたプログラムや、動作合成処理に必要なデータ等を一時記憶する。
【００２４】
ハードディスク装置１０４は、ＣＰＵ１０１により実行されるプログラムを記憶する装置である。また、ハードディスク装置１０４は、動作合成すべき動作レベル記述や、動作合成により得られたＲＴＬ記述等を記憶する。
【００２５】
入力装置１０５は、ＣＰＵ１０１による制御のもと、動作合成に必要なパラメータ等の入力をユーザから受け付ける。更に、入力装置１０５は、動作合成開始要求等の要求をユーザから受け付ける。入力装置１０５は、例えば、キーボード、マウス、タッチパネル等により実現される。
【００２６】
表示装置１０６は、ＣＰＵ１０１による制御のもと、ユーザからのパラメータ等の入力や動作合成開始要求等の要求を受け付けるための画面、動作レベル記述を表示するための画面、レジスタ転送レベル記述を表示するための画面等を表示するための装置である。表示装置１０６は、例えば、液晶ディスプレイ装置等により実現される。
【００２７】
出力装置１０７は、ＣＰＵ１０１による制御のもと、動作合成により得られたＲＴＬ記述や、ＲＴＬ記述を論理合成することにより得られた構成情報等を出力する装置である。出力装置１０７は、例えば、ＵＳＢ（Universal Serial Bus）規格に準拠したポート等の汎用の通信インターフェースや、ディジタル出力ポート等により実現される。
【００２８】
次に、図２を参照して、本実施形態に係る構成情報管理装置２００の物理的な構成について説明する。なお、構成情報管理装置２００は、再構成可能ハードウェア上に実現すべき構成情報を、外部の記憶装置から当該再構成可能ハードウェア上へと転送する装置である。
【００２９】
図２に示すように、構成情報管理装置２００は、物理的には、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、入力装置２０４と、出力装置２０５と、を有する。構成情報管理装置２００が有する各構成要素はバスを介して相互に接続されている。
【００３０】
ＣＰＵ２０１は、ＲＡＭ２０３に記憶されたプログラムに従って、演算処理を行うことにより、構成情報管理装置２００全体の動作を制御する。なお、プログラムは、入力装置２０４を介してＲＡＭ２０３に記憶される。また、ＣＰＵ２０１は、構成情報管理装置２００が有する各構成要素と、バスを介して相互に接続され制御信号やデータのやりとりをする。
【００３１】
ＲＯＭ２０２は、電源投入直後に実行されるＩＰＬを記憶する装置である。ＩＰＬが実行された後、ＣＰＵ２０１は、入力装置２０４を介してＲＡＭ２０３にプログラムを書き込み、その後、ＲＡＭ２０３から読み出して実行する。
【００３２】
ＲＡＭ２０３は、データやプログラムを一時的に記憶する装置である。ＲＡＭ２０３は、入力装置２０４から入力されたプログラムや、再構成可能ハードウェアに転送する構成情報を一時記憶する。
【００３３】
入力装置２０４は、ＣＰＵ２０１による制御のもと、再構成可能ハードウェア上で実現する構成情報等を受け付ける装置である。入力装置２０４は、例えば、ＵＳＢ規格に準拠したポート等の汎用の通信インターフェースや、ディジタル入力ポート等により実現される。
【００３４】
出力装置２０５は、ＣＰＵ２０１による制御のもと、再構成ハードウェア上で実現する構成情報等を出力する。出力装置２０５は、例えば、ＵＳＢ規格に準拠したポート等の汎用の通信インターフェースや、ディジタル出力ポート等により実現される。
【００３５】
なお、図１及び図２に示した構成は一例に過ぎない。他の構成要素を更に有していてもよいし、上述の各要素を代替する他の構成要素に置き換えてもよい。例えば、ハードディスク装置１０４に代えてＦｌａｓｈ  ＳＳＤ（Flash Solid State Drive）により実現するようにしてもよい。
【００３６】
また、図１及び図２は、本実施形態と特に関連する箇所のみを図示したものである。電源等の一般的な構成要素は図示を省略している。
【００３７】
次に、図３を参照して本実施形態の機能ブロックについて説明する。なお、以下に説明する各装置の各部分は、ＣＰＵ２０１又はＣＰＵ１０１が、ＲＯＭ２０２、ＲＯＭ１０２及びハードディスク装置１０４等に記憶されているプログラム（ソフトウェア）を読み込み、ＲＡＭ２０３、ＲＡＭ１０３及びその他のハードウェアと協働して処理を行うことにより実現されるものである。
【００３８】
図３を参照すると本実施形態は、動作合成装置１００、構成情報管理装置２００及び再構成可能ハードウェア９００を有している。そして、動作合成装置１００、構成情報管理装置２００及び再構成可能ハードウェア９００は相互に接続されている。なお接続方式は特に限定されるものではなく、任意の接続方式により接続することが可能である。
【００３９】
動作合成装置１００は、機能的には、受付部１１０と、追加部１２０と、動作合成部１３０と、プロファイル部１４０と、最適化部１５０と、を有する。
【００４０】
受付部１１０は、再構成可能ハードウェア９００により実現される電子回路を表す動作レベル記述（以下、適宜「第１の動作レベル記述」と呼ぶ。）の入力を受け付ける。
【００４１】
また、追加部１２０は、収集すべきプロファイル指定情報をユーザから受け付ける。
【００４２】
ここで、収集すべきプロファイル指定情報とは、例えば、状態の実行回数、条件分岐の選択回数、レジスタやメモリに書き込まれる値、入力端子から入力される値、出力端子に出力される値等である。なお、この収集すべきプロファイル指定情報はあくまで一例に過ぎず、収集すべきプロファイル指定情報を限定するものではない。任意の情報を、収集すべきプロファイル指定情報とすることが可能である。また、追加部１２０は、第１の動作レベル記述にプロファイル情報を取得し出力するための記述（以下、適宜「プロファイル記述」と呼ぶ。）を追加した動作レベル記述（以下、適宜「第２の動作レベル記述」と呼ぶ。）を生成する。
【００４３】
動作合成部１３０は、与えられた第１及び第２の動作レベル記述を動作合成してＲＴＬ記述を生成する。ここで、動作合成とは一般的にＣ言語等の高級プログラミング言語で書かれたアルゴリズム記述から、ＲＴＬ記述を合成することを言う。そして、このアルゴリズム記述は、通常のソフトウェアのプログラムのように、処理順序通りに動作を記述したものであり、本実施形態における第１及び第２の動作レベル記述に相当する。
【００４４】
プロファイル部１４０は、第２の動作レベル記述を動作合成部１３０に与えて得られるＲＴＬ記述を論理合成することにより、プロファイル機能付き回路（以下、適宜「プロファイル機能付き回路９００ａ」と呼ぶ。）を再構成可能ハードウェア９００に実現するために必要な情報（以下、適宜「構成情報」と呼ぶ。）を生成する。そして、プロファイル部１４０は、生成した構成情報を構成情報管理装置２００に対して出力する。
【００４５】
最適化部１５０は、プロファイル情報に基づいて最適化情報を生成する。
【００４６】
また、構成情報管理装置２００は、構成情報読み込み部２１０及び構成情報書き込み部２２０を有する。
【００４７】
構成情報読み込み部２１０は、動作合成装置１００から構成情報を受け付ける。具体的には、構成情報読み込み部２１０は、動作合成装置１００から再構成可能ハードウェア上で実現すべき構成情報の指定を受け付ける。
【００４８】
また、構成情報書き込み部２２０は、再構成可能ハードウェア９００に、当該構成情報を書き込めるか否かを判別し、書き込み可能であれば書き込みを実行する。
【００４９】
次に、図４を参照して再構成可能ハードウェア９００の物理的及び機能的構成について説明する。図４を参照すると再構成ハードウェア９００は物理的に構成情報メモリ９１０を有している。構成情報メモリ９１０は、構成情報を書き込まれるメモリである。そして、構成情報メモリ９１０に構成情報が書き込まれ、再構成可能ハードウェア９００全体と協働することによりプロファイル機能付き回路９００ａが実現される。
【００５０】
次に、本実施形態に係る動作合成装置１００が実行する動作合成処理について図３、図５及び図６を参照して詳細に説明する。
【００５１】
動作合成装置１００は、例えば、構成情報書き換えの開始要求を入力装置１０５を介してユーザから受けとり、これを契機として、図５のフローチャートに示す処理を開始する。
【００５２】
まず、受付部１１０は、ユーザから動作合成対象の動作レベル記述を受け付ける（ステップＳ１１）。具体的には、受付部１１０は、ユーザから動作合成対象の動作レベル記述である第１の動作レベル記述の指定を受け付ける。そして、受付部１１０は、ユーザから指定された第１の動作レベル記述を、ハードディスク装置１０４から読み出してＲＡＭ１０３に記憶する。
【００５３】
次に、追加部１２０は、収集すべきプロファイル情報の指定をユーザから受け付ける（ステップＳ１２）。収集すべきプロファイル情報とは、例えば、状態の実行回数、条件分岐の選択回数、レジスタやメモリに書き込まれる値、入力端子から入力される値、出力端子に出力される値等である。なお、この収集すべきプロファイル情報はあくまで一例に過ぎず、収集すべきプロファイル情報を限定するものではない。任意の情報を、収集すべきプロファイル情報とすることが可能である。
【００５４】
次に、追加部１２０は、プロファイル情報を取得し出力するための記述であるプロファイル記述を、第１の動作レベル記述に追加することにより、第２の動作レベル記述を生成する（ステップＳ１３）。
【００５５】
ここで、追加部１２０が、第１の動作レベル記述にプロファイル記述を追加する手順について、図６（Ａ）、（Ｂ）を参照して説明する。
【００５６】
図６（Ａ）、（Ｂ）に示すように、再構成可能ハードウェア９００には、多数のＰＥ（Processing Element）が二次元に配置されている。なお、今回は、図６（Ａ）、（Ｂ）に、プロファイル記述を追加する手順の説明に必要な部分のみを示す。そして、各ＰＥ間を接続する配線やスイッチ等の説明に不要な部分については図示を省略する。なお、各ＰＥは、隣接するＰＥから供給されたデータに対して構成情報により指定された演算を実行し、演算結果を隣接するＰＥに供給する。また、各ＰＥは、データを保持するレジスタを有している。
【００５７】
追加部１２０は、未使用のＰＥの情報等を動作合成部１３０から取得する。具体的には、例えば、追加部１２０は、図６（Ａ）に示すように、データＡがＰＥ１１からＰＥ１２を経てＰＥ１３に供給され、データＢがＰＥ３１からＰＥ３２及びＰＥ３３を経てＰＥ３４に供給され、ＰＥ１４、ＰＥ２１、ＰＥ２２、ＰＥ２３及びＰＥ２４が未使用である旨の情報を取得する。
【００５８】
ここで、データは、当該データが通過する経路から近い場所で収集することが、時間的な観点及びリソース的な観点から効率がよい。すなわち、収集すべきデータが通過する経路に隣接するＰＥであって未使用のＰＥで当該データを収集するようにする。
【００５９】
例えば、追加部１２０は、図６（Ｂ）に示すように、ＰＥ２３でデータＡを収集し、ＰＥ２４でデータＢを収集することを決定する。そして、追加部１２０は、ＰＥ２３でデータＡを収集して所定のタイミングで出力し、ＰＥ２４でデータＢを収集して所定のタイミングで出力するようなプロファイル記述を第１の動作レベル記述に追加する。
【００６０】
これにより、再構成可能ハードウェア９００が元来備えているリソースのみで、プロファイル情報を取得することが可能となる。
【００６１】
次に、プロファイル部１４０は、ＲＴＬ記述を取得する（ステップＳ１４）。具体的には、プロファイル部１４０は、追加部１２０が生成した第２の動作レベル記述を動作合成部１３０に引き渡して動作合成させることによりＲＴＬ記述を生成させ、生成したＲＴＬ記述を取得する。
【００６２】
そして、プロファイル部１４０は、プロファイル情報を取得し出力する機能を備えた回路であるプロファイル機能付き回路９００ａが生成可能か否かを判別する（ステップＳ１５）。具体的には、プロファイル部１４０は、取得したＲＴＬ記述に基づいて生成されるプロファイル機能付き回路９００ａが、再構成可能ハードウェア９００に実装可能なサイズであるか否かを判別する。
【００６３】
判別方法としては、任意の方法が選択できる。例えば、プロファイル部１４０は、取得したＲＴＬ記述のサイズが所定のサイズ以下であるか否かを判別するようにしてもよい。或いは、取得したＲＴＬ記述を論理合成することにより構成情報を取得し、この構成情報のサイズが所定のサイズ以下であるか否かを判別するようにしてもよい。
【００６４】
プロファイル部１４０は、プロファイル機能付き回路９００ａが生成可能ではないと判別した場合（ステップＳ１５においてＮＯ）、再度、ユーザにプロファイル情報を指定するように求める。併せてプロファイル部１４０は、プロファイル情報を変更するように追加部１２０に指示する。
【００６５】
そして、追加部１２０は、プロファイル部１４０からプロファイル情報の変更を指示されることに応答して、ユーザからプロファイル情報の指定を再度受け付ける（ステップＳ１６）。
【００６６】
続いて、動作合成装置１００は、再度受け付けたプロファイル情報に基づいて上述の処理（ステップＳ１３〜ステップＳ１５）を実行する。動作合成装置１００は、プロファイル機能付き回路９００ａが生成可能となるまで上述の処理（ステップＳ１３〜ステップＳ１５）を繰り返す。
【００６７】
一方、プロファイル部１４０は、プロファイル機能付き回路９００ａが生成可能であると判別した場合（ステップＳ１５においてＹＥＳ）、プロファイル機能付き回路９００ａを生成する（ステップＳ１７）。具体的には、プロファイル部１４０は、取得したＲＴＬ記述を論理合成することにより、プロファイル機能付き回路９００ａを再構成可能ハードウェア９００に実現するために必要な構成情報を生成する。そして、構成情報管理装置２００に対して指示を出し、生成した構成情報を再構成可能ハードウェア９００に書き込ませる。
【００６８】
続いて、プロファイル部１４０は、プロファイル機能付き回路９００ａを動作させる（ステップＳ１８）。具体的には、プロファイル部１４０は、生成した構成情報を再構成可能ハードウェア９００に書き込ませた後、プロファイル機能付き回路９００ａを動作させる。
【００６９】
ここで、プロファイル部１４０は、再構成可能ハードウェア９００上に実現されたプロファイル機能付き回路９００ａからプロファイル情報を取得する（ステップＳ１９）。プロファイル機能付き回路９００ａは、動作中にプロファイル情報を取得し、出力する。プロファイル部１４０は、プロファイル機能付き回路９００ａの動作中は、プロファイル情報を所定のタイミングで取得し続ける。なお、プロファイル部１４０の指示を受けた構成情報管理装置２００の詳細な動作については後述する。
【００７０】
次に、最適化部１５０は、プロファイル情報に基づいて最適化情報を生成する（ステップＳ２０）。具体的には、最適化部１５０は、プロファイル部１４０が取得したプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたＲＴＬ記述を生成するために必要な最適化情報を生成する。なお、重視パラメータ情報は、面積、処理サイクル数、遅延、若しくは、消費電力のうち最適化の際に重視するパラメータを指定する情報である。
【００７１】
面積を重視する最適化では、例えば、６４ビットの入力を受け付ける回路に対し、入力される値をプロファイル情報として取得する。取得したプロファイル情報から、実際に入力されている値は常に１６ビット以下であると分かれば、入力は１６ビットであるというのを新たな制約として、面積を削減する最適化が行える。
【００７２】
最後に、最適化部１５０は、最適化されたＲＴＬ記述を取得する（ステップＳ２１）。具体的には、最適化部１５０は、第１の動作レベル記述を動作合成部１３０に与えるとともに、生成した最適化情報を動作合成部１３０に与えてＲＴＬ記述を生成させることにより、最適化されたＲＴＬ記述を取得する。最適化部１５０が最適化されたＲＴＬ記述を取得すると動作合成処理が完了する。
【００７３】
本実施形態に係る動作合成装置１００によれば、プロファイル機能付きの回路を実際に動作させることによりプロファイル情報を取得し、取得したプロファイル情報に基づいて第１の動作レベル記述の動作合成を行うことが可能となる。そして、プロファイル情報に基づいて第１の動作レベル記述を動作合成することから、最適化されたＲＴＬ記述を取得することができるという効果を奏する。
【００７４】
次に、本実施形態に係る構成情報管理装置２００が実行する構成情報管理処理について図３及び図７を参照して詳細に説明する。
【００７５】
構成情報管理装置２００は、例えば、構成情報の書き換え開始要求を入力装置２０４を介してユーザから受けると、図７のフローチャートに示す構成情報管理処理を開始する。
【００７６】
まず、構成情報読み込み部２１０は、動作合成装置１００から構成情報を受け付ける（ステップＳ２１）。具体的には、構成情報読み込み部２１０は、動作合成装置１００から再構成可能ハードウェア上で実現すべき構成情報の指定を受け付け、指定された構成情報を入力装置２０４から受け取って、ＲＡＭ２０３に記憶する。
【００７７】
次に、構成情報書き込み部２２０は、再構成可能ハードウェア９００に、当該構成情報を書き込めるか否かを判別する（ステップＳ２２）。具体的には、構成情報書き込み部２２０は、当該構成情報のサイズが、再構成ハードウェア９００上の構成情報メモリ９１０の空き容量以下か否かを判別する。
【００７８】
構成情報書き込み部２２０は、構成情報が書き込めないと判別した場合（ステップＳ２２においてＮＯ）、再構成可能ハードウェア９００上の回路動作を一旦停止する（ステップＳ２３）。そして、現在の構成情報メモリ９１０の内容を構成情報管理装置２００内のＲＡＭ２０３に退避する（ステップＳ２４）。
【００７９】
一方、構成情報書き込み部２２０は、構成情報を書き込めると判別した場合（ステップＳ２２においてＹＥＳ）、構成情報を再構成ハードウェア９００の構成情報メモリ９１０へ書き込む。具体的には、構成情報書き込み部２２０は、ＲＡＭ２０３に記憶された構成情報を、再構成可能ハードウェア上の構成情報メモリ９１０へと転送する。
【００８０】
構成情報の書き込みを終えると、構成情報書き込み部２２０は、再構成可能ハードウェア上に実現された電子回路が次に遷移すべき状態の情報を、新しく書き込んだ構成情報へと変更する（ステップＳ２６）。具体的には、構成情報書き込み部２２０は、現在実行している電子回路に対応した構成情報内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える。
【００８１】
この際、再構成可能ハードウェア９００上の構成情報メモリ９１０に相互に独立した複数の書き込みポートと読み込みポートを持たせることによって、再構成可能ハードウェア上に実現された電子回路の動作を停止することなく、構成情報を書き込むことが可能となる。
【００８２】
この結果、再構成可能ハードウェア９００上に実現された電子回路は、動作を停止することなく、新たな構成の電子回路として動作を継続することが可能となるという効果を奏する。
【００８３】
［変形例］
上述した実施形態では、プロファイル機能付き回路９００ａ（第２の動作レベル記述を動作合成することにより得られる回路）を再構成可能ハードウェア９００に実装した。そして実装されたプロファイル機能付き回路９００ａを動作させることにより得られるプロファイル情報と、第１の動作レベル記述とを動作合成する例を示した。しかしながら、プロファイル機能付き回路９００ａは、単にプロファイル情報を取得するための回路ではなく、本来実現されるべきアプリケーション機能（演算機能、通信機能等）も備えている。このため、プロファイル機能付き回路９００ａを再構成可能ハードウェア９００に実装した状態で、アプリケーションを実行する構成としてもよい。
【００８４】
また、再構成可能ハードウェア９００上に既に存在する構成情報と、書き込まれる構成情報との間には、特に関係がない例を示した。しかしながら、既に存在する構成情報が第１の動作レベル記述から得られる構成情報、書き込まれる構成情報が、第２の動作レベル記述から得られる構成情報というように、既に存在する構成情報と、書き込まれる構成情報との間に関係があってもよい。
【００８５】
この場合、動作合成装置１００は、プロファイル機能付き回路９００ａを動作させることにより得られるプロファイル情報を用いて、第２の動作レベル記述を動作合成する。そして、構成情報管理装置は、第２の動作レベル記述を動作合成して得られたＲＴＬ記述から求めた構成情報を、再構成可能ハードウェア９００に書き込み、次遷移先を変更することにより、アプリケーションの動作中に最適化された回路に更新することが可能となる。
【００８６】
以下、変形例に係る動作合成装置１００−１が実行する動作合成処理、並びに、構成情報管理装置２００−１が実行する構成情報管理処理について、図８及び図９を参照して詳細に説明する。
【００８７】
まず、受付部１１０は、ユーザから動作合成対象の動作レベル記述を受け付ける（ステップＳ３１）。受付部１１０は、ユーザから動作合成対象の動作レベル記述の指定を受け付け、ユーザから指定された第１の動作レベル記述をハードディスク装置１０４から読み出してＲＡＭ１０３に記憶する。
【００８８】
次に、追加部１２０は、第１の動作レベル記述にプロファイル記述を追加して第２の動作レベル記述を生成する（ステップＳ３２）。追加部１２０は、上述したようにプロファイル指定情報に基づいてプロファイル記述を追加してもよいし、あらかじめ定められた情報に基づいてプロファイル記述を追加してもよい。
【００８９】
そして、プロファイル部１４０は、ＲＴＬ記述を生成する（ステップＳ３３）。具体的には、プロファイル部１４０は、追加部１２０が生成した第２の動作レベル記述を動作合成部１３０に引き渡して動作合成させることによりＲＴＬ記述を生成させ、生成したＲＴＬ記述を取得する。
【００９０】
ここでは、理解を容易にするため、取得したＲＴＬ記述に基づいて生成される回路は、再構成可能ハードウェアに実装可能なサイズであるものとして説明する。すなわち、図５におけるステップＳ１５及びＳ１６に相当する動作については図示及び説明を省略する。
【００９１】
プロファイル部１４０は、プロファイル機能付き回路９００ａを生成する（ステップＳ３４）。具体的には、プロファイル部１４０は、取得したＲＴＬ記述を論理合成することにより、プロファイル機能付き回路９００ａを再構成可能ハードウェア９００に実現するために必要な構成情報を生成する。
【００９２】
次に、構成情報読み込み部２１０は、プロファイル機能付き回路９００ａの構成情報を、プロファイル部１４０より受け付ける（ステップＳ３５）。具体的には、構成情報読み込み部２１０は、プロファイル部１４０から当該構成情報の指定を受け付け、指定された構成情報を入力装置２０４から受け取って、ＲＡＭ２０３に記憶する。
【００９３】
そして、構成情報書き込み部２２０は、プロファイル機能付き回路９００ａを再構成可能ハードウェアへ書き込む（ステップＳ３６）。具体的には、構成情報書き込み部２２０は、ＲＡＭ２０３から当該構成情報を読み出し、再構成可能ハードウェア９００上の構成情報メモリ９１０へ書き込む。
【００９４】
次に、構成情報書き込み部２２０は、再構成可能ハードウェア上に実現された電子回路が次に遷移すべき状態の情報を、新しく書き込んだ構成情報へと変更する（ステップＳ３７）。具体的には、構成情報書き込み部２２０は、現在実行している電子回路に対応した構成情報内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える。
【００９５】
そして、プロファイル部１４０は、プロファイル機能付き回路９００ａを動作させる（ステップＳ３８）。
【００９６】
ここで、プロファイル部１４０は、再構成可能ハードウェア９００上に実現されたプロファイル機能付き回路９００ａからプロファイル情報を取得する（ステップＳ３９）。プロファイル機能付き回路９００ａは、動作中にプロファイル情報を取得し、出力する。プロファイル部１４０は、プロファイル機能付き回路９００ａの動作中は、プロファイル情報を所定のタイミングで取得し続ける。
【００９７】
次に、最適化部１５０は、プロファイル情報に基づいて最適化情報を生成する（ステップＳ４０）。具体的には、最適化部１５０は、プロファイル部１４０が取得したプロファイル情報に基づいて、最適化されたＲＴＬ記述を取得するために必要な最適化情報を生成する。なお、最適化部１５０は、上述したステップＳ２０のようにユーザから指定された重視パラメータ情報に基づいて最適化情報を生成してもよい。なお、上述したステップＳ２０と同様に、重視パラメータ情報は、面積、処理サイクル数、遅延、若しくは、消費電力のうち最適化の際に重視するパラメータを指定する情報である。
【００９８】
そして、最適化部１５０は、最適化されたＲＴＬ記述を取得する（ステップＳ４１）。具体的には、最適化部１５０は、第２の動作レベル記述を動作合成部１３０に与えるとともに、生成した最適化情報を動作合成部１３０に与えてＲＴＬ記述を生成させることにより、最適化されたＲＴＬ記述を取得する。
【００９９】
次に、プロファイル部１４０は、プロファイル機能付き回路９００ａを再度生成する（ステップＳ４０）。具体的には、プロファイル部１４０は、最適化されたＲＴＬ記述を論理合成することにより、プロファイル機能付き回路９００ａを再構成可能ハードウェア９００に実現するために必要な構成情報を生成する。
【０１００】
そして、構成情報書き込み部２２０は、プロファイル機能付き回路９００ａを構成するための構成情報を、再構成可能ハードウェア９００に再度書き込む（ステップＳ３５〜Ｓ３７）。以後、動作合成装置２０１は、再構成されたロファイル機能付き回路９００ａを対象としてステップＳ３８〜ステップＳ４２の処理を繰り返す。
【０１０１】
変形例に係る動作合成装置１００−１及び構成情報管理装置２００−１によれば、プロファイル機能付きの回路を用いてアプリケーションを動作させている間にプロファイル情報を取得できることから、取得したプロファイル情報に基づいて生成した構成情報を、動作を中止することなく動的に上書きすることができる。このため、再構成可能ハードウェア上に実装された回路を、動作中に最適化された回路に置き換えることができるという効果を奏する。
【０１０２】
なお、変形例に係る動作合成装置２０１によれば、プロファイル機能付きの回路を用いてアプリケーションを動作させる。しかしながら、プロファイル機能を実現する回路部分は、アプリケーション動作に使用しないリソースを用いて構成しているためリソースを追加する必要がないという効果を奏する。
【０１０３】
また、プロファイル機能を実現する回路部分は、アプリケーションを実現する回路部分と並行に動作するため、アプリケーション本来の動作に影響を与えることがなく、アプリケーション回路の動作速度を維持することが可能となるという効果を奏する。
【０１０４】
なお、第１の動作レベル記述、プロファイル記述、第２の動作レベル記述は、Ｃ、Ｃ＋＋、ＳｙｓｔｅｍＣ、Ｊａｖａ（登録商標）等の高級プログラミング言語により記述するのが一般的であるが、動作合成装置を実現するコンピュータが処理しやすいようにした中間言語により記述してもよい。
【０１０５】
また、プロファイル記述を高級プログラミング言語により記述するのではなく、レジスタ転送レベル記述を記述するための言語や中間言語により記述することとしても良い。この場合、プロファイル記述は、プロファイル情報を収集してから出力する電子回路を実現するレジスタ転送レベル記述に相当する。
【０１０６】
従って、追加部１２０が出力する第２の動作レベル記述は、第１の動作レベル記述と、レジスタ転送レベル記述によるプロファイル記述と、を組み合わせたものとなる。
【０１０７】
そして、動作合成部１３０は、第２の動作レベル記述が与えられると、まず、その中に含まれる第１の動作レベル記述を動作合成して、レジスタ転送レベル記述を得る。その後に、得られたレジスタ転送レベル記述にプロファイル記述を追加して、その結果を生成の結果としてプロファイル部１４０に返す。
【０１０８】
また、上記実施形態では、動作合成装置と構成情報管理装置が隣接しているものとして説明した。しかし、動作合成装置と構成情報管理装置を別のコンピュータとして実現し、バスやＵＳＢ規格に準拠したケーブル、インターネット等の手段を用いて接続するようにしてもよい。また、接続は有線接続であってもよいがその一部又は全部を無線による接続としてもよい。
【０１０９】
更に、上記実施形態では、プログラムが、記憶装置に予め記憶されているものとして説明した。しかし、動作合成装置を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical Disk（Disc））ＢＤ（Blu-ray Disc）等のコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１１０】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波にプログラムを重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
【０１１１】
なお、本発明の実施形態である動作合成装置及び構成情報管理装置は、それぞれハードウェアにより実現することもできるが、コンピュータをその動作合成装置及び構成情報管理装置として機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【０１１２】
また、本発明の実施形態による動作合成方法及び構成情報管理方法は、それぞれハードウェアにより実現することもできるが、コンピュータにそれらの方法をそれぞれ実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【０１１３】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１１４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１１５】
（付記１）  再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み部と、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み部と、
を備えることを特徴とする構成情報管理装置。
【０１１６】
（付記２）  付記１に記載の構成情報管理装置において、
前記再構成可能ハードウェア上の構成情報メモリに独立した複数の書き込みポートと読み込みポートを持たせることにより前記電子回路の動作を停止することなく、構成情報を書き込むことを特徴とする構成情報管理装置。
【０１１７】
（付記３）  付記１又は２に記載の構成情報管理装置において、
前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、前記再構成可能ハードウェアにより実現される電子回路は、前記プロファイル情報を取得し出力することを特徴とする構成情報管理装置。
【０１１８】
（付記４）  付記１乃至３の何れか１項に記載の構成情報管理装置において、
前記書き込み部は、前記構成情報読み込み部が前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理装置。
【０１１９】
（付記５）  付記１乃至４の何れか１項に記載の構成情報管理装置と接続された動作合成装置において、
前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第１の動作レベル記述の入力を受け付ける受付部と、
プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第１の動作レベル記述に追加することにより第２の動作レベル記述を生成する追加部と、
与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成する動作合成部と、
前記第２の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理装置に送信し、前記前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得するプロファイル部と、
前記プロファイル部が出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第１の動作レベル記述を前記動作合成部に動作合成させることにより最適化されたレジスタ転送レベル記述を取得する最適化部と、
を備えることを特徴とする動作合成装置。
【０１２０】
（付記６）  付記５に記載の動作合成装置において、
前記最適化部は、前記動作合成部に前記第１の動作レベル記述を与えるのに代えて、前記第２の動作レベル記述を与えることを特徴とする動作合成装置。
【０１２１】
（付記７）  再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付け、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える、
ことを特徴とする構成情報管理方法。
【０１２２】
（付記８）  付記７に記載の構成情報管理方法において、
前記再構成可能ハードウェア上の構成情報メモリに独立した複数の書き込みポートと読み込みポートを持たせることにより前記電子回路の動作を停止することなく、構成情報を書き込むことを特徴とする構成情報管理方法。
【０１２３】
（付記９）  付記７又は８に記載の構成情報管理方法において、
前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、前記再構成可能ハードウェアにより実現される電子回路は、前記プロファイル情報を取得し出力することを特徴とする構成情報管理方法。
【０１２４】
（付記１０）  付記７乃至９の何れか１項に記載の構成情報管理方法において、
前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理方法。
【０１２５】
（付記１１）  付記７乃至１０の何れか１項に記載の構成情報管理方法において、
前記再構成可能ハードウェアにより実現される電子回路の動作レベル記述である第１の動作レベル記述の入力を受け付け、
プロファイル情報を取得し出力するための記述であるプロファイル記述を受け付け、当該プロファイル記述を前記第１の動作レベル記述に追加することにより第２の動作レベル記述を生成し、
与えられた動作レベル記述を動作合成してレジスタ転送レベル記述を生成し、
前記第２の動作レベル記述を前記動作合成部に動作合成させることによりレジスタ転送レベル記述を取得し、当該レジスタ転送レベル記述を論理合成することにより構成情報を生成し、生成した構成情報を前記構成情報管理方法に送信し、前記前記構成情報に対応した電子回路から出力される前記プロファイル情報を取得し、
前記出力させたプロファイル情報と、ユーザから指定された重視パラメータ情報と、に基づいて、動作レベル記述から最適化されたレジスタ転送レベル記述を生成するために必要な最適化情報を生成し、当該生成した最適化情報と、前記第１の動作レベル記述を前記動作合成させることにより最適化されたレジスタ転送レベル記述を取得する、
ことを特徴とする構成情報管理方法。
【０１２６】
（付記１２）  付記１１に記載の構成情報管理方法において、
前記第１の動作レベル記述を与えるのに代えて、前記第２の動作レベル記述を与えることを特徴とする構成情報管理方法。
【０１２７】
（付記１３）  再構成可能ハードウェアにより実現される電子回路の構成情報の指定を受け付ける構成情報読み込み機能と、
前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することによって、前記再構成可能ハードウェア上に前記構成情報に対応した電子回路を実現させ、当該実現された電子回路に対応した構成情報の内の、次に遷移すべき構成の情報を、従来の次に遷移すべき構成の情報から新たな次に遷移すべき構成の情報へと変更することにより、次に遷移すべき構成の情報を書き換える書き込み機能と、
を備える構成情報管理装置としてコンピュータを動作させることを特徴とする構成情報管理プログラム。
【０１２８】
（付記１４）  付記１３に記載の構成情報管理プログラムにおいて、
前記再構成可能ハードウェア上の構成情報メモリに独立した複数の書き込みポートと読み込みポートを持たせることにより前記電子回路の動作を停止することなく、構成情報を書き込むことを特徴とする構成情報管理プログラム。
【０１２９】
（付記１５）  付記１３又は１４に記載の構成情報管理プログラムにおいて、
前記構成情報は、プロファイル情報を取得し出力するための記述であるプロファイル記述を含んで生成されたものであり、前記再構成可能ハードウェアにより実現される電子回路は、前記プロファイル情報を取得し出力することを特徴とする構成情報管理プログラム。
【０１３０】
（付記１６）  付記１３乃至１５の何れか１項に記載の構成情報管理プログラムにおいて、
前記書き込み機能は、前記構成情報読み込み機能が前記指定された構成情報のサイズが、前記再構成可能ハードウェア上の構成情報メモリの容量以下か否かを判別し、前記再構成可能ハードウェア上の構成情報メモリの容量以下と判別できた場合に、前記構成情報を前記再構成可能ハードウェア上の構成情報メモリへと転送することを特徴とする構成情報管理プログラム。
【産業上の利用可能性】
【０１３１】
上述のように、本発明によれば、再構成可能ハードウェアの構成を制御する装置、再構成可能ハードウェアにより実現する電子回路を最適化するのに好適な動作合成装置、動作合成方法並びにこれらをコンピュータ上で実現するためのプログラムを提供することができる。
【符号の説明】
【０１３２】
１００、１０１−１  動作合成装置
１０１、２０１  ＣＰＵ
１０２、２０２  ＲＯＭ
１０３、２０３  ＲＡＭ
１０４  ハードディスク装置
１０５、２０４  入力装置
１０６  表示装置
１０７、２０５  出力装置
１１０  受付部
１２０  追加部
１３０  動作合成部
１４０  プロファイル部
１５０  最適化部
２００、２００−１  構成情報管理装置
２１０  構成情報読み込み部
２２０  構成情報書き込み部
９００  再構成可能ハードウェア
９００ａ  プロファイル機能付き回路
９１０  構成情報メモリ
【図１】
0005668404.tif 000002
【図２】
0005668404.tif 000003
【図３】
0005668404.tif 000004
【図４】
0005668404.tif 000005
【図５】
0005668404.tif 000006
【図６】
0005668404.tif 000007
【図７】
0005668404.tif 000008
【図８】
0005668404.tif 000009
【図９】
0005668404.tif 000010