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