(57)【要約】  【課題】プログラマブルデバイスへの回路のコンフィギュレーションを、より効果的に制御することができるプログラマブルデバイス制御装置を提供する。  【解決手段】ＦＰＧＡ制御装置２０は、コンフィギュレーション制御部２２と、回路選択部２４と、ＣＰＵ１２からＦＰＧＡ１６に関する設定情報を入力する第１の入力ＩＦ２６と、ＦＰＧＡ１６からの出力を入力する第２の入力ＩＦ２８とを有する。回路選択部２４は、少なくとも第１の入力ＩＦ２６に入力された設定情報に基づいて、メモリ１４に記憶されている複数のＦＰＧＡ回路情報から回路を選択する。コンフィギュレーション制御部２２は、回路選択部２４により選択された回路情報に基づいて、メモリ１４に記憶されている回路情報データを読み出し、ＦＰＧＡ１６に当該回路情報をコンフィギュレーションする。【選択図】図３
2007334538.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルデバイスに関する設定情報を入力する第１の入力手段と、
プログラマブルデバイスからの出力を入力する第２の入力手段と、
前記第１の入力手段に入力された設定情報と、前記第２の入力手段に入力されたプログラマブルデバイスからの出力とに基づいて、当該プログラマブルデバイスに設定する回路を制御する制御手段と
を有するプログラマブルデバイス制御装置。
【請求項２】
前記制御手段は、前記第１の入力手段に入力された設定情報に基づいて、複数の回路から回路を選択する
請求項１に記載のプログラマブルデバイス制御装置。
【請求項３】
前記第１の入力手段及び前記第２の入力手段は、入力された情報を保持する
請求項１又は２に記載のプログラマブルデバイス制御装置。
【請求項４】
前記第１の入力手段及び前記第２の入力手段は、複数のビットを含むビット列を保持する
請求項３に記載のプログラマブルデバイス制御装置。
【請求項５】
前記第２の入力手段は、プログラマブルデバイスに設定された回路を保持する
請求項３又は４に記載のプログラマブルデバイス制御装置。
【請求項６】
前記第２の入力手段は、プログラマブルデバイスの動作状況をさらに保持する
請求項３乃至５のいずれかに記載のプログラマブルデバイス制御装置。
【請求項７】
前記制御手段は、前記第２の入力手段により、プログラマブルデバイスが動作している旨が保持されている場合、プログラマブルデバイスへの回路の設定を待機する
請求項６に記載のプログラマブルデバイス制御装置。
【請求項８】
前記制御手段は、前記第２の入力手段により保持されている回路と、前記第１の入力手段により入力された設定情報の回路とが同一であるか否かを判定する
請求項５乃至７のいずれかに記載のプログラマブルデバイス制御装置。
【請求項９】
前記制御手段は、前記第２の入力手段により保持されている回路と、前記第１の入力手段により入力された設定情報の回路とが同一である場合、前記第１の入力手段により入力された当該回路に関する設定情報を破棄する
請求項８に記載のプログラマブルデバイス制御装置。
【請求項１０】
プログラマブルデバイスとプログラマブルデバイス制御装置とを有するプログラマブル論理回路装置であって、
前記プログラマブルデバイス制御装置は、
前記プログラマブルデバイスに関する設定情報を入力する第１の入力手段と、
前記プログラマブルデバイスからの出力を入力する第２の入力手段と、
前記第１の入力手段に入力された設定情報と、前記第２の入力手段に入力された前記プログラマブルデバイスからの出力とに基づいて、前記プログラマブルデバイスに設定する回路を制御する制御手段と
を有するプログラマブル論理回路装置。
【請求項１１】
プログラマブルデバイスに関する設定情報を入力し、
プログラマブルデバイスからの出力を入力し、
前記入力された設定情報と、前記入力されたプログラマブルデバイスからの出力とに基づいて、当該プログラマブルデバイスに設定する回路を制御する
プログラマブルデバイスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルデバイスのコンフィギュレーションを制御するプログラマブルデバイス制御装置に関する。
【背景技術】
【０００２】
従来よりデジタル回路装置の回路を構成する部品として、ＦＰＧＡ（Field Programable Gate Array）やＰＬＤ（Programable Logic Device）などのプログラマブルデバイスが使用されている。これらのデバイスは、論理回路を記述する回路情報を読み込ませる（コンフィギュレーションする）ことにより、内部の動作を自由に変更されうるデバイスである。
【０００３】
特許文献１では、プログラマブルロジックから出力される基本トリガ信号の回数や組み合わせにより、プログラマブルロジックをコンフィギュレーションする回路を選択してセルフコンフィギュレーションを実施する装置が開示されている。これにより、特許文献１に開示された装置では、システム簡略化とコストダウンが図られている。
【０００４】
しかしながら、特許文献１に開示された手法は、基本トリガの組み合わせやその回数など、プログラマブルデバイスの状態でしか回路情報を選択することができない。このため、この手法では、複雑な処理回路を組み合わせることが困難である。また、ソフトウェアと同期することが困難である。
【０００５】
【特許文献１】特開２０００−１０１４２１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上述した背景からなされたものであり、プログラマブルデバイスへの回路のコンフィギュレーションを、より効果的に制御することができるプログラマブルデバイス制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係るプログラマブルデバイス制御装置は、プログラマブルデバイスに関する設定情報を入力する第１の入力手段と、プログラマブルデバイスからの出力を入力する第２の入力手段と、前記第１の入力手段に入力された設定情報と、前記第２の入力手段に入力されたプログラマブルデバイスからの出力とに基づいて、当該プログラマブルデバイスに設定する回路を制御する制御手段とを有する。
【０００８】
好適には、前記制御手段は、前記第１の入力手段に入力された設定情報に基づいて、複数の回路から回路を選択する。
好適には、前記第１の入力手段及び前記第２の入力手段は、入力された情報を保持する。
好適には、前記第１の入力手段及び前記第２の入力手段は、複数のビットを含むビット列を保持する。
【０００９】
好適には、前記第２の入力手段は、プログラマブルデバイスに設定された回路を保持する。
好適には、前記第２の入力手段は、プログラマブルデバイスの動作状況をさらに保持する。
好適には、前記制御手段は、前記第２の入力手段により、プログラマブルデバイスが動作している旨が保持されている場合、プログラマブルデバイスへの回路の設定を待機する。
【００１０】
また、好適には、前記制御手段は、前記第２の入力手段により保持されている回路と、前記第１の入力手段により入力された設定情報の回路とが同一であるか否かを判定する。
また、好適には、前記制御手段は、前記第２の入力手段により保持されている回路と、前記第１の入力手段により入力された設定情報の回路とが同一である場合、前記第１の入力手段により入力された当該回路に関する設定情報を破棄する。
【００１１】
また、本発明に係るプログラマブル論理回路装置は、プログラマブルデバイスとプログラマブルデバイス制御装置とを有するプログラマブル論理回路装置であって、前記プログラマブルデバイス制御装置は、前記プログラマブルデバイスに関する設定情報を入力する第１の入力手段と、前記プログラマブルデバイスからの出力を入力する第２の入力手段と、前記第１の入力手段に入力された設定情報と、前記第２の入力手段に入力された前記プログラマブルデバイスからの出力とに基づいて、前記プログラマブルデバイスに設定する回路を制御する制御手段とを有する。
【００１２】
さらに、本発明に係るプログラマブルデバイスの制御方法は、プログラマブルデバイスに関する設定情報を入力し、プログラマブルデバイスからの出力を入力し、前記入力された設定情報と、前記入力されたプログラマブルデバイスからの出力とに基づいて、当該プログラマブルデバイスに設定する回路を制御する。
【発明の効果】
【００１３】
本発明のプログラマブルデバイス制御装置によれば、プログラマブルデバイスへの回路のコンフィギュレーションを、より効果的に制御することができる。
【発明を実施するための最良の形態】
【００１４】
まず、本発明の理解を容易にするために、本発明の背景と概要を説明する。
図１は、ＦＰＧＡ等のプログラマブルデバイスのコンフィギュレーション方法を説明する図であって、図１（Ａ）は、専用メモリ内に記憶されている回路情報を、装置の電源オン時にＦＰＧＡにコンフィギュレーションする方法を例示し、図１（Ｂ）は、メモリに格納されているプログラマブルデバイスの回路情報を、装置内に記憶されているソフトウェアを実行するプロセッサ（ＣＰＵ）により、ＦＰＧＡにコンフィギュレーションする方法を例示する。
【００１５】
図１（Ａ）に例示される構成では、ＦＰＧＡの状態は、ボード内のＣＰＵ（不図示）により管理される。ＦＰＧＡのコンフィギュレーションが可能になった場合、コンフィギュレーションは、専用ハードウェア（ＨＷ）により実行される。ＣＰＵは、コンフィギュレーションを開始する場合、ＦＰＧＡの動作状態を常に監視する必要があるので、ＣＰＵの処理効率が低下する問題がある。
【００１６】
図１（Ｂ）に例示される構成では、ＣＰＵがＦＰＧＡのコンフィギュレーションを実行するので、ＣＰＵは、コンフィギュレーションを実行している間、他の処理を実行できない。このため、ＣＰＵの処理効率が低下する問題がある。
【００１７】
そこで、本発明に係るプログラマブルデバイス制御装置は、プログラマブルデバイスの状態と、ＣＰＵからの指示とを考慮して、プログラマブルデバイスにコンフィギュレーションされる回路の選択し、コンフィギュレーションを実行する。これにより、プログラマブルデバイス制御装置が、プログラマブルデバイスへの回路のコンフィギュレーションを制御するので、ＣＰＵの処理効率の低下を防ぐことができる。また、本発明に係るプログラマブルデバイス制御装置は、複数の回路から所定の回路を柔軟に選択することができる。
【００１８】
次に、本発明の実施形態に係るプログラマブル論理回路装置１０を説明する。
図２は、本発明の実施形態に係るプログラマブル論理回路装置１０の構成を示すブロック図である。
図２に示すように、プログラマブル論理回路装置１０は、ＣＰＵ１２と、メモリ１４と、ＦＰＧＡ１６と、ＣＰＵバス等のバス１８を介してＣＰＵ１２に接続されたＦＰＧＡ制御装置２０とを有する。
【００１９】
ＣＰＵ１２は、これらの構成要素を制御する。特に、ＣＰＵ１２は、ＦＰＧＡ制御装置２０を介して、ＦＰＧＡ１６のコンフィギュレーションを制御する。メモリ１４は、ＦＰＧＡ１６へコンフィギュレーションされる複数の回路を予め記憶している。メモリ１４は、ＲＡＭ等の揮発性半導体メモリであってもよいし、ＲＯＭ等の不揮発性半導体メモリであってもよい。また、メモリ１４は、両者の要素を兼ね備えたフラッシュメモリであってもよい。
【００２０】
ＦＰＧＡ１６は、ＦＰＧＡ制御装置２０から出力される回路情報を受け付けて、当該回路に基づいて動作するプログラマブルデバイスである。ＦＰＧＡ１６は、当該ＦＰＧＡ１６の状態等の情報を、ＦＰＧＡ制御装置２０に対して出力する。
【００２１】
ＦＰＧＡ制御装置２０は、ＣＰＵ１２からＦＰＧＡ１６に関する設定情報を入力し、ＦＰＧＡ１６からの出力を入力し、当該入力された設定情報とＦＰＧＡ１６からの出力とに基づいて、当該ＦＰＧＡ１６に設定する回路を制御する。ＦＰＧＡ制御装置２０は、ＣＰＵ１２から入力された設定情報に基づいて、メモリ１４に記憶されている複数の回路から回路を選択し、当該選択した回路をＦＰＧＡ１６に読み込ませる。このようにして、ＦＰＧＡ制御装置２０は、プログラマブルデバイス制御装置を構成する。
【００２２】
図３は、ＦＰＧＡ制御装置２０の詳細な機能構成を示すブロック図である。
図３に示すように、ＦＰＧＡ制御装置２０は、コンフィギュレーション制御部２２、回路選択部２４、第１の入力インターフェイス（ＩＦ）２６及び第２の入力ＩＦ２８を有する。
【００２３】
ＦＰＧＡ制御装置２０において、第１の入力ＩＦ２６は、ＣＰＵ１２からＦＰＧＡ１６に関する設定情報を入力する。具体的には、第１の入力ＩＦ２６は、選択すべき回路に関する情報及びコンフィギュレーション開始指示を入力する。第２の入力ＩＦ２８は、ＦＰＧＡ１６からの出力を入力する。具体的には、第２の入力ＩＦ２８は、ＦＰＧＡ１６がコンフィギュレーション中であるか否かを示す情報、ＦＰＧＡ１６に設定されている回路に関する情報、及びＦＰＧＡ１６が動作しているか否かを示す情報を入力する。
【００２４】
第１の入力ＩＦ２６及び第２の入力ＩＦ２８は、例えばレジスタにより実現され、入力された情報を保持する。第１の入力ＩＦ２６及び第２の入力ＩＦ２８は、プログラマブル論理回路装置１０あるいはＦＰＧＡ制御装置２０に含まれる図示しないクロックに基づいて入力信号をサンプリングして保持する。
【００２５】
回路選択部２４は、第１の入力ＩＦ２６に入力された設定情報に基づいて、メモリ１４に記憶されている複数のＦＰＧＡ回路情報から回路を選択する。回路選択部２４は、第２の入力ＩＦ２８に入力された情報にさらに基づいて回路を選択してもよい。コンフィギュレーション制御部２２は、回路選択部２４により選択された回路情報に基づいて、メモリ１４に記憶されている回路情報データを読み出し、ＦＰＧＡ１６に当該回路情報をコンフィギュレーションする。このようにして、回路選択部２４及びコンフィギュレーション制御部２２は、第１の入力ＩＦ２６に入力された設定情報と、第２の入力ＩＦ２８に入力されたＦＰＧＡ１６からの出力とに基づいて、当該ＦＰＧＡ１６に設定する回路を制御する制御手段を構成する。
【００２６】
図４は、メモリ１４に記憶されている回路情報を例示する図である。
図４に例示するように、メモリ１４には、回路１、回路２を構成する回路２−１並びに回路２−２、回路３及び回路４が予め記憶されている。これらの回路は、コンフィギュレーション制御部２２により参照されて、ＦＰＧＡ１６に設定される。
【００２７】
ここで、回路２に関する情報は、回路２−１及び回路２−２に分割されて記憶されている。このように、メモリ１４には、１つの回路を構成する複数の小規模な回路が記憶されてもよい。回路選択部２４は、第１の入力ＩＦ２６及び第２の入力ＩＦ２８から、これらの小規模な回路を設定する旨を情報を読み出してもよい。また、コンフィギュレーション制御部２２は、当該小規模な回路を読み出してＦＰＧＡ１６に設定してもよい。これにより、コンフィギュレーション制御部２２が読み出す回路データ量、ＦＰＧＡ１６にコンフィギュレーションされるされる回路量が、削減されることができる。
【００２８】
図５は、第１の入力ＩＦ２６及び第２の入力ＩＦ２８に保持される情報を示す図である。
図５（Ａ）に示すように、第１の入力ＩＦ２６は、例えばビット０〜ビット１５の１６ビットからなるビット列を有する。第１の入力ＩＦ２６において、ビット０は、ＦＰＧＡ１６へのコンフィギュレーションの開始指示を保持する。例えば、ビット０が「１」である場合、コンフィギュレーション開始が指示されており、ビット０が「０」である場合、コンフィギュレーション開始は指示されていない。
【００２９】
第１の入力ＩＦ２６において、ビット１〜ビット１５は、ＦＰＧＡ１６に設定される回路情報等の動作モードを保持する。よって、回路選択部２４は、ビット１〜ビット１５に保持されているビット列を参照して、ＣＰＵ１２により指示された回路情報を識別する。例えば、ビット１が「１」である場合、回路選択部２４は、メモリ１４に記憶されている回路１を選択する。このようにして、第１の入力ＩＦ２６は、回路情報等の動作モード及びコンフィギュレーション開始指示の有無を保持する。
【００３０】
図５（Ｂ）に示すように、第２の入力ＩＦ２８は、例えばビット０〜ビット１５の１６ビットからなるビット列を有する。第２の入力ＩＦ２８において、ビット０は、ＦＰＧＡ１６のコンフィギュレーションが完了した旨を保持する。例えば、ビット０が「１」である位場合、ＦＰＧＡ１６はコンフィギュレーションが完了した状態であり、ビット０が「０」である場合、ＦＰＧＡ１６はコンフィギュレーションが未完了である状態である。
【００３１】
第２の入力ＩＦ２８において、ビット１〜ビット１５は、ＦＰＧＡ１６に設定されている回路情報等の動作モード、及びＦＰＧＡ１６が動作しているか否か等の動作状態を保持する。例えば、ビット１〜ビット１５のうちのいずれかのビットが「１」である場合にはＦＰＧＡ１６が動作中であり、当該ビットが「０」である場合にはＦＰＧＡ１６は動作していない。よって、回路選択部２４は、ビット１〜ビット１５に保持されているビット列を参照して、ＦＰＧＡ１６の状態等を識別する。このようにして、第２の入力ＩＦ２８は、ＦＰＧＡ１６の状態等及びコンフィギュレーションの完了状況を保持する。
【００３２】
なお、第１の入力ＩＦ２６は、複数のレジスタからなってもよい。この場合、第１の入力ＩＦ２６は、複数のレジスタにより、ＣＰＵ１２からの複数の指示情報を保持し、ＦＩＦＯ（First-In First-Out）方式のデバイスとして動作する。
【００３３】
これにより、回路選択部２４は、第１の入力ＩＦ２６に保持されている複数の指示情報に基づいて、順に、ＦＰＧＡ１６に設定される回路を選択するので、ＣＰＵ１２は、コンフィギュレーションの指示情報をＦＰＧＡ制御装置２０に対して出力しておけば、ＦＰＧＡ１６がコンフィギュレーションに要する時間を待つ処理、及びＦＰＧＡ１６の動作状況を確認する処理から開放される。したがって、ＣＰＵ１２のビジー時間及びウェイト時間が削減され、処理効率が向上することができる。
【００３４】
第２の入力ＩＦ２８は、ＦＰＧＡ１６によるコンフィギュレーションが完了したか否かだけを保持してもよい。この場合、第２の入力ＩＦ２８は、ビット０の１ビットだけからなる。また、第２の入力ＩＦ２８は、第１の入力ＩＦ２６と同様にして、複数のレジスタからなってもよい。
【００３５】
次に、本発明の実施形態に係るプログラマブル論理回路装置１０におけるＦＰＧＡ１６の制御動作を説明する。
図６は、本発明に係るプログラマブル論理回路装置１０の全体動作（Ｓ１０）を示すフローチャートである。
図６に示すように、プログラマブル論理回路装置１０は、電源をオンにされると、ステップ１００（Ｓ１００）において、ＦＰＧＡ制御装置２０の回路選択部２４は、メモリ１４に記憶されている複数の回路のうち、予め決められている回路（例えば、回路１）を選択する。
【００３６】
ステップ１０２（Ｓ１０２）において、ＦＰＧＡ制御装置２０のコンフィギュレーション制御部２２は、回路選択部２４により選択された回路をメモリ１４から読み出して、ＦＰＧＡ１６にコンフィギュレーションする。
【００３７】
ステップ１０４（Ｓ１０４）において、回路選択部２４は、第２の入力ＩＦ２８のビット０を確認し、ＦＰＧＡ１６のコンフィギュレーションが完了したか否かを判定する。第２の入力ＩＦ２８のビット０が「０」である場合、回路選択部２４は、コンフィギュレーションが完了していないと判定し、Ｓ１０４の処理に戻る。
【００３８】
第２の入力ＩＦ２８のビット０が「１」である場合、回路選択部２４は、コンフィギュレーションが完了したと判定する。この場合、回路選択部２４は、第２の入力ＩＦ２８のビット０を「１」から「０」にリセットする。さらに、回路選択部２４は、第１の入力ＩＦ２６のビット０を「１」から「０」にリセットし、ＣＰＵ１２に対して、コンフィギュレーションが完了した旨を出力する。その後、回路選択部２４は、Ｓ１０６の処理に進む。このコンフィギュレーションにより、ＦＰＧＡ１６は、回路１として動作する。
【００３９】
ステップ１０６（Ｓ１０６）において、回路選択部２４は、ＦＰＧＡ１６の回路が動作中であるか否かを判定する。ＦＰＧＡ１６の回路が動作中である場合、第２の入力ＩＦ２８がその旨を保持している。ＦＰＧＡ１６の回路が動作中ではない場合、第２の入力ＩＦ２８は、ＦＰＧＡ１６からＦＰＧＡ１６が動作していない旨の出力を受け付けて、その旨を保持している。回路選択部２４は、ＦＰＧＡ１６の回路が動作中である場合にはＳ１０６の処理に戻り、そうでない場合にはＳ１０８（Ｓ１０８）の処理に進む。
【００４０】
このように、回路選択部２４は、ＦＰＧＡ１６が動作している旨が第２の入力ＩＦ２８により保持されている場合、ＦＰＧＡ１６への回路のコンフィギュレーションを待機する。このため、ＦＰＧＡ１６の回路が動作中である場合、次のコンフィギュレーション処理が実行されることが防止される。ＣＰＵ１２が、コンフィギュレーションの指示をＦＰＧＡ制御装置２０に対して出力し、ＦＰＧＡ制御装置２０の第１の入力ＩＦ２６がその旨を保持しているとしても、ＦＰＧＡ１６の回路の動作が終了しない限り、コンフィギュレーション処理は実行されない。これにより、ＦＰＧＡ１６の動作不具合が防止されることができる。なお、ＦＰＧＡ１６が動作している間のコンフィギュレーションを許可する場合、Ｓ１０６の処理は省略されてもよい。
【００４１】
ステップ１０８（Ｓ１０８）において、回路選択部２４は、第１の入力ＩＦ２６により保持されている内容を読み出す。
ステップ１１０（Ｓ１１０）において、回路選択部２４は、第１の入力ＩＦ２６が、ＣＰＵ１２の指示によりＦＰＧＡ１６のコンフィギュレーションを開始する旨を保持しているか否かを判定する。より具体的には、回路選択部２４は、第１の入力ＩＦ２６のビット０が「１」であるか「０」であるかを判定する。回路選択部２４は、コンフィギュレーション開始の指示がある場合（即ち、ビット０が「１」である場合）、Ｓ１１２の処理に進み、コンフィギュレーションの開始の指示がない場合（即ち、ビット０が「０」である場合）、Ｓ１０８の処理に戻る。
【００４２】
ステップ１１２（Ｓ１１２）において、回路選択部２４は、第１の入力ＩＦ２６のビット１〜ビット１５に保持されている内容に基づいて、メモリ１４に記憶されている回路を選択する。ここで、回路選択部２４は、第２の入力ＩＦ２８のビット１〜ビット１５に保持されている内容にさらに基づいて回路を選択してもよい。
【００４３】
ステップ１１４（Ｓ１１４）において、回路選択部２４は、当該選択された回路（即ち、第１の入力ＩＦ２６により入力された設定情報の回路）と、前回のコンフィギュレーションにおいて選択された回路（例えば、第２の入力ＩＦ２８により保持されているＦＰＧＡ１６から出力された回路情報）とが同一か否かを判定する。これらの回路が同一である場合、回路選択部２４はＳ１０８の処理に戻る。即ち、回路選択部２４は、第２の入力ＩＦ２８により保持されている回路と、第１の入力ＩＦ２６により入力された設定情報の回路とが同一である場合、第１の入力ＩＦ２６により入力された当該回路に関する設定情報を破棄する。これらの回路が同一でない場合、Ｓ１０２の処理に戻って当該選択された回路のコンフィギュレーションが実行される。これにより、冗長なコンフィギュレーション処理が回避されることができる。
【００４４】
以上説明したように、本発明に係るプログラマブルデバイス制御装置は、プログラマブルデバイスに関する設定情報を入力する第１の入力手段と、プログラマブルデバイスからの出力を入力する第２の入力手段と、前記第１の入力手段に入力された設定情報と、前記第２の入力手段に入力されたプログラマブルデバイスからの出力とに基づいて、当該プログラマブルデバイスに設定する回路を制御する制御手段とを有する。これにより、プログラマブルデバイスへの回路のコンフィギュレーションを、より効果的に制御することができる。特に、プログラマブルデバイス制御装置は、ＣＰＵからの指示と、プログラマブルデバイスの動作状況との組み合わせに基づいてコンフィギュレーションを制御するので、ＣＰＵにより動作されるソフトウェア及びプログラマブルデバイスの双方に都合のよい状況で、コンフィギュレーションを実行することができる。
【００４５】
また、本発明に係るプログラマブルデバイス制御装置は、ＣＰＵからの少なくとも１つの要求を保持し、所定の契機でプログラマブルデバイスのコンフィギュレーションを実施することができる。これにより、ＣＰＵは、プログラマブルデバイスの動作状況やコンフィギュレーション状況などを確認する必要がなくなるので、ＣＰＵの処理効率が向上されることができる。
【００４６】
また、本発明に係るプログラマブルデバイス制御装置は、前回実施したコンフィギュレーション回路情報を記憶しておくので、同じ回路のコンフィギュレーーション実施を防ぐことができる。これにより、コンフィギュレーション時間の削減が可能になり、ＣＰＵのソフトウェア処理における待ち時間などが大幅に削減されることができる。
【００４７】
また、本発明に係るプログラマブルデバイス制御装置は、ＣＰＵによるソフトウェア処理に基づいてコンフィギュレーションの制御を実行するので、より複雑な回路コンフィギュレーションの組み合わせを容易に実行できる。このため、１つのコンフィギュレーション用回路が、より小規模で実現されることができる。また、このような小規模の回路が、必要に応じてコンフィギュレーションされるので、より大規模な回路と同等の回路がコンフィギュレーションされてプログラマブルデバイス上で動作することができる。これにより、プログラマブルデバイスに要求される回路量の削減が可能になり、プログラマブルデバイスの大幅なコストダウンが可能となる。
【図面の簡単な説明】
【００４８】
【図１】ＦＰＧＡ等のプログラマブルデバイスのコンフィギュレーション方法を説明する図であって、図１（Ａ）は、専用メモリ内に記憶されている回路情報を、装置の電源オン時にＦＰＧＡにコンフィギュレーションする方法を例示し、図１（Ｂ）は、メモリに格納されているプログラマブルデバイスの回路情報を、装置内に記憶されているソフトウェアを実行するプロセッサ（ＣＰＵ）により、ＦＰＧＡにコンフィギュレーションする方法を例示する。
【図２】本発明の実施形態に係るプログラマブル論理回路装置１０の構成を示すブロック図である。
【図３】ＦＰＧＡ制御装置２０の詳細な機能構成を示すブロック図である。
【図４】メモリ１４に記憶されている回路情報を例示する図である。
【図５】第１の入力ＩＦ２６及び第２の入力ＩＦ２８に保持される情報を示す図である。
【図６】本発明に係るプログラマブル論理回路装置１０の全体動作（Ｓ１０）を示すフローチャートである。
【符号の説明】
【００４９】
１０ プログラマブル論理回路装置
１２ ＣＰＵ
１４ メモリ
１６ ＦＰＧＡ
１８ バス
２０ ＦＰＧＡ制御装置
２２ コンフィギュレーション制御部
２４ 回路選択部
２６ 第１の入力ＩＦ
２８ 第２の入力ＩＦ
【図１】
2007334538.tif 000003
【図２】
2007334538.tif 000004
【図３】
2007334538.tif 000005
【図４】
2007334538.tif 000006
【図５】
2007334538.tif 000007
【図６】
2007334538.tif 000008