(57)【要約】【課題】  一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更する。【解決手段】  各論理エレメント（ＬＥ１−ＬＥ１５）が、コンフィギュレーション記憶部１７の記憶内容を書き換える論理エレメントについては、その記憶内容を、入力されたコンフィギュレーション情報に書き換えて当該コンフィギュレーション情報を出力し、記憶内容を書き換えない論理エレメントについては、その記憶内容を書き換えずに入力されたコンフィギュレーション情報を出力する。  すなわち、所望の論理エレメントの記憶内容を書き換えることにより当該論理エレメントの機能を変更することができる。一方、それ以外の論理エレメントの記憶内容を書き換えないことにより当該論理エレメントの機能を変更しないことができる。【選択図】  図１
2006025379.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理エレメントを備えるプログラマブルロジックデバイスであって、
各論理エレメントは、
論理エレメントの機能を規定するコンフィギュレーション情報を記憶するコンフィギュレーション記憶手段と、
前記コンフィギュレーション記憶手段に記憶されたコンフィギュレーション情報により自己の機能を規定する規定手段と、
前記コンフィギュレーション記憶手段の記憶内容の書き換えを許可する許可指示を受けたときのみ、当該記憶内容を、入力されたコンフィギュレーション情報に書き換える書き換え手段と、
前記許可指示を受けたとき、前記コンフィギュレーション記憶手段により記憶されているコンフィギュレーション情報を出力し、前記許可指示を受けていないとき、前記入力されたコンフィギュレーション情報を出力する出力手段と
を備えることを特徴とするプログラマブルロジックデバイス。
【請求項２】
前記出力手段は、
前記コンフィギュレーション記憶手段から出力されるコンフィギュレーション情報が入力される第１入力端子と、前記コンフィギュレーション記憶手段に入力されるコンフィギュレーション情報と同じコンフィギュレーション情報が入力される第２入力端子とが備えられ、前記許可指示が受け付けられたとき前記第１入力端子に入力されたコンフィギュレーション情報が出力され、さもなければ前記第２入力端子に入力されたコンフィギュレーション情報が出力されるマルチプレクサであること
を特徴とする請求項１に記載のプログラマブルロジックデバイス。
【請求項３】
前記複数の論理エレメントのうちの全部又は一部は、コンフィギュレーション情報を受け渡すために縦続接続されていること
を特徴とする請求項１に記載のプログラマブルロジックデバイス。
【請求項４】
縦続接続されている論理エレメントのうちの最終段の論理エレメントにおける前記出力手段は、
コンフィギュレーション情報をプログラマブルロジックデバイスの外部に出力すること
を特徴とする請求項３に記載のプログラマブルロジックデバイス。
【請求項５】
前記各論理エレメントは、さらに、
前記コンフィギュレーション記憶手段の記憶内容の書き換えの可否を示す書き換え情報を記憶するとともに、当該書き換え情報が許可を示す場合に前記許可指示を前記書き換え手段及び前記出力手段に与え、当該書き換え情報が許可を示さない場合に前記許可指示を前記書き換え手段及び前記出力手段に与えない書き換え情報記憶手段を備えること
を特徴とする請求項１に記載のプログラマブルロジックデバイス。
【請求項６】
前記複数の論理エレメントのうちの全部又は一部は、書き換え情報を受け渡すために縦続接続されていること
を特徴とする請求項５に記載のプログラマブルロジックデバイス。
【請求項７】
前記プログラマブルロジックデバイスは、さらに、
前記各論理エレメントにおける書き換え情報の受け渡しが開始してから完了するまで前記書き換え手段の書き換えを禁止する禁止手段を備えること
を特徴とする請求項６に記載のプログラマブルロジックデバイス。
【請求項８】
複数の論理エレメントを備えるプログラマブルロジックデバイスであって、
各論理エレメントは、
論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第１記憶手段と、
論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第２記憶手段と、
前記第１記憶手段及び前記第２記憶手段の一方に記憶されているコンフィギュレーション情報により自己の機能を規定する規定手段と、
前記第１記憶手段及び前記第２記憶手段にそれぞれ記憶されているコンフィギュレーション情報のうち、前記規定手段により用いられていないコンフィギュレーション情報を書き換える書き換え手段と
を備えることを特徴とするプログラマブルロジックデバイス。
【請求項９】
各論理エレメントが備える前記第１記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、
各論理エレメントが備える前記第２記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、
前記書き換え手段は、
前記第１記憶手段の記憶内容を前段の第１記憶手段から入力されたコンフィギュレーション情報に書き換え、又は前記第２記憶手段の記憶内容を前段の第２記憶手段から入力されたコンフィギュレーション情報に書き換えること
を特徴とする請求項８に記載のプログラマブルロジックデバイス。
【請求項１０】
複数の論理エレメントを備えるプログラマブルロジックデバイスであって、
各論理エレメントは、
論理エレメントの機能を規定するコンフィギュレーション情報を記憶する本記憶手段と、
前記本記憶手段により記憶されたコンフィギュレーション情報により自己の機能を規定する規定手段と、
前記本記憶手段に記憶されるべきコンフィギュレーション情報を記憶する予備記憶手段と、
前記予備記憶手段に記憶されているコンフィギュレーション情報を書き換える第１書き換え手段と、
書き換えの指示を受けたとき、前記第１書き換え手段により書き換えられたコンフィギュレーション情報を前記本記憶手段に書き換える第２書き換え手段と
を備えることを特徴とするプログラマブルロジックデバイス。
【請求項１１】
各論理エレメントが備える前記予備記憶手段のうち全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、
前記第１書き換え手段は、
前記予備記憶手段の記憶内容を前段の予備記憶手段から入力されたコンフィギュレーション情報に書き換えること
を特徴とする請求項１０に記載のプログラマブルロジックデバイス。
【請求項１２】
複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶するコンフィギュレーション記憶手段と、当該コンフィギュレーション記憶手段の記憶内容の書き換えの可否を示す書き換え情報を記憶する書き換え情報記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション装置であって、
各論理エレメントが備える書き換え情報記憶手段に、書き換え情報を記憶させる書き換え情報記憶制御手段と、
前記書き換え情報制御手段により記憶された書き換え情報が記憶内容の書き換えを許可することを示すコンフィギュレーション記憶手段に、新たなコンフィギュレーション情報を記憶させるコンフィギュレーション記憶制御手段と
を備えることを特徴とするコンフィギュレーション装置。
【請求項１３】
前記複数の論理エレメントのうちの全部又は一部は、コンフィギュレーション情報を受け渡すために縦続接続されており、
前記コンフィギュレーション記憶制御手段は、
記憶内容の書き換えが許可されたコンフィギュレーション記憶手段に各々対応するコンフィギュレーション情報を、当該コンフィギュレーション記憶手段の配列に従って順次、縦続接続の初段の論理エレメントに入力すること
を特徴とする請求項１２に記載のコンフィギュレーション装置。
【請求項１４】
前記縦続接続の最終段の論理エレメントは、コンフィギュレーション情報をプログラマブルロジックデバイスの外部に出力し、
前記コンフィギュレーション装置は、さらに、
前記コンフィギュレーション記憶制御手段によるコンフィギュレーション情報のシリアル入力に先立って所定のパターンのコンフィギュレーション情報を入力する所定パターン入力手段と、
前記所定パターン入力手段により入力されたコンフィギュレーション情報が前記最終段の論理エレメントから出力されたことに基づいて前記コンフィギュレーション記憶制御手段によるシリアル入力を停止させる停止手段と
を備えることを特徴とする請求項１３に記載のコンフィギュレーション装置。
【請求項１５】
複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第１記憶手段及び第２記憶手段を備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション装置であって、
各論理エレメントが備える第１記憶手段及び第２記憶手段のいずれかに、論理エレメントの機能を規定するコンフィギュレーション情報を記憶させる記憶制御手段と、
前記コンフィギュレーション記憶制御手段により記憶させたコンフィギュレーション情報により各論理エレメントの機能を規定させる規定制御手段と
を備えることを特徴とするコンフィギュレーション装置。
【請求項１６】
各論理エレメントが備える前記第１記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されるとともに、前記第２記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、
前記記憶制御手段は、
第１記憶手段に記憶されるべきコンフィギュレーション情報を、第１記憶手段の配列に従って順次、縦続接続の初段の第１記憶手段に入力し、又は第２記憶手段に記憶されるべきコンフィギュレーション情報を、第２記憶手段の配列に従って順次、縦続接続の初段の第２記憶手段に入力すること
を特徴とする請求項１５に記載のコンフィギュレーション装置。
【請求項１７】
複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する本記憶手段と、本記憶手段に記憶されるべきコンフィギュレーション情報を記憶する予備記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション装置であって、
各論理エレメントが備える予備記憶手段に、コンフィギュレーション情報を記憶させる予備記憶制御手段と、
前記予備記憶制御手段により記憶させたコンフィギュレーション情報を、本記憶手段に記憶させる本記憶制御手段と
を備えることを特徴とするコンフィギュレーション装置。
【請求項１８】
各論理エレメントが備える前記予備記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、
前記予備記憶制御手段は、
予備記憶手段に記憶されるべきコンフィギュレーション情報を、予備記憶手段の配列に従って順次、縦続接続の初段の予備記憶手段に入力すること
を特徴とする請求項１７に記載のコンフィギュレーション装置。
【請求項１９】
複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶するコンフィギュレーション記憶手段と、当該コンフィギュレーション記憶手段の記憶内容の書き換えの要否を示す書き換え情報を記憶する書き換え情報記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション方法であって、
各論理エレメントが備える書き換え情報記憶手段に、書き換え情報を記憶させる書き換え情報記憶制御ステップと、
前記書き換え情報制御ステップにより記憶された書き換え情報が記憶内容の書き換えを許可することを示すコンフィギュレーション記憶手段に、コンフィギュレーション情報を記憶させるコンフィギュレーション記憶制御ステップと
を含むことを特徴とするコンフィギュレーション方法。
【請求項２０】
複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第１記憶手段及び第２記憶手段を備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション方法であって、
各論理エレメントが備える第１記憶手段及び第２記憶手段のいずれかに、論理エレメントの機能を規定するコンフィギュレーション情報を記憶させる記憶制御ステップと、
前記コンフィギュレーション記憶制御ステップにより記憶させたコンフィギュレーション情報により各論理エレメントの機能を規定させる規定制御ステップと
を含むことを特徴とするコンフィギュレーション方法。
【請求項２１】
複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する本記憶手段と、本記憶手段に記憶されるべきコンフィギュレーション情報を記憶する予備記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション方法であって、
各論理エレメントが備える予備記憶手段に、コンフィギュレーション情報を記憶させる予備記憶制御ステップと、
前記予備記憶制御ステップにより記憶させたコンフィギュレーション情報を、本記憶手段に記憶させる本記憶制御ステップと
を含むことを特徴とするコンフィギュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックデバイス、及びそのコンフィギュレーション装置並びにコンフィギュレーション方法に関し、特に、プログラマブルロジックデバイスにおいて一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更する技術に関する。
【背景技術】
【０００２】
近年、ＦＰＧＡ（Field Programmable Gate Array）に代表されるプログラマブルロジックデバイスが広く普及している。プログラマブルロジックデバイスは、複数の論理エレメントを内蔵しており、各論理エレメントの機能あるいは論理エレメント間の接続状態を変更することにより任意の機能を実現することができる集積回路である。以下に、従来のプログラマブルロジックデバイスを用いて、プログラマブルロジックデバイスの機能の変更について説明する。
【０００３】
図１９は、従来のプログラマブルロジックデバイスの構成を示す図である。
この例では、プログラマブルロジックデバイス４０１は、１６個の論理エレメントを備えている。各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶部４１に記憶しており、当該コンフィギュレーション情報に応じた機能を実現する。したがって、コンフィギュレーション情報を書き換えることにより、各論理エレメントの機能を変更することができる。
【０００４】
各コンフィギュレーション情報は、コンフィギュレーション装置４０２からシリアルに入力され、シフトレジスタを構成する各記憶部４１により、該当する論理エレメントまで転送される（例えば、特許文献１）。
【特許文献１】米国特許５３９４０３１号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、近年、プログラマブルロジックデバイスが組み込まれる機器本体がますます小型化される傾向にある。そこで、プログラマブルロジックデバイスを効率よく利用することで、機器本体の小型化に貢献させたいという要請がある。
プログラマブルロジックデバイスを最大限に利用するには、複数の論理エレメントにできるだけ多くの処理をマッピングし（空間的な効率の向上）、すべての時間でプログラマブルロジックデバイスのリソースである論理エレメントを使用すること（時間的な効率の向上）が必要である。例えば、一のプログラマブルロジックデバイスに、同時に複数の処理を実行させることで空間的な効率を向上することができ、そのうちの一の処理が終了したとき新たに別の処理を実行させることで時間的な効率を向上することができる。
【０００６】
そのため、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができるプログラマブルロジックデバイスが要求される。
しかしながら、上述した従来のプログラマブルロジックデバイスは、全ての論理エレメントがコンフィギュレーション情報を書き換えつつ転送するため、所望の論理エレメントのみの機能を変更しようとしても、必然的に他の論理エレメントの機能も変更されることになる。したがって、上記要求を満たすことができない。
【０００７】
そこで、本発明は、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができるプログラマブルロジックデバイス、及びそのコンフィギュレーション装置並びにコンフィギュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るプログラマブルロジックデバイスは、複数の論理エレメントを備えるプログラマブルロジックデバイスであって、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶するコンフィギュレーション記憶手段と、前記コンフィギュレーション記憶手段に記憶されたコンフィギュレーション情報により自己の機能を規定する規定手段と、前記コンフィギュレーション記憶手段の記憶内容の書き換えを許可する許可指示を受けたときのみ、当該記憶内容を、入力されたコンフィギュレーション情報に書き換える書き換え手段と、前記許可指示を受けたとき、前記コンフィギュレーション記憶手段により記憶されているコンフィギュレーション情報を出力し、前記許可指示を受けていないとき、前記入力されたコンフィギュレーション情報を出力する出力手段とを備える。
【発明の効果】
【０００９】
上記構成によれば、論理エレメントは、コンフィギュレーション情報が入力されたとき、許可指示を受けたか否かによりその動作が異なる。許可指示を受けたときは、コンフィギュレーション記憶手段の記憶内容は書き換えられるが、許可指示を受けないときは、コンフィギュレーション記憶手段の記憶内容は書き換えられない。
ここで、機能が変更されるべき論理エレメントに許可指示が与えられ、動作中の論理エレメントには許可指示が与えられない運用を想定する。この場合、機能が変更されるべき論理エレメントは、コンフィギュレーション情報の書き換えによりその機能が変更される。一方、動作中の論理エレメントは、コンフィギュレーション情報が書き換わらないのでその機能が変更されない。
【００１０】
したがって、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができる。
なお、論理エレメントは、許可指示を受けたときは入力されたコンフィギュレーション情報を書き換えてから出力し、さもなければそのまま出力する。いずれにしても、入力されたコンフィギュレーション情報が出力されることには変わりがない。したがって、コンフィギュレーション情報を論理エレメント間で転送させるプログラマブルロジックデバイスであれば、論理エレメントの接続形態（例えば、縦続接続、ツリー構造状の接続、ネットワーク状の接続）に関わらず、本発明が適用可能である。
【００１１】
また、前記出力手段は、前記コンフィギュレーション記憶手段から出力されるコンフィギュレーション情報が入力される第１入力端子と、前記コンフィギュレーション記憶手段に入力されるコンフィギュレーション情報と同じコンフィギュレーション情報が入力される第２入力端子とが備えられ、前記許可指示が受け付けられたとき前記第１入力端子に入力されたコンフィギュレーション情報が出力され、さもなければ前記第２入力端子に入力されたコンフィギュレーション情報が出力されるマルチプレクサであることとしてもよい。
【００１２】
上記構成によれば、各論理エレメントには、コンフィギュレーション記憶手段をバイパスするバイパス回路が形成される。マルチプレクサは、許可指示を受けていないときは、バイパス回路を経てコンフィギュレーション情報を出力させる。したがって、各論理エレメントは、入力されたコンフィギュレーション情報をそのまま出力することができる。
また、前記複数の論理エレメントのうちの全部又は一部は、コンフィギュレーション情報を受け渡すために縦続接続されていることとしてもよい。
【００１３】
上記構成によれば、各論理エレメントが個別に外部のコンフィギュレーション装置と接続される接続形態に比べて、プログラマブルロジックデバイスにおける配線コストを削減することができる。なお、その効果は、一部の論理エレメントが縦続接続されていれば得られ、全部の論理エレメントが縦続接続されているときには最大となる。
また、縦続接続されている論理エレメントのうちの最終段の論理エレメントにおける前記出力手段は、コンフィギュレーション情報をプログラマブルロジックデバイスの外部に出力することとしてもよい。
【００１４】
上記構成によれば、プログラマブルロジックデバイスは、コンフィギュレーションを実行する際に、以下のコンフィギュレーション装置を利用することができる。すなわち、コンフィギュレーション情報に先立って所定パターンをプログラマブルロジックデバイスに入力し、最終段の論理エレメントから所定パターンが出力されたことに基づいてコンフィギュレーション情報の入力を停止するコンフィギュレーション装置である。当該コンフィギュレーション装置は、後述するように、コンフィギュレーション毎に設定変更が必要なコンフィギュレーション装置に比べてその処理負担が小さい。
【００１５】
したがって、当該プログラマブルロジックデバイスを用いることにより、コンフィギュレーション装置を含めたシステム全体における処理負担を軽減することができる。
また、前記各論理エレメントは、さらに、前記コンフィギュレーション記憶手段の記憶内容の書き換えの可否を示す書き換え情報を記憶するとともに、当該書き換え情報が許可を示す場合に前記許可指示を前記書き換え手段及び前記出力手段に与え、当該書き換え情報が許可を示さない場合に前記許可指示を前記書き換え手段及び前記出力手段に与えない書き換え情報記憶手段を備えることとしてもよい。
【００１６】
上記構成によれば、書き換え情報は、コンフィギュレーション装置から一度与えられると変更されるまで記憶される。したがって、コンフィギュレーション装置は常時書き換え情報を与える必要がない。
また、前記複数の論理エレメントのうちの全部又は一部は、書き換え情報を受け渡すために縦続接続されていることとしてもよい。
【００１７】
上記構成によれば、各論理エレメントが個別に外部のコンフィギュレーション装置と接続される接続形態に比べて、プログラマブルロジックデバイスにおける配線コストを削減することができる。なお、その効果は、一部の論理エレメントが縦続接続されていれば得られ、全部の論理エレメントが縦続接続されているときには最大となる。
また、前記プログラマブルロジックデバイスは、さらに、前記各論理エレメントにおける書き換え情報の受け渡しが開始してから完了するまで前記書き換え手段の書き換えを禁止する禁止手段を備えることとしてもよい。
【００１８】
上記構成によれば、縦続接続された書き換え情報記憶手段において書き換え情報の受け渡しがされている間は、コンフィギュレーション記憶手段の記憶内容は書き換えられない。したがって、受け渡しのために書き換え情報記憶手段を単に通過するだけの書き換え情報に基づくコンフィギュレーション情報の書き換えを防止することができる。
本発明に係るプログラマブルロジックデバイスは、複数の論理エレメントを備えるプログラマブルロジックデバイスであって、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第１記憶手段と、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第２記憶手段と、前記第１記憶手段及び前記第２記憶手段の一方に記憶されているコンフィギュレーション情報により自己の機能を規定する規定手段と、前記第１記憶手段及び前記第２記憶手段にそれぞれ記憶されているコンフィギュレーション情報のうち、前記規定手段により用いられていないコンフィギュレーション情報を書き換える書き換え手段とを備える。
【００１９】
上記構成によれば、各論理エレメントは、２つのコンフィギュレーション情報が与えられ、自己の機能を規定するコンフィギュレーション情報としてそのうちの一方を採用する。さらに、一方が採用されている間に、他方を書き換えることができる。
また、他方の書き換えが完了すれば、各論理エレメントは、自己の機能を規定するコンフィギュレーション情報として他方を採用することができる。このとき、他方が一方と同一のコンフィギュレーション情報であれば、他方を採用したとしても論理エレメントの機能は変更されない。また、他方が一方と異なるコンフィギュレーション情報であれば他方を採用したときに論理エレメントの機能が変更されることになる。
【００２０】
ここで、機能が変更されるべき論理エレメントでは他方を一方と異なるコンフィギュレーション情報とし、動作中の論理エレメントでは他方を一方と同一のコンフィギュレーション情報とする運用を想定する。この場合、機能が変更されるべき論理エレメントは他方を採用したときにその機能が変更される。一方、動作中の論理エレメントは他方を採用したときにその機能が変更されない。
【００２１】
したがって、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができる。
また、各論理エレメントが備える前記第１記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、各論理エレメントが備える前記第２記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、前記書き換え手段は、前記第１記憶手段の記憶内容を前段の第１記憶手段から入力されたコンフィギュレーション情報に書き換え、又は前記第２記憶手段の記憶内容を前段の第２記憶手段から入力されたコンフィギュレーション情報に書き換えることとしてもよい。
【００２２】
上記構成によれば、各第１記憶手段及び各第２記憶手段が個別に外部のコンフィギュレーション装置と接続される接続形態に比べて、プログラマブルロジックデバイスにおける配線コストを削減することができる。なお、その効果は、一部の論理エレメントが縦続接続されていれば得られ、全部の論理エレメントが縦続接続されているときには最大となる。
【００２３】
本発明に係るプログラマブルロジックデバイスは、複数の論理エレメントを備えるプログラマブルロジックデバイスであって、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する本記憶手段と、前記本記憶手段により記憶されたコンフィギュレーション情報により自己の機能を規定する規定手段と、前記本記憶手段に記憶されるべきコンフィギュレーション情報を記憶する予備記憶手段と、前記予備記憶手段に記憶されているコンフィギュレーション情報を書き換える第１書き換え手段と、書き換えの指示を受けたとき、前記第１書き換え手段により書き換えられたコンフィギュレーション情報を前記本記憶手段に書き換える第２書き換え手段とを備える。
【００２４】
上記構成によれば、各論理エレメントは、書き換えの指示を受けたとき、本記憶手段の記憶内容が書き換えられることにより、その機能が更新される。このとき、予備記憶手段が本記憶手段と同一のコンフィギュレーション情報を記憶していれば、論理エレメントの機能は変更されず、予備記憶手段が本記憶手段と異なるコンフィギュレーション情報を記憶していれば論理エレメントの機能が変更される。
【００２５】
ここで、機能が変更されるべき論理エレメントには予備記憶手段が本記憶手段と異なるコンフィギュレーション情報が記憶され、動作中の論理エレメントには予備記憶手段が本記憶手段と同一のコンフィギュレーション情報が記憶される運用を想定する。この場合、機能が変更される論理エレメントは書き換え指示を受けたときにその機能が変更される。一方、動作中の論理エレメントは書き換え指示をうけたときにその機能が変更されない。
【００２６】
したがって、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができる。
また、各論理エレメントが備える前記予備記憶手段のうち全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、前記第１書き換え手段は、前記予備記憶手段の記憶内容を前段の予備記憶手段から入力されたコンフィギュレーション情報に書き換えることとしてもよい。
【００２７】
上記構成によれば、各予備記憶手段が個別に外部のコンフィギュレーション装置と接続される接続形態に比べて、プログラマブルロジックデバイスにおける配線コストを削減することができる。なお、その効果は、一部の論理エレメントが縦続接続されていれば得られ、全部の論理エレメントが縦続接続されているときには最大となる。
本発明に係るコンフィギュレーション装置は、複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶するコンフィギュレーション記憶手段と、当該コンフィギュレーション記憶手段の記憶内容の書き換えの可否を示す書き換え情報を記憶する書き換え情報記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション装置であって、各論理エレメントが備える書き換え情報記憶手段に、書き換え情報を記憶させる書き換え情報記憶制御手段と、前記書き換え情報制御手段により記憶された書き換え情報が記憶内容の書き換えを許可することを示すコンフィギュレーション記憶手段に、新たなコンフィギュレーション情報を記憶させるコンフィギュレーション記憶制御手段とを備える。
【００２８】
上記構成によれば、コンフィギュレーション装置は、プログラマブルロジックデバイスが備える複数の論理エレメントのうち、書き換えが許可された論理エレメントのみに新たなコンフィギュレーション情報を記憶させることができる。
したがって、プログラマブルロジックデバイスにおいて一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更させることができる。
【００２９】
また、前記複数の論理エレメントのうちの全部又は一部は、コンフィギュレーション情報を受け渡すために縦続接続されており、前記コンフィギュレーション記憶制御手段は、記憶内容の書き換えが許可されたコンフィギュレーション記憶手段に各々対応するコンフィギュレーション情報を、当該コンフィギュレーション記憶手段の配列に従って順次、縦続接続の初段の論理エレメントに入力することとしてもよい。
【００３０】
上記構成によれば、コンフィギュレーション装置が各論理エレメントに個別に接続される接続形態に比べて、コンフィギュレーション装置における配線コストを削減することができる。なお、その効果は、一部の論理エレメントが縦続接続されていれば得られ、全部の論理エレメントが縦続接続されているときには最大となる。
また、前記縦続接続の最終段の論理エレメントは、コンフィギュレーション情報をプログラマブルロジックデバイスの外部に出力し、前記コンフィギュレーション装置は、さらに、前記コンフィギュレーション記憶制御手段によるコンフィギュレーション情報のシリアル入力に先立って所定のパターンのコンフィギュレーション情報を入力する所定パターン入力手段と、前記所定パターン入力手段により入力されたコンフィギュレーション情報が前記最終段の論理エレメントから出力されたことに基づいて前記コンフィギュレーション記憶制御手段によるシリアル入力を停止させる停止手段とを備えることとしてもよい。
【００３１】
通常、入力されるべきコンフィギュレーション情報の数量は、コンフィギュレーション毎に異なる。例えば、１クロック毎に１のコンフィギュレーション情報を入力するコンフィギュレーション装置が、そのシリアル入力の停止をクロック数により管理する場合、クロックカウンタの設定をコンフィギュレーション毎に変更しなければならない。
しかしながら、上記構成によれば、入力されるべきコンフィギュレーション情報の数量がコンフィギュレーション毎に異なる場合でも、コンフィギュレーション装置は、コンフィギュレーション処理を画一的に実行することができる。ここで、画一的とは、コンフィギュレーション毎の設定変更が必要ないことを意味する。
【００３２】
したがって、当該コンフィギュレーション装置は、コンフィギュレーション毎に設定変更が必要なコンフィギュレーション装置に比べてその処理負担を軽減することができる。
本発明に係るコンフィギュレーション装置は、複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第１記憶手段及び第２記憶手段を備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション装置であって、各論理エレメントが備える第１記憶手段及び第２記憶手段のいずれかに、論理エレメントの機能を規定するコンフィギュレーション情報を記憶させる記憶制御手段と、前記コンフィギュレーション記憶制御手段により記憶させたコンフィギュレーション情報により各論理エレメントの機能を規定させる規定制御手段とを備える。
【００３３】
上記構成によれば、コンフィギュレーション装置は、第１記憶手段及び第２記憶手段の一方に記憶されたコンフィギュレーション情報により各論理エレメントの機能を規定させている間に、他方に新たなコンフィギュレーション情報を記憶させることができる。
したがって、プログラマブルロジックデバイスにおいて一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更させることができる。
【００３４】
また、各論理エレメントが備える前記第１記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されるとともに、前記第２記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、前記記憶制御手段は、第１記憶手段に記憶されるべきコンフィギュレーション情報を、第１記憶手段の配列に従って順次、縦続接続の初段の第１記憶手段に入力し、又は第２記憶手段に記憶されるべきコンフィギュレーション情報を、第２記憶手段の配列に従って順次、縦続接続の初段の第２記憶手段に入力することとしてもよい。
【００３５】
上記構成によれば、コンフィギュレーション装置が各第１記憶手段及び各第２記憶手段に個別に接続される接続形態に比べて、コンフィギュレーション装置における配線コストを削減することができる。
本発明に係るコンフィギュレーション装置は、複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する本記憶手段と、本記憶手段に記憶されるべきコンフィギュレーション情報を記憶する予備記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション装置であって、各論理エレメントが備える予備記憶手段に、コンフィギュレーション情報を記憶させる予備記憶制御手段と、前記予備記憶制御手段により記憶させたコンフィギュレーション情報を、本記憶手段に記憶させる本記憶制御手段とを備える。
【００３６】
上記構成によれば、コンフィギュレーション装置は、本記憶手段に記憶されたコンフィギュレーション情報により各論理エレメントの機能を規定させている間に、予備記憶手段に新たなコンフィギュレーション情報を記憶させることができる。
したがって、プログラマブルロジックデバイスにおいて一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更させることができる。
【００３７】
また、各論理エレメントが備える前記予備記憶手段のうちの全部又は一部は、コンフィギュレーション情報の受け渡しのために縦続接続されており、前記予備記憶制御手段は、予備記憶手段に記憶されるべきコンフィギュレーション情報を、予備記憶手段の配列に従って順次、縦続接続の初段の予備記憶手段に入力することとしてもよい。
上記構成によれば、コンフィギュレーション装置が各予備記憶手段に個別に接続される接続形態に比べて、コンフィギュレーション装置における配線コストを削減することができる。
【００３８】
本発明に係るコンフィギュレーション方法は、複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶するコンフィギュレーション記憶手段と、当該コンフィギュレーション記憶手段の記憶内容の書き換えの要否を示す書き換え情報を記憶する書き換え情報記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション方法であって、各論理エレメントが備える書き換え情報記憶手段に、書き換え情報を記憶させる書き換え情報記憶制御ステップと、前記書き換え情報制御ステップにより記憶された書き換え情報が記憶内容の書き換えを許可することを示すコンフィギュレーション記憶手段に、コンフィギュレーション情報を記憶させるコンフィギュレーション記憶制御ステップとを含む。
【００３９】
上記構成によれば、上述したコンフィギュレーション装置と同様の効果を奏することができる。
本発明に係るコンフィギュレーション方法は、複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する第１記憶手段及び第２記憶手段を備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション方法であって、各論理エレメントが備える第１記憶手段及び第２記憶手段のいずれかに、論理エレメントの機能を規定するコンフィギュレーション情報を記憶させる記憶制御ステップと、前記コンフィギュレーション記憶制御ステップにより記憶させたコンフィギュレーション情報により各論理エレメントの機能を規定させる規定制御ステップとを含む。
【００４０】
上記構成によれば、上述したコンフィギュレーション装置と同様の効果を奏することができる。
本発明に係るコンフィギュレーション方法は、複数の論理エレメントを備え、各論理エレメントは、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する本記憶手段と、本記憶手段に記憶されるべきコンフィギュレーション情報を記憶する予備記憶手段とを備えてなるプログラマブルロジックデバイスに対して、コンフィギュレーションを実行するコンフィギュレーション方法であって、各論理エレメントが備える予備記憶手段に、コンフィギュレーション情報を記憶させる予備記憶制御ステップと、前記予備記憶制御ステップにより記憶させたコンフィギュレーション情報を、本記憶手段に記憶させる本記憶制御ステップとを含む。
【００４１】
上記構成によれば、上述したコンフィギュレーション装置と同様の効果を奏することができる。
【発明を実施するための最良の形態】
【００４２】
（実施の形態１）
＜構成＞
図１は、実施の形態１に係るプログラマブルロジックデバイスの構成を示す図である。
プログラマブルロジックデバイス１０１は、１６個の論理エレメント（ＬＥ０−ＬＥ１５）を備えている。各論理エレメントは、コンフィギュレーション記憶部１１を含む単位セル１７と書き換え情報記憶部１４を含む単位セル１８を備える。コンフィギュレーション記憶部１１は、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する。書き換え情報記憶部１４は、コンフィギュレーション記憶部１１の記憶内容の書き換えの可否を示す書き換え情報を記憶する。
【００４３】
なお、各コンフィギュレーション記憶部１１は、縦続接続されてシフトレジスタを構成している。また、各書き換え情報記憶部１４も、縦続接続されてシフトレジスタを構成している。
実施の形態１の特徴は、各論理エレメントが、許可指示を受けたときは、コンフィギュレーション記憶部１１の記憶内容を書き換え、許可指示を受けないときは、コンフィギュレーション記憶部１１の記憶内容を書き換えないことである。
【００４４】
ここでは、機能が変更されるべき論理エレメントに許可指示が与えられ、動作中の論理エレメントには許可指示が与えられないように運用する。この場合、機能が変更されるべき論理エレメントは、コンフィギュレーション情報の書き換えによりその機能が変更される。一方、動作中の論理エレメントは、コンフィギュレーション情報が書き換わらないのでその機能が変更されない。
【００４５】
したがって、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができる。
ここで、各論理エレメントが記憶内容を書き換えるか否かは、各書き換え情報記憶部１４に記憶された書き換え情報により定められる。各書き換え情報は、端子ｔ２３からシリアル入力され、予め各書き換え情報記憶部１４に行き渡っている。
【００４６】
なお、プログラマブルロジックデバイス１０１は、その他、制御信号Ｓ２及びＳ３、クロック信号ＣＬＫが入力される。また、最終段の論理エレメント（ＬＥ１５）は、コンフィギュレーション情報を外部に出力する。
図２は、実施の形態１に係る論理エレメントの構成を示す図である。
図２には、１６個の論理エレメントのうちの３個の論理エレメント（ＬＥ１、ＬＥ２、ＬＥ３）が記載されている。各論理エレメントは同一構成なので、論理エレメント（ＬＥ２）についてのみ説明する。
【００４７】
論理エレメント（ＬＥ２）は、コンフィギュレーション記憶部１１ｂ、マルチプレクサ１２ｂ、ＡＮＤ素子１３ｂ、書き換え情報記憶部１４ｂ、ＡＮＤ素子１５ｂ、バイパス回路１６ｂを備える。
コンフィギュレーション記憶部１１ｂ及び書き換え情報記憶部１４ｂは、それぞれＤフリップフロップにより構成される。ここで、コンフィギュレーション情報は２ビットの情報であり、書き換え情報は１ビットの情報とする。
【００４８】
コンフィギュレーション記憶部１１ｂの出力端子Ｑは、内部回路とマルチプレクサ１２ｂに接続されている。ここで、内部回路とは、コンフィギュレーション情報に応じて異なる機能を実現する回路である。例えば、コンフィギュレーション情報が加算器を示す場合には加算器として働き、乗算器を示す場合に乗算器として働くＡＬＵである。出力端子Ｑが内部回路に接続されていることにより、コンフィギュレーション記憶部１１ｂは、コンフィギュレーション情報を記憶するのみならず、当該コンフィギュレーション情報に従って内部回路の機能を規定することができる。
【００４９】
マルチプレクサ１２ｂは、第１の入力端子にコンフィギュレーション記憶部１１ｂの出力端子Ｑが接続され、第２の入力端子にバイパス回路１６ｂが接続されている。また、マルチプレクサ１２ｂは、その出力端子が後段の論理エレメント（ＬＥ３）のコンフィギュレーション記憶部１１ｃの入力端子Ｄに接続されている。マルチプレクサ１２ｂがいずれの入力端子を選択するかは、書き換え情報Ｓ４ｂにより定められる。
【００５０】
ＡＮＤ素子１３ｂは、制御信号Ｓ２、クロック信号ＣＬＫ、及び書き換え情報Ｓ４ｂの論理積を、コンフィギュレーション記憶部１１ｂのクロック端子に出力する。
書き換え情報記憶部１４ｂの出力端子Ｑは、マルチプレクサ１２ｂ及びＡＮＤ素子１３ｂに接続されているとともに、後段の論理エレメント（ＬＥ３）の書き換え情報記憶部１４ｃの入力端子Ｄに接続されている。
【００５１】
ＡＮＤ素子１５ｂは、制御信号Ｓ３及びクロック信号ＣＬＫの論理積を、書き換え情報記憶部１４ｂのクロック端子に出力する。
図３は、論理エレメントの動作例を示す図である。
書き換え情報記憶部１４ａ、１４ｂ、１４ｃは、それぞれ書き換え情報「０」、「０」、「１」を予め記憶しているものとする。また、制御信号Ｓ２は「１」に設定されている。
【００５２】
まず、論理エレメント（ＬＥ１）に着目する。ＡＮＤ素子１３ａは、書き換え情報Ｓ４ａが「０」なので、たとえ制御信号Ｓ２が「１」であってもクロック信号ＣＬＫを出力することはなく、常に「０」を出力する。即ち、ＡＮＤ素子１３ａは、コンフィギュレーション記憶部１１ａに記憶内容の書き換えを禁止する。したがって、コンフィギュレーション記憶部１１ａの記憶内容が書き換えられることはない。
【００５３】
また、マルチプレクサ１２ａは、書き換え情報Ｓ４ａが「０」なので、第２の入力端子を選択する。したがって、論理エレメント（ＬＥ１）に入力されたコンフィギュレーション情報は、バイパス回路１６ａを通過して、後段の論理エレメント（ＬＥ２）に出力される。
論理エレメント（ＬＥ２）に着目すると、ここでも書き換え情報Ｓ４ｂが「０」なので、論理エレメント（ＬＥ１）と同様に動作する。
【００５４】
最後に、論理エレメント（ＬＥ３）に着目する。ＡＮＤ素子１３ｃは、書き換え情報Ｓ４ｃが「１」なので、制御信号Ｓ２が「１」であればクロック信号ＣＬＫを出力する。即ち、ＡＮＤ素子１３ｃは、コンフィギュレーション記憶部１１ｃに記憶内容を書き換えさせる。
また、マルチプレクサ１２ｃは、書き換え情報Ｓ４ｃが「１」なので、第１の入力端子を選択する。したがって、論理エレメント（ＬＥ３）に入力されたコンフィギュレーション情報は、コンフィギュレーション記憶部１１ｃに記憶された後、後段の論理エレメント（ＬＥ４）に出力される。
【００５５】
次に、書き換え情報記憶部１４ａ、１４ｂ、１４ｃは、それぞれ書き換え情報「０」、「０」、「１」を予め記憶しているが、これらの設定方法について説明する。
書き換え情報の設定の際には、制御信号Ｓ３は「１」に設定され、制御信号Ｓ２は「０」に設定される。
ＡＮＤ素子１５ａ、１５ｂ、１５ｃは、制御信号Ｓ３が「１」であれば、それぞれクロック信号ＣＬＫを出力する。したがって、書き換え情報記憶部１４ａ、１４ｂ、１４ｃは、シフトレジスタとして動作する。各論理エレメントに記憶されるべき書き換え情報は、論理エレメントＬＥ１５からＬＥ０までの配列に従って順次入力される。その結果、各書き換え情報は、１クロック毎に順次転送されて１６クロックで全ての論理エレメントに行き渡る。その時点で、制御信号Ｓ３が「０」に設定され、シフト動作が停止する。このようにして、書き換え情報が設定される。
【００５６】
図４は、実施の形態１に係るコンフィギュレーション装置の構成を示す図である。
コンフィギュレーション装置１０２は、プログラマブルロジックデバイス１０１のコンフィギュレーションを実行する装置である。コンフィギュレーション装置１０２は、書き換え情報記憶制御部１１１、コンフィギュレーション記憶制御部１１２、所定パターン入力部１１３、停止部１１４、クロック部１１７を備える。
【００５７】
書き換え情報記憶制御部１１１は、プログラマブルロジックデバイス１０１内の各論理エレメントが備える書き換え情報記憶部１４に、それぞれに対応する書き換え情報を記憶させる。具体的には、制御信号Ｓ３を「０」から「１」に設定するとともに、論理エレメントＬＥ１５からＬＥ０までに各々対応する書き換え情報を、１クロック毎にプログラマブルロジックデバイス１０１に順次入力する。そして、１６クロック後に制御信号Ｓ３を「１」から「０」に設定する。
【００５８】
コンフィギュレーション記憶制御部１１２は、書き換え情報「１」が記憶された論理エレメントに、コンフィギュレーション情報を記憶させる。具体的には、書き換え情報記憶制御部１１１による書き換え情報の入力が完了した後、制御信号Ｓ２を「０」から「１」に設定するとともに、１クロック毎に書き換え情報「１」が記憶された論理エレメントに各々対応するコンフィギュレーション情報をプログラマブルロジックデバイス１０１に順次入力する。その後、停止部１１４から出力された停止信号に基づいてコンフィグレーション情報の入力を停止する。
【００５９】
所定パターン入力部１１３は、コンフィギュレーション記憶制御部１１２がコンフィギュレーション情報を入力するのに先立って、２ビットの所定パターンを入力する。
停止部１１４は、論理エレメント（ＬＥ１５）が出力するコンフィギュレーション情報を監視しており、所定パターンが出力されたときコンフィギュレーション記憶制御部１１２に停止信号を出力する。停止部１１４は、この機能を実現するために、所定パターンを保持している所定パターン保持部１１５と、論理エレメント（ＬＥ１５）の出力と所定パターンとを比較して一致すれば停止信号を出力する比較部１１６を備える。
【００６０】
クロック部１１７は、プログラマブルロジックデバイス１０１にクロック信号ＣＬＫを供給するとともに、コンフィギュレーション装置１０２の各機能部にもクロック信号ＣＬＫを供給する。
＜動作例＞
以下に、実施の形態１に係るプログラマブルロジックデバイス１０１が、一部の論理エレメントを動作させつつ所望の論理エレメントの機能を変更する場合の動作例を示す。
【００６１】
図５は、全ての論理エレメントが書き換え情報を記憶した場面を示す図である。
ここでは、動作中の一部の論理エレメントを、ＬＥ１４、ＬＥ１３、ＬＥ１２、ＬＥ１１、ＬＥ１０とする。また、機能の変更が所望される論理エレメントを、ＬＥ９、ＬＥ８、ＬＥ６、ＬＥ５、ＬＥ４、ＬＥ３、ＬＥ２とする。
なお、以下では、コンフィギュレーション情報を「Ａ」、「Ｂ」、「Ｎ」で示し、「Ａ」は機能１、「Ｂ」は機能２、「Ｎ」はＮＯＰ（ノーオペレーション）を意味するものとする。また、所定パターンを「Ｘ」で示す。
【００６２】
まず、コンフィギュレーション装置１０２は、ＬＥ１５からＬＥ０までの論理エレメントにそれぞれ記憶される書き換え情報を、論理エレメントの配列に従って順次出力する。ここで、書き換え情報は、機能の変更が所望される論理エレメントについては「１」、それ以外の論理エレメントについては「０」が設定される。プログラマブルロジックデバイス１０１は、それらの書き換え情報を順次転送して各論理エレメントに行き渡らせる。
【００６３】
これにより、図５に示すように、機能の変更が所望される論理エレメントには書き換え情報「１」が記憶され、それ以外の論理エレメントには書き換え情報「０」が記憶される。
図６は、コンフィギュレーション情報に先立って所定パターンが入力される場面を示す図である。
【００６４】
このとき、所定パターン「Ｘ」は、論理エレメントＬＥ０、ＬＥ１を通過して、ＬＥ２が備えるコンフィギュレーション記憶部１１の入力端子Ｄまで達している。
図７は、１クロック後の状態を示す図である。
１クロック目で、論理エレメントＬＥ２が備えるコンフィギュレーション記憶部１１は、その記憶内容を、入力端子Ｄに入力されている所定パターン「Ｘ」に書き換える。それとともに、論理エレメントＬＥ９に記憶させるべきコンフィギュレーション情報「Ａ」がプログラマブルロジックデバイス１０１に入力される。このとき、コンフィギュレーション情報「Ａ」は、論理エレメントＬＥ０、ＬＥ１を通過して、ＬＥ２が備えるコンフィギュレーション記憶部１１の入力端子Ｄまで達している。
【００６５】
図８は、２クロック後の状態を示す図である。
２クロック目で、論理エレメントＬＥ３が所定パターン「Ｘ」を記憶するとともに、論理エレメントＬＥ２がコンフィギュレーション情報「Ａ」を記憶する。
図９は、３クロック後の状態を示す図である。
３クロック目で、論理エレメントＬＥ４が所定パターン「Ｘ」を記憶し、論理エレメントＬＥ３がコンフィギュレーション情報「Ａ」を記憶し、さらに、論理エレメントＬＥ２がコンフィギュレーション情報「Ａ」を記憶する。
【００６６】
その後、順次コンフィギュレーション情報が入力される。
図１０は、６クロック後の状態を示す図である。
６クロック目で、所定パターン「Ｘ」は、論理エレメントＬＥ８に記憶される。
図１１は、７クロック後の状態を示す図である。
７クロック目で、所定パターン「Ｘ」は、論理エレメントＬＥ９に記憶される。論理エレメントＬＥ９以降の論理エレメントは、コンフィギュレーション情報をバイパスする。したがって、このとき、論理エレメントＬＥ１５から所定パターン「Ｘ」が出力される。
【００６７】
比較部１１６は、所定パターン「Ｘ」が出力されたことにより、停止信号を出力する。
図１２は、８クロック後の状態を示す図である。
８クロック目で、機能の変更が所望される論理エレメントの全てにコンフィギュレーション情報が行き渡る。コンフィギュレーション記憶制御部１１２は、比較部１１６が出力した停止信号に基づいて、８クロック後にコンフィギュレーション情報の入力を停止する。
【００６８】
この後、コンフィギュレーション装置は、全ての論理エレメントに書き換え情報「０」を記憶させる。
（実施の形態２）
＜構成＞
図１３は、実施の形態２に係るプログラマブルロジックデバイスの構成を示す図である。
【００６９】
プログラマブルロジックデバイス２０１は、１６個の論理エレメント（ＬＥ）を備えている。各論理エレメントは、第１記憶部２１を含む単位セル２６と第２記憶部２３を含む単位セル２７とを備える。第１記憶部２１及び第２記憶部２３は、いずれも、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する。
各第１記憶部２１は、縦続接続されてシフトレジスタを構成しており、それと独立して、各第２記憶部２３も、縦続接続されてシフトレジスタを構成している。
【００７０】
実施の形態２の特徴は、第１記憶部２１及び第２記憶部２３の一方に記憶されているコンフィギュレーション情報により各論理エレメントの機能を規定しておき、その間に他方のコンフィギュレーション情報を更新することである。
ここでは、機能が変更されるべき論理エレメントでは第２記憶部２３と第１記憶部とが異なるコンフィギュレーション情報を記憶し、動作中の論理エレメントでは第２記憶部２３と第１記憶部２１とが同一のコンフィギュレーション情報を記憶するように運用する。この場合、機能が変更されるべき論理エレメントはコンフィギュレーション情報の入手先を切り替えたときにその機能が変更される。一方、動作中の論理エレメントはコンフィギュレーション情報の入手先を切り替えたときにその機能が変更されない。
【００７１】
したがって、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができる。
なお、プログラマブルロジックデバイス２０１は、その他、制御信号Ｓ４、Ｓ５及びＳ６、クロック信号ＣＬＫが入力される。
図１４は、実施の形態２に係る論理エレメントの構成を示す図である。
【００７２】
図１４には、１６個の論理エレメントのうちの３個の論理エレメント（ＬＥ１、ＬＥ２、ＬＥ３）が記載されている。各論理エレメントは同一構成なので、論理エレメント（ＬＥ２）についてのみ説明する。
論理エレメント（ＬＥ２）は、第１記憶部２１ｂ、ＡＮＤ素子２２ｂ、第２記憶部２３ｂ、ＡＮＤ素子２４ｂ、マルチプレクサ２５ｂを備える。
【００７３】
第１記憶部２１ｂ及び第２記憶部２３ｂは、それぞれＤフリップフロップにより構成される。ここで、コンフィギュレーション情報は２ビットの情報とする。
第１記憶部２１ｂの出力端子Ｑは、後段の第１記憶部２１ｃの入力端子Ｄに接続されるとともに、マルチプレクサ２５ｂに接続されている。
ＡＮＤ素子２２ｂは、制御信号Ｓ４及びクロック信号ＣＬＫの論理積を、第１記憶部２１ｂのクロック端子に出力する。
【００７４】
第２記憶部２３ｂの出力端子Ｑは、後段の第２記憶部２３ｃの入力端子Ｄに接続されるとともに、マルチプレクサ２５ｂに接続されている。
ＡＮＤ素子２４ｂは、制御信号Ｓ５及びクロック信号ＣＬＫの論理積を、第２記憶部２３ｂのクロック端子に出力する。
マルチプレクサ２５ｂは、第１の入力端子に第１記憶部２１ｂの出力端子Ｑを接続し、第２の入力端子に第２記憶部２３ｂの出力端子Ｑを接続している。また、マルチプレクサ２５ｂは、その出力端子を内部回路に接続している。マルチプレクサ２５ｂがいずれの入力端子を選択するかは、制御信号Ｓ６により定められる。
【００７５】
以下に、論理エレメントの動作例を示す。
当初、制御信号Ｓ６は「０」に設定されているものとする。したがって、各論理エレメントＬＥ１、ＬＥ２、ＬＥ３は、それぞれ第１記憶部２１ａ、２１ｂ、２１ｃに記憶されているコンフィギュレーション情報により機能が規定される。
この間に、第２記憶部２３ａ、２３ｂ、２３ｃは、その記憶内容が書き換えられる。
【００７６】
ＡＮＤ素子２４ａ、２４ｂ、２４ｃは、制御信号Ｓ５が「１」であれば、それぞれクロック信号ＣＬＫを出力する。したがって、第２記憶部２３ａ、２３ｂ、２３ｃは、シフトレジスタとして動作する。
各第２記憶部に記憶されるべきコンフィギュレーション情報は、論理エレメントＬＥ１５からＬＥ０までの配列に従って順次入力される。その結果、各コンフィギュレーション情報は、１クロック毎に順次転送されて１６クロックで全ての第２記憶部に行き渡る。その時点で、制御信号Ｓ５が「０」に設定され、シフト動作が停止する。このようにして、コンフィギュレーション情報が書き換えられる。
【００７７】
第２記憶部２３ａ、２３ｂ、２３ｃの記憶内容の書き換えが完了した後、制御信号Ｓ６が「１」に設定される。その結果、各論理エレメントＬＥ１、ＬＥ２、ＬＥ３は、それぞれ第２記憶部２３ａ、２３ｂ、２３ｃに記憶されているコンフィギュレーション情報により機能が規定されることとなる。
このとき、第２記憶部２３及び第１記憶部２１のコンフィギュレーション情報が同一であれば、第２記憶部２３により規定されたとしても論理エレメントの機能は変更されない。また、第２記憶部２３及び第１記憶部２１のコンフィギュレーション情報が異なれば第２記憶部２３により規定されたときに論理エレメントの機能が変更されることになる。
【００７８】
図１５は、実施の形態２に係るコンフィギュレーション装置の構造を示す図である。
コンフィギュレーション装置２０２は、コンフィギュレーション記憶制御部２１１、規定制御部２１２、クロック部２１３を備える。
コンフィギュレーション記憶制御部２１１は、プログラマブルロジックデバイス２０１の各論理エレメントが備える第１記憶部２１及び第２記憶部２３に、それぞれに対応するコンフィギュレーション情報を記憶させる。
【００７９】
具体的には、第１記憶部２１の記憶内容を書き換える場合、制御信号Ｓ４を「０」から「１」に設定するとともに、論理エレメントＬＥ１５からＬＥ０までに各々対応するコンフィギュレーション情報を、１クロック毎にプログラマブルロジックデバイス２０１に順次入力する。そして、１６クロック後に制御信号Ｓ４を「１」から「０」に設定する。
また、第２記憶部２３の記憶内容を書き換える場合、制御信号Ｓ５を「０」から「１」に設定するとともに、論理エレメントＬＥ１５からＬＥ０までに各々対応するコンフィギュレーション情報を、１クロック毎にプログラマブルロジックデバイス２０１に順次入力する。そして、１６クロック後に制御信号Ｓ５を「１」から「０」に設定する。
【００８０】
規定制御部２１２は、各論理エレメントが第１記憶部２１の記憶内容により規定されるべきときは制御信号Ｓ６を「０」に設定し、第２記憶部２３の記憶内容により規定されるべきときは制御信号Ｓ６を「１」に設定する。
クロック部２１３は、プログラマブルロジックデバイス２０１にクロック信号ＣＬＫを供給するとともに、コンフィギュレーション装置２０２の各機能部にもクロック信号ＣＬＫを供給する。
（実施の形態３）
＜構成＞
図１６は、実施の形態３に係るプログラマブルロジックデバイスの構成を示す図である。
【００８１】
プログラマブルロジックデバイス３０１は、１６個の論理エレメント（ＬＥ）を備えている。各論理エレメントは、予備記憶部３１を含む単位セル３５と本記憶部３３を含む単位セル３６とを備える。予備記憶部３１及び本記憶部３３は、いずれも、論理エレメントの機能を規定するコンフィギュレーション情報を記憶する。
予備記憶部３１は、縦続接続されてシフトレジスタを構成している。
【００８２】
本記憶部３３は、書き換え指示を受けたとき、予備記憶部３１に記憶されたコンフィギュレーション情報を記憶する。
実施の形態３の特徴は、コンフィギュレーション情報を転送する予備記憶部３１と、各論理エレメントの内部回路との間に本記憶部３３を介在させたことである。したがって、予備記憶部３１が書き換えられても書き換え指示が与えられるまでは論理エレメントの機能が変更されない。
【００８３】
ここで、機能が変更されるべき論理エレメントには予備記憶部３１が本記憶部３３と異なるコンフィギュレーション情報が記憶され、動作中の論理エレメントには予備記憶部３１が本記憶部３３と同一のコンフィギュレーション情報が記憶されるように運用する。この場合、機能が変更される論理エレメントは書き換え指示を受けたときにその機能が変更される。一方、動作中の論理エレメントは書き換え指示をうけたときにその機能が変更されない。
【００８４】
したがって、一部の論理エレメントが動作中であってもその動作を妨げることなく所望の論理エレメントのみの機能を変更することができる。
なお、プログラマブルロジックデバイス３０１は、その他、制御信号Ｓ７及びＳ８、クロック信号ＣＬＫが入力される。
図１７は、実施の形態３に係る論理エレメントの構成を示す図である。
【００８５】
図１７には、１６個の論理エレメントのうちの３個の論理エレメント（ＬＥ１、ＬＥ２、ＬＥ３）が記載されている。各論理エレメントは同一構成なので、論理エレメント（ＬＥ２）についてのみ説明する。
論理エレメント（ＬＥ２）は、予備記憶部３１ｂ、ＡＮＤ素子３２ｂ、本記憶部３３ｂ、ＡＮＤ素子３４ｂを備える。
【００８６】
予備記憶部３１ｂ及び本記憶部３３ｂは、それぞれＤフリップフロップにより構成される。ここで、コンフィギュレーション情報は２ビットの情報とする。
予備記憶部３１ｂの出力端子Ｑは、後段の予備記憶部３１ｃの入力端子Ｄに接続されるとともに、本記憶部３３ｂの入力端子Ｄに接続されている。
ＡＮＤ素子３２ｂは、制御信号Ｓ７及びクロック信号ＣＬＫの論理積を、予備記憶部３１ｂのクロック端子に出力する。
【００８７】
本記憶部３３ｂの出力端子Ｑは、内部回路に接続されている。出力端子Ｑが内部回路に接続されていることにより、本記憶部３３ｂは、コンフィギュレーション情報を記憶するのみならず、当該コンフィギュレーション情報に従って内部回路の機能を規定することができる。
ＡＮＤ素子３４ｂは、制御信号Ｓ８及びクロック信号ＣＬＫの論理積を、本記憶部３３ｂのクロック端子に出力する。
【００８８】
以下に、論理エレメントの動作例を示す。
各論理エレメントＬＥ１、ＬＥ２、ＬＥ３は、それぞれ本記憶部３３ａ、３３ｂ、３３ｃに記憶されているコンフィギュレーション情報により機能が規定される。コンフィギュレーション情報の書き換えをしないときは、制御信号Ｓ８は「０」に設定される。
この間に、予備記憶部３１ａ、３１ｂ、３１ｃは、その記憶内容が書き換えられる。
【００８９】
ＡＮＤ素子３２ａ、３２ｂ、３２ｃは、制御信号Ｓ７が「１」であれば、それぞれクロック信号ＣＬＫを出力する。したがって、予備記憶部３１ａ、３１ｂ、３１ｃは、シフトレジスタとして動作する。
各予備記憶部に記憶されるべきコンフィギュレーション情報は、論理エレメントＬＥ１５からＬＥ０までの配列に従って順次入力される。その結果、各コンフィギュレーション情報は、１クロック毎に順次転送されて１６クロックで全ての予備記憶部に行き渡る。その時点で、制御信号Ｓ７が「０」に設定され、シフト動作が停止する。このようにして、コンフィギュレーション情報が書き換えられる。
【００９０】
予備記憶部３１ａ、３１ｂ、３１ｃの記憶内容の書き換えが完了した後、制御信号Ｓ８が「１」に設定される。これにより、本記憶部３３ａ、３３ｂ、３３ｃの記憶内容は、それぞれ予備記憶部３１ａ、３１ｂ、３１ｃに記憶されているコンフィギュレーション情報に書き換えられる。その結果、各論理エレメントＬＥ１、ＬＥ２、ＬＥ３は、それぞれ機能が変更されることとなる。制御信号Ｓ８は、その後「０」に設定される。
【００９１】
このとき、本記憶部３３及び予備記憶部３１のコンフィギュレーション情報が同一であれば、本記憶部３３が予備記憶部３１のコンフィギュレーション情報を記憶したとしても論理エレメントの機能は変更されない。また、本記憶部３３及び予備記憶部３１のコンフィギュレーション情報が異なれば、本記憶部３３が予備記憶部３１のコンフィギュレーション情報を記憶したときに論理エレメントの機能が変更されることになる。
【００９２】
図１８は、実施の形態３に係るコンフィギュレーション装置の構造を示す図である。
コンフィギュレーション装置３０２は、予備記憶制御部３１１、本記憶制御部３１２、クロック部３１３を備える。
予備記憶制御部３１１は、プログラマブルロジックデバイス３０１の各論理エレメントが備える予備記憶部３１に、それぞれに対応するコンフィギュレーション情報を記憶させる。
【００９３】
具体的には、制御信号Ｓ７を「０」から「１」に設定するとともに、論理エレメントＬＥ１５からＬＥ０までに各々対応するコンフィギュレーション情報を、１クロック毎にプログラマブルロジックデバイス３０１に順次入力する。そして、１６クロック後に制御信号Ｓ７を「１」から「０」に設定する。
本記憶制御部３１２は、本記憶部３３の記憶内容を、予備記憶部３１の記憶内容に書き換えるとき、制御信号Ｓ８を「１」とし、それ以外のとき制御信号Ｓ８を「０」とする。
【００９４】
クロック部３１３は、プログラマブルロジックデバイス３０１にクロック信号ＣＬＫを供給するとともに、コンフィギュレーション装置３０２の各機能部にもクロック信号ＣＬＫを供給する。
以上、本発明に係るプログラマブルロジックデバイス及びそのコンフィギュレーション装置並びにコンフィギュレーション方法について、実施の形態に基づいて説明したが、本発明はこれらの実施の形態に限定されない。例えば、以下のような変形例が考えられる。
（１）各実施の形態では、１６個の論理エレメントを備えたプログラマブルロジックデバイスで説明したが、論理エレメントの数量は１６個に限らない。
（２）各実施の形態では、コンフィギュレーション情報を２ビットの情報としているが、これに限らず、論理エレメントが実現する各機能をそれぞれ指定することができるビット数であればよい。
（３）実施の形態１では、書き換え情報の変更が完了してからコンフィギュレーション情報が入力されるが、コンフィギュレーション情報を書き換えるコンフィギュレーション記憶部に先頭のコンフィギュレーション情報（実施の形態では、「Ｘ」）が到達する前に、対応する書き換え情報が変更されていればよい。
（４）実施の形態１では、コンフィギュレーションの後に使用しない論理エレメントには、コンフィギュレーション情報の書き換えを不可としているが、これに限らず、使用しない論理エレメントにもコンフィギュレーション情報の書き換えをさせてもよい。さらに、その際に、ＮＯＰを割り当ててもよい。
（５）実施の形態１では、書き換え情報記憶部は、コンフィギュレーション情報記憶部と１対１で対応しているが、これに限らない。例えば、一の書き換え情報記憶部が複数のコンフィギュレーション情報記憶部に書き換え情報を与えることとしてもよい。
（６）実施の形態１では、停止部は、コンフィギュレーション装置に設けられているが、これに限らず、プログラマブルロジックデバイスに設けてもよい。
（７）実施の形態１では、コンフィギュレーション情報の受け渡しに関して、論理エレメントは縦続接続されているが、これに限らない。例えば、ツリー構造状の接続、ネットワーク状の接続であっても構わない。
【産業上の利用可能性】
【００９５】
本発明は、ＦＰＧＡに代表されるプログラマブルロジックデバイス及びそのコンフィギュレーション装置に適用できる。
【図面の簡単な説明】
【００９６】
【図１】実施の形態１に係るプログラマブルロジックデバイスの構成を示す図である。
【図２】実施の形態１に係る論理エレメントの構成を示す図である。
【図３】論理エレメントの動作例を示す図である。
【図４】実施の形態１に係るコンフィギュレーション装置の構成を示す図である。
【図５】全ての論理エレメントが書き換え情報を記憶した場面を示す図である。
【図６】コンフィギュレーション情報に先立って所定パターンが入力される場面を示す図である。
【図７】１クロック後の状態を示す図である。
【図８】２クロック後の状態を示す図である。
【図９】３クロック後の状態を示す図である。
【図１０】６クロック後の状態を示す図である。
【図１１】７クロック後の状態を示す図である。
【図１２】８クロック後の状態を示す図である。
【図１３】実施の形態２に係るプログラマブルロジックデバイスの構成を示す図である。
【図１４】実施の形態２に係る論理エレメントの構成を示す図である。
【図１５】実施の形態２に係るコンフィギュレーション装置の構造を示す図である。
【図１６】実施の形態３に係るプログラマブルロジックデバイスの構成を示す図である。
【図１７】実施の形態３に係る論理エレメントの構成を示す図である。
【図１８】は、実施の形態３に係るコンフィギュレーション装置の構造を示す図である。
【図１９】従来のプログラマブルロジックデバイスの構成を示す図である。
【符号の説明】
【００９７】
１１    コンフィギュレーション記憶部
１２    マルチプレクサ
１３    ＡＮＤ素子
１４    書き換え情報記憶部
１５    ＡＮＤ素子
１６    バイパス回路
２１    第１記憶部
２２    ＡＮＤ素子
２３    第２記憶部
２４    ＡＮＤ素子
２５    マルチプレクサ
３１    予備記憶部
３２    ＡＮＤ素子
３３    本記憶部
３４    ＡＮＤ素子
１０１、２０１、３０１    プログラマブルロジックデバイス
１０２、２０２、３０２    コンフィギュレーション装置
１１１    書き換え情報記憶制御部
１１２、２１１    コンフィギュレーション記憶制御部
１１３    所定パターン入力部
１１４    停止部
１１５    所定パターン保持部
１１６    比較部
１１７、２１３、３１３    クロック部
２１２    規定制御部
３１１    予備記憶制御部
３１２    本記憶制御部
【図１】
2006025379.tif 000003
【図２】
2006025379.tif 000004
【図３】
2006025379.tif 000005
【図４】
2006025379.tif 000006
【図５】
2006025379.tif 000007
【図６】
2006025379.tif 000008
【図７】
2006025379.tif 000009
【図８】
2006025379.tif 000010
【図９】
2006025379.tif 000011
【図１０】
2006025379.tif 000012
【図１１】
2006025379.tif 000013
【図１２】
2006025379.tif 000014
【図１３】
2006025379.tif 000015
【図１４】
2006025379.tif 000016
【図１５】
2006025379.tif 000017
【図１６】
2006025379.tif 000018
【図１７】
2006025379.tif 000019
【図１８】
2006025379.tif 000020
【図１９】
2006025379.tif 000021