(57)【要約】【課題】プログラム可能な回路のコンフィグレーションに用いられる構成データ全体のサイズを小さくすること。【解決手段】部分的に再構成が可能なプログラマブル論理素子の構成データを処理するデータ処理装置において、比較部１は、構成データ同士を比較する。各構成データは、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する。抽出部２は、比較部１による比較の結果に基づいて構成データのうちの共通回路部データを抽出する。削除部３は、抽出部２によって抽出された共通回路部データを構成データから削除する。プログラマブル論理素子の構成データを格納する不揮発性メモリには、全構成データに共通の共通回路部データが構成データ全体に対して一つ格納され、かつ構成データごとに異なる特有回路データが構成データごとに格納される。【選択図】図１
2014238617.tif 000002
【特許請求の範囲】
【請求項１】
部分的に再構成が可能なプログラマブル論理素子の構成データであって、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する構成データ同士を比較する比較部と、
前記比較部による比較の結果に基づいて前記構成データのうちの前記共通回路部データを抽出する抽出部と、
前記抽出部によって抽出された前記共通回路部データを前記構成データから削除する削除部と、
を備えることを特徴とするデータ処理装置。
【請求項２】
前記削除部は、削除した前記共通回路部データの後続のデータを、削除した前記共通回路部データのサイズ分シフトすることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
部分的に再構成が可能なプログラマブル論理素子の構成データであって、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する構成データ同士を比較し、
前記比較の結果に基づいて前記構成データのうちの前記共通回路部データを抽出し、
抽出された前記共通回路部データを前記構成データから削除することを特徴とするデータ処理方法。
【請求項４】
部分的に再構成が可能なプログラマブル論理素子と、
前記プログラマブル論理素子の構成データを格納する不揮発性メモリと、
前記不揮発性メモリから前記構成データを読み出して前記プログラマブル論理素子にダウンロードする制御デバイスと、を備え、
前記不揮発性メモリには、全構成データに共通の共通回路部データが構成データ全体に対して一つ格納され、かつ構成データごとに異なる特有回路データが構成データごとに格納されており、
前記プログラマブル論理素子に前記共通回路部データによって実回路が構成されている状態において、前記制御デバイスは、前記不揮発性メモリから前記特有回路データを読み出して前記プログラマブル論理素子にダウンロードして前記特有回路データに対応する回路部分を再構成することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ処理装置、データ処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
従来、プログラム可能な回路にデータ入力回路を構成しておき、データ入力回路によって入力された構成データに基づいてコンフィグレーションを行うことによって、プログラム可能な回路の構成を変更する技術が開示されている（例えば、特許文献１参照）。また、ある回路の障害発生を検出すると、障害の発生した回路と同一の構成になるようにプログラム可能な予備回路を再構成する技術が開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−３０７２４６号公報
【特許文献２】特開平８−４４５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、プログラム可能な回路のコンフィグレーションに用いられる構成データが複数存在する場合、各構成データは、全ての構成データで共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する。そのため、各構成データのサイズが大きくなるため、コンフィグレーションによってプログラム可能な回路の構成を変更するのに時間がかかるという問題点がある。また、全ての構成データを格納する不揮発性メモリの容量が大きくなるため、メモリチップの数が増えたり、メモリチップが大型化することによって、消費電力の増大や、コストの増大や、他の部品の実装面積の減少を招くという問題点がある。さらに、各構成データのサイズが大きくなることによって、仕様の変更や不具合対策などで構成データの変更作業を行う場合、変更後の構成データ全体を不揮発性メモリにダウンロードするのに時間がかかるため、工数が増えてしまうという問題点がある。
【０００５】
プログラム可能な回路のコンフィグレーションに用いられる構成データ全体のサイズを小さくすることができるデータ処理装置、データ処理方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
データ処理装置は、部分的に再構成が可能なプログラマブル論理素子の構成データを処理する。各構成データは、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する。データ処理装置は、比較部、抽出部及び削除部を備える。比較部は、構成データ同士を比較する。抽出部は、比較部による比較の結果に基づいて構成データのうちの共通回路部データを抽出する。削除部は、抽出部によって抽出された共通回路部データを構成データから削除する。
【０００７】
データ処理方法は、部分的に再構成が可能なプログラマブル論理素子の構成データを処理する方法である。各構成データは、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する。データ処理方法は、構成データ同士を比較し、比較の結果に基づいて構成データのうちの共通回路部データを抽出し、抽出された共通回路部データを構成データから削除する。
【０００８】
情報処理装置は、部分的に再構成が可能なプログラマブル論理素子、プログラマブル論理素子の構成データを格納する不揮発性メモリ、及び不揮発性メモリから構成データを読み出してプログラマブル論理素子にダウンロードする制御デバイスを備える。不揮発性メモリには、全構成データに共通の共通回路部データが構成データ全体に対して一つ格納され、かつ構成データごとに異なる特有回路データが構成データごとに格納される。プログラマブル論理素子に共通回路部データによって実回路が構成されている状態において、制御デバイスは、不揮発性メモリから特有回路データを読み出してプログラマブル論理素子にダウンロードして特有回路データに対応する回路部分を再構成する。
【発明の効果】
【０００９】
このデータ処理装置、データ処理方法及び情報処理装置によれば、プログラム可能な回路のコンフィグレーションに用いられる構成データ全体のサイズを小さくすることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかるデータ処理装置の第１の例の機能的構成を示す図である。
【図２】図２は、図１に示すデータ処理装置におけるデータの流れを示す図である。
【図３】図３は、図１に示すデータ処理装置のハードウェア構成の一例を示す図である。
【図４】図４は、実施の形態にかかるデータ処理方法の第１の例を示す図である。
【図５】図５は、実施の形態にかかる情報処理装置の第１の例を示す図である。
【図６】図６は、実施の形態にかかる情報処理装置の第２の例を示す図である。
【図７】図７は、図６に示す情報処理装置における主信号デバイスの構成例及び不揮発性メモリの構成データ格納例を示す図である。
【図８】図８は、データ処理前の構成データの一例を示す図である。
【図９】図９は、実施の形態にかかるデータ処理方法の第２の例を示す図である。
【図１０】図１０は、ｎ＝３である場合のデータ処理前の構成データの一例を示す図である。
【図１１】図１１は、図１０に示す構成データの変遷を示す図である。（その１）
【図１２】図１２は、図１０に示す構成データの変遷を示す図である。（その２）
【図１３】図１３は、図６に示す情報処理装置におけるプロトコル変更処理手順の一例を示す図である。
【図１４】図１４は、図１３に示すプロトコル変更処理における主信号デバイスの回路構成の変遷を示す図である。（その１）
【図１５】図１５は、図１３に示すプロトコル変更処理における主信号デバイスの回路構成の変遷を示す図である。（その２）
【図１６】図１６は、図１３に示すプロトコル変更処理における主信号デバイスの回路構成の変遷を示す図である。（その３）
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、このデータ処理装置、データ処理方法及び情報処理装置の好適な実施の形態を詳細に説明する。以下の各実施例の説明においては、同様の構成要素には同一の符号を付して、重複する説明を省略する。
【００１２】
・データ処理装置の第１の例
図１は、実施の形態にかかるデータ処理装置の第１の例の機能的構成を示す図である。図２は、図１に示すデータ処理装置におけるデータの流れを示す図である。図１及び図２に示すように、データ処理装置は、比較部１、抽出部２及び削除部３を有する。
【００１３】
比較部１は、データ入力端子４に接続されている。データ入力端子４には、部分的に再構成が可能なプログラマブル論理素子の構成データが入力される。データ処理装置の処理対象となる構成データは複数あり、各構成データは、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する。比較部１は、データ入力端子４から入力される構成データを受け取り、構成データ同士を比較する。
【００１４】
抽出部２は、比較部１に接続されている。抽出部２は、比較部１から比較の結果と構成データとを受け取り、その比較の結果に基づいて、構成データのうちの共通回路部データを抽出する。
【００１５】
削除部３は、抽出部２及びデータ出力端子５に接続されている。削除部３は、抽出部２から共通回路部データの情報と構成データとを受け取り、共通回路部データの情報に基づいて、構成データから共通回路部データを削除する。削除部３は、構成データから共通回路部データを削除した結果、残った特有回路データをデータ出力端子５から出力する。
【００１６】
図３は、図１に示すデータ処理装置のハードウェア構成の一例を示す図である。図３に示すように、データ処理装置は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）１１、インタフェース１２、不揮発性メモリ１３及び揮発性メモリ１４を有する。ＣＰＵ１１、インタフェース１２、不揮発性メモリ１３及び揮発性メモリ１４はバス１５に接続されていてもよい。
【００１７】
ＣＰＵ１１は、後述するデータ処理方法を実現するプログラムを処理する。それによって、図１に示すデータ処理装置における比較部１、抽出部２及び削除部３が実現される。なお、ＣＰＵ１１の代わりに、例えばＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ、デジタルシグナルプロセッサ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、エーシック）、またはＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、フィールドプログラマブルゲートアレイ）などのプログラマブルロジックデバイスを用いてもよい。
【００１８】
不揮発性メモリ１３は、ブートプログラムや後述するデータ処理方法を実現するプログラムを記憶している。ＣＰＵ１１の代わりにプログラマブルロジックデバイスを用いる場合には、不揮発性メモリ１３は、プログラマブルロジックデバイスのコンフィグレーションに用いられる回路データを記憶していてもよい。不揮発性メモリ１３の一例として、例えばマスクＲＯＭ（マスクロム）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ、イーイーピーロム）またはフラッシュメモリなどのＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ、ロム）が挙げられる。
【００１９】
揮発性メモリ１４は、ＣＰＵ１１の作業領域として用いられる。揮発性メモリ１４は、不揮発性メモリ１３から読み出されたプログラムや、不揮発性メモリ１３がプログラマブルロジックデバイスである場合の回路データを保持する。揮発性メモリ１４は、処理対象の構成データを保持する。揮発性メモリ１４は、比較部１による比較の結果や、抽出部２による共通回路部データの情報を保持する。揮発性メモリ１４の一例として、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ディーラム）やＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、エスラム）などのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ラム）が挙げられる。
【００２０】
インタフェース１２は、処理対象の構成データの入力、及び削除部３から出力される特有回路データの出力を司る。処理対象の構成データは、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ユーエスビー）メモリやＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ、エスディーカード）などのリムーバブルメディアに格納されており、このリムーバブルメディアからインタフェース１２を介して、揮発性メモリ１４に格納されてもよい。また、処理後に出力される特有回路データは、揮発性メモリ１４からインタフェース１２を介して、例えばＵＳＢメモリやＳＤメモリカードなどのリムーバブルメディアに格納されてもよいし、後述する情報処理装置内の不揮発性メモリに格納されてもよい。なお、図１に示すデータ処理装置において、比較部１、抽出部２及び削除部３は、それぞれハードウェアによって実現されてもよい。
【００２１】
・データ処理方法の第１の例
データ処理方法は、図１に示すデータ処理装置において実施されてもよい。本実施例では、データ処理方法が、図１に示すデータ処理装置において実施されるとして説明する。
【００２２】
図４は、実施の形態にかかるデータ処理方法の第１の例を示す図である。図４に示すように、データ処理装置においてデータ処理が開始されると、部分的に再構成が可能なプログラマブル論理素子の構成データがデータ処理装置に入力される。各構成データは、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する。
【００２３】
構成データがデータ処理装置に入力されると、データ処理装置は、比較部１によって、構成データ同士を比較する（ステップＳ１）。次いで、データ処理装置は、抽出部２によって、比較部１での比較の結果に基づいて、構成データのうちの共通回路部データを抽出する（ステップＳ２）。そして、データ処理装置は、削除部３によって、抽出部２で抽出された共通回路部データを構成データから削除し（ステップＳ３）、その結果、特有回路データを残し、一連の処理を終了する。
【００２４】
プログラマブル論理素子に、再構成が可能な回路部分が複数個あり、再構成が可能な回路部分のそれぞれについて複数の構成データが存在することがある。その場合には、再構成が可能な回路部分のそれぞれについて、図４に示すデータ処理手順を行ってもよい。
【００２５】
図１に示すデータ処理装置または図４に示すデータ処理方法によれば、各構成データから共通回路部データが削除されて、各構成データが特有回路データのみとなる。そのため、各構成データが共通回路部データと特有回路データとを有する場合よりも、各構成データのサイズが小さくなる。従って、プログラム可能な回路のコンフィグレーションに用いられる構成データ全体のサイズを小さくすることができる。
【００２６】
各構成データのサイズが小さくなると、不揮発性メモリから、部分的に再構成が可能なプログラマブル論理素子に構成データをダウンロードして、コンフィグレーションによって回路の構成を変更するのに要する時間が短縮される。それによって、部分的に再構成が可能なプログラマブル論理素子を有する情報処理装置におけるアプリケーションの切り替え時間が短縮されるため、情報処理装置の利便性が向上する。
【００２７】
また、各構成データのサイズが小さくなると、全ての構成データを格納する不揮発性メモリの容量を小さくすることができる。従って、メモリチップの数を減らしたり、メモリチップの小型化を図ることができるため、消費電力やコストを抑えたり、他の部品の実装面積の増大を図ることができる。
【００２８】
また、各構成データのサイズが小さくなると、不揮発性メモリに構成データ全体をダウンロードするのに要する時間が短縮される。それによって、仕様の変更や不具合対策などで構成データの変更作業を行う場合に、変更後の構成データ全体を不揮発性メモリに短時間でダウンロードすることができるため、工数を減らすことができる。
【００２９】
・情報処理装置の第１の例
図５は、実施の形態にかかる情報処理装置の第１の例を示す図である。図５に示すように、情報処理装置は、プログラマブル論理素子２１、制御デバイス２２及び不揮発性メモリ２３を有する。プログラマブル論理素子２１、制御デバイス２２及び不揮発性メモリ２３は、例えばバス２４に接続されていてもよい。
【００３０】
プログラマブル論理素子２１は、例えば部分的に再構成が可能な回路を有する素子である。これ以降の説明において、部分的に再構成が可能な回路をパーシャルリコンフィグレーションエリア、または略してＰＲエリアと称することがある。また、部分的に再構成が可能な回路を部分的に再構成することをパーシャルリコンフィグレーションと称することがある。プログラム可能な回路全体を構成することをフルコンフィグレーションと称することがある。ＦＰＧＡは、プログラマブル論理素子２１の一例である。
【００３１】
不揮発性メモリ２３は、プログラマブル論理素子２１におけるＰＲエリアのコンフィグレーションに用いられる構成データを格納する。不揮発性メモリ２３には、プログラマブル論理素子２１の全構成データに共通の共通回路部データ２５が全構成データに対して一つ格納され、かつ構成データごとに異なる特有回路データ２６〜２８が構成データごとに格納される。ＥＥＰＲＯＭまたはフラッシュメモリは、不揮発性メモリ２３の一例である。
【００３２】
制御デバイス２２は、不揮発性メモリ２３から構成データを読み出してプログラマブル論理素子２１にダウンロードする。それによって、プログラマブル論理素子２１が、ダウンロードされた構成データに応じたアプリケーションを実現する。プログラマブル論理素子２１に共通回路部データ２５によって実回路が構成されている状態において、制御デバイス２２は、不揮発性メモリ２３からアプリケーションに対応する特有回路データ２６〜２８を読み出してプログラマブル論理素子２１にダウンロードして特有回路データ２６〜２８に対応する回路部分を再構成する。それによって、プログラマブル論理素子２１によって実現されるアプリケーションが、ダウンロードされた特有回路データ２６〜２８に応じたアプリケーションに変更される。ＦＰＧＡまたはＡＳＩＣは、制御デバイス２２の一例である。
【００３３】
図５に示す情報処理装置によれば、プログラマブル論理素子２１の構成データ全体が、１個の共通回路部データ２５と、プログラマブル論理素子２１で実現するアプリケーション数に対応する数の特有回路データ２６〜２８と、で構成される。そのため、各構成データが共通回路部データ２５を有する場合よりも、各構成データのサイズが小さくなる。従って、プログラマブル論理素子２１のコンフィグレーションに用いられる構成データ全体のサイズを小さくすることができる。
【００３４】
各構成データのサイズが小さくなると、不揮発性メモリ２３からプログラマブル論理素子２１に構成データをダウンロードして、コンフィグレーションによって回路の構成を変更するのに要する時間が短縮される。それによって、プログラマブル論理素子２１を有する情報処理装置におけるアプリケーションの切り替え時間が短縮されるため、情報処理装置の利便性が向上する。
【００３５】
また、各構成データのサイズが小さくなると、不揮発性メモリ２３の容量を小さくすることができる。従って、メモリチップの数を減らしたり、メモリチップの小型化を図ることができるため、消費電力やコストを抑えたり、他の部品の実装面積の増大を図ることができる。
【００３６】
また、各構成データのサイズが小さくなると、不揮発性メモリ２３に構成データ全体をダウンロードするのに要する時間が短縮される。それによって、仕様の変更や不具合対策などで構成データの変更作業を行う場合に、変更後の構成データ全体を不揮発性メモリ２３に短時間でダウンロードすることができるため、工数を減らすことができる。
【００３７】
図５に示す情報処理装置は、例えば光伝送ネットワークにおいて、クライアントポートに対して複数のプロトコルへの変更機能を有するマックスポンダやトランスポンダなどの光伝送装置、または光ネットワークテスタなどに適用できる。複数のプロトコルの一例として、ＳＯＮＥＴ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋ、光同期伝送網）やＥｔｈｅｒｎｅｔ（イーサネット：登録商標）やＯＴＮ（Ｏｐｔｉｃａｌ  Ｔｒａｎｓｐｏｒｔ  Ｎｅｔｗｏｒｋ、光伝送網）などのプロトコルが挙げられる。以下に、情報処理装置の第２の例として、図５に示す情報処理装置をマックスポンダに適用する場合について説明する。
【００３８】
・情報処理装置の第２の例
図６は、実施の形態にかかる情報処理装置の第２の例を示す図である。図６に示すように、マックスポンダ３１は、複数のクライアントポート３２、主信号デバイス３３、ネットワークポート３４、制御デバイス３５及び不揮発性メモリ３６を有する。
【００３９】
主信号デバイス３３は、クライアントポート３２及びネットワークポート３４に接続されている。主信号デバイス３３は、マルチプレクサ及びデマルチプレクサ３７を有する。マルチプレクサは、各クライアントポート３２から出力される信号を合成してネットワークポート３４へ出力する。デマルチプレクサは、ネットワークポート３４から出力される信号をクライアントポート３２へ出力する。
【００４０】
主信号デバイス３３は、クライアントポート３２の数に対応する数のＰＲエリアを有する。ＰＲエリアのコンフィグレーションに用いられる構成データを複数、用意し、その中から構成データを選択してＰＲエリアの回路構成を実現することによって、主信号デバイス３３において、各クライアントポート３２に対するインタフェースとして種々のプロトコルが実現される。ＦＰＧＡは、主信号デバイス３３の一例である。
【００４１】
各クライアントポート３２は、光ファイバなどの光伝送路を介してクライアント側の装置に接続されている。クライアントポート３２は、クライアント側から送られてくる光信号を受信し、電気信号に変換して主信号デバイス３３へ出力し、主信号デバイス３３から送られてくる電気信号を受信し、光信号に変換してクライアント側へ出力する。
【００４２】
ネットワークポート３４は、光ファイバなどの光伝送路を介してネットワークに接続されている。ネットワークポート３４は、ネットワークから送られてくる光信号を受信し、電気信号に変換して主信号デバイス３３へ出力し、主信号デバイス３３から送られてくる電気信号を受信し、光信号に変換してネットワークへ出力する。
【００４３】
不揮発性メモリ３６は、ＰＲエリアのコンフィグレーションに用いられる構成データを格納する。ＥＥＰＲＯＭまたはフラッシュメモリは、不揮発性メモリ３６の一例である。
【００４４】
制御デバイス３５は、不揮発性メモリ３６及び主信号デバイス３３に接続されている。制御デバイス３５は、不揮発性メモリ３６から構成データを読み出して主信号デバイス３３にダウンロードする。それによって、主信号デバイス３３は、各クライアントポート３２に対するインタフェースとして種々のプロトコルを実現する。ＦＰＧＡまたはＡＳＩＣは、制御デバイス３５の一例である。
【００４５】
図７は、図６に示す情報処理装置における主信号デバイスの構成例及び不揮発性メモリの構成データ格納例を示す図である。特に限定しないが、例えば図７に示す例では、１０個のクライアントポート３２が設けられており、それに応じて主信号デバイス３３に１０個のＰＲエリア３８が設けられている。不揮発性メモリ３６には、主信号デバイス３３の全体をコンフィグレーションする際に用いられるフルコンフィグレーション回路データ４１と、主信号デバイス３３の各ＰＲエリア３８をコンフィグレーションする際に用いられる特有回路データ４２と、が格納される。
【００４６】
フルコンフィグレーション回路データ４１は、各クライアントポート３２の各プロトコルを実現する回路データのうちの共通回路部データを含んでいる。つまり、情報処理装置の電源投入後やリセット解除後に主信号デバイス３３がフルコンフィグレーション回路データ４１によってコンフィグレーションされることによって、主信号デバイス３３の各ＰＲエリア３８に初期設定のプロトコルが実現されるが、その際に各ＰＲエリア３８における共通回路部が実現される。フルコンフィグレーション回路データ４１は、初期構成データの一例である。
【００４７】
特に限定しないが、例えば図７に示す例では、各クライアントポート３２に対して５個ずつのプロトコルが実現されるようになっている。従って、例えば不揮発性メモリ３６には、クライアントポート＃１に対してプロトコル＃１を実現するための特有回路データ、クライアントポート＃１に対してプロトコル＃２を実現するための特有回路データ、・・・、クライアントポート＃１に対してプロトコル＃５を実現するための特有回路データが格納される。クライアントポート＃２〜＃１０のそれぞれについても同様に、プロトコル＃１を実現するための特有回路データ、プロトコル＃２を実現するための特有回路データ、・・・、プロトコル＃５を実現するための特有回路データが格納される。つまり、不揮発性メモリ３６には、フルコンフィグレーション回路データ４１と、１０個のクライアントポート３２のそれぞれに５個ずつのプロトコルで計５０個の特有回路データ４２と、が格納される。
【００４８】
・データ処理方法の第２の例
図８は、データ処理前の構成データの一例を示す図である。図８に示すように、本実施例では、クライアントポート＃Ｘに対してｎ個のプロトコルを実現する場合を例にして説明する。図８において、ＰＲエリア＃Ｘプロトコル＃１回路データ４３は、クライアントポート＃Ｘに対応するＰＲエリア＃Ｘにプロトコル＃１の実回路を構成する場合に用いられる構成データである。ＰＲエリア＃Ｘプロトコル＃ｎ回路データ４４は、クライアントポート＃Ｘに対応するＰＲエリア＃Ｘにプロトコル＃ｎの実回路を構成する場合に用いられる構成データである。Ｘは１以上の整数であり、ｎは２以上の整数である。
【００４９】
ＰＲエリア＃Ｘプロトコル＃１回路データ４３及びＰＲエリア＃Ｘプロトコル＃ｎ回路データ４４は、ＰＲエリア＃Ｘ内の領域を指定するアドレス情報４５を一定間隔で有し、アドレス情報４５のすぐ後に、そのアドレス情報４５によって指定されるＰＲエリア＃Ｘ内の領域の回路を構成するための実回路データ４６を有する。例えば図８に示す例では、ＰＲエリア＃Ｘプロトコル＃１回路データ４３及びＰＲエリア＃Ｘプロトコル＃ｎ回路データ４４にｍ個のアドレス情報４５が挿入されている。ｍは２以上の整数である。
【００５０】
図８に示すデータ構造において、アドレス情報４５のデータサイズをＡバイトとし、実回路データ４６のデータサイズをＢバイトとし、ＰＲエリア＃Ｘに対するプロトコル回路データ４３，４４のデータサイズをＣバイトとする。Ａ、Ｂ及びＣは１以上の整数である。
【００５１】
図９は、実施の形態にかかるデータ処理方法の第２の例を示す図である。図９に示すように、例えば図１に示すデータ処理装置は、ＰＲエリア＃Ｘのコンフィグレーションに用いられるプロトコル回路データに対してデータ処理を開始すると、まず、データを比較した回数ｉを０に設定し、データを削除した回数ｊを０に設定する（ステップＳ１１）。ｉ及びｊは０以上の整数である。
【００５２】
次いで、データ処理装置は、プロトコル回路データのデータサイズＣバイトを、アドレス情報４５のデータサイズＡバイトと実回路データ４６のデータサイズＢバイトとを足した値で除し、その商ｍを求める（ステップＳ１２）。求めた商ｍは、ＰＲエリア＃Ｘのコンフィグレーションに用いられるプロトコル回路データ４３，４４に挿入されているアドレス情報４５の数である。
【００５３】
次いで、データ処理装置は、現在のｉの値が、ステップＳ１２で求めたｍの値に一致するか否かを判断する（ステップＳ１３）。一致しない場合（ステップＳ１３：Ｎｏ）、データ処理装置は、比較部１によって、ＰＲエリア＃Ｘのコンフィグレーションに用いられる全て、すなわちｎ個のプロトコル回路データ４３，４４に対して、それぞれの（ｉ−ｊ）（Ａ＋Ｂ）バイトから（ｉ−ｊ＋１）（Ａ＋Ｂ）バイトまでのデータを比較する（ステップＳ１４）。そして、データ処理装置は、ｉの値をインクリメントする（ステップＳ１５）。
【００５４】
次いで、データ処理装置は、比較部１によって、ステップＳ１４で比較したデータが同一であるか否かを判断する（ステップＳ１６）。同一でない場合（ステップＳ１６：Ｎｏ）、データ処理装置は、ステップＳ１３に戻り、ステップＳ１３以降の処理を繰り返す。
【００５５】
同一である場合（ステップＳ１６：Ｙｅｓ）、データ処理装置は、ｊの値をインクリメントする（ステップＳ１７）。そして、データ処理装置は、抽出部２によって、ステップＳ１４で比較したデータ部分、すなわち共通回路部データを抽出し、削除部３によって、ＰＲエリア＃Ｘのコンフィグレーションに用いられる全てのプロトコル回路データ４３，４４から共通回路部データを削除する。データ処理装置は、共通回路部データを削除した後、削除した共通回路部データのサイズがＡ＋Ｂバイトであるから、削除した共通回路部データの後続のデータをＡ＋Ｂバイト分、先頭方向へシフトする（ステップＳ１８）。そして、データ処理装置は、ステップＳ１３に戻る。なお、ステップＳ１７とステップＳ１８とは、いずれが先でもよい。
【００５６】
データ処理装置は、ステップＳ１３で、現在のｉの値が、ステップＳ１２で求めたｍの値に一致するまで、ステップＳ１３〜ステップＳ１８を繰り返す。そして、現在のｉの値がｍの値に一致すると（ステップＳ１３：Ｙｅｓ）、ＰＲエリア＃Ｘのコンフィグレーションに用いられるプロトコル回路データ４３，４４における全てのアドレス情報４５と実回路データ４６とのセットに対して比較が終了したことになるため、データ処理装置は、一連の処理を終了する。処理の終了によって、ＰＲエリア＃Ｘのコンフィグレーションに用いられる全てのプロトコル回路データは、共通回路部データを含まない特有回路データとなる。
【００５７】
データ処理装置は、主信号デバイス３３に設けられているＰＲエリアごとに、各ＰＲエリアのコンフィグレーションに用いられる全てのプロトコル回路データに対して、上述したステップＳ１１〜Ｓ１８の処理を行う。例えば図７に示す例の場合、クライアントポート＃１に対応するＰＲエリア＃１でプロトコル＃１〜＃５をそれぞれ実現するためのプロトコル＃１回路データ、プロトコル＃２回路データ、プロトコル＃３回路データ、プロトコル＃４回路データ及びプロトコル＃５回路データに対して、データ処理装置は、上述したステップＳ１１〜Ｓ１８の処理を行う。クライアントポート＃２に対応するＰＲエリア＃２についても同様に、プロトコル＃１回路データ、プロトコル＃２回路データ、プロトコル＃３回路データ、プロトコル＃４回路データ及びプロトコル＃５回路データに対して、データ処理装置は、上述したステップＳ１１〜Ｓ１８の処理を行う。クライアントポート＃３〜＃１０にそれぞれ対応するＰＲエリア＃３〜＃１０についても同様である。
【００５８】
図１０は、ｎ＝３である場合のデータ処理前の構成データの一例を示す図である。ｎ＝３、すなわちクライアントポート＃Ｘに対して３個のプロトコルを実現する場合を例にして、上述したデータ処理手順における構成データの変遷を具体的に説明する。図１０に示すように、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３において、例えばそれぞれのデータサイズＣを１５バイトとし、アドレス情報のデータサイズＡを１バイトとし、実回路データのデータサイズＢを２バイトとする。
【００５９】
ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３において、例えば０１のアドレス情報に対する実回路データは、それぞれ０１２３、０１２３及び００２２であるとする。また、例えば０２のアドレス情報に対する実回路データは、それぞれ４５６７、４５６７及び４５６７であり、０３のアドレス情報に対する実回路データは、それぞれ８９ＡＢ、８８ＡＡ及び９９ＢＢであるとする。また、例えば０４のアドレス情報に対する実回路データは、それぞれＣＤＥＦ、ＣＣＤＤ及びＣＣＤＤであり、０５のアドレス情報に対する実回路データは、それぞれＦＦＦＦ、ＦＦＦＦ及びＦＦＦＦであるとする。なお、アドレス情報及び実回路データの値は１６進数で表されている。
【００６０】
図１１および図１２は、図１０に示す構成データの変遷を示す図である。図９に示すデータ処理手順が開始されると、まず、ｉの値とｊの値がともに０に設定され（ステップＳ１１）、ｍ＝５となる（ステップＳ１２）。ｉの値がｍの値に一致しないため（ステップＳ１３：Ｎｏ）、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３のそれぞれの０バイト目から３バイト目までのデータが互いに比較される（ステップＳ１４）。図１１に示す状態６１は、ここまでの状態を表している。
【００６１】
ｉの値がインクリメントされて１となる（ステップＳ１５）。ステップＳ１４で比較したデータは０１０１２３、０１０１２３及び０１００２２であるため、一致しない（ステップＳ１６：Ｎｏ）。従って、ステップＳ１３に戻るが、ｉの値はｍの値に一致しない（ステップＳ１３：Ｎｏ）。そのため、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３のそれぞれの３バイト目から６バイト目までのデータが互いに比較される（ステップＳ１４）。図１１に示す状態６２は、ここまでの状態を表している。
【００６２】
ｉの値がインクリメントされて２となる（ステップＳ１５）。ステップＳ１４で比較したデータは０２４５６７、０２４５６７及び０２４５６７であるため、一致する（ステップＳ１６：Ｙｅｓ）。従って、ｊの値がインクリメントされて１となる（ステップＳ１７）。そして、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３から０２４５６７のデータが削除され、０２４５６７の後続のデータが３バイト分先頭方向へシフトされる（ステップＳ１８）。図１１に示す状態６３は、ここまでの状態を表している。
【００６３】
ステップＳ１３に戻るが、ｉの値はｍの値に一致しない（ステップＳ１３：Ｎｏ）。そのため、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３のそれぞれの３バイト目から６バイト目までのデータが互いに比較される（ステップＳ１４）。図１２に示す状態６４は、ここまでの状態を表している。
【００６４】
ｉの値がインクリメントされて３となる（ステップＳ１５）。ステップＳ１４で比較したデータは０３８９ＡＢ、０３８８ＡＡ及び０３９９ＢＢであるため、一致しない（ステップＳ１６：Ｎｏ）。従って、ステップＳ１３に戻るが、ｉの値はｍの値に一致しない（ステップＳ１３：Ｎｏ）。そのため、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３のそれぞれの６バイト目から９バイト目までのデータが互いに比較される（ステップＳ１４）。図１２に示す状態６５は、ここまでの状態を表している。
【００６５】
ｉの値がインクリメントされて４となる（ステップＳ１５）。ステップＳ１４で比較したデータは０４ＣＤＥＦ、０４ＣＣＤＤ及び０４ＣＣＤＤであるため、一致しない（ステップＳ１６：Ｎｏ）。従って、ステップＳ１３に戻るが、ｉの値はｍの値に一致しない（ステップＳ１３：Ｎｏ）。そのため、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３のそれぞれの９バイト目から１２バイト目までのデータが互いに比較される（ステップＳ１４）。図１２に示す状態６６は、ここまでの状態を表している。
【００６６】
ｉの値がインクリメントされて５となる（ステップＳ１５）。ステップＳ１４で比較したデータは０５ＦＦＦＦ、０５ＦＦＦＦ及び０５ＦＦＦＦであるため、一致する（ステップＳ１６：Ｙｅｓ）。従って、ｊの値がインクリメントされて２となる（ステップＳ１７）。そして、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３から０５ＦＦＦＦのデータが削除される（ステップＳ１８）。図１２に示す状態６７は、ここまでの状態を表している。
【００６７】
ステップＳ１３に戻るが、ｉの値がｍの値に一致するため、一連のデータ処理が終了する。データ処理が終了すると、ＰＲエリア＃Ｘプロトコル＃１回路データ５１、ＰＲエリア＃Ｘプロトコル＃２回路データ５２及びＰＲエリア＃Ｘプロトコル＃３回路データ５３は、それぞれに特有の回路部分を構成する特有回路データのみとなる。
【００６８】
・マックスポンダのプロトコル変更処理手順の一例
図１３は、図６に示す情報処理装置におけるプロトコル変更処理手順の一例を示す図である。図１４〜図１６は、図１３に示すプロトコル変更処理における主信号デバイスの回路構成の変遷を示す図である。
【００６９】
図１３に示すように、マックスポンダ３１の電源投入後やリセット解除後に、制御デバイス３５のリコンフィグレーション制御ロジックは、不揮発性メモリ３６にアクセスして、不揮発性メモリ３６からフルコンフィグレーション回路データ４１を取得する（ステップＳ２１）。図１４に示す状態７１は、ここまでの状態を表している。この状態では、主信号デバイス３３は、何も回路が構成されていないＮＵＬＬの状態である。
【００７０】
次いで、制御デバイス３５のリコンフィグレーション制御ロジックは、不揮発性メモリ３６から取得したフルコンフィグレーション回路データ４１を主信号デバイス３３へダウンロードし（ステップＳ２２）、主信号デバイス３３の全体に対してフルコンフィグレーションを行う。それによって、主信号デバイス３３の各クライアントポートに対応するＰＲエリアは、初期設定のプロトコルを実現する回路構成となり、全てのクライアントポートのインタフェースが初期設定のプロトコルに構築される（ステップＳ２３）。図１４に示す状態７２は、ここまでの状態を表している。
【００７１】
ここで、クライアントポート＃１のプロトコルをプロトコル＃Ｙへ変更し、クライアントポート＃Ｘのプロトコルをプロトコル＃１へ変更するとする。制御デバイス３５のリコンフィグレーション制御ロジックは、不揮発性メモリ３６にアクセスして、不揮発性メモリ３６からクライアントポート＃１プロトコル＃Ｙ特有回路データ４７を取得する（ステップＳ２４）。図１５に示す状態７３は、ここまでの状態を表している。
【００７２】
次いで、制御デバイス３５のリコンフィグレーション制御ロジックは、不揮発性メモリ３６から取得したクライアントポート＃１プロトコル＃Ｙ特有回路データ４７を主信号デバイス３３へダウンロードする（ステップＳ２５）。そして、リコンフィグレーション制御ロジックは、主信号デバイス３３のクライアントポート＃１に対応するＰＲエリア＃１＿６１に対してパーシャルリコンフィグレーションを行う。それによって、ＰＲエリア＃１＿６１に特有な回路部分がクライアントポート＃１プロトコル＃Ｙ特有回路データによって再構成される。ＰＲエリア＃１＿６１には、ステップＳ２２のフルコンフィグレーションによってＰＲエリア＃１＿６１の共通回路部が既に構成されているため、ＰＲエリア＃１＿６１は、プロトコル＃Ｙを実現する回路構成となる。従って、クライアントポート＃１のインタフェースがプロトコル＃Ｙに構築される（ステップＳ２６）。図１５に示す状態７４は、ここまでの状態を表している。
【００７３】
図１５に示す状態７４では、ＰＲエリア＃１＿６１の共通回路部は格子柄で示される領域であり、ＰＲエリア＃１＿６１の特有回路部はドット柄で示される領域である。ドット柄で示される特有回路部の領域のみが再構成される。
【００７４】
次いで、制御デバイス３５のリコンフィグレーション制御ロジックは、不揮発性メモリ３６にアクセスして、不揮発性メモリ３６からクライアントポート＃Ｘプロトコル＃１特有回路データ４８を取得する（ステップＳ２７）。図１６に示す状態７５は、ここまでの状態を表している。
【００７５】
次いで、制御デバイス３５のリコンフィグレーション制御ロジックは、不揮発性メモリ３６から取得したクライアントポート＃Ｘプロトコル＃１特有回路データ４８を主信号デバイス３３へダウンロードする（ステップＳ２８）。そして、リコンフィグレーション制御ロジックは、主信号デバイス３３のクライアントポート＃Ｘに対応するＰＲエリア＃Ｘ＿６２に対してパーシャルリコンフィグレーションを行う。それによって、ＰＲエリア＃Ｘ＿６２に特有な回路部分がクライアントポート＃Ｘプロトコル＃１特有回路データによって再構成される。ＰＲエリア＃Ｘ＿６２には、ステップＳ２２のフルコンフィグレーションによってＰＲエリア＃Ｘ＿６２の共通回路部が既に構成されているため、ＰＲエリア＃Ｘ＿６２は、プロトコル＃１を実現する回路構成となる。従って、クライアントポート＃Ｘのインタフェースがプロトコル＃１に構築される（ステップＳ２９）。図１６に示す状態７６は、ここまでの状態を表している。
【００７６】
図１６に示す状態７６では、ＰＲエリア＃Ｘ＿６２の共通回路部は斜めの格子柄で示される領域であり、ＰＲエリア＃Ｘ＿６２の特有回路部は斜めの縞柄で示される領域である。
【００７７】
図９に示すデータ処理方法または図６に示す情報処理装置によれば、各構成データから共通回路部データが削除され、後続のデータが先頭方向へシフトされるため、各構成データのサイズが小さくなる。従って、例えばマックスポンダの主信号デバイスのコンフィグレーションに用いられる構成データ全体のサイズを小さくすることができる。また、共通回路部データがフルコンフィグレーション回路データに含まれているため、フルコンフィグレーション回路データとは別に共通回路部データを設ける場合に比べて、構成データ全体のサイズを小さくすることができる。それによって、マックスポンダにおいてプロトコルを変更するのに要する時間が短縮されるため、マックスポンダの性能が向上する。
【００７８】
図９に示すデータ処理方法または図６に示す情報処理装置によれば、各構成データに占める共通回路部データの比率によるが、各構成データのサイズを例えば約３〜４割程度、削減することができる。フルコンフィグレーション回路データを含めると、構成データ全体のサイズを例えば約２．５〜３．５割程度、削減することができる。
【００７９】
なお、本実施の形態で説明したデータ処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。
【００８０】
また、本実施の形態で説明したデータ処理装置は、スタンダードセルやストラクチャードＡＳＩＣなどの特定用途向けＩＣやＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、例えば、上述したデータ処理装置の比較部１、抽出部２及び削除部３をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、データ処理装置を製造することができる。
【００８１】
上述した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８２】
（付記１）部分的に再構成が可能なプログラマブル論理素子の構成データであって、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する構成データ同士を比較する比較部と、前記比較部による比較の結果に基づいて前記構成データのうちの前記共通回路部データを抽出する抽出部と、前記抽出部によって抽出された前記共通回路部データを前記構成データから削除する削除部と、を備えることを特徴とするデータ処理装置。
【００８３】
（付記２）前記削除部は、削除した前記共通回路部データの後続のデータを、削除した前記共通回路部データのサイズ分シフトすることを特徴とする付記１に記載のデータ処理装置。
【００８４】
（付記３）部分的に再構成が可能なプログラマブル論理素子の構成データであって、全構成データに共通の共通回路部データと、構成データごとに異なる特有回路データと、を有する構成データ同士を比較し、前記比較の結果に基づいて前記構成データのうちの前記共通回路部データを抽出し、抽出された前記共通回路部データを前記構成データから削除することを特徴とするデータ処理方法。
【００８５】
（付記４）削除した前記共通回路部データの後続のデータを、削除した前記共通回路部データのサイズ分シフトすることを特徴とする付記３に記載のデータ処理方法。
【００８６】
（付記５）部分的に再構成が可能なプログラマブル論理素子と、前記プログラマブル論理素子の構成データを格納する不揮発性メモリと、前記不揮発性メモリから前記構成データを読み出して前記プログラマブル論理素子にダウンロードする制御デバイスと、を備え、前記不揮発性メモリには、全構成データに共通の共通回路部データが構成データ全体に対して一つ格納され、かつ構成データごとに異なる特有回路データが構成データごとに格納されており、前記プログラマブル論理素子に前記共通回路部データによって実回路が構成されている状態において、前記制御デバイスは、前記不揮発性メモリから前記特有回路データを読み出して前記プログラマブル論理素子にダウンロードして前記特有回路データに対応する回路部分を再構成することを特徴とする情報処理装置。
【００８７】
（付記６）前記共通回路部データは、前記プログラマブル論理素子の全体を構成するときに用いられる初期構成データに含まれていることを特徴とする付記５に記載の情報処理装置。
【符号の説明】
【００８８】
１  比較部
２  抽出部
３  削除部
２１  プログラマブル論理素子
２２，３５  制御デバイス
２３，３６  不揮発性メモリ
２５  共通回路部データ
２６〜２８  特有回路データ
３１  マックスポンダ
３３  主信号デバイス
４１  フルコンフィグレーション回路データ
【図１】
2014238617.tif 000003
【図２】
2014238617.tif 000004
【図３】
2014238617.tif 000005
【図４】
2014238617.tif 000006
【図５】
2014238617.tif 000007
【図６】
2014238617.tif 000008
【図７】
2014238617.tif 000009
【図８】
2014238617.tif 000010
【図９】
2014238617.tif 000011
【図１０】
2014238617.tif 000012
【図１１】
2014238617.tif 000013
【図１２】
2014238617.tif 000014
【図１３】
2014238617.tif 000015
【図１４】
2014238617.tif 000016
【図１５】
2014238617.tif 000017
【図１６】
2014238617.tif 000018