(57)【要約】【課題】回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができるプログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法の提供。【解決手段】書き換え可能なプログラムロジック部３と、動作モードの変更を設定する動作モード設定部４と、動作モード設定部から動作モード番号を取得し、アドレス設定部７に記憶された動作モード番号と回路データのアドレス情報との対応データを参照して、取得した動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部５と、取得したアドレス情報を用いて回路データ格納メモリ８にアクセスし、該アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部に再構成する回路データ書き込み部６とを備えるものであり、回路規模を大きくすることなく、動作モードの変更に対して柔軟に対応する。【選択図】図１
2004040599.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能な領域を有するプログラマブル論理回路において、
回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成する機能を備えることを特徴とするプログラマブル論理回路。
【請求項２】
動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードに対応する回路データのメモリ上のアドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備えることを特徴とする請求項１記載のプログラマブル論理回路。
【請求項３】
動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードを特定する動作モード番号を取得し、予め記憶された動作モード番号と回路データのメモリ上のアドレス情報との対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備えることを特徴とする請求項１記載のプログラマブル論理回路。
【請求項４】
動作モードの変更を設定する動作モード設定部と、前記動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、前記動作モード設定部から変更された前記動作モードに対応する動作モード番号を取得し、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備えることを特徴とする請求項１記載のプログラマブル論理回路。
【請求項５】
前記再構成可能な領域は、所定の回路規模の複数のスロットに分割され、各々の前記スロットが独立して書き換え可能に制御されることを特徴とする請求項１乃至４のいずれか一に記載のプログラマブル論理回路。
【請求項６】
請求項１、２、４、５に記載のプログラマブル論理回路と、複数の回路データを格納する前記メモリとを少なくとも備えることを特徴とするコンピュータシステム。
【請求項７】
請求項１、３、５に記載のプログラマブル論理回路と、複数の回路データを格納する前記メモリと、動作モード番号と回路データの前記メモリ上のアドレス情報との対応データを記憶するアドレス設定部とを少なくとも備えることを特徴とするコンピュータシステム。
【請求項８】
再構成可能な領域を含むプログラマブル論理回路を用いた回路データの再構成方法であって、
回路の動作モードの設定又は変更に際して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成することを特徴とする回路データの再構成方法。
【請求項９】
予め、メモリに複数の動作モードに対応する複数の回路データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードに対応する回路データの前記メモリ上のアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備えることを特徴とする請求項８記載の回路データの再構成方法。
【請求項１０】
予め、メモリに複数の動作モードに対応する複数の回路データを記憶すると共に、アドレス設定部に前記動作モードを特定する動作モード番号と前記回路データの前記メモリ上のアドレス情報との対応データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードを特定する動作モード番号を取得するステップと、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する前記回路データのアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備えることを特徴とする請求項８記載の回路データの再構成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、再構成可能な領域を含むプログラマブル論理回路及び該回路を備えるコンピュータシステム並びにプログラマブル論理回路おける回路データの再構成方法に関する。
【０００２】
【従来の技術】
高速なコンピュータシステムを構成する方法としては、大別して２つの方法がある。第１の方法は、図６に示すように、複数のＣＰＵ１５を設け、それらを並列に動作させるマルチプロセッサ方式であり、第２の方法は、図７に示すように、ＣＰＵ１５の動作を支援することにより、高速化を達成するものである。
【０００３】
マルチプロセッサの代表例としては、並列型のスーパーコンピュータや高性能なサーバー等が挙げられる。また最近では、ＪＡＶＡ（Ｒ）プロセッサを搭載するケースや、ＤＳＰ（Ｄｉｇｉｔａｌ　Ｓｉｇｎａｌｉｎｇ　Ｐｒｏｃｅｓｓｏｒ）を搭載するケースなど、特定のアプリケーションに特化して性能を向上させることができるようなマルチプロセッサシステムも提案されている。
【０００４】
また、ＣＰＵ１５の動作を支援する構成としては、コプロセッサを搭載する構成やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）を搭載する構成等がある。
【０００５】
コプロセッサの代表例として、浮動小数点演算を高速に行うＦＰＵ（Ｆｌｏａｔｉｎｇ−ｐｏｉｎｔ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）がある。このＦＰＵを用いることにより、ＣＰＵがハードで浮動小数点演算を行えず、ソフトウェアで処理しなければならない場合に高速化が可能になる。他の例としては、行列の演算を高速に行うためのベクトルコプロセッサがある。これは、行列演算などの規則的な演算を高速に行うためのハードウェアを備えているものである。このようなコプロセッサを用いることにより、科学技術計算などで規則的な演算が大量に出てくる場合に、ＣＰＵだけで処理するよりも高速に処理することが可能になる。
【０００６】
一方、ＡＳＩＣは、アプリケーションに特化した機能の一部または全部をハードウェアで構成することにより、高速動作を可能にするものであり、その代表例としてゲートアレイが知られている。組み込み型のシステムでは、ＡＳＩＣを搭載することより高速でかつ小型のシステム構築が可能になるが、このＡＳＩＣはアプリケーションに特化した機能を持つために、さまざまなアプリケーションに対応することができないという欠点がある。
【０００７】
この欠点を補うため、近年、ＦＰＧＡ（ｆｉｅｌｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｇａｔｅ　Ａｒｒａｙ）やＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ　ｌｏｇｉｃ　ｄｅｖｉｃｅ）等の書き換え可能な領域を備えるデバイス（以下、これらを総称してプログラマブル論理回路と呼ぶ。）の開発が行われている（例えば、米国特許第４，７００，１８７号）。このプログラマブル論理回路は、ＬＵＴ（ＬｏｏｋＵｐ　Ｔａｂｌｅ）とフリップフロップとで構成される基本セルを配列したものであり、ＬＵＴを書き換えることにより内部の回路データを変更することが出来る。従って、アプリケーションに応じて回路データを書き換えることができることから、特殊な用途やサイクルの短い機器等の制御デバイスとして利用されている。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記プログラマブル論理回路は、通常、電源オン時又はリセット時に書き換え可能領域に回路データが書き込まれた後は、固定的な回路構成となる。従って、例えば、デジタルカメラにおける撮像、動画撮影、撮像の液晶モニタ表示、パソコンへの出力、テレビへの出力等の動作形態（以下、これらの動作形態を総称して動作モードと呼ぶ。）を任意に設定できる機器にプログラマブル論理回路を適用する場合には、各々の動作モードに対応する回路データを再構成しなければ、動作モードの変更に対応することができない。
【０００９】
複数の動作モードに対応可能とする方法として、複数の動作モードの全てに対応する回路データを予め書き換え可能領域に書き込んでおく方法がある。例えば、図８に示すように、複数の動作モードに対応する回路データ（図では３つの回路データ）を予め回路データ格納メモリ８に記憶しておき、システムの電源オン時又はリセット時に、回路データ格納メモリ８から順次送られる回路データを回路データ書き込み部２０で読み込み、プログラムロジック部３に書き込む方法である。このような構成することにより、動作モードが変更された場合であってもプログラムロジック部３に書き込まれたいずれかの回路データを用いて処理を行うことはできるが、この構成では、動作モード数分の回路データを書き込むことができるプログラムロジック部３を設けなければならず、プログラマブル論理回路１９の規模が大きくなってしまうという問題がある。
【００１０】
また、プログラムロジック部３にそのときに必要とされる回路データのみを書き込んでおき、動作モードの変更に対してプログラムロジック部３を再構成する方法もある。例えば、図９に示すように、プログラマブル論理回路１９の外部に制御部２１を設けておき、動作モードが変更された場合に、制御部２１が回路データ格納メモリ８にアクセスして、変更された動作モードに対応する回路データを回路データ書き込み部２０に送り、プログラムロジック部３に書き込む方法である。しかしながら、この構成では外部に制御部２１を新たに設けなければならず、コンピュータシステムの構成が複雑になってしまう。
【００１１】
また、制御部２１はプログラマブル論理回路１９と独立した部分であるため、制御部２１ではプログラムロジック部２の状態に関係なく、すなわち、プログラマブル論理回路１９と調停を行うことなく、変更された動作モードに対応する回路データを回路データ書き込み部２０に送る。そのため、プログラムロジック部３内の回路データが動作中の場合などでは新たな回路データを書き込むことできず、コンピュータシステムの処理が停滞してしまうという問題もある。
【００１２】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができるプログラマブル論理回路及び該回路を備えたコンピュータシステム並びにプログラマブル論理回路における回路データの再構成方法を提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、本発明のプログラマブル論理回路は、再構成可能な領域を有するプログラマブル論理回路において、回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成する機能を備えるものである。
【００１４】
本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードに対応する回路データのメモリ上のアドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることができる。
【００１５】
また、本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードを特定する動作モード番号を取得し、予め記憶された動作モード番号と回路データのメモリ上のアドレス情報との対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることもできる。
【００１６】
また、本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、前記動作モード設定部から変更された前記動作モードに対応する動作モード番号を取得し、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることもできる。
【００１７】
また、本発明においては、前記再構成可能な領域は、所定の回路規模の複数のスロットに分割され、各々の前記スロットが独立して書き換え可能に制御される構成とすることもできる。
【００１８】
また、本発明のコンピュータシステムは、上記プログラマブル論理回路と、複数の回路データを格納する前記メモリとを少なくとも備えるものである。
【００１９】
また、本発明のコンピュータシステムは、上記プログラマブル論理回路と、複数の回路データを格納する前記メモリと、動作モード番号と回路データの前記メモリ上のアドレス情報との対応データを記憶するアドレス設定部とを少なくとも備えるものである。
【００２０】
また、本発明の回路データの再構成方法は、再構成可能な領域を含むプログラマブル論理回路を用いた回路データの再構成方法であって、回路の動作モードの設定又は変更に際して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成するものである。
【００２１】
本発明においては、予め、メモリに複数の動作モードに対応する複数の回路データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードに対応する回路データの前記メモリ上のアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備える構成とすることができる。
【００２２】
また、本発明においては、予め、メモリに複数の動作モードに対応する複数の回路データを記憶すると共に、アドレス設定部に前記動作モードを特定する動作モード番号と前記回路データの前記メモリ上のアドレス情報との対応データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードを特定する動作モード番号を取得するステップと、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する前記回路データのアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備える構成とすることもできる。
【００２３】
このように、再構成可能な領域を含むプログラマブル論理回路に、動作モードの変更を設定する動作モード設定部と、回路データを格納するメモリにアクセスして変更された動作モードに対応する回路データのみを読み出し、再構成可能な領域に再構成する回路データ書き込み部とを設けることにより、外部に制御部を設けたり、プログラマブル論理回路の規模を大きくすることなく、動作モードの変更に柔軟に対応することができる。
【００２４】
更に、プログラマブル論理回路に、動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、動作モードの変更を検出し、アドレス設定部に記憶された対応データを参照して、変更された動作モードに対応する回路データのアドレス情報を取得するアドレス選択部とを設けることにより、動作モードの変更を少ないビット数の情報で実行することができ、処理の高速化を図ることができる。
【００２５】
【発明の実施の形態】
本発明に係るプログラマブル論理回路は、好ましい一実施の形態において、書き換え可能なプログラムロジック部と、動作モードの変更を設定する動作モード設定部と、動作モードを特定する動作モード番号と回路データのアドレス情報との対応データを記憶するアドレス設定部と、動作モード設定部から動作モード番号を取得し、アドレス設定部に記憶された対応データを参照して、取得した動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、取得したアドレス情報を用いて回路データ格納メモリにアクセスし、該アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部に再構成する回路データ書き込み部とを備えるものであり、回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み再構成することができるため、回路規模を大きくすることなく、動作モードの変更に対して柔軟に対応することができる。
【００２６】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るプログラマブル論理回路及び該回路を用いた動作モードの設定方法について、図１乃至図５を参照して説明する。図１は、本発明の一実施例に係るプログラマブル論理回路の基本構成及び処理の流れを模式的に示す図であり、図２は、動作モードの設定／変更手順を示すフローチャート図である。また、図３は、本実施例に係るプログラマブル論理回路の他の構成を示す図であり、図４及び図５は、先願に係るプログラマブル論理回路の構成及びスロットの入出力インターフェースを示す図である。
【００２７】
従来技術において記載したように、プログラマブル論理回路を用いることによって、コンピュータシステムで必要とする回路データを書き換え可能領域に再構成することができるが、プログラム論理回路を複数の動作モードに対応させるためには、動作モード分の回路データを予め回路データ格納メモリに記憶し、その全てをプログラムロジック部に書き込まなければならず、その結果、プログラムロジック部の回路規模が大きくなりプログラマブル論理回路の大型化を招いていた。
【００２８】
また、初期状態ではデフォルトで指定された回路データを書き込んでおき、外部に設けたＣＰＵ等の制御部を用いて、動作モードが変更された場合に対応する回路データをその都度書き込む方法では、制御部を新たに設けなければならず、コンピュータシステムの構成が複雑となると共に、動作モードに対応する回路データをプログラマブル論理回路に再構成するためには、制御部はその回路データの回路データ格納メモリ上のアドレス（スタートアドレス、エンドアドレス等）を直接指定してアクセスしなければならず、多ビットの情報を用いて処理を実行するために、処理の高速化の妨げになっていた。
【００２９】
そこで、本発明では、書き換え可能なプログラムロジック部を備えるプログラマブル論理回路に、動作モードの変更を検出し、変更された動作モードに対応する回路データの回路データ格納メモリ上のアドレス情報を取得し、そのアドレス情報に従って回路データ格納メモリから回路データを読み出してプログラムロジック部に書き込む機能を設けることにより、プログラマブル論理回路の大きくすることなく複数の動作モードに対して柔軟に対応できるようにしている。
【００３０】
具体的に説明すると、本実施例のプログラマブル論理回路２は、図１に示すように、書き換え可能な領域からなるプログラムロジック部３と、動作モードの変更を設定する動作モード設定部４と、各々の動作モードに対して付与された番号（以下、動作モード番号と称する。）と回路データの回路データ格納メモリ８上の位置を示すスタートアドレス及びエンドアドレス等のアドレス情報との対応データを記憶するアドレス設定部７と、動作モードが変更された場合に、アドレス設定部７から変更された動作モードに対応する回路データの回路データ格納メモリ８上のアドレス情報を取得するアドレス選択部５と、回路データ格納メモリ８にアクセスし、取得したアドレス情報を用いて所望の回路データを読み込み、プログラムロジック部３に再構成する回路データ書き込み部６とを少なくとも備えている。
【００３１】
また、上記プログラマブル論理回路２を備えるコンピュータシステム１には、該アドレス情報で指定される位置に予め複数の回路データが記憶されている回路データ格納メモリ８とを少なくとも備えている。
【００３２】
なお、図１の構成は本発明のプログラマブル論理回路２及びコンピュータシステム１の基本的な構成であり、プログラマブル論理回路２内に複数のプログラムロジック部３を備える構成や、外部との調停を行う手段を備える構成としても良い。また、図１ではプログラマブル論理回路２にアドレス設定部７を含む構成としているが、アドレス設定部７をプログラマブル論理回路２とは別に設ける構成とすることもできる。また、コンピュータシステム１として、プログラマブル論理回路２と回路データ格納メモリ８のみを記載しているが、これらに加えてＣＰＵ等のプロセッサや他の記憶手段等が接続されていても良い。
【００３３】
上記構成のプログラマブル論理回路２では、動作モード設定部４の動作モードが変更されると、アドレス選択部５は、動作モードの変更を検出し、アドレス設定部７に記憶されている動作モード番号と回路データのアドレス情報との対応データを参照して、変更された動作モード番号に対応する回路データのアドレス情報を取得し、回路データ書き込み部６に送る。回路データ書き込み部６では、アドレス情報を用いて回路データ格納メモリ８にアクセスし、アドレス情報で特定されるメモリ領域の回路データのみを読み込み、プログラムロジック部３に書き込む。
【００３４】
従って、従来のように、複数の動作モードに対応する回路データの全てを予めプログラムロジック部３に書き込んでおく必要がないため、書き換え可能領域の規模を大きくすることなく、複数の動作モードに対応することができる。また、別途外部に制御部を設ける構成に比べてコンピュータシステム全体の構成を簡略化することができ、動作モードの変更をビット数の少ない動作モード番号を用いて行うことにより、処理の迅速化を図っている。
【００３５】
次に、具体的な動作モードの設定／変更手順について、図２のフローチャート図を参照して説明する。
【００３６】
本実施例のコンピュータシステム１を動作させるに当たり、予め回路データ格納メモリ８には、コンピュータシステム１で必要となる複数の動作モードに対応する回路データ（図では３つの動作モードに対応する回路データ１〜３）が記憶され、アドレス設定部７には、各々の回路データのスタートアドレスとエンドアドレス等のアドレス情報と動作モード番号（例えば、”０１”、”１０”、”１１”等）との対応データが書き込まれているものとする。
【００３７】
まず、ステップＳ１０１で、コンピュータシステム１の電源をオン又はリセットすると、ステップＳ１０２で、アドレス選択部５は動作モード設定部４からデフォルトで設定された動作モード番号を取得し、ステップＳ１０３で、アドレス設定部７の対応データを参照して、動作モード番号に対応した回路データの回路データ格納メモリ８上のスタートアドレス及びエンドアドレス等のアドレス情報を取得し、回路データ書き込み部６に転送する。
【００３８】
回路データ書き込み部６では、ステップＳ１０４で、転送されたアドレス情報を用いて回路データ格納メモリ８にアクセスし、アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部３に書き込む。その際、回路データ書き込み部６では、単に回路データ格納メモリ８に記憶された回路データを書き込むのではなく、回路データ格納メモリ８にアクセスして、スタートアドレス及びエンドアドレスで特定される領域の回路データのみを書き込むため、外部に制御部を設けなくても動作モードに対応する回路データのみを選択的に書き込むことができる。
【００３９】
その後、ステップＳ１０５で、外部のハードウェア又はソフトウェアにより動作モード設定部４の動作モードが変更されると、アドレス選択部５は、ステップＳ１０６で、動作モード設定部４の設定の変更を検出し、変更された動作モードに対応する動作モード番号を取得する。
【００４０】
この動作モード設定部４は、動作モードの設定／変更を常時可能としてもよいが、プログラムロジック部３に書き込まれた回路データが動作中であったり、プログラムロジック部３に回路データを書き込み中である場合には動作モードが変更されるのは好ましくない。そこで、動作モード設定部４にプログラムロジック部３の動作状態や回路データ書き込み部６の書き込み状態を監視する手段を設けておき、動作モードを変更することができる状態のときのみ動作モードの設定／変更を可能とする構成としても良い。
【００４１】
次に、アドレス選択部５は、ステップＳ１０６で、同様に動作モード番号と回路データのアドレス情報との対応データを記憶したアドレス設定部７から、変更された動作モード番号に対応する回路データのアドレス情報を取得し、取得したアドレス情報を回路データ書き込み部６に転送する。
【００４２】
次に、ステップＳ１０７で、回路データ書き込み部６は転送されたアドレス情報を用いて回路データ格納メモリ８にアクセスし、スタートアドレス及びエンドアドレスで特定される領域に記憶された回路データを回路データ格納メモリ８から読み出し、読み出した回路データをプログラムロジック部３に再構成する。以後、同様にステップＳ１０５からＳ１０８を繰り返す。
【００４３】
このように、プログラムロジック部３を備えるプログラマブル論理回路２に、動作モードの変更を設定する動作モード設定部４と、動作モードを特定する動作モード番号と回路データの回路データ格納メモリ８上のアドレス情報との対応データを記憶するアドレス設定部７と、動作モード設定部４から動作モード番号を取得し、アドレス設定部７の対応データを参照して、動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部５と、アドレス選択部５からアドレス情報を取得し、回路データ格納メモリ８にアクセスして該アドレス情報で特定される回路データを読み取り、プログラムロジック部３に書き込む回路データ書き込み部６とを設けることにより、外部に制御部を設けたり、プログラムロジック部３の回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができる。
【００４４】
本発明は、外部に制御部を設けることなく動作モードの設定／変更に対応する回路データを再構成するものであり、上記説明では、少ないビット数の動作モード番号を用いて動作モードの変更を可能とするためにアドレス設定部７とアドレス選択部５とを設けたが、図３に示すように、動作モード設定部４に変更される動作モードに対応する回路データのアドレス情報を直接送り、動作モード設定部４から回路データ書き込み部６に該アドレス情報を転送する構成とすることもできる。
【００４５】
この構成では、動作モードの設定／変更のためのデータが大きくなるというデメリットがあるが、プログラマブル論理回路２自体の構成を簡略化することができる。また、回路データ格納メモリ８に記憶される回路データのアドレスが頻繁に更新されるシステムにおいては、その都度対応データを作成するよりも直接アドレス情報で回路データを指定した方が便利な場合もあり、このようなシステムにおいては有効である。
【００４６】
なお、本発明で用いるプログラマブル論理回路２のプログラムロジック部３は一般的に用いられている構造のものを使用すればよいが、動作モードが頻繁に変更される場合（例えば、第１の動作モードを基本とし、第２の動作モードと第３の動作モードとを短時間で切り替えて使用する場合等）、その都度プログラムロジック部３全体を再構成したのでは処理が滞る場合が考えられる。そのような場合には、回路データを効率的に書き込むために、本願出願人の先願（特願２００２−１５３５８６号）に記載されたプログラマブル論理回路を利用することもできる。
【００４７】
上記公報記載のプログラマブル論理回路は、図４に示すように、書き換え可能領域を所定の論理規模、数量のスロット１０に分割し、各々のスロット１０に、独立してハードウェアロジック（回路データ）を書き換え可能に制御することを特徴とするものであり、分割された各々のスロット１０にハードウェアロジックを書き込むにあたり、ファイル又はデータの形としてソフトウェアの管理下に置き、ソフトウェアの実行中にスロット１０への定義・リプレースが出来るように構成している。また、このハードウェアロジックは独立に動作可能な部分であり、メモリ１６へのアクセスやＣＰＵ１５等のプロセッサとのアクセスを独自に行うことができるようにするために、アドレスの空間を分割している。
【００４８】
また、各ハードウェアロジックが個別に動作を行うので、外部のハードウェアやソフトウェアとの調停を行う必要がある。そこで、プログラマブル論理回路９内にスロット入力制御部１１、スロット出力制御部１２等の調停ロジックを設け、これにより外部のハードウェアやソフトウェア等との全体の調整を行う。また、指定された処理の終了通知や内部ステータスの変化などを通知するため、各スロット１０からの割り込み要求を受け付け、ＣＰＵ１５へ割り込みを通知する割り込み制御部１３を搭載している。このスロット入力制御部１１、スロット出力制御部１２、割り込み制御部１３は、書き換え可能領域にプログラマブルに、又は、書き換え可能領域外部に固定ロジックとして形成される。
【００４９】
なお、このスロット１０は、図５に示すようなスロット入力制御部１１を介して入力される入力側インターフェース信号（Ａｄｄｒｅｓｓ、Ｄａｔａ＿ｉｎ、Ｃｏｎｔｒｏｌ＿ｉｎ）と、スロット出力制御部１２又は割り込み制御部１３に出力される出力側インターフェース信号（Ｄａｔａ＿ｏｕｔ、Ｃｏｎｔｒｏｌ＿ｏｕｔ、Ｉｎｔｅｒｒｕｐｔ）等のインターフェース信号によって機能する独立した領域であり、各々のスロット１０には自由にハードウェア機能を定義することができる。
【００５０】
このような先願に記載された、書き換え可能な領域を複数のスロットに分割する構成を採用することにより、動作モードが頻繁に切り替わる使用形態においても、効率的に動作モードに対応する回路データをプログラムロジック部３に再構成することができ、本発明のプログラマブル論理回路２の効果を更に高めることができる。
【００５１】
【発明の効果】
以上説明したように、本発明のプログラマブル論理回路及び該回路を備えたコンピュータシステム並びにプログラマブル論理回路における回路データの再構成方法によれば、下記記載の効果を奏する。
【００５２】
本発明の第１の効果は、システムを複雑化したり回路規模を大きくすることなく、複数の動作モードに対応した回路データを再構成することができるということである。
【００５３】
その理由は、書き換え可能なプログラムロジック部を備えるプログラマブル論理回路に、動作モードの変更を設定する動作モード設定部と、動作モードを特定する動作モード番号と回路データの回路データ格納メモリ上のアドレス情報との対応データを記憶するアドレス設定部と、動作モード番号と回路データのアドレス情報との対応データを参照して、変更された動作モードに対応する回路データのアドレス情報を取得するアドレス選択部と、該アドレス情報を参照して回路データ格納メモリにアクセスして所望の回路データのみを読み出し、プログラムロジック部に書き込む回路データ書き込み部とを設け、動作モードの変更に対して変更された動作モードに対応した回路データを自ら読み込み、プログラムロジック部を再構成することができるからである。
【００５４】
また、本発明の第２の効果は、頻繁に動作モードが変更される場合であっても、効率的に動作モードに対応する回路データを再構成することができるということである。
【００５５】
その理由は、プログラムロジック部として、書き換え可能領域が所定の規模、数量のスロットに分割され、各々のスロットが独立して書き換え可能に制御される先願記載のプログラマブル論理回路を用いるからである。
【図面の簡単な説明】
【図１】本発明の一実施例に係るプログラマブル論理回路の基本構成及び信号の流れを模式的に示す図である。
【図２】本発明の一実施例に係るプログラマブル論理回路を用いた動作モードの設定／変更手順を示すフローチャート図である。
【図３】本発明の一実施例に係るプログラマブル論理回路の他の構成を模式的に示す図である。
【図４】先願（特願２００２−１５３５８６号）に係るプログラマブル論理回路の構成を示す図である。
【図５】先願に係るプログラマブル論理回路のスロットの入出力インターフェース構成を示す図である。
【図６】従来のマルチプロセッサシステムの基本構成を示す図である。
【図７】従来のプロセッサ支援システムの基本構成を示す図である。
【図８】従来のプログラマブル論理回路の基本構成を示す図である。
【図９】従来のプログラマブル論理回路の基本構成を示す図である。
【符号の説明】
１　コンピュータシステム
２　プログラマブル論理回路
３　プログラムロジック部
４　動作モード設定部
５　アドレス選択部
６　回路データ書き込み部
７　アドレス設定部
８　回路データ格納メモリ
９　先願記載のプログラマブル論理回路
１０　スロット
１１　スロット入力制御部
１２　スロット出力制御部
１３　割り込み制御部
１４　ステータス
１５　ＣＰＵ
１６　メモリ
１７　バス
１８　コプロセッサ又はＡＳＩＣ
１９　従来のプログラマブル論理回路
２０　従来の回路データ書き込み部
２１　制御部
【図１】
2004040599.tif 000003
【図２】
2004040599.tif 000004
【図３】
2004040599.tif 000005
【図４】
2004040599.tif 000006
【図５】
2004040599.tif 000007
【図６】
2004040599.tif 000008
【図７】
2004040599.tif 000009
【図８】
2004040599.tif 000010
【図９】
2004040599.tif 000011