(57)【要約】【課題】複数の演算エレメントと、演算エレメント間を相互に接続する複数の配線スイッチからなるリコンフィギュラブル回路のテスト時間を削減する。【解決手段】複数の演算エレメントと、演算エレメント間を相互に接続する複数の配線スイッチからなるリコンフィギュラブル回路Ａにおいて、第１の演算エレメントＥ１に内蔵されたコンフィギュレーションメモリ１１のコンフィギュレーションデータのうち所定のビットを第２の演算エレメントＥ２を使って更新し、第１の演算エレメントＥ１または第３の演算エレメントＥ３の機能を変更する回路構成を持つ。【選択図】図８
2009129046.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算エレメントを配置してなるリコンフィギュラブル回路であって、
前記リコンフィギュラブル回路内の第１の演算エレメントおよび第２の演算エレメントと、
前記第１の演算エレメントに内蔵されたコンフィギュレーションメモリとを有し、
前記コンフィギュレーションメモリの出力データを前記第２の演算エレメントに入力するように構成してあるリコンフィギュラブル回路。
【請求項２】
前記第２の演算エレメントは、前記第１の演算エレメント内の前記コンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを更新する請求項１に記載のリコンフィギュラブル回路。
【請求項３】
前記第２の演算エレメントにより更新されたコンフィギュレーションデータは前記第１の演算エレメント内の前記コンフィギュレーションメモリに入力され、前記第１の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットが変更される請求項２に記載のリコンフィギュラブル回路。
【請求項４】
さらに、第３の演算エレメントと、
第３の演算エレメントに内蔵されたコンフィギュレーションメモリとを有し、
前記第２の演算エレメントにより更新されたコンフィギュレーションデータは、前記第３の演算エレメント内の前記コンフィギュレーションメモリに入力され、
前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットが変更される請求項２に記載のリコンフィギュラブル回路。
【請求項５】
さらに、第４の演算エレメントを有し、前記第４の演算エレメントは、前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを演算し、前記第１の演算エレメント内の前記コンフィギュレーションメモリに入力する請求項４に記載のリコンフィギュラブル回路。
【請求項６】
複数の演算エレメントを配置してなるリコンフィギュラブル回路の機能変更方法であって、
前記リコンフィギュラブル回路をコンフィギュレーションするステップと、
前記リコンフィギュラブル回路でアプリケーションの動作を実行するステップと、
前記リコンフィギュラブル回路内の第１の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第２の演算エレメントを使って更新するステップと、
前記第２の演算エレメントの出力を前記第１の演算エレメントに内蔵されたコンフィギュレーションメモリに入力し、前記第１の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップとを含むリコンフィギュラブル回路の機能変更方法。
【請求項７】
複数の演算エレメントを配置してなるリコンフィギュラブル回路の機能変更方法であって、
前記リコンフィギュラブル回路をコンフィギュレーションするステップと、
前記リコンフィギュラブル回路でアプリケーションの動作を実行するステップと、
前記リコンフィギュラブル回路内の第１の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第２の演算エレメントを使って更新するステップと、
前記第２の演算エレメントの出力を第３の演算エレメントに内蔵されたコンフィギュレーションメモリに入力し、前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップとを含むリコンフィギュラブル回路の機能変更方法。
【請求項８】
複数の演算エレメントを配置してなるリコンフィギュラブル回路の機能変更方法であって、
前記リコンフィギュラブル回路をコンフィギュレーションするステップと、
前記リコンフィギュラブル回路でアプリケーションの動作を実行するステップと、
前記リコンフィギュラブル回路内の第１の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第２の演算エレメントを使って更新するステップと、
前記リコンフィギュラブル回路内の第３の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第４の演算エレメントを使って更新するステップと、
前記第２の演算エレメントの出力を前記第３の演算エレメント内の前記コンフィギュレーションメモリに入力し、前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップと、
前記第４の演算エレメントの出力を前記第１の演算エレメント内のコンフィギュレーションメモリに入力し、前記第１の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップとを含むリコンフィギュラブル回路の機能変更方法。
【請求項９】
電波を送信または受信するアンテナ装置と、
前記アンテナ装置で受信した電波を同調し、所定の周波数の電波を出力するフロントエンド処理装置と、
前記所定の周波数の電波からデジタル信号を出力する復調処理装置と、
前記復調装置から出力されたデジタル信号に対して受信側のデジタルベースバンド処理を行い、アプリケーションデジタル信号を出力するデジタルベースバンド処理装置と、
前記デジタルベースバンド処理装置から出力されたアプリケーションデジタル信号に掛けられた時分割で方式が異なる暗号を復号化し、圧縮されたデジタル音声データを出力する暗号復号装置と、
前記暗号復号装置から出力された圧縮されたデジタル音声データを伸張する音声デコード装置と、
前記音声デコード装置から出力された伸張されたデジタル音声データをアナログ音声信号に変換するＤ／Ａ変換装置と、
前記Ｄ／Ａ変換装置から出力されたアナログ音声信号を音声に変換するスピーカと、
音声をアナログ音声信号に変換するマイクと、
前記マイクから出力されたアナログ音声信号をデジタル音声データに変換するＡ／Ｄ変換装置と、
前記Ａ／Ｄ変換装置から出力されたデジタル音声データを圧縮する音声エンコード装置と、
前記音声エンコード装置から出力された圧縮されたデジタル音声データを時分割で異なる方式で暗号化する暗号化装置と、
前記暗号化装置から出力されたアプリケーションデジタル信号に対して前記デジタルベースバンド処理装置で送信側のデジタルベースバンド処理を行って出力されたデジタル信号を送信用の搬送波に乗せる変調装置と、
変調された搬送波信号を増幅する高周波増幅装置とからなり、
前記暗号復号装置は、請求項２に記載のリコンフィギュラブル回路によって時分割で異なった回路を構成し、
前記暗号化装置は、請求項２に記載のリコンフィギュラブル回路によって時分割で異なった回路を構成することを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能な演算エレメントを行・列の方向に複数配置するリコンフィギュラブル回路およびリコンフィギュラブル回路の機能変更方法に関するものである。
【背景技術】
【０００２】
近年、情報処理端末での情報処理に対するニーズは多様化し、通信方式や信号処理の規格はめまぐるしく変化しているため、製品のライフサイクルはますます短くなる傾向にある。この製品サイクルの短縮化に対応するためには、プログラムによって機能の変更が可能なデバイスが有用である。これらの中で最近注目されているデバイスとして、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向けＩＣ）に匹敵する処理性能とマイクロプロセッサのプログラマビリティを併せ持つデバイスとして、プログラムによって柔軟に回路構成を変更できるリコンフィギュラブル（Re-configurable）回路が注目を集めている。リコンフィギュラブル回路にはいくつかの種類があるが、代表的な例としてはＦＰＧＡ（Field Programmable Gate Array）やダイナミック・リコンフィギュラブル・ＬＳＩを挙げることができる。
【０００３】
これらのリコンフィギュラブル回路のテストに関しては、リコンフィギュラブル回路のすべての機能をテストするために、リコンフィギュラブル回路の各機能に対して、テストの対象となる機能を実現するように、毎回リコンフィギュラブル回路をコンフィギュレーション（configuration：回路情報をＦＰＧＡ等に組み込んでプログラマブルに回路構成すること）した上でテストを実施する必要があり、各機能ごとにリコンフィギュラブル回路のコンフィギュレーションを繰り返すため、テスト時間が増大し、コストの増大につながるという課題がある。
【０００４】
このようなテスト時間の増大を抑えるための方法として、例えば、以下のようなものがある（特許文献１参照）。特許文献１においては、プログラマブルバッファによってロジックエレメント間の配線（インターコネクト）が駆動されているＰＬＤ（プログラマブル・ロジック・デバイス）におけるインターコネクトのテスト方法を記載している。このプログラムバッファは１つのメモリエレメントを持っており、インターコネクトのテストを行う際には、このメモリエレメントを用いてシフトレジスタを構成するようにコンフィギュレーションし、このシフトレジスタのうち、２つのメモリエレメントの間にテスト対象となるバッファとインターコネクトを挿入する。このシフトレジスタ内の信号伝送について１つ目のテストパターンでテストを行う。テスト終了後、別のバッファとインターコネクトを用いて次のテストを実施するが、このときＰＬＤ全体を再度コンフィギュレーションするのではなく、部分再コンフィギュレーションを実行する。このように部分再コンフィギュレーションを繰り返してインターコネクトのテストを実行することによって、少ないコンフィギュレーションデータをロードすればよいため、テスト実行に必要なコンフィギュレーション時間を削減することができ、テスト時間の短縮を行うことができる。
【特許文献１】ＵＳ７１２４３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のテスト方法においては、部分再コンフィギュレーションによるテスト時間の短縮を行っているのはインターコネクト（配線）に対してのみであり、演算エレメント（ロジックエレメント）に対してはＰＬＤ全体を再コンフィギュレーションする方法でテストを実施するようになっている。そのため、演算エレメントの機能毎に再コンフィギュレーションを繰り返す必要があり、演算エレメントのテストにおいてはテスト時間の短縮を図ることはできない。結果として、ＰＬＤの全体のテスト時間を考慮した場合、いまだ改善の余地がある。
【０００６】
さらに、特許文献１に記載のテスト方法においては、部分再コンフィギュレーションを実現するために、ＰＬＤ全体をコンフィギュレーションする場合とは異なったコンフィギュレーションデータを供給するための回路や、部分再コンフィギュレーションデータを保持するためのメモリを搭載する必要があり、チップ面積を増大させるデメリットも生じている。
【０００７】
本発明は、このような事情に鑑みて創作したものであり、チップ面積を増大させることなく、テストを従来技術よりも短いテスト時間で実現することができるリコンフィギュラブル回路およびリコンフィギュラブル回路の機能変更方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
（１）本発明によるリコンフィギュラブル回路は、複数の演算エレメントを配置してなるリコンフィギュラブル回路であって、
前記リコンフィギュラブル回路内の第１の演算エレメントおよび第２の演算エレメントと、
前記第１の演算エレメントに内蔵されたコンフィギュレーションメモリとを有し、
前記コンフィギュレーションメモリの出力データを前記第２の演算エレメントに入力するように構成したものである。
【０００９】
この構成によれば、第１の演算エレメント内のコンフィギュレーションメモリのコンフィギュレーションデータを、第２の演算エレメントによる演算に使用することが可能となる。
【００１０】
（２）上記（１）の構成のリコンフィギュラブル回路において、前記第２の演算エレメントは、前記第１の演算エレメント内の前記コンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを更新するという態様がある。このように構成すれば、第１の演算エレメント内のコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを第２の演算エレメントを使って更新することが可能となる。
【００１１】
（３）上記（２）の構成のリコンフィギュラブル回路において、前記第２の演算エレメントにより更新されたコンフィギュレーションデータは前記第１の演算エレメント内の前記コンフィギュレーションメモリに入力され、前記第１の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットが変更されるという態様がある。このように構成すれば、第１の演算エレメント内のコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを第２の演算エレメントを使って更新し、さらに第２の演算エレメントの出力を第１の演算エレメント内のコンフィギュレーションメモリに入力することによって、第１の演算エレメント内のコンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更し、第１の演算エレメントの機能を変更することが可能となる。
【００１２】
以上のようにして、演算エレメントのテストにおいて、演算エレメントの機能毎に再コンフィギュレーションを繰り返す必要はなくなり、テスト時間の短縮が図られる。また、部分再コンフィギュレーションのためのコンフィギュレーションデータの供給回路やメモリは不要となり、チップ面積の増大を抑制することが可能となる。
【００１３】
（４）上記（２）の構成のリコンフィギュラブル回路において、さらに、第３の演算エレメントと、第３の演算エレメントに内蔵されたコンフィギュレーションメモリとを有し、前記第２の演算エレメントにより更新されたコンフィギュレーションデータは、前記第３の演算エレメント内の前記コンフィギュレーションメモリに入力され、前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットが変更されるという態様がある。このように構成すれば、第１の演算エレメント内のコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを第２の演算エレメントを使って更新し、さらに第２の演算エレメントの出力は第３の演算エレメント内のコンフィギュレーションメモリに入力し、そのコンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更し、第３の演算エレメントの機能を変更することが可能となる。そして、上記と同様に、演算エレメントの機能毎に再コンフィギュレーションを繰り返す必要、および部分再コンフィギュレーションのためのコンフィギュレーションデータの供給回路やメモリを搭載する必要がなくなり、テスト時間の短縮とチップ面積増大の抑制を図ることが可能となる。
【００１４】
（５）上記（４）の構成のリコンフィギュラブル回路において、さらに、第４の演算エレメントを有し、前記第４の演算エレメントは、前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを演算し、前記第１の演算エレメント内の前記コンフィギュレーションメモリに入力するという態様がある。このように構成すれば、第３の演算エレメント内のコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットをリコンフィギュラブル回路内の第４の演算エレメントを使って演算し、第１の演算エレメントに搭載されているコンフィギュレーションメモリに入力し、第１の演算エレメントの機能を変更することが可能となる。そして、上記と同様に、演算エレメントの機能毎に再コンフィギュレーションを繰り返す必要、および部分再コンフィギュレーションのためのコンフィギュレーションデータの供給回路やメモリを搭載する必要がなくなり、テスト時間の短縮とチップ面積増大の抑制を図ることが可能となる。
【００１５】
（６）本発明によるリコンフィギュラブル回路の機能変更方法は、複数の演算エレメントを配置してなるリコンフィギュラブル回路の機能変更方法であって、
前記リコンフィギュラブル回路をコンフィギュレーションするステップと、
前記リコンフィギュラブル回路でアプリケーションの動作を実行するステップと、
前記リコンフィギュラブル回路内の第１の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第２の演算エレメントを使って更新するステップと、
前記第２の演算エレメントの出力を前記第１の演算エレメントに内蔵されたコンフィギュレーションメモリに入力し、前記第１の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップとを含む。
【００１６】
この構成によれば、リコンフィギュラブル回路でのアプリケーション実行後に、再度コンフィギュレーションをすることなく、第２の演算エレメントを用いて第１の演算エレメント内のコンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更し、第１の演算エレメントの機能を変更することが可能となる。したがって、チップ面積増大の抑制を図りながら、演算エレメントにつきテスト時間の短縮を図ることが可能となる。
【００１７】
（７）また、本発明によるリコンフィギュラブル回路の機能変更方法は、複数の演算エレメントを配置してなるリコンフィギュラブル回路の機能変更方法であって、
前記リコンフィギュラブル回路をコンフィギュレーションするステップと、
前記リコンフィギュラブル回路でアプリケーションの動作を実行するステップと、
前記リコンフィギュラブル回路内の第１の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第２の演算エレメントを使って更新するステップと、
前記第２の演算エレメントの出力を第３の演算エレメントに内蔵されたコンフィギュレーションメモリに入力し、前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップとを含む。
【００１８】
この構成によれば、リコンフィギュラブル回路でのアプリケーション実行後に、再度コンフィギュレーションをすることなく、第２の演算エレメントを用いて第３の演算エレメント内のコンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更し、第３の演算エレメントの機能を変更することが可能となる。したがって、上記と同様に、チップ面積増大の抑制を図りながら、演算エレメントにつきテスト時間の短縮を図ることが可能となる。
【００１９】
（８）また、本発明によるリコンフィギュラブル回路の機能変更方法は、複数の演算エレメントを配置してなるリコンフィギュラブル回路の機能変更方法であって、
前記リコンフィギュラブル回路をコンフィギュレーションするステップと、
前記リコンフィギュラブル回路でアプリケーションの動作を実行するステップと、
前記リコンフィギュラブル回路内の第１の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第２の演算エレメントを使って更新するステップと、
前記リコンフィギュラブル回路内の第３の演算エレメントに内蔵されたコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを前記リコンフィギュラブル回路内の第４の演算エレメントを使って更新するステップと、
前記第２の演算エレメントの出力を前記第３の演算エレメント内の前記コンフィギュレーションメモリに入力し、前記第３の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップと、
前記第４の演算エレメントの出力を前記第１の演算エレメント内のコンフィギュレーションメモリに入力し、前記第１の演算エレメント内の前記コンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更するステップとを含む。
【００２０】
このように構成すれば、リコンフィギュラブル回路でのアプリケーション実行後に、再度コンフィギュレーションをすることなく、第２の演算エレメントを用いて第３の演算エレメント内のコンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更し、第３の演算エレメントの機能を変更すると同時に、第４の演算エレメントを用いて第１の演算エレメント内のコンフィギュレーションメモリのコンフィギュレーションデータのうち所定のビットを変更し、第１の演算エレメントの機能を変更することが可能となる。したがって、上記と同様に、チップ面積増大の抑制を図りながら、演算エレメントにつきテスト時間の短縮を図ることが可能となる。
【００２１】
（９）また、本発明による通信装置は、電波を送信または受信するアンテナ装置と、前記アンテナ装置で受信した電波を同調し、所定の周波数の電波を出力するフロントエンド処理装置と、前記所定の周波数の電波からデジタル信号を出力する復調処理装置と、前記復調装置から出力されたデジタル信号に対して受信側のデジタルベースバンド処理を行い、アプリケーションデジタル信号を出力するデジタルベースバンド処理装置と、前記デジタルベースバンド処理装置から出力されたアプリケーションデジタル信号に掛けられた時分割で方式が異なる暗号を復号化し、圧縮されたデジタル音声データを出力する暗号復号装置と、前記暗号復号装置から出力された圧縮されたデジタル音声データを伸張する音声デコード装置と、前記音声デコード装置から出力された伸張されたデジタル音声データをアナログ音声信号に変換するＤ／Ａ変換装置と、前記Ｄ／Ａ変換装置から出力されたアナログ音声信号を音声に変換するスピーカと、音声をアナログ音声信号に変換するマイクと、前記マイクから出力されたアナログ音声信号をデジタル音声データに変換するＡ／Ｄ変換装置と、前記Ａ／Ｄ変換装置から出力されたデジタル音声データを圧縮する音声エンコード装置と、前記音声エンコード装置から出力された圧縮されたデジタル音声データを時分割で異なる方式で暗号化する暗号化装置と、前記暗号化装置から出力されたアプリケーションデジタル信号に対して前記デジタルベースバンド処理装置で送信側のデジタルベースバンド処理を行って出力されたデジタル信号を送信用の搬送波に乗せる変調装置と、変調された搬送波信号を増幅する高周波増幅装置とからなり、前記暗号復号装置は、請求項２に記載のリコンフィギュラブル回路によって時分割で異なった回路を構成し、前記暗号化装置は、請求項２に記載のリコンフィギュラブル回路によって時分割で異なった回路を構成することを特徴とする。
【００２２】
このように構成すれば、一定時間後に必ず暗号化回路・暗号復号回路が変更されるため、極めて秘匿性の高い通信装置を実現することが可能である。
【発明の効果】
【００２３】
本発明によれば、リコンフィギュラブル回路でのアプリケーション実行後に、再度コンフィギュレーションをすることなく、ある演算エレメントの機能を他の演算エレメントを用いて変更することができる。加えて、従来技術の場合の部分再コンフィギュレーションに必要な異なったコンフィギュレーションデータを供給するための回路やメモリは不要である。すなわち、本発明によれば、チップ面積を増大させることなく、リコンフィギュラブル回路のテストを従来技術よりも短いテスト時間で実現することができる。
【００２４】
また、本発明のリコンフィギュラブル回路を通信装置の暗号化・暗号復号化回路に用いることによって、一定時間後に必ず暗号化回路・暗号復号回路の変更が可能であり、極めて秘匿性の高い通信装置を実現することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明にかかわるリコンフィギュラブル回路およびリコンフィギュラブル回路の機能変更方法の実施の形態を図面を用いて詳細に説明する。
【００２６】
（実施の形態１）
図１は本発明の実施の形態１におけるリコンフィギュラブル回路を示す構成図である。
【００２７】
図１において、リコンフィギュラブル回路Ａは、縦と横の方向に複数配置した演算エレメント１と、演算エレメント１の間に水平と垂直方向に配置され、演算エレメント１どうしを相互に接続する配線２と、規則的に配置したデータメモリ３と、リコンフィギュラブル回路Ａのテストの際にテストのためのコンフィギュレーションデータを供給するテストＲＯＭ４と、演算エレメント１とデータメモリ３とにクロック信号を供給するクロック生成ブロック５と、チップ外部との通信を行う外部ＩＯブロック６と、リコンフィギュラブル回路Ａのコンフィギュレーション動作やアプリケーション回路動作のシーケンスを制御する動作シーケンス制御回路７とを備える。
【００２８】
図２は図１のリコンフィギュラブル回路Ａに搭載する演算エレメント１の詳しい構成を示すブロック図である。
【００２９】
演算エレメント１は、回路構成の情報を格納するコンフィギュレーションメモリ１１と、コンフィギュレーションメモリ１１に格納されているプログラムによって複数の種類の演算が可能な、算術論理演算回路や乗算器などからなる演算ブロック１３と、コンフィギュレーションメモリ１１に格納されているプログラムによって演算ブロック１３に入力するためのデータを一時保持しておくことが可能な入力レジスタ１２と、コンフィギュレーションメモリ１１に格納されているプログラムによって演算ブロック１３からの出力を一時保持しておくことが可能な出力レジスタ１４と、コンフィギュレーションメモリ１１に格納されているプログラムによって入力レジスタ１２の入力や出力レジスタ１４の出力を、演算エレメント１どうしを相互に接続する配線２へと接続することが可能なスイッチボックス１５と、リコンフィギュラブル回路Ａをコンフィギュレーションする際にコンフィギュレーションメモリ１１に格納するコンフィギュレーションデータや入力レジスタ１２に設定する初期値を、シフトレジスタ状に転送するためのコンフィギュレーションチェーン１６と、コンフィギュレーションメモリ１１へ書き込むコンフィギュレーションデータをコンフィギュレーションチェーン１６または演算エレメント１の外部のうちから選択するコンフィギュレーションセレクタ１７と、コンフィギュレーションメモリ１１に格納されているプログラムによってコンフィギュレーションメモリ１１の入力を演算エレメント１どうしを相互に接続する配線２へ接続することが可能なコンフィギュレーションデータ入力スイッチボックス１８と、コンフィギュレーションメモリ１１に格納されているプログラムによってコンフィギュレーションメモリ１１の出力を演算エレメント１どうしを相互に接続する配線２へ接続することが可能なコンフィギュレーションデータ出力スイッチボックス１９とを備えている。また、信号系として、入力レジスタ１２と出力レジスタ１４を用いてコンフィギュレーションチェーン１６に形成するコンフィギュレーションモード信号Ｓ１と、演算エレメント１をアプリケーション動作モードに設定するためのアプリケーションモード信号Ｓ２と、コンフィギュレーションセレクタ１７を制御するコンフィギュレーションセレクタ制御信号Ｓ３と、コンフィギュレーションメモリ１１をライトするためのコンフィギュレーションメモリライトイネーブル信号Ｓ４とを備える。
【００３０】
図３は、コンフィギュレーションメモリ１１に格納するコンフィギュレーションデータの構成を示した構成図である。
【００３１】
スイッチボックス１５の接続状態を決定するスイッチボックス用コンフィギュレーションデータＤ１と、入力レジスタ１２の接続を決定する入力レジスタ用コンフィギュレーションデータＤ２と、出力レジスタ１４の接続を決定する出力レジスタ用コンフィギュレーションデータＤ３と、コンフィギュレーションデータ入力スイッチボックス１８の接続を決定するコンフィギュレーションデータ入力スイッチボックス用コンフィギュレーションデータＤ４と、コンフィギュレーションデータ出力スイッチボックス１９の接続を決定するコンフィギュレーションデータ出力スイッチボックス用コンフィギュレーションデータＤ５と、演算ブロック１３の演算を決定する演算ブロック用コンフィギュレーションデータＤ６からなる。演算ブロック用コンフィギュレーションデータＤ６のうち、演算ブロック１３の算術論理演算回路の機能を決定するコンフィギュレーションコードと、算術論理演算回路の機能の対応は表Ｔに示す通りである。
【００３２】
図４は、図１と図２の構成をもち、演算エレメントのコンフィギュレーションデータが図３の構成を持つリコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテストを実施するように、リコンフィギュラブル回路Ａをコンフィギュレーションした場合の回路構成を示した構成図である。
【００３３】
数個の演算エレメント１と１個のデータメモリ３を１組として、リコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテスト回路を構成し、第１の演算エレメントＥ１の算術論理演算回路のテストを実施する。なお、図４のように同時にもう１つの演算エレメントのテストを実施してもよい。第１の演算エレメントＥ１に内蔵のコンフィギュレーションメモリ１１の出力を隣接する第２の演算エレメントＥ２に内蔵の演算ブロック１３の算術論理演算回路の入力に接続する。第２の演算エレメントＥ２に内蔵の演算ブロック１３の算術論理演算回路の出力は、第１の演算エレメントＥ１のコンフィギュレーションデータ入力スイッチボックス１８（図示せず）を介して、第１の演算エレメントＥ１に内蔵のコンフィギュレーションセレクタ１７に接続する。
【００３４】
第１の演算エレメントＥ１の出力レジスタ１４の出力は、第５から第８の演算エレメントＥ５〜Ｅ８によって構成される出力セレクタ２０と配線２を介して、データメモリ３のライトデータ入力端子２１に接続される。
【００３５】
第５から第８の演算エレメントＥ５〜Ｅ８によって構成されるシーケンス制御回路２２はデータメモリ３を制御するためのアドレス信号Ｓ５とライトイネーブル信号Ｓ６を出力し、配線２を介してデータメモリ３のアドレス端子とライトイネーブル端子に接続する。      
【００３６】
また、シーケンス制御回路２２は第１の演算エレメントＥ１のコンフィギュレーションセレクタ制御信号Ｓ３を出力し、配線２を介して第１の演算エレメントＥ１のコンフィギュレーションセレクタ１７に接続する。さらに、シーケンス制御回路２２は出力セレクタ制御信号Ｓ７も出力し、配線２を介して出力セレクタ２０に接続する。また、シーケンス制御回路２２はテスト終了信号Ｓ８を出力し、配線２を介して動作シーケンス制御回路７（図１参照）に接続する。
【００３７】
図４に示したリコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテスト回路の動作について、図５のフローチャートを用いて説明する。
【００３８】
最初に、リコンフィギュラブル回路Ａを図４に示す第１の演算エレメントＥ１の算術論理演算回路のテスト回路にコンフィギュレーションする（ステップｎ１）。
【００３９】
次に、リコンフィギュラブル回路Ａでアプリケーションの動作、すなわち第１の演算エレメントＥ１に内蔵の算術論理演算回路で演算を行い、演算結果をレジスタに保持し、さらにレジスタに保持されている演算結果をデータメモリ３に保存するという算術論理演算回路のテスト動作を実行する（ステップｎ２）。
【００４０】
テスト実行後は、第１の演算エレメントＥ１に内蔵のコンフィギュレーションメモリ１１に格納されているコンフィギュレーションデータのうち所定のビットを第２の演算エレメントＥ２を使って更新する（ステップｎ３）。
【００４１】
次に、第２の演算エレメントＥ２の出力を第１の演算エレメントＥ１のコンフィギュレーションメモリ１１にライトし、第１の演算エレメントＥ１のコンフィギュレーションメモリ１１のコンフィギュレーションデータのうち所定のビットを変更し、第１の演算エレメントＥ１の機能を変更する（ステップｎ４）。
【００４２】
ステップｎ２，ｎ３，ｎ４の動作を、第１の演算エレメントＥ１の機能のテストを網羅するまで繰り返して実行し、第１の演算エレメントＥ１のテストを完了する。
【００４３】
以上のように本実施の形態によれば、第１の演算エレメントＥ１の算術論理演算回路のテストを、テストの冒頭で１回コンフィギュレーションするだけで、その後は第２の演算エレメントＥ２によって、第１の演算エレメントＥ１の算術論理演算回路のコンフィギュレーションメモリ１１のデータを変更し、第１の演算エレメントＥ１の算術論理演算回路のすべての機能をテストすることができる。
【００４４】
これによって、算術論理演算回路の各機能ごとにコンフィギュレーションを繰り返す従来のテスト手法に比較して、短いテスト時間でテストを完了することができる。
【００４５】
（実施の形態２）
図６は、図１と図２の構成をもち、演算エレメントのコンフィギュレーションデータが図３の構成を持つリコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテストを実施するように、リコンフィギュラブル回路Ａをコンフィギュレーションした場合の回路構成を示した、実施の形態２の構成図である。
【００４６】
数個の演算エレメント１と１個のデータメモリ３を１組として、リコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテスト回路を構成し、第３の演算エレメントＥ３の算術論理演算回路のテストを実施する。なお、図６のように同時にもう１つの演算エレメントのテストを実施してもよい。第１の演算エレメントＥ１に内蔵のコンフィギュレーションメモリ１１の出力を隣接する第２の演算エレメントＥ２に内蔵の演算ブロック１３の算術論理演算回路の入力に接続する。第２の演算エレメントＥ２に内蔵の演算ブロック１３の算術論理演算回路の出力は、第３の演算エレメントＥ３のコンフィギュレーションデータ入力スイッチボックス１８（図示せず）を介して、第３の演算エレメントＥ３に内蔵のコンフィギュレーションセレクタ１７に接続する。
【００４７】
第３の演算エレメントＥ３の出力レジスタ１４の出力は、第５から第８の演算エレメントＥ５〜Ｅ８によって構成される出力セレクタ２０と配線２を介して、データメモリ３のライトデータ入力端子２１に接続される。
【００４８】
第５から第８の演算エレメントＥ５〜Ｅ８によって構成されるシーケンス制御回路２２はデータメモリ３を制御するためのアドレス信号Ｓ５とライトイネーブル信号Ｓ６を出力し、配線２を介してデータメモリ３のアドレス端子とライトイネーブル端子に接続する。      
【００４９】
また、シーケンス制御回路２２は第３の演算エレメントＥ３のコンフィギュレーションセレクタ制御信号Ｓ３を出力し、配線２を介して第３の演算エレメントＥ３のコンフィギュレーションセレクタ１７に接続する。さらに、シーケンス制御回路２２は出力セレクタ制御信号Ｓ７も出力し、配線２を介して出力セレクタ２０に接続する。また、シーケンス制御回路２２はテスト終了信号Ｓ８を出力し、配線２を介して動作シーケンス制御回路７（図１参照）に接続する。また、シーケンス制御回路２２は第２の演算エレメントＥ２の演算ブロック１３の算術論理演算回路において、第１の演算エレメントＥ１のコンフィギュレーションデータに対して演算する値を選択するための、演算データセレクタ制御信号Ｓ９を出力し、配線２を介して第２の演算エレメントＥ２に接続する。
【００５０】
図６に示したリコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテスト回路の動作について、図７のフローチャートを用いて説明する。
【００５１】
最初に、リコンフィギュラブル回路Ａを図４に示す第３の演算エレメントＥ３の算術論理演算回路のテスト回路にコンフィギュレーションする（ステップｎ１１）。
【００５２】
次に、リコンフィギュラブル回路Ａでアプリケーションの動作、すなわち第３の演算エレメントＥ３に内蔵の算術論理演算回路で演算を行い、演算結果をレジスタに保持し、さらにレジスタに保持されている演算結果をデータメモリ３に保存するという算術論理演算回路のテスト動作を実行する（ステップｎ１２）。
【００５３】
テスト実行後は、第１の演算エレメントＥ１に内蔵のコンフィギュレーションメモリ１１に格納されているコンフィギュレーションデータのうち所定のビットを第２の演算エレメントＥ２を使って更新する（ステップｎ１３）。
【００５４】
次に、第２の演算エレメントＥ２の出力を第３の演算エレメントＥ３のコンフィギュレーションメモリ１１にライトし、第３の演算エレメントＥ３のコンフィギュレーションメモリ１１のコンフィギュレーションデータのうち所定のビットを変更し、第３の演算エレメントＥ３の機能を変更する（ステップｎ１４）。
【００５５】
ステップｎ１２，ｎ１３，ｎ１４の動作を、第３の演算エレメントＥ３の機能のテストを網羅するまで繰り返して実行し、第３の演算エレメントＥ３のテストを完了する。なお、第２の演算エレメントＥ２で第１の演算エレメントＥ１に内蔵のコンフィギュレーションメモリ１１に格納されているコンフィギュレーションデータを演算する値は、繰り返しの回数に応じてシーケンス制御回路２２から出力する演算データセレクタ制御信号Ｓ９によって変更される。
【００５６】
以上のように本実施の形態によれば、第３の演算エレメントＥ３の算術論理演算回路のテストを、テストの冒頭で１回コンフィギュレーションするだけで、その後は第２の演算エレメントＥ２によって、第３の演算エレメントＥ３の算術論理演算回路のコンフィギュレーションメモリ１１のデータを変更し、第３の演算エレメントＥ３の算術論理演算回路のすべての機能をテストすることができる。
【００５７】
これによって、算術論理演算回路の各機能ごとにコンフィギュレーションを繰り返す従来のテスト手法に比較して、短いテスト時間でテストを完了することができる。
【００５８】
（実施の形態３）
図８は、図１と図２の構成をもち、演算エレメントのコンフィギュレーションデータが図３の構成を持つリコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテストを実施するように、リコンフィギュラブル回路Ａをコンフィギュレーションした場合の回路構成を示した、実施の形態３の構成図である。
【００５９】
８個の演算エレメント１と１個のデータメモリ３を１組として、リコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテスト回路を構成し、８個の演算エレメント１のうち、第１の演算エレメントＥ１と、対角に位置する第３の演算エレメントＥ３の演算ブロック１３の算術論理演算回路のテストを実施する。第１の演算エレメントＥ１に内蔵のコンフィギュレーションメモリ１１の出力を隣接する第２の演算エレメントＥ２に内蔵の演算ブロック１３の算術論理演算回路の入力に接続する。第２の演算エレメントＥ２に内蔵の演算ブロック１３の算術論理演算回路の出力は、第３の演算エレメントＥ３のコンフィギュレーションデータ入力スイッチボックス１８（図示せず）を介して、第３の演算エレメントＥ３に内蔵のコンフィギュレーションセレクタ１７に接続する。同様に、第３の演算エレメントＥ３に内蔵のコンフィギュレーションメモリ１１の出力を隣接する第４の演算エレメントＥ４に内蔵の演算ブロック１３の算術論理演算回路の入力に接続する。第４の演算エレメントＥ４に内蔵の演算ブロック１３の算術論理演算回路の出力は、第１の演算エレメントＥ１のコンフィギュレーションデータ入力スイッチボックス１８（図示せず）を介して、第１の演算エレメントＥ１に内蔵のコンフィギュレーションセレクタ１７に接続する。
【００６０】
第１の演算エレメントＥ１の出力レジスタ１４と第３の演算エレメントＥ３の出力レジスタ１４との出力は、第５から第８の演算エレメントＥ５〜Ｅ８によって構成される出力セレクタ２０と配線２を介して、データメモリ３のライトデータ入力端子２１に接続される。
【００６１】
第５から第８の演算エレメントＥ５〜Ｅ８によって構成されるシーケンス制御回路２２はデータメモリ３を制御するためのアドレス信号Ｓ５とライトイネーブル信号Ｓ６を出力し、配線２を介してデータメモリ３のアドレス端子とライトイネーブル端子に接続する。また、シーケンス制御回路２２は第１の演算エレメントＥ１と第３の演算エレメントＥ３のコンフィギュレーションセレクタ制御信号Ｓ３を出力し、配線２を介して第１の演算エレメントＥ１のコンフィギュレーションセレクタ１７と第３の演算エレメントＥ３のコンフィギュレーションセレクタ１７に接続する。さらに、シーケンス制御回路２２は出力セレクタ制御信号Ｓ７も出力し、配線２を介して出力セレクタ２０に接続する。また、シーケンス制御回路２２はテスト終了信号Ｓ８を出力し、配線２を介して動作シーケンス制御回路７（図１参照）に接続する。
【００６２】
図８に示したリコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテスト回路の動作について、図９および図１０のフローチャートを用いて説明する。
【００６３】
リコンフィギュラブル回路Ａは初期状態としてコンフィギュレーションモードに入り（ステップｎ２１）、リコンフィギュラブル回路Ａの動作シーケンス制御回路７によってコンフィギュレーションを開始する。動作シーケンス制御回路７はテストＲＯＭ４からコンフィギュレーションデータを読み出してリコンフィギュラブル回路Ａに供給し、同時に入力レジスタ１２にクロック供給が開始され、コンフィギュレーションチェーン１６がシフトレジスタの動作を開始し、コンフィギュレーションチェーン１６を介してコンフィギュレーションメモリ１１にコンフィギュレーションデータを供給する。
【００６４】
またコンフィギュレーションチェーン１６を介して、入力レジスタ１２に初期値を設定する（ステップｎ２２）。なお、テストＲＯＭ４から供給されるコンフィギュレーションデータは、図８の回路構成を実現するためのコンフィギュレーションコードである。
【００６５】
この動作を繰り返し、テストＲＯＭ４からコンフィギュレーションデータの供給が完了すると、コンフィギュレーションメモリ１１へのコンフィギュレーションデータのライトが完了する（ステップｎ２３）。
【００６６】
次に、リコンフィギュラブル回路Ａの動作シーケンス制御回路７（図１参照）によってモード変更が実施され、コンフィギュレーションモードからアプリケーション動作モードへと移行する（ステップｎ２４）。
【００６７】
アプリケーション動作モードでは、第１の演算エレメントＥ１と第３の演算エレメントＥ３の出力レジスタ１４へのクロック供給が開始する。第１の演算エレメントＥ１と第３の演算エレメントＥ３の入力レジスタ１２に保持されている入力データは、第１の演算エレメントＥ１と第３の演算エレメントＥ３の演算ブロック１３の算術論理演算回路に入力され、算術論理演算回路での演算結果がアプリケーション動作モードへ移行完了した次のクロックの立ち上がりエッジにおいて、第１の演算エレメントＥ１と第３の演算エレメントＥ３の出力レジスタ１４によって保持（キャプチャ）される（ステップｎ２５）。
【００６８】
次に、第１の演算エレメントＥ１と第３の演算エレメントＥ３の出力レジスタ１４の値は、シーケンス制御回路２２の制御によって、データメモリ３に格納される（ステップｎ２６）。このとき、シーケンス制御回路２２は、データメモリ３のアドレス｛（Ｎ−１）×４｝番地と｛（Ｎ−１）×４＋１｝番地に第１の演算エレメントＥ１の出力レジスタ１４の値を書き込み、次にアドレス｛（Ｎ−１）×４＋２｝番地と｛（Ｎ−１）×４＋３｝番地に第２の演算エレメントＥ２の出力レジスタ１４の値を書き込むように制御を行う。ここでＮはテストの回数（Ｎ≧１）を表す。書き込みが終了するとＮ回目のテストが完了する。
【００６９】
シーケンス制御回路２２は完了したテストの回数を監視し（ステップｎ２７）、テストの回数Ｎが算術論理演算回路の機能数Ｍよりも小さい場合（ステップｎ２７のＡ）、シーケンス制御回路２２は、第２の演算エレメントＥ２と第４の演算エレメントＥ４を用いて、第１の演算エレメントＥ１のコンフィギュレーションメモリ１１と第３の演算エレメントＥ３のコンフィギュレーションメモリ１１とを変更する（ステップｎ２８）。
【００７０】
以降はステップｎ２５，ｎ２６，ｎ２７，ｎ２８の動作を繰り返す。
【００７１】
シーケンス制御回路２２は完了したテストの回数を監視し（ステップｎ２７）、テストの回数Ｎが算術論理演算回路の機能数Ｍと一致した場合（ステップｎ２７のＢ）、第１の演算エレメントＥ１と第３の演算エレメントＥ３の算術論理演算回路の機能のテストはすべて終了し、シーケンス制御回路２２はテスト終了信号Ｓ８を配線２を介してリコンフィギュラブル回路Ａの動作シーケンス制御回路７（図１参照）に通知し（ステップｎ２９）、動作シーケンス制御回路７（図１参照）はリコンフィギュラブル回路Ａの動作モードをリードバックモードに変更する（ステップｎ３０）。リードバックモードにおいては、データメモリ３はコンフィギュレーションチェーン１６上に接続され、動作シーケンス制御回路７（図１参照）はデータメモリ３に格納された第１の演算エレメントＥ１の演算結果と第３の演算エレメントＥ３の演算結果のデータを、コンフィギュレーションチェーン１６を介してシフトレジスタ状に転送させ、リコンフィギュラブル回路Ａの外部端子に出力する（ステップｎ３１）。
【００７２】
この出力結果をＬＳＩテスタで期待値比較することによって、第１の演算エレメントＥ１と第３の演算エレメントＥ３の算術論理演算回路のテストを実施する。
【００７３】
図１１は、図９のフローチャートのうち、ステップＳｎ２８における第１の演算エレメントＥ１のコンフィギュレーションメモリ１１と第３の演算エレメントＥ３のコンフィギュレーションメモリ１１とを変更する動作について詳細に示したフローチャートである。
【００７４】
最初に、第１の演算エレメントＥ１のコンフィギュレーションメモリ１１の出力を第２の演算エレメントＥ２内の入力レジスタ１２に保持する（ステップｎ４１）。
【００７５】
次に、第２の演算エレメントＥ２内の算術論理演算回路で、入力レジスタ１２のデータを１インクリメントする（ステップｎ４２）。
【００７６】
次に、第３の演算エレメントＥ３内のコンフィギュレーションセレクタ１７を第２の演算エレメントＥ２の算術論理演算回路の出力側に選択する（ステップｎ４３）。
【００７７】
最後に、第３の演算エレメントＥ３内のコンフィギュレーションメモリ１１に第２の演算エレメントＥ２の算術論理演算回路の出力をライトする（ステップｎ４４）。
【００７８】
また、上記のステップｎ４１からｎ４４の動作と並行して以下の動作も行う。
【００７９】
最初に、第３の演算エレメントＥ３のコンフィギュレーションメモリ１１の出力を第４の演算エレメントＥ４内の入力レジスタ１２に保持する（ステップｎ５１）。
【００８０】
次に、第４の演算エレメントＥ４内の算術論理演算回路で、入力レジスタ１２のデータを１インクリメントする（ステップｎ５２）。
【００８１】
次に、第１の演算エレメントＥ１内のコンフィギュレーションセレクタ１７を第４の演算エレメントＥ４の算術論理演算回路の出力側に選択する（ステップｎ５３）。
【００８２】
最後に、第１の演算エレメントＥ１内のコンフィギュレーションメモリ１１に第４の演算エレメントＥ４の算術論理演算回路の出力をライトする（ステップｎ５４）。
【００８３】
以上の手順によって第１の演算エレメントＥ１のコンフィギュレーションメモリ１１と第３の演算エレメントＥ３のコンフィギュレーションメモリ１１との変更を完了する。
【００８４】
図８に示したリコンフィギュラブル回路Ａの演算ブロック１３の算術論理演算回路のテストに要するサイクル数について、図１２のタイミングチャートを用いて、縦方向に８個、横方向に８個、合計６４個の演算エレメントを搭載したリコンフィギュラブル回路Ａで、算術論理演算回路の２０種類の機能をテストする場合を想定し、図１３に示す従来の手法を用いた場合にテストに要するサイクル数と比較して説明する。
【００８５】
従来の手法によれば、最初にテストのためのコンフィギュレーションを実施する（Ｃ１）。なお、従来のテストの手法においては、後述のように出力レジスタ１４に保持される演算結果を読み出す必要があるため、図２において、出力レジスタ１４もコンフィギュレーションチェーン１６上にある構成となっている。コンフィギュレーションメモリ１１のサイズを３２ビット、入力レジスタ１２と出力レジスタ１４のビット幅をそれぞれ４ビットとすれば、初期化に必要なビット数は３２ビット＋４ビット×６＝５６ビットとなる。コンフィギュレーションチェーン１６で１サイクル当たり４ビットずつシフトして行くと仮定した場合、５６ビット÷４ビット／サイクル＝１４サイクルでコンフィギュレーションデータを１つの演算エレメントに供給することができる。従って、コンフィギュレーション（Ｃ１）に要するサイクル数は、演算エレメントが全部で６４個あるため、１４サイクル×６４＝８９６サイクルとなる。
【００８６】
コンフィギュレーション（Ｃ１）が終了したあと、リコンフィギュラブル回路Ａはアプリケーション動作モードへ移行する（Ｃ２）。リコンフィギュラブル回路Ａ内のすべての演算エレメントが安全にアプリケーション動作モードに移行するため、５サイクルを要する。これは動作シーケンス制御回路７（図１参照）がリコンフィギュラブル回路Ａの端に位置しており、動作シーケンス制御回路７から発生する動作モード制御信号はすべての演算エレメントに供給されているため、遅延値が大きくなっているからである。
【００８７】
アプリケーション動作モードに移行したあと、演算エレメント内の算術論理演算回路に入力レジスタ１２から入力データが供給され、算術論理演算回路で所定の演算を実行した後、演算結果が出力される。この演算結果を次のクロックの立ち上がりエッジで出力レジスタ１４にキャプチャする（Ｃ３）。
【００８８】
従来の手法においては、リコンフィギュラブル回路Ａはコンフィギュレーションモードに移行する（Ｃ８）。アプリケーション動作モードへの移行（Ｃ２）と同様に、５サイクルを要する。
【００８９】
このあと、出力レジスタ１４のデータはコンフィギュレーションチェーン１６を用いて外部にシフトアウトされる（Ｃ９）。
【００９０】
シフトアウトされるデータは１つの演算エレメント当たり４ビット×２個＝８ビットであるが、コンフィギュレーションチェーン１６上には入力レジスタ１２も存在するため、４ビット×６個＝２４ビットとなる。１サイクル当たり４ビットシフトされるとすると、２４ビット÷４ビット＝６サイクルを要する。演算エレメントは全部で６４個存在するため、すべての演算エレメントの演算結果を出力するためには、６サイクル×６４個＝３８４サイクルを要する。Ｃ１，Ｃ２，Ｃ３，Ｃ８，Ｃ９の５つの動作は１回のテストに要する一連の動作であり、これを２０回繰り返すことによってリコンフィギュラブル回路Ａのテストを完了する。テスト完了に要するサイクル数は、（８９６＋５＋２＋５＋３８４）×２０＝２５８４０サイクルとなる。
【００９１】
一方、本発明の手法によれば、図１２に示すように、最初にテストのためのコンフィギュレーションを実施する（Ｃ１）。図１０のフローチャートで説明したとおり、演算結果はデータメモリ３から読み出すため、図２の構成図に示すように、もはや出力レジスタ１４はコンフィギュレーションチェーン上に接続する必要はなくなる。ゆえに初期化に必要なビット数は３２ビット＋４ビット×４＝４８ビットである。従ってコンフィギュレーション（Ｃ１）に要するサイクル数は（４８ビット÷４ビット／サイクル）×６４＝７６８サイクルとなり、従来の手法に比較して１２８サイクル削減することができる。
【００９２】
コンフィギュレーション（Ｃ１）が終了したあと、リコンフィギュラブル回路Ａはアプリケーション動作モードへ移行する（Ｃ２）。従来の手法と同様に５サイクルを要する。
【００９３】
アプリケーション動作モードに移行したあと、演算エレメント内の算術論理演算回路に入力レジスタ１２から入力データが供給され、算術論理演算回路で所定の演算を実行した後、演算結果が出力される。この演算結果を次のクロックの立ち上がりエッジで出力レジスタ１４にキャプチャする（Ｃ３）。
【００９４】
このあと、シーケンス制御回路２２によって、出力レジスタ１４の保持しているデータをデータメモリ３に書き込む（Ｃ４）。出力レジスタ１４は第１の演算エレメントＥ１内に２個、第３の演算エレメントＥ３内に２個、合計４個存在するため、データメモリ３への書き込みは４サイクルを要する。
【００９５】
次に、第２の演算エレメントＥ２と第４の演算エレメントＥ４を用いて第１の演算エレメントＥ１と第３の演算エレメントＥ３のコンフィギュレーションメモリ１１のコンフィギュレーションデータを変更する（Ｃ５）。
【００９６】
Ｃ３，Ｃ４，Ｃ５の動作は１回のテストに要する一連の動作であり、これを２０回繰り返す。
【００９７】
次に、リコンフィギュラブル回路Ａはリードバックモードに移行する（Ｃ６）。アプリケーション動作モードへの移行（Ｃ２）と同様に、５サイクルを要する。
【００９８】
リードバックモードへ移行した後、リコンフィギュラブル回路Ａはデータメモリ３に格納された演算結果を動作シーケンス制御回路７（図１参照）の制御により外部に読み出す（Ｃ７）。
【００９９】
１回のテストで、出力レジスタ１４の４個分のデータをデータメモリ３に書き込むため、４ビット×４個＝１６ビットのデータがデータメモリ３に書き込まれる。テストは２０回繰り返すため、１６ビット×２０回＝３２０ビットのデータ量となる。リコンフィギュラブル回路Ａ内にはデータメモリ３は８個存在するため、３２０ビット×８＝２５６０ビットのデータ量となる。これを４ビットずつ外部に読み出した場合、２５６０ビット÷４ビット＝６４０サイクルを要する。これによって、一連のテストに要するサイクル数は、７６８＋５＋（２＋４＋３）×２０＋５＋６４０＝１５９８サイクルである。さらにすべての演算エレメントを網羅するためには、テスト対象の演算エレメントを変更して、４回テストを行う必要があるため、テスト完了のために要するサイクル数は全部で１５９８サイクル×４＝６３９２サイクルとなる。このように、本発明の手法によれば、従来のテストの手法に比較してテストに必要となるサイクル数を約４分の１に削減することができる。
【０１００】
以上のように本実施の形態によれば、第１の演算エレメントＥ１の算術論理演算回路と第３の演算エレメントＥ３の算術論理演算回路のテストを、テストの冒頭で１回コンフィギュレーションするだけで、その後は第２の演算エレメントＥ２と第４の演算エレメントＥ４によって、第１の演算エレメントＥ１の算術論理演算回路と第３の演算エレメントＥ３の算術論理演算回路のコンフィギュレーションメモリ１１のデータを変更し、第１の演算エレメントＥ１の算術論理演算回路と第３の演算エレメントＥ３のすべての機能をテストすることができる。従って、算術論理演算回路のすべての機能ごとにコンフィギュレーションを繰り返す従来のテストの手法に比較して、約４分の１の短いサイクル数によって、算術論理演算回路の機能のテストを実現することができる。
【０１０１】
また、図面には記載していないが、図８と同様の構成を用いたテスト回路を用いて、第２の演算エレメントＥ２と第４の演算エレメントＥ４によって図３のスイッチボックス用コンフィギュレーションデータＤ１を変更することによって、第１の演算エレメントＥ１に接続する配線２と、第３の演算エレメントＥ３に接続する配線２のすべての接続の組合せのテストを、テストの冒頭で１回コンフィギュレーションするだけで実施することができる。
【０１０２】
（実施の形態４）
図１４は本発明のリコンフィギュラブル回路を組み込んだ通信装置の概観を示した構成図である。携帯電話１４０３は、内部に搭載している基板１４０２上にアプリケーション信号処理用ＬＳＩとして、システムＬＳＩ１４０１を搭載している。システムＬＳＩ１４０１は、本発明に係るリコンフィギュラブル回路を有する半導体集積回路である。
【０１０３】
図１５は本発明のリコンフィギュラブル回路を組み込んだ通信装置の全体の信号処理を示した構成図である。本通信装置は、アンテナ１５０１と、送信と受信を切り替えるアンテナ切替回路１５０２と、受信した電波から目的の周波数の電波を選び出すフロントエンド処理を実施するフロントエンドＩＣ１５０３と、フロントエンドＩＣ１５０３からの出力を中間周波数に変換し増幅する中間周波増幅回路１５０４と、中間周波信号からデジタルデータを取り出す復調回路１５０５と、ＴＤＭＡ方式またはＣＤＭＡ方式の送信及び受信のデジタルベースバンド処理を行い、かつ信号処理全体の制御を行うＣＰＵを内蔵するシステムＬＳＩ１５０６と、アプリケーションデジタル信号処理を実施するシステムＬＳＩ１４０１と、音声を出力するスピーカ１５０７と、音声を電気信号に変換するマイク１５０８と、システムＬＳＩ１５０６を動作させるプログラムを格納するフラッシュメモリ１５０９と、デジタルベースバンド処理された出力信号の変調を行う変調回路１５１０と、変調信号を搬送波に乗せてアンテナから出力するための高周波増幅回路１５１１と、電話番号などを入力し、それをＣＰＵに伝達するプッシュダイヤル１５１２とを備える。
【０１０４】
システムＬＳＩ１４０１は本発明のリコンフィギュラブル回路で構成され時分割で回路を変更する、アプリケーションデジタル信号の暗号復号ブロック１４１０と、暗号復号ブロック１４１０から出力される圧縮されたデジタル音声データを伸張する音声デコード回路ブロック１４１１と、音声デコード回路ブロック１４１１から出力される伸張されたデジタル音声データをアナログ音声信号に変換するＤ／Ａ変換回路ブロック１４１２と、アナログ音声信号をデジタル音声データに変換するＡ／Ｄ変換回路ブロック１４１３と、デジタル音声データを圧縮する音声エンコード回路ブロック１４１４と、圧縮されたデジタル音声データに対して本発明のリコンフィギュラブル回路で構成され時分割で異なった暗号化回路を構成し、時分割で方式の異なった暗号化を行う暗号化回路ブロック１４１５とを備える。なお、システムＬＳＩ１４０１は、他の機能ブロックを含んでいてもよく、また一部を別チップ構成としてもよい。さらには、新たな集積化の技術が開発されればこれを用いても良い。
【０１０５】
本システムＬＳＩ１４０１の動作について図１６Ａ,図１６Ｂを用いて説明する。
【０１０６】
まず、図１６Ａに示すように、端末が持つ固有の暗号復号ブロックを本発明のリコンフィギュラブル回路にマッピングさせることでこの暗号復号ブロックを第１の暗号復号ブロック１４１０Ａとする。そのうえで第１の暗号復号ブロック１４１０Ａによってアプリケーションデジタル信号を復号化する。復号化された圧縮デジタル音声データに対して音声デコード回路ブロック１４１１が音声デコード処理を行い、Ｄ／Ａ変換回路１４１２によってアナログ音声信号に変換し、スピーカ１５０７に出力を行う。またマイクによるアナログ音声信号は、Ａ／Ｄ変換回路１４１３によってデジタル音声データに変換した後、音声エンコード回路１４１４で圧縮処理を行った後、端末が持つ固有の暗号化ブロックをリコンフィギュラブル回路にマッピングさせることでこの暗号化ブロックを第１の暗号化ブロック１４１５Ａとする。そのうえで第１の暗号化ブロック１４１５Ａによって、暗号化されたアプリケーションデジタル信号を変換する。
【０１０７】
上記から単位時間（たとえば１秒後）経った後、リコンフィギュラブル回路にマッピングされた暗号化ブロック１４１５と暗号復号ブロック１４１１では、隣接する演算エレメントによって第１の暗号化・復号化ブロック１４１５Ａ,１４１０Ａを構成する演算エレメントのコンフィギュレーションデータを変更する。具体的には暗号化回路に於ける論理演算（Ｅｘ−ＯＲなど）を異なった論理に入れ替えられる（たとえば、ＡＮＤ、ＯＲなど）。
【０１０８】
これによって、図１６Ｂに示すように、第１の暗号化・暗号復号化ブロック１４１５Ａ,１４１５Ａはそれぞれの機能が変更されて、異なった方式の暗号化・復号化を行うことができる第２の暗号化・暗号復号化ブロック１４１５Ｂ,１４１５Ｂになる。そのため、マイクによるアナログ音声信号はＡ／Ｄ変換回路１４１３によってデジタル音声データに変換された後、このデジタル音声データは音声エンコード回路１４１４で圧縮され、本発明のリコンフィギュラブル回路にマッピングされた最初とは暗号化方式の異なる第２の暗号化ブロック１４１５Ｂによって暗号化されたデジタルアプリケーション信号に変換される。また、デジタルベースバンド処理によって受信されたデジタルアプリケーション信号は、本発明のリコンフィギュラブル回路にマッピングされた、最初とは暗号復号方式の異なる第２の暗号復号化ブロック１４１０Ｂによって圧縮されたデジタル音声データに復号化される。また、出力されたデジタル音声データは、音声デコード回路１４１１によって伸張されたうえでＤ／Ａ変換回路１４１２によってアナログ音声信号に変換される。そのアナログ音声信号は、スピーカ１５０７によって音声に変換される。
【０１０９】
このようにして、単位時間ごとに暗号化ブロックや復号暗号ブロックを変更することによって、極めて秘匿性の高い音声信号の暗号化を行うことが出来る。
【０１１０】
なお、暗号化ブロックに関しては、基地局側にも同様の暗号化ブロックや復号ブロックを持たせておき、この暗号化ブロックや暗号復号ブロックに本発明のリコンフィギュラブル回路を搭載すればよい。
【０１１１】
また基地局側・端末側は最初の暗号化ブロック・復号暗号ブロックのコンフィギュレーションデータのみを保持すればよい。このコンフィギュレーションデータは基地局と当該の端末のみが知りうるデータであって、他の端末がたとえ暗号化されたデジタルアプリケーション信号を受け取った場合でも、コンフィギュレーションデータがことなるため、暗号化された圧縮デジタル音声を復元して聞くことはできない。したがって、きわめて秘匿性の高い暗号化通信システムを実現することが可能となる。  また、ＳＴＢの例で説明したが、携帯電話、蓄積再生装置、デジタルテレビ、車載機器等の暗号回路に対しても当然適用できる。
【産業上の利用可能性】
【０１１２】
本発明のリコンフィギュラブル回路は、リコンフィギュラブル回路内の第１の演算エレメント内のコンフィギュレーションメモリに格納されているコンフィギュレーションデータのうち所定のビットを、リコンフィギュラブル回路内の別の演算エレメントを使って更新する回路構成を持ち、再度コンフィギュレーションをし直すことなく第１の演算エレメントの機能を変更することができるため、これをテストに用いることによってテスト時間を削減することができるという効果を有し、複数の演算エレメントと、演算エレメント間を相互に接続する複数の配線スイッチからなるリコンフィギュラブル回路として有用である。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施の形態１〜３のリコンフィギュラブル回路を示す構成図
【図２】図１に示したリコンフィギュラブル回路に搭載する演算エレメントの構成を示すブロック図
【図３】図２の演算エレメントに搭載するコンフィギュレーションメモリのコンフィギュレーションデータの構成図
【図４】本発明の実施の形態１におけるリコンフィギュラブル回路の機能変更方法が適用するようにコンフィギュレーションされた場合のリコンフィギュラブル回路の構成図
【図５】本発明の実施の形態１におけるリコンフィギュラブル回路の機能変更方法の処理の手順を示すフローチャート
【図６】本発明の実施の形態２におけるリコンフィギュラブル回路の機能変更方法が適用するようにコンフィギュレーションされた場合のリコンフィギュラブル回路の構成図
【図７】本発明の実施の形態２におけるリコンフィギュラブル回路の機能変更方法の処理の手順を示すフローチャート
【図８】本発明の実施の形態３におけるリコンフィギュラブル回路の機能変更方法が適用するようにコンフィギュレーションされた場合のリコンフィギュラブル回路の構成図
【図９】本発明の実施の形態３におけるリコンフィギュラブル回路の機能変更方法の処理の手順を示すフローチャート（その１）
【図１０】本発明の実施の形態３におけるリコンフィギュラブル回路の機能変更方法の処理の手順を示すフローチャート（その１）
【図１１】図９のフローチャートのうちステップｎ２８における動作の詳細を示すフローチャート
【図１２】図８の演算エレメントのテスト回路の動作のサイクル数を示したタイミングチャート
【図１３】従来のテスト手法によるサイクル数を示したタイミングチャート
【図１４】本発明のリコンフィギュラブル回路を組み込んだ通信装置の概念図
【図１５】本発明のリコンフィギュラブル回路を組み込んだ通信装置の全体の信号処理を示した構成図
【図１６Ａ】システムＬＳＩ１４０１の動作を示した構成図
【図１６Ｂ】システムＬＳＩ１４０１の動作を示した構成図
【符号の説明】
【０１１４】
Ａ  リコンフィギュラブル回路
１  演算エレメント
２  配線
３  データメモリ
４  テストＲＯＭ
５  クロック生成ブロック
６  外部ＩＯブロック
７  動作シーケンス制御回路
１１  コンフィギュレーションメモリ
１２  入力レジスタ
１３  演算ブロック
１４  出力レジスタ
１５  スイッチボックス
１６  コンフィギュレーションチェーン
１７  コンフィギュレーションセレクタ
１８  コンフィギュレーションデータ入力スイッチボックス
１９  コンフィギュレーションデータ出力スイッチボックス
２０  出力セレクタ
２１  ライトデータ
２２  シーケンス制御
Ｃ１  コンフィギュレーション
Ｃ２  アプリケーション動作モード移行
Ｃ３  演算結果のキャプチャ
Ｃ４  メモリライト
Ｃ５  コンフィグメモリを変更
Ｃ６  リードバックモード移行
Ｃ７  データメモリの読み出し
Ｃ８  コンフィギュレーションモード移行
Ｃ９  出力レジスタデータのシフトアウト
Ｄ１  スイッチボックス用コンフィギュレーションデータ
Ｄ２  入力レジスタ用コンフィギュレーションデータ
Ｄ３  出力レジスタ用コンフィギュレーションデータ
Ｄ４  コンフィギュレーション入力スイッチボックス用コンフィギュレーションデータ
Ｄ５  コンフィギュレーション出力スイッチボックス用コンフィギュレーションデータ
Ｄ６  演算ブロック用コンフィギュレーションデータ
Ｅ１  第１の演算エレメント
Ｅ２  第２の演算エレメント
Ｅ３  第３の演算エレメント
Ｅ４  第４の演算エレメント
Ｅ５〜Ｅ８  第５〜第８の演算エレメント
Ｓ１  コンフィギュレーションモード信号
Ｓ２  アプリケーションモード信号
Ｓ３  コンフィギュレーションセレクタ制御信号
Ｓ４  コンフィギュレーションメモリライトイネーブル信号
Ｓ５  アドレス
Ｓ６  ライトイネーブル
Ｓ７  出力セレクタ制御信号
Ｓ８  テスト終了信号
Ｓ９  演算データセレクタ制御信号
１４０１  システムＬＳＩ
１４０２  基板
１４０３  携帯電話
１５０１  アンテナ
１５０２  アンテナ切替回路
１５０３  フロントエンドＩＣ
１５０４  中間周波増幅回路
１５０５  復調回路
１５０６  システムＬＳＩ
１５０７  スピーカ
１５０８  マイク
１５０９  フラッシュメモリ
１５１０  変調回路
１５１１  高周波増幅回路
【図１】
2009129046.tif 000003
【図２】
2009129046.tif 000004
【図３】
2009129046.tif 000005
【図４】
2009129046.tif 000006
【図５】
2009129046.tif 000007
【図６】
2009129046.tif 000008
【図７】
2009129046.tif 000009
【図８】
2009129046.tif 000010
【図９】
2009129046.tif 000011
【図１０】
2009129046.tif 000012
【図１１】
2009129046.tif 000013
【図１２】
2009129046.tif 000014
【図１３】
2009129046.tif 000015
【図１４】
2009129046.tif 000016
【図１５】
2009129046.tif 000017
【図１６Ａ】
2009129046.tif 000018
【図１６Ｂ】
2009129046.tif 000019