(57)【要約】【課題】  多数の処理を複雑な手順で円滑に実行することが容易なプログラマブル論理回路制御装置等を提供することである。【解決手段】  モジュールアドレス記憶部３は、回路制御部４が読み込むべきモジュールのアドレス、又は分岐処理の条件及びジャンプの幅を示すデータをページ毎に記憶している。回路制御部４は、モジュールアドレス記憶部３の最上位ページが格納するデータを読み込み、このデータに従って、モジュールの読み込み・プログラマブル論理回路１の再構成・次のページのデータの読み込みを行い、あるいはジャンプを行う。以下、回路制御部４は、新たなページの読み込みを行うたびに、当該ページが格納しているデータに従った処理を行うことにより、プログラマブル論理回路１の再構成を順次行っていく。【選択図】        図１
2005190343.tif 000002
【特許請求の範囲】
【請求項１】
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、を備え、
前記コントローラは、
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とするプログラマブル論理回路制御装置。
【請求項２】
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、他の記憶位置を指定するものである場合、当該他の記憶位置に格納されているデータを取得する処理に移る条件を指定する条件定義データを含んでおり、
前記コントローラは、
他の記憶位置を指定していると判別したときは、取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別し、
満たされていると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得し、
満たされていないと判別したときは、当該他の記憶位置からのデータの取得を中止する、
ことを特徴とする請求項１に記載のプログラマブル論理回路制御装置。
【請求項３】
前記条件定義データが指定する条件は、前記プログラマブル論理回路の所定のノードに発生する信号が表す値に係るものであり、
前記コントローラは、他の記憶位置を指定していると判別したときは、前記プログラマブル論理回路の前記ノードより前記信号を取得し、取得した信号が表す値に基づいて、前記モジュール使用順序指定用メモリより取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別する、
ことを特徴とする請求項２に記載のプログラマブル論理回路制御装置。
【請求項４】
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、当該データがモジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを識別する識別データを含んでおり、
前記コントローラは、前記モジュール使用順序指定用メモリより取得したデータに含まれる識別データに基づいて、当該取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する、
ことを特徴とする請求項１、２又は３に記載のプログラマブル論理回路制御装置。
【請求項５】
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置であって、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する手段と、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する手段と、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する手段と、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する手段と、を備える、
ことを特徴とするプログラマブル論理回路制御装置。
【請求項６】
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶し、
順序付けられた複数の記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納し、
前記記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを取得する、
ことを特徴とするプログラマブル論理回路制御方法。
【請求項７】
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とするプログラマブル論理回路制御方法。
【請求項８】
コンピュータを、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、して機能させるためのプログラムであって、
前記コントローラは、
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とするプログラム。
【請求項９】
コンピュータを、供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置として機能させるためのプログラムであって、
前記コンピュータに、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する機能と、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する機能と、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する機能と、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する機能と、を更に行わせる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラムに関する。
【背景技術】
【０００２】
特定用途向け集積回路（ＡＳＩＣ）を使用する分野において、ＡＳＩＣ開発中の仕様変更に柔軟に対応するため、また、製品の開発期間を短縮するため、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）（例えば米国ＸＩＬＩＮＸ社のＸＣシリーズ等）や、プログラマブル・ロジック・デバイス（ＰＬＤ）などのプログラマブル論理回路が広くＡＳＩＣとして使われている。プログラマブル論理回路は、回路情報をロードすることによって、内部の論理回路の論理的構成を自由に変更できる論理回路である。
【０００３】
しかし、最近はＡＳＩＣに要求される論理的構成は複雑さが増し、規模も増大の一途にある。このため、プログラマブル論理回路を用いてＡＳＩＣを構成する場合においては、プログラマブル論理回路を数個ないし数十個使用するケースも発生している。
【０００４】
そこで、規模が増大した論理回路においても、その全てが常に動作している訳ではないことに着目し、同一のプログラマブル論理回路が異なる時間に異なる機能を実現するように、プログラマブル論理回路を再構成することが提案されている（例えば、特許文献１参照）。プログラマブル論理回路の再構成を行うことにより、ＡＳＩＣの規模を小型にできる。
【特許文献１】特開２００１−２０２２３６号公報
【特許文献２】特開２００３−１９８３６２号公報
【特許文献３】特開２００３−０２９９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、複雑なＡＳＩＣは、処理を逐次に行うだけでなく、一般的には、条件分岐や、分岐先からの復帰、ループなどを含んだ複雑な手順で処理を実行することを期待されている。これに対し、プログラマブル論理回路の再構成を行う上述の手法では、多数の処理をこのような複雑な手順で円滑に実行することが困難であり、長時間のオーバーヘッドが生じていた。
【０００６】
本発明は、上記実情に鑑みてなされたもので、多数の処理を複雑な手順で円滑に実行することが容易なプログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、この発明の第１の観点に係るプログラマブル論理回路制御装置は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、を備え、
前記コントローラは、
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とする。
【０００８】
このようなプログラマブル論理回路制御装置によれば、プログラマブル論理回路の論理的構成を変更する処理が、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
【０００９】
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、他の記憶位置を指定するものである場合、当該他の記憶位置に格納されているデータを取得する処理に移る条件を指定する条件定義データを含んでいてもよく、
前記コントローラは、
モジュール使用順序指定用メモリの記憶位置に格納されているデータが他の記憶位置を指定していると判別したときは、取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別し、
満たされていると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得し、
満たされていないと判別したときは、当該他の記憶位置からのデータの取得を中止するものであってもよい。
このような構成を有していれば、プログラマブル論理回路の論理的構成を変更する処理が、条件分岐を含む手順であっても容易かつ円滑に実行される。
【００１０】
前記条件定義データが指定する条件は、例えば、前記プログラマブル論理回路の所定のノードに発生する信号が表す値に係るものであってもよい。
この場合、前記コントローラは、モジュール使用順序指定用メモリの記憶位置に格納されているデータが他の記憶位置を指定していると判別したときは、前記プログラマブル論理回路の前記ノードより前記信号を取得し、取得した信号が表す値に基づいて、前記モジュール使用順序指定用メモリより取得したデータに含まれる条件定義データが指定する条件が満たされているか否かを判別するものとすればよい。
【００１１】
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータは、当該データがモジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを識別する識別データを含んでいてもよい。
この場合、前記コントローラは、前記モジュール使用順序指定用メモリより取得したデータに含まれる識別データに基づいて、当該取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別するようにしてもよい。
【００１２】
また、この発明の第２の観点に係るプログラマブル論理回路制御装置は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置であって、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する手段と、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する手段と、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する手段と、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する手段と、を備える、
ことを特徴とする。
【００１３】
このようなプログラマブル論理回路制御装置によっても、プログラマブル論理回路の論理的構成を変更する処理は、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
【００１４】
また、この発明の第３の観点に係るプログラマブル論理回路制御方法は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶し、
順序付けられた複数の記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納し、
前記記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを取得する、
ことを特徴とする。
【００１５】
このようなプログラマブル論理回路制御方法によれば、プログラマブル論理回路の論理的構成を変更する処理が、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
【００１６】
また、この発明の第４の観点に係るプログラマブル論理回路制御方法は、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御方法であって、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とする。
【００１７】
このようなプログラマブル論理回路制御方法によっても、プログラマブル論理回路の論理的構成を変更する処理は、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
【００１８】
また、この発明の第５の観点に係るプログラムは、
コンピュータを、
供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路に制御信号を供給することにより、当該プログラマブル論理回路の論理的構成を変更するコントローラと、
前記プログラマブル論理回路の論理的構成を定義するデータからなるモジュールを複数記憶するモジュール記憶用メモリと、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納するモジュール使用順序指定用メモリと、して機能させるためのプログラムであって、
前記コントローラは、
前記モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得し、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別し、
モジュールのアドレスを指定していると判別したときは、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更し、
他の記憶位置を指定していると判別したときは、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する、
ことを特徴とする。
【００１９】
このようなプログラムを実行するコンピュータによれば、プログラマブル論理回路の論理的構成を変更する処理が、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
【００２０】
また、この発明の第６の観点に係るプログラムは、
コンピュータを、供給された制御信号に従って論理的構成を変更する機能を有する外部のプログラマブル論理回路の論理的構成を定義するデータからなるモジュールを、当該モジュールを複数記憶するモジュール記憶用メモリから取得し、取得したモジュールが示す論理的構成を前記プログラマブル論理回路にとらせるような制御信号を生成して前記プログラマブル論理回路に供給することにより、前記プログラマブル論理回路の論理的構成を変更するプログラマブル論理回路制御装置として機能させるためのプログラムであって、
前記コンピュータに、
順序付けられた複数の記憶位置を有し、これらの記憶位置のそれぞれに、モジュールのアドレス又は他の記憶位置を指定するデータを格納する外部のモジュール使用順序指定用メモリより、当該モジュール使用順序指定用メモリの記憶位置に格納されているデータを取得する機能と、
取得したデータが、モジュールのアドレス又は他の記憶位置のいずれを指定するものであるかを判別する機能と、
モジュールのアドレスを指定していると判別したとき、当該アドレスにより示される当該モジュールを前記モジュール記憶用メモリより取得して、当該モジュールが示す論理的構成を前記プログラマブル論理回路にとらせるよう前記プログラマブル論理回路の論理的構成を変更する機能と、
他の記憶位置を指定していると判別したとき、当該他の記憶位置に格納されているデータを前記モジュール使用順序指定用メモリより取得する機能と、を更に行わせる、
ことを特徴とする。
【００２１】
このようなプログラムを実行するコンピュータによっても、プログラマブル論理回路の論理的構成を変更する処理は、分岐処理を含む複雑な手順であっても容易かつ円滑に実行される。
【発明の効果】
【００２２】
本発明によれば、多数の処理を複雑な手順で円滑に実行することが容易なプログラマブル論理回路制御システム、プログラマブル論理回路制御方法及びプログラムが実現される。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を、プログラマブル論理回路装置を例とし、図面を参照して説明する。
図１は、このプログラマブル論理回路装置の構成を示す図である。図示するように、このプログラマブル論理回路装置は、プログラマブル論理回路１と、モジュール記憶部２と、モジュールアドレス記憶部３と、回路制御部４とより構成されている。プログラマブル論理回路１、モジュール記憶部２及びモジュールアドレス記憶部３は、回路制御部４に接続されている。
【００２４】
プログラマブル論理回路１は、例えば、米国ＸＩＬＩＮＸ社のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）を構成するために用いられているコンフィグアラブル論理ブロック（ＣＬＢ：Configurable Logic Block）、マトリクススイッチ及び配線材などより構成されており、回路制御部４の制御に従って、自己の論理的構成（つまり、自己に入力される信号と自己が出力する信号との対応関係）を変化（再構成）させる。プログラマブル論理回路１は、具体的には、例えば図２に模式的に示すように、入力論理回路ＢＩＢＣ、論理回路ＢＦＢＣ、論理回路ＢＱＢＣ、出力論理回路ＢＯＢＣ、マトリクススイッチＢＬＳＷ、配線ＬＶＬ０〜ＬＶＬ４及び配線ＬＨＬ０〜ＬＨＬ２より構成されている。
【００２５】
配線ＬＶＬ０〜ＬＶＬ４及びＬＨＬ０〜ＬＨＬ２は、それぞれ６３本ずつの信号線より構成されている。入力論理回路ＢＩＢＣ、論理回路ＢＦＢＣ、論理回路ＢＱＢＣ及び出力論理回路ＢＯＢＣは、それぞれ、バスを介して配線ＬＶＬ０〜ＬＶＬ４と接続される。また、配線ＬＶＬ０〜ＬＶＬ４及びＬＨＬ０〜ＬＨＬ２の相互間は、マトリクススイッチＢＬＳＷによって断続され、これにより可変配線が実現される。
【００２６】
入力論理回路ＢＩＢＣ、論理回路ＢＦＢＣ、論理回路ＢＱＢＣ及び出力論理回路ＢＯＢＣは、例えばＴＴＬ（Transisitor-Transistor Logic）回路やＣＭＯＳ（Complementary Metal-Oxide-Silicon）論理回路などの論理回路より構成されている。
【００２７】
入力論理回路ＢＩＢＣは、プログラマブル論理回路１に入力された信号を、回路制御部４の制御に従った態様で配線ＬＶＬ０に供給する論理回路である。個々の入力論理回路ＢＩＢＣは、例えば、図３に示すように、出力選択回路ＯＳＥＬ１より構成されている。
【００２８】
出力選択回路ＯＳＥＬ１は、６３ビットのバスＩｏＡ（１）〜ＩｏＡ（６３）を介して配線ＬＶＬ０に接続されており、プログラマブル論理回路１に入力された４ビットの信号を、配線ＬＶＬ０を構成する信号線へと供給する。ただし、出力選択回路ＯＳＥＬ１は、配線ＬＶＬ０のどの信号線へとこの信号を供給するかを、回路制御部４等より供給される２４ビットの制御信号ＣｏｎｆｉｇＩの値に基づいて決定し、決定された信号線にこの信号を供給するものとする。また、出力選択回路ＯＳＥＬ１は、この信号を配線ＬＶＬ０のいずれの信号線にも供給しないと決定する場合もあり得るものとする。
【００２９】
論理回路ＢＦＢＣは、配線ＬＶＬ０又はＬＶＬ１より供給された信号に、回路制御部４の制御に従った論理演算を施し、得られた信号を配線ＬＶＬ１又はＬＶＬ２へと供給する論理回路である。個々の論理回路ＢＦＢＣは、例えば、図４に示すように、入力選択回路ＩＳＥＬ１と、基本機能セルＦＢＣと、出力選択回路ＯＳＥＬ２とを含んでいる。
【００３０】
入力選択回路ＩＳＥＬ１は、６３ビットのバスＩｉＡ（１）〜ＩｉＡ（６３）を介して配線ＬＶＬ０又はＬＶＬ１に接続されており、接続先である配線ＬＶＬ０又はＬＶＬ１より供給される信号のうち６ビットの信号を取得し、基本機能セルＦＢＣへと供給する。ただし、入力選択回路ＩＳＥＬ１は、配線ＬＶＬ０又はＬＶＬ１をなす６３本の信号線のうちどの６本から信号を取得するかを、回路制御部４等より供給される３６ビットの制御信号ＣｏｎｆｉｇＦｉの値に基づいて決定し、決定された信号線から計６ビットの信号を取得して、基本機能セルＦＢＣへと供給するものとする。また、入力選択回路ＩＳＥＬ１は、配線ＬＶＬ０又はＬＶＬ１のいずれの信号線からも信号を取得しないと決定する場合もあり得るものとし、この場合は、論理値“０”を表す信号を基本機能セルＦＢＣへと供給するものとする。
【００３１】
基本機能セルＦＢＣは、例えば、図４に示すように、選択回路ＳＥＬと、ラッチ回路Ｌとを含んでいる。
基本機能セルＦＢＣは、入力選択回路ＩＳＥＬ１より供給される６ビットの信号の値に基づいて、回路制御部４等より供給される１３０ビットの制御信号ＣｏｎｆｉｇＦｆの１番目〜６４番目ビットのうちから１ビット、６５番目〜１２８番目ビットのうちから１ビット、計２ビットを選択し、これら２ビットの信号（信号ＸＹ）を出力選択回路ＯＳＥＬ２へと供給する。また、基本機能セルＦＢＣは、信号ＸＹをラッチするか否かを、制御信号ＣｏｎｆｉｇＦｆの１２９番目及び１３０番目のビットの値に基づいて決定し、決定の結果を示す信号ＥＮをラッチ回路Ｌに供給する。
【００３２】
ラッチ回路Ｌは、信号ＥＮに基づいて、信号ＸＹをラッチすると決定されたか否かを判別する。ラッチすると決定されている場合は信号ＸＹの値を保持し、保持された値を有する２ビットの信号を信号ＱＹとして出力選択回路ＯＳＥＬ２へと供給する。一方、ラッチしないと決定されている場合は、現に保持している値（すなわち信号ＸＹの過去の値）を有する２ビットの信号を信号ＱＹとして出力選択回路ＯＳＥＬ２へと供給する。なお、プログラマブル論理回路１はクロック信号を外部より取得するか、又はクロック信号を生成する回路を備えるものとし、プログラマブル論理回路１の各部は、ラッチを行う場合はこのクロック信号に同期してラッチを行うものとすればよい。
【００３３】
出力選択回路ＯＳＥＬ２は、６３ビットのバスＩｏＢ（１）〜ＩｏＢ（６３）を介して配線ＬＶＬ１又はＬＶＬ２に接続されており、基本機能セルＦＢＣより供給された信号ＸＹ及び信号ＱＹ、計４ビットを、配線ＬＶＬ１又はＬＶＬ２を構成する信号線へと供給する。ただし、出力選択回路ＯＳＥＬ２は、配線ＬＶＬ１又はＬＶＬ２のどの信号線にこの４ビットの信号を供給するかを、回路制御部４等より供給される２４ビットの制御信号ＣｏｎｆｉｇＦｏの値に基づいて決定し、決定された信号線にこの信号を供給するものとする。また、出力選択回路ＯＳＥＬ２は、この信号を配線ＬＶＬ１又はＬＶＬ２のいずれの信号線にも供給しないと決定する場合もあり得るものとする。
【００３４】
論理回路ＢＱＢＣは、配線ＬＶＬ２又はＬＶＬ３より供給された信号を回路制御部４の制御に従った態様で保持し、プログラマブル論理回路１が次の論理的構成へと再構成された後の論理回路ＢＦＢＣに、配線ＬＶＬ０又はＬＶＬ１を介してこの信号を引き渡す論理回路からなっている。個々の論理回路ＢＱＢＣは、例えば、図５に示すように、入力選択回路ＩＳＥＬ２と、機能セルＱＢＣと、出力選択回路ＯＳＥＬ３とを含んでいる。
【００３５】
入力選択回路ＩＳＥＬ２は、６３ビットのバスＩｉＢ（１）〜ＩｉＢ（６３）を介して配線ＬＶＬ２又はＬＶＬ３に接続されており、接続先である配線ＬＶＬ２又はＬＶＬ３より供給される信号のうち４ビットの信号を取得し、機能セルＱＢＣへと供給する。ただし、入力選択回路ＩＳＥＬ２は、配線ＬＶＬ２又はＬＶＬ３をなす６３本の信号線のうちどの４本から信号を取得するかを、回路制御部４等より供給される２４ビットの制御信号ＣｏｎｆｉｇＱｉの値に基づいて決定し、決定された信号線から計４ビットの信号を取得して機能セルＱＢＣへと供給するものとする。また、入力選択回路ＩＳＥＬ２は、配線ＬＶＬ２又はＬＶＬ３のいずれの信号線からも信号を取得しないと決定する場合もあり得るものとし、この場合は、論理値“０”を表す信号を機能セルＱＢＣへと供給するものとする。
【００３６】
機能セルＱＢＣは、ラッチ回路等からなっており、ＩＳＥＬ２より供給される４ビットの信号の値を保持し、保持された値を有する信号を信号ＱＹ２として出力選択回路ＯＳＥＬ３へと供給する。
【００３７】
出力選択回路ＯＳＥＬ３は、６３ビットのバスＩｏＣ（１）〜ＩｏＣ（６３）を介して配線ＬＶＬ３又はＬＶＬ４に接続されており、機能セルＱＢＣより供給された４ビットの信号ＱＹ２を、配線ＬＶＬ３又はＬＶＬ４を構成する信号線へと供給する。ただし、出力選択回路ＯＳＥＬ３は、配線ＬＶＬ３又はＬＶＬ４のどの信号線に信号ＱＹ２を供給するかを、回路制御部４等より供給される２４ビットの制御信号ＣｏｎｆｉｇＱｏの値に基づいて決定し、決定された信号線にこの信号を供給するものとする。また、出力選択回路ＯＳＥＬ３は、この信号を配線ＬＶＬ３又はＬＶＬ４のいずれの信号線にも供給しないと決定する場合もあり得るものとする。
【００３８】
出力論理回路ＢＯＢＣは、配線ＬＶＬ４より供給された信号を、回路制御部４の制御に従った態様で出力する論理回路からなっている。個々の出力論理回路ＢＯＢＣは、例えば、図６に示すように、入力選択回路ＩＳＥＬ３と、機能セルＯＢＣとを含んでいる。
【００３９】
入力選択回路ＩＳＥＬ３は、６３ビットのバスＩｉＣ（１）〜ＩｉＣ（６３）を介して配線ＬＶＬ４に接続されており、接続先である配線ＬＶＬ４より供給される信号のうち４ビットの信号を取得し、機能セルＯＢＣへと供給する。ただし、入力選択回路ＩＳＥＬ３は、配線ＬＶＬ４をなす６３本の信号線のうちどの４本から信号を取得するかを、回路制御部４等より供給される２４ビットの制御信号ＣｏｎｆｉｇＯの値に基づいて決定し、決定された信号線から計４ビットの信号を取得して機能セルＯＢＣへと供給するものとする。また、入力選択回路ＩＳＥＬ３は、配線ＬＶＬ４のいずれの信号線からも信号を取得しないと決定する場合もあり得るものとし、この場合は、論理値“０”を表す信号を機能セルＯＢＣへと供給するものとする。
【００４０】
機能セルＯＢＣは、ラッチ回路等からなっており、入力選択回路ＩＳＥＬ３より供給される４ビットの信号の値を保持し、又はこの信号を通過させる。保持又は通過のいずれを行うかは、制御信号ＣｏｎｆｉｇＯのうち２５番目〜２８番目のビットの値に基づいて決定する。そして、保持された値を有する信号、又は、通過した信号を、プログラマブル論理回路１の出力信号（信号Ｙ）として外部へ出力する。
【００４１】
マトリクススイッチＢＬＳＷは、配線ＬＶＬ０〜ＬＶＬ４及び配線ＬＨＬ０〜ＬＨＬ２の相互間を電気的に接続したり切り離したりする機能を有するものであり、回路制御部４等より供給される制御信号（以下では、この制御信号を制御信号ＣｏｎｆｉｇＬと呼ぶ）の値に従って、配線ＬＶＬ０〜ＬＶＬ４の相互間、配線ＬＨＬ０〜ＬＨＬ２の相互間、あるいは配線ＬＶＬ０〜ＬＶＬ４と配線ＬＨＬ０〜ＬＨＬ２との間を電気的に接続したり切り離したりする。
【００４２】
例えば図７（ａ）に示すように、配線ＬＶＬｍ（ｍは０〜４の整数）と配線ＬＨＬｎ（ｎは０〜２の整数）との間を断続するマトリクススイッチＢＬＳＷは、信号線ＬＶＬｍ−ｊ（ｊは１〜６３の整数）と信号線ＬＨＬｎ−ｋ（ｋは１〜６３の整数）との間を断続する計３９６９個のスイッチ群Ｑより構成されている。それぞれのスイッチ群Ｑは、例えば図７（ｂ）に示すように、電界効果トランジスタ（ＦＥＴ）等のスイッチング素子より構成されている。図７（ｂ）に示す例では、ＦＥＴＱ１が、信号線ＬＶＬｍ−ｊを構成する２個の信号線ＬＶＬｍ−ｊＡとＬＶＬｍ−ｊＢとの間を断続し、ＦＥＴＱ２が、信号線ＬＨＬｎ−ｋを構成する２個の信号線ＬＨＬｎ−ｋＡとＬＨＬｎ−ｋＢとの間を断続し、ＦＥＴＱ３が、信号線ＬＶＬｍ−ｊＡと信号線ＬＨＬｎ−ｋＡとの間を断続し、ＦＥＴＱ４が、信号線ＬＶＬｍ−ｊＡと信号線ＬＨＬｎ−ｋＢとの間を断続し、ＦＥＴＱ５が、信号線ＬＶＬｍ−ｊＢと信号線ＬＨＬｎ−ｋＡとの間を断続し、ＦＥＴＱ６が、信号線ＬＶＬｍ−ｊＢと信号線ＬＨＬｎ−ｋＢとの間を断続する。なお、スイッチ群Ｑが図７（ｂ）に示す構成を有している場合、制御信号ＣｏｎｆｉｇＬは、例えば、スイッチ群Ｑを構成する各ＦＥＴのゲートに印加されればよい。
【００４３】
配線ＬＶＬ０〜ＬＶＬ４は、入力論理回路ＢＩＢＣ、論理回路ＢＦＢＣ、論理回路ＢＱＢＣ及び出力論理回路ＢＯＢＣや、マトリクススイッチＢＬＳＷに接続されている。配線ＬＨＬ０〜ＬＨＬ２は、マトリクススイッチＢＬＳＷに接続されている。配線ＬＨＬ０〜ＬＨＬ２は、入力論理回路ＢＩＢＣ、論理回路ＢＦＢＣ、論理回路ＢＱＢＣ及び出力論理回路ＢＯＢＣには直接接続されていない（ただし、マトリクススイッチＢＬＳＷを介して接続される場合はあり得る）。
【００４４】
従って、マトリクススイッチＢＬＳＷが上述した機能を有する結果、回路制御部４等がマトリクススイッチＢＬＳＷに制御信号ＣｏｎｆｉｇＬを供給することにより、プログラマブル論理回路１内部の配線は変化し、入力論理回路ＢＩＢＣ、論理回路ＢＦＢＣ、論理回路ＢＱＢＣ及び出力論理回路ＢＯＢＣは、配線ＬＶＬ０〜ＬＶＬ４や配線ＬＨＬ０〜ＬＨＬ２を介し、回路制御部４等の制御に従って相互に接続される。この結果、プログラマブル論理回路１は全体として、後述するモジュールの内容により決まる所定の処理を行う機能を有する論理回路として構成される。
【００４５】
モジュール記憶部２及びモジュールアドレス記憶部３は、それぞれ、例えばＲＡＭ（Random Access Memory）等のメモリより構成されており、各自が記憶している後述のデータを、回路制御部４のアクセスに応答して読み出し、回路制御部４に供給する。
【００４６】
モジュール記憶部２は、図１に模式的に示すように、プログラマブル論理回路１の論理的構成を定義するデータ（以下、モジュール）を記憶する。１個のモジュールは、１個のプログラマブル論理回路１が一度に表現できる論理的構成の全体又は一部を示しているものとする。つまり、モジュールは、図２に示す入力論理回路ＢＩＢＣ、論理回路ＢＦＢＣ、論理回路ＢＱＢＣ及び出力論理回路ＢＯＢＣのすべての論理的構成を示すものであってもよく、又は、例えば特許文献２や特許文献３に開示されているものと同様、論理回路ＢＦＢＣの一部や論理回路ＢＱＢＣの一部を、他の論理回路の論理的構成を変更すること無しに論理構成するためのものであってもよい。
なお、モジュール記憶部２の記憶領域を構成する各記憶位置には１０ビットのアドレスが割り当てられており、モジュール記憶部２は、モジュールのアドレス、すなわち、モジュールが記憶されている先頭（あるいは末尾等、モジュール内の一定の部分）の記憶位置のアドレスを特定することにより、当該モジュールを特定することができるものとする。
【００４７】
モジュールアドレス記憶部３の記憶領域は、図８に示すように、１６ビット毎に１個のページを構成している。そして、それぞれのページにはページアドレス（ページ位置）が割り当てられており、このページアドレスにより、モジュールアドレス記憶部３の各ページは上位から下位へと順位づけられている。また、それぞれのページを構成する１６個のビットも、上位から下位へと順位付けられている。
【００４８】
モジュールアドレス記憶部３のそれぞれのページには、データ構造を図８に模式的に示すように、モジュール記憶部２が記憶するそれぞれのモジュールのアドレス又は分岐処理を行う場合におけるジャンプの幅を示す値（オフセット値）と、６ビットの制御ビットとが格納される。図７に示す例では、各ページの下位１０ビットをモジュールのアドレス又はオフセット値が占め、上位６ビットを制御ビットが占めている。
【００４９】
制御ビットは、例えば、回路制御部４に分岐処理を行わせるか否かを示す２ビット（以下、分岐制御ビットと呼ぶ）と、分岐処理を行わせる場合における分岐条件を示す４ビット（以下、分岐条件定義ビットと呼ぶ）とより構成されている。
【００５０】
分岐制御ビットは、所定の値（例えば２進数“１０”）をとる場合、更に当該分岐制御ビットと同じページに含まれる分岐条件定義ビットが示す条件が満たされた場合は、当該ページのページアドレスを基点として、当該ページに格納されているオフセット値の分ジャンプする（つまり、当該ページのページアドレスと当該ページに格納されているオフセット値との和にあたるページアドレスを有するページ（すなわちジャンプ先のページ）に格納されているデータを読み込む）ことを、回路制御部４に指示する。
【００５１】
一方、分岐制御ビットは、上述の所定の値以外の値（例えば２進数“００”又は“０１”）をとる場合は、当該分岐制御ビットと同じページに含まれるアドレスにより特定されるモジュールをモジュール記憶部２より読み出し、読み出したモジュールが示す通りにプログラマブル論理回路１を再構成して、当該ページの次のページ（具体的には、例えば当該ページのページアドレスに１を加えた値をページアドレスとするページ）に格納されているデータを読み込むことを、回路制御部４に指示する。
【００５２】
分岐条件定義ビットは、例えば、値が２進数“００００”をとる場合、「信号Ｃｏｎｄ（０）が値“０”を有していること」をジャンプ（条件ジャンプ）実行の条件とすることを示す。
また、例えば値が２進数“０００１”をとる場合、「信号Ｃｏｎｄ（１）が値“０”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“００１０”をとる場合、「信号Ｃｏｎｄ（２）が値“０”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“００１１”をとる場合、「信号Ｃｏｎｄ（３）が値“０”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“０１００”をとる場合、「信号Ｃｏｎｄ（４）が値“０”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“１０００”をとる場合、「信号Ｃｏｎｄ（０）が値“１”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“１００１”をとる場合、「信号Ｃｏｎｄ（１）が値“１”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“１０１０”をとる場合、「信号Ｃｏｎｄ（２）が値“１”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“１０１１”をとる場合、「信号Ｃｏｎｄ（３）が値“１”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“１１００”をとる場合、「信号Ｃｏｎｄ（４）が値“１”を有していること」を条件ジャンプ実行の条件とすることを示す。
また、例えば値が２進数“０１１１”又は“１１１１”をとる場合は、「当該分岐条件定義ビットと同じページに含まれる分岐制御ビットが上述の所定の値を有している限り必ずジャンプする（無条件ジャンプする）」という条件を示す。
【００５３】
なお、信号Ｃｏｎｄ（０）〜Ｃｏｎｄ（４）は、条件の成否を監視する処理を行っている論理回路ＢＦＢＣ、他の処理の結果を保持する処理を行っている論理回路ＢＱＢＣあるいは監視の結果を出力する処理を行っている出力論理回路ＢＯＢＣが回路制御部４に供給する計５ビットの信号である。いかなる場合に論理回路ＢＦＢＣ、論理回路ＢＱＢＣあるいは出力論理回路ＢＯＢＣが信号Ｃｏｎｄ（０）〜Ｃｏｎｄ（４）を供給するかは、例えばモジュールに予め記述されているものとする。また、条件の成否を監視する対象になり得るものとしては、条件ジャンプを実行する条件の他、例えば、他の処理を呼び出す条件、呼び出しを行った素の処理へのリターンを行う条件、等が考えられる。
【００５４】
回路制御部４は、例えばＣＰＵ（Central Processing Unit）等のプロセッサや、このプロセッサが実行するプログラムを記憶するＲＯＭ（Read Only Memory）等の不揮発性メモリなどより構成されるコントローラからなる。あるいは、回路制御部４を構成するコントローラは、専用の電子回路より構成されていてもよい。
【００５５】
回路制御部４は、例えば、図９に示す処理を行う。回路制御部４が、プロセッサ及び不揮発性メモリなどより構成されている場合は、例えばこの不揮発性メモリが記憶するプログラムをこのプロセッサが読み込んで実行することにより、このプロセッサが図９に示す処理を行うものとすればよい。
【００５６】
すなわち、回路制御部４は、例えば、動作を開始するとまず、モジュールアドレス記憶部３の最上位のページアドレスを有するページに格納されているデータ（つまり、制御ビットと、モジュールのアドレス若しくはオフセット値）を読み込む（図９、ステップＳ１）。
【００５７】
次に、回路制御部４は、後述のステップＳ５、ステップＳ７又はステップＳ９でモジュールアドレス記憶部３から最も新しくデータを読み込んだページが最後のページであるか否か、すなわち、最下位のページアドレスを与えられたページであるか否かを判別する（ステップＳ２）。そして、最後のページであると判別すると、処理を終了する。
一方、最後のページではないと判別すると、回路制御部４は、モジュールアドレス記憶部３から最も新しく読み込んだデータに含まれる制御ビットが、（ａ）モジュールの読み込み、又は（ｂ）分岐（条件ジャンプや無条件ジャンプ）のいずれの処理を指示するものであるかを判別する（ステップＳ３）。
【００５８】
そして、（ａ）の処理を指示するものであると判別すると、回路制御部４は、モジュールアドレス記憶部３からもっとも新しく読み込んだデータに含まれるアドレスにより特定されるモジュールをモジュール記憶部２より読み込み、このモジュールが表す論理的構成をとるよう、プログラマブル論理回路１を再構成する（ステップＳ４）。ステップＳ４で回路制御部４は、具体的には、例えば上述の制御信号ＣｏｎｆｉｇＩ、ＣｏｎｆｉｇＦｉ、ＣｏｎｆｉｇＦｆ、ＣｏｎｆｉｇＦｏ、ＣｏｎｆｉｇＱｉ、ＣｏｎｆｉｇＱｏ、ＣｏｎｆｉｇＯ及びＣｏｎｆｉｇＬを生成してプログラマブル論理回路１に供給することにより、プログラマブル論理回路１の再構成を行う。
【００５９】
ステップＳ４の処理が終わると、回路制御部４は、モジュールアドレス記憶部３からもっとも新しくデータを読み込んだページの次のページに格納されているデータを読み込み（ステップＳ５）、処理をステップＳ２に戻す。
【００６０】
一方、ステップＳ３で、制御ビットが（ｂ）の処理を指示するものであると判別すると、回路制御部４は、当該制御ビットに含まれる分岐条件定義ビットが、（ｃ）無条件ジャンプ、又は（ｄ）条件ジャンプのいずれの処理を指示するものであると判別する（ステップＳ６）。ステップＳ６で回路制御部４は、具体的には、分岐条件定義ビットの値が“０１１１”又は“１１１１”であるか否かを判別し、これらの値のいずれかであれば無条件ジャンプを指示するものであると判別し、その他の値であれば、条件ジャンプを指示するものであると判別する。
【００６１】
そして、無条件ジャンプを指示するものであるとステップＳ６で判別すると、回路制御部４は、当該制御ビットと同じページに含まれていたオフセット値を参照し、当該オフセット値の分ジャンプし（すなわち、ジャンプ先のページに格納されているデータを読み込み）（ステップＳ７）、処理をステップＳ２に戻す。
【００６２】
一方、条件ジャンプを指示するものであるとステップＳ６で判別すると、回路制御部４は、例えばプログラマブル論理回路１が供給する信号Ｃｏｎｄ（０）〜Ｃｏｎｄ（４）を取得する（ステップＳ８）。そして回路制御部４は、分岐条件定義ビットが示す分岐条件が成就しているか否かを、取得した信号Ｃｏｎｄ（０）〜Ｃｏｎｄ（４）が示す値などに基づいて判別する（ステップＳ９）。そして、分岐条件が成就していないと判別すると、モジュールアドレス記憶部３からもっとも新しくデータを読み込んだページの次のページに格納されているデータを読み込み（ステップＳ１０）、処理をステップＳ２に戻す。一方、成就していると判別すると、回路制御部４はステップＳ７に処理を移す。
【００６３】
一方、プログラマブル論理回路１は、外部から入力論理回路ＢＩＢＣに供給された信号や、自己の論理回路ＢＱＢＣが保持している過去の演算結果を用いて、当該信号が供給された時点での自己の論理的構成に従った演算を行う。そして、演算結果を示す信号を論理回路ＢＱＢＣに保持し、あるいは出力論理回路ＢＯＢＣから出力する。
【００６４】
上述の動作を行うことにより、このプログラマブル論理回路装置は、プログラマブル論理回路１の再構成を所定の順序で逐次に行えるだけでなく、条件分岐や無条件分岐のような複雑な手順による再構成も円滑に実行できる。
【００６５】
なお、このプログラマブル論理回路装置の構成は上述のものに限られない。
例えば、１個の記憶装置がモジュール記憶部２及びモジュールアドレス記憶部３の機能を行うようにしてもよい。
【００６６】
また、モジュールアドレス記憶部３が記憶するデータのデータ構造は必ずしも上述の通りである必要はなく、例えば、１ページを構成するビットの数は任意である。また、モジュールのアドレス、ページアドレス、オフセット値、分岐制御ビットあるいは分岐条件定義ビットのビット数や、これらがモジュールアドレス記憶部３の個々のページ内で占める位置も任意である。
【００６７】
また、回路制御部４がジャンプを実行する条件も上述のものに限られない。例えば、ジャンプ実行の条件は必ずしも信号Ｃｏｎｄ（０）〜Ｃｏｎｄ（４）の値に係るものでなくてもよく、また、信号Ｃｏｎｄのビット数は必ずしも５ビットでなくてもよい。一方で当該条件は、回路制御部４が取得可能な他の任意の情報に係るものであってもよい。
また、信号Ｃｏｎｄは、一つ又は複数の時点においてプログラマブル論理回路１の１個又は複数のノードに生じる信号の値に論理演算等の所定の処理を施した結果得られる値を表すものであってもよく、この場合、プログラマブル論理回路１は、例えば当該論理演算等を行う論理回路を備えていればよい。
【００６８】
また、回路制御部４は、上述したような態様のジャンプ（すなわち相対ジャンプ）のみならず、絶対ジャンプを行ってもよい。この場合、例えば、モジュールアドレス記憶部３が記憶する分岐制御ビットは、例えば、相対ジャンプ、絶対ジャンプ、又はジャンプ不実行の３種類の指示を表し得るものとすればよい。そして、分岐制御ビットが絶対ジャンプを指示するものである場合、回路制御部４は、当該分岐制御ビットを含むページにはオフセット値に代えてジャンプ先のページアドレスが格納されていると解釈する（すなわち、当該ページにはオフセット値に代えてジャンプ先のページアドレスが格納される必要がある）ものとすればよい。
【００６９】
また、このプログラマブル論理回路装置は、後入れ先出し（ＬＩＦＯ）スタックをなす記憶領域を有するメモリを更に備えてもよい。そして、このスタックにモジュールアドレス記憶部２内のページのページアドレスを保管し、呼出し・復帰の機能を実現するために用いてもよい。
具体的には、例えば、制御ビットは更に呼出しの処理を指示するデータや復帰の処理を指示するデータを含み得るものとし、一方で、分岐処理におけるジャンプ先となるページに、繰り返し使用するモジュールのアドレスを格納しておき、当該ページの制御ビットには、復帰を指示するデータを含めておく。そして回路制御部４は、当該ページを呼び出す際（つまり、当該ページの呼び出しを指示するデータが制御ビットに含まれているページのデータを読み込んだ際）には、スタックに現在実行中のページの次のページのページアドレスを格納し、ジャンプ先のページに格納されているデータを読み込んでプログラマブル論理回路１を再構成し、次に、スタックに格納されたページアドレスを読み出して当該ページアドレスが示すページへとジャンプすることにより、復帰の処理を行うものとすればよい。
【００７０】
また、プログラマブル論理回路１が実行する処理が他の装置等との同期をとらない形で処理される場合や、処理に要する時間が一定でない場合などに対処するため、モジュールは、論理回路ＢＦＢＣにプログラマブル論理回路１１の処理の終了を監視させ、論理回路ＢＱＢＣに監視結果を保持させ、出力論理回路ＢＯＢＣに処理終了を示すデータを回路制御部４へと供給させるように、プログラマブル論理回路１の論理的構成を定義してもよい。
【００７１】
また、モジュールが、所定のクロック数で終了することが予め分かっている処理をプログラマブル論理回路１に実行させるように論理的構成を定義するものである場合、当該モジュールは、プログラマブル論理回路１を更に、クロック信号のクロック数をカウントするカウンター、及び、当該カウンターがカウントしたクロック数が所定数に達したか否かを判別し、達したと判別したとき処理の終了を示すデータを回路制御部４に供給する論理回路として機能させるように、論理的構成を定義してもよい。
【００７２】
また、回路制御部４、モジュールアドレス記憶部３及び／又はモジュール記憶部２が、プログラマブル論理回路１より構成されるようにしてもよい。この場合このプログラマブル論理回路装置は、例えば、プログラマブル論理回路１を回路制御部４、モジュールアドレス記憶部３及び／又はモジュール記憶部２として機能させるための論理的構成を定義するモジュールを予め記憶する不揮発性記憶装置（例えば、ＲＯＭ（Read Only Memory）等）を更に備えるものとする。そして、プログラマブル論理回路１は、このプログラマブル論理回路装置の起動直後などのタイミングでこの不揮発性記憶装置が記憶するモジュールを読み出し、このモジュールが定義する通りに自己の論理的構成を変化させるための制御回路等を備えていればよい。
【００７３】
以上、この発明の実施の形態を説明したが、この発明にかかるプログラマブル論理回路制御装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、プログラマブル論理回路１に接続されたコンピュータに、上述のモジュール記憶部２、モジュールアドレス記憶部３及び回路制御部４の動作を実行させるためのプログラムを格納した媒体（ＣＤ−ＲＯＭ、ＭＯ等）からこれらのプログラムをインストールすることにより、上述の処理を実行するプログラマブル論理回路装置を構成することができる。
【００７４】
また、例えば、通信回線の掲示板（ＢＢＳ）にこのプログラムをアップロードし、これを通信回線を介して配信してもよく、また、このプログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調してこのプログラムを復元するようにしてもよい。そして、このプログラムを起動し、ＯＳの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【００７５】
なお、ＯＳが処理の一部を分担する場合、あるいは、ＯＳが本願発明の１つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の形態に係るプログラマブル論理回路装置の構成を示す図である。
【図２】プログラマブル論理回路の構成を模式的に示す図である。
【図３】入力論理回路ＢＩＢＣの構成を示す図である。
【図４】論理回路ＢＦＢＣの構成を示す図である。
【図５】論理回路ＢＱＢＣの構成を示す図である。
【図６】出力論理回路ＢＯＢＣの構成を示す図である。
【図７】（ａ）は、マトリクススイッチの構成を示す図であり、（ｂ）は、マトリクススイッチを構成するスイッチ群の構成を示す図である。
【図８】モジュールアドレス記憶部が記憶するデータのデータ構造を模式的に示す図である。
【図９】回路制御部が行う処理の流れを示すフローチャートである。
【符号の説明】
【００７７】
１      プログラマブル論理回路
２      モジュール記憶部
３      モジュールアドレス記憶部
４      回路制御部
【図１】
2005190343.tif 000003
【図２】
2005190343.tif 000004
【図３】
2005190343.tif 000005
【図４】
2005190343.tif 000006
【図５】
2005190343.tif 000007
【図６】
2005190343.tif 000008
【図７】
2005190343.tif 000009
【図８】
2005190343.tif 000010
【図９】
2005190343.tif 000011