(57)【要約】【課題】複数種類のコンフィグレーションデータ方式のＦＰＧＡに対するコンフィグレーションにおいて、一定のコンフィグレーション実行速度を維持しながら回路規模拡大の抑制を実現するコンフィグレーション制御装置、記録媒体、およびＦＰＧＡコンフィグレーション方法を提供する。【解決手段】制御デバイス１は、ＦＰＧＡ２、３、４、５に対応した複数データ形式のコンフィグレーションデータを全て、不揮発性メモリ６から１度に並行して読み取り、読み取った複数種類のデータ形式のコンフィグレーションデータを、シリアル変換した後、各データ形式に対応したＦＰＧＡ２、３、４、５にそれぞれ送信してコンフィグレーションを行う。【選択図】        図１
2004185239.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡに接続され、該接続されているＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置であって、
前記ＦＰＧＡに対応した複数データ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取り、該読み取った複数種類のデータ形式のコンフィグレーションデータを、各データ形式に対応した前記ＦＰＧＡにそれぞれ送信することを特徴とするコンフィグレーション制御装置。
【請求項２】
それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡに接続され、該接続されているＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置であって、
コンフィグレーション対象の前記ＦＰＧＡに対応したデータ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取るコンフィグレーションデータ読取手段と、
前記コンフィグレーションデータ読取手段により読み取られたコンフィグレーションデータをデータ形式ごとにパラレルデータからシリアルデータに変換するシリアル変換手段と、
前記シリアル変換手段によりシリアル変換された各データ形式のコンフィグレーションデータを、データ形式に対応した前記ＦＰＧＡにそれぞれ送信するコンフィグレーション手段と、
を有することを特徴とするコンフィグレーション制御装置。
【請求項３】
前記記録媒体から前記各データ形式のコンフィグレーションデータを読み取る際に、前記記録媒体から前記コンフィグレーションデータの各データ形式を示す識別情報を読み取る媒体識別情報読取手段と、
前記ＦＰＧＡに対応したコンフィグレーションデータのデータ形式を示す識別情報を、前記ＦＰＧＡから読み取るＦＰＧＡ識別情報読取手段と、
前記媒体識別情報読取手段により読み取られた識別情報と、前記ＦＰＧＡ識別情報読取手段により読み取られた識別情報とを比較し、該両識別情報が示すデータ形式が一致した場合のみコンフィグレーションの続行を許可する識別情報判定手段と、
を有することを特徴とする請求項２記載のコンフィグレーション制御装置。
【請求項４】
ＦＰＧＡに送信されるコンフィグレーションデータを格納する記録媒体であって、
互いに異なるデータ形式の複数のコンフィグレーションデータを格納し、前記コンフィグレーションデータ読み取り時に、全データ形式の前記コンフィグレーションデータが１度に並行して読み取られるように配置されていることを特徴とする記録媒体。
【請求項５】
前記各データ形式コンフィグレーションデータに、該各コンフィグレーションデータのデータ形式をそれぞれ示す識別情報が含まれていることを特徴とする請求項４記載の記録媒体。
【請求項６】
それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡと、前記複数データ形式のコンフィグレーションデータを格納する記録媒体と、前記ＦＰＧＡおよび前記記録媒体に接続され、前記ＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置とを用いるＦＰＧＡコンフィグレーション方法であって、
前記コンフィグレーション制御装置が、前記ＦＰＧＡに対応した複数データ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取り、該読み取った複数種類のデータ形式のコンフィグレーションデータを、各データ形式に対応した前記ＦＰＧＡにそれぞれ送信することを特徴とするＦＰＧＡコンフィグレーション方法。
【請求項７】
それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡと、前記複数データ形式のコンフィグレーションデータを格納する記録媒体と、前記ＦＰＧＡおよび前記記録媒体に接続され、前記ＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置とを用いるＦＰＧＡコンフィグレーション方法であって、
前記コンフィグレーション制御装置が、コンフィグレーション対象の前記ＦＰＧＡに対応したデータ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取るコンフィグレーションデータ読取工程と、
前記コンフィグレーション制御装置が、前記コンフィグレーションデータ読取工程により読み取ったコンフィグレーションデータをデータ形式ごとにパラレルデータからシリアルデータに変換するシリアル変換工程と、
前記コンフィグレーション制御装置が、前記シリアル変換工程によりシリアル変換した各データ形式のコンフィグレーションデータを、データ形式に対応した前記ＦＰＧＡにそれぞれ送信するコンフィグレーション工程と、
を有することを特徴とするＦＰＧＡコンフィグレーション方法。
【請求項８】
前記コンフィグレーション制御装置が、前記記録媒体から前記各データ形式のコンフィグレーションデータを読み取る際に、前記記録媒体から前記コンフィグレーションデータの各データ形式を示す識別情報を読み取る媒体識別情報読取工程と、
前記コンフィグレーション制御装置が、前記ＦＰＧＡに対応したコンフィグレーションデータのデータ形式を示す識別情報を、前記ＦＰＧＡから読み取るＦＰＧＡ識別情報読取工程と、
前記コンフィグレーション制御装置が、前記媒体識別情報読取工程により読み取った識別情報と、前記ＦＰＧＡ識別情報読取工程により読み取った識別情報とを比較し、該両識別情報が示すデータ形式が一致した場合のみコンフィグレーションの続行を許可する識別情報判定工程と、
を有することを特徴とする請求項７記載のＦＰＧＡコンフィグレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンフィグレーション制御装置、記録媒体、およびＦＰＧＡコンフィグレーション方法に関し、特に、複数種類のデータ方式のコンフィグレーションデータにそれぞれ対応したＦＰＧＡに対するコンフィグレーションを実現するコンフィグレーション制御装置、記録媒体、およびＦＰＧＡコンフィグレーション方法に関する。
【０００２】
【従来の技術】
機器に所定の処理を実行させるには、ハードウェア的に処理を実行させる方法とソフトウェア的に処理を実行させる方法とがある。半導体集積回路などを用いてハードウェア的に処理を実行させる場合は、処理を高速で実行可能な反面、処理内容の変更に柔軟に対応することが困難であることがあった。一方、ソフトウェア的に処理を実行させる場合、処理内容の変更に柔軟に対応できる反面、処理速度がハードウェア的に処理する場合に比べて遅くなってしまう。ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）は、このような問題を解決し得る利用者がプログラミング可能な半導体集積回路であって、機能（処理内容）の設定を自由に行うことができる。
【０００３】
ＦＰＧＡは、機能の設定を行うために、コンフィグレーションデータのダウンロード（コンフィグレーション）を行う必要がある。そのようなＦＰＧＡのコンフィグレーションに関連した従来技術として、特許文献１が開示するところのフィールドプログラマブルゲートアレイおよびその使用方法があった。特許文献１では、コンフィグレーションの際、特定のビットストリームの宛先のＦＰＧＡチップを確認し、ＦＰＧＡチップあるいはＦＰＧＡチップに接続されている他の回路素子の破壊につながり得るミスマッチを検出して防止していた。
【０００４】
また、特許文献２が開示するところのプログラマブル集積回路装置では、ＦＰＧＡパッケージを複数のコンフィグレーション用データを有する構造とすることにより、ＦＰＧＡの仕様の変更を容易にしていた。
【０００５】
【特許文献１】
特開平８−２３７１１０号公報
【特許文献２】
特開２０００−３１１９４５号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、従来のコンフィグレーション方式には、以下のような問題があった。図８は、従来のコンフィグレーション方式を説明するための回路構成を示す図である。図８に示されているように、コンフィグレーションデータ方式の異なるＦＰＧＡに対してコンフィグレーションを行う場合、一定のコンフィグレーションの実行速度を維持するためには、１種類のコンフィグレーションデータ方式のＦＰＧＡにつき、１つのコンフィグレーションを制御する制御デバイス、および１つのコンフィグレーションデータを格納する不揮発性メモリが必要であった。つまり、コンフィグレーションデータの種類の数だけ制御デバイスおよび不揮発性メモリを用意する必要があり、設置スペースおよびコスト面において負担が大きくなる可能性があった。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、複数種類のコンフィグレーションデータ方式のＦＰＧＡに対するコンフィグレーションにおいて、一定のコンフィグレーション実行速度を維持しながら回路規模拡大の抑制を実現するコンフィグレーション制御装置、記録媒体、およびＦＰＧＡコンフィグレーション方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
かかる目的を達成するため、請求項１記載の発明は、それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡに接続され、接続されているＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置であって、ＦＰＧＡに対応した複数データ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取り、読み取った複数種類のデータ形式のコンフィグレーションデータを、各データ形式に対応したＦＰＧＡにそれぞれ送信することを特徴とする。
【０００９】
また、請求項２記載の発明は、それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡに接続され、接続されているＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置であって、コンフィグレーション対象のＦＰＧＡに対応したデータ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取るコンフィグレーションデータ読取手段と、コンフィグレーションデータ読取手段により読み取られたコンフィグレーションデータをデータ形式ごとにパラレルデータからシリアルデータに変換するシリアル変換手段と、シリアル変換手段によりシリアル変換された各データ形式のコンフィグレーションデータを、データ形式に対応したＦＰＧＡにそれぞれ送信するコンフィグレーション手段と、を有することを特徴とする。
【００１０】
また、請求項３記載の発明によれば、請求項２記載のコンフィグレーション制御装置において、記録媒体から各データ形式のコンフィグレーションデータを読み取る際に、記録媒体からコンフィグレーションデータの各データ形式を示す識別情報を読み取る媒体識別情報読取手段と、ＦＰＧＡに対応したコンフィグレーションデータのデータ形式を示す識別情報を、ＦＰＧＡから読み取るＦＰＧＡ識別情報読取手段と、媒体識別情報読取手段により読み取られた識別情報と、ＦＰＧＡ識別情報読取手段により読み取られた識別情報とを比較し、両識別情報が示すデータ形式が一致した場合のみコンフィグレーションの続行を許可する識別情報判定手段と、を有することを特徴とする。
【００１１】
また、請求項４記載の発明は、ＦＰＧＡに送信されるコンフィグレーションデータを格納する記録媒体であって、互いに異なるデータ形式の複数のコンフィグレーションデータを格納し、コンフィグレーションデータ読み取り時に、全データ形式のコンフィグレーションデータが１度に並行して読み取られるように配置されていることを特徴とする。
【００１２】
また、請求項５記載の発明によれば、請求項４記載の記録媒体において、各データ形式コンフィグレーションデータに、各コンフィグレーションデータのデータ形式をそれぞれ示す識別情報が含まれていることを特徴とする。
【００１３】
また、請求項６記載の発明は、それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡと、複数データ形式のコンフィグレーションデータを格納する記録媒体と、ＦＰＧＡおよび記録媒体に接続され、ＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置とを用いるＦＰＧＡコンフィグレーション方法であって、コンフィグレーション制御装置が、ＦＰＧＡに対応した複数データ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取り、読み取った複数種類のデータ形式のコンフィグレーションデータを、各データ形式に対応したＦＰＧＡにそれぞれ送信することを特徴とする。
【００１４】
また、請求項７記載の発明は、それぞれ異なるデータ形式のコンフィグレーションデータに対応したＦＰＧＡと、複数データ形式のコンフィグレーションデータを格納する記録媒体と、ＦＰＧＡおよび記録媒体に接続され、ＦＰＧＡに対してコンフィグレーションを行うコンフィグレーション制御装置とを用いるＦＰＧＡコンフィグレーション方法であって、コンフィグレーション制御装置が、コンフィグレーション対象のＦＰＧＡに対応したデータ形式のコンフィグレーションデータを全て、接続されている記録媒体から１度に並行して読み取るコンフィグレーションデータ読取工程と、コンフィグレーション制御装置が、コンフィグレーションデータ読取工程により読み取ったコンフィグレーションデータをデータ形式ごとにパラレルデータからシリアルデータに変換するシリアル変換工程と、コンフィグレーション制御装置が、シリアル変換工程によりシリアル変換した各データ形式のコンフィグレーションデータを、データ形式に対応したＦＰＧＡにそれぞれ送信するコンフィグレーション工程と、を有することを特徴とする。
【００１５】
また、請求項８記載の発明によれば、請求項７記載のＦＰＧＡコンフィグレーション方法において、コンフィグレーション制御装置が、記録媒体から各データ形式のコンフィグレーションデータを読み取る際に、記録媒体からコンフィグレーションデータの各データ形式を示す識別情報を読み取る媒体識別情報読取工程と、コンフィグレーション制御装置が、ＦＰＧＡに対応したコンフィグレーションデータのデータ形式を示す識別情報を、ＦＰＧＡから読み取るＦＰＧＡ識別情報読取工程と、コンフィグレーション制御装置が、媒体識別情報読取工程により読み取った識別情報と、ＦＰＧＡ識別情報読取工程により読み取った識別情報とを比較し、両識別情報が示すデータ形式が一致した場合のみコンフィグレーションの続行を許可する識別情報判定工程と、を有することを特徴とする。
【００１６】
【発明の実施の形態】
（第１の実施形態の概要）
図１は、本発明の第１の実施形態における電子回路の構成を示す図である。図１に示されているように、本実施形態では、異種のコンフィグレーションデータ方式のＦＰＧＡ２、３、４、５（２、３は同種、４、５は同種である）を実装した電子回路構成に対し、全てのＦＰＧＡコンフィグレーションを制御する制御デバイス１と、全てのＦＰＧＡにコンフィグレーションするためのコンフィグレーションデータを格納するための不揮発性メモリ６とを各１つ設けている。
【００１７】
図２は、本発明の第１の実施形態におけるコンフィグレーションデータの合成方法を示す図である。本実施形態では、図２に示されるように、データ方式Ａのコンフィグレーションデータ７と、データ方式Ｂのコンフィグレーションデータ８といった異なるデータ方式のコンフィグレーションデータは、データ方式ごとに「縦割り」に分割されるようにコンフィグレーションデータ９に合成され、不揮発性メモリ６に格納されている。
【００１８】
データ方式Ａのコンフィグレーションデータ７は、データ形式Ａを使用するＦＰＧＡ用バイナリデータである。また、データ方式Ｂのコンフィグレーションデータ８は、データ形式Ｂを使用するＦＰＧＡ用バイナリデータである。また、コンフィグレーションデータ９は、データ形式Ａを使用するＦＰＧＡ用バイナリデータ（コンフィグレーションデータ７）とデータ形式Ｂを使用するＦＰＧＡ用バイナリデータ（コンフィグレーションデータ８）のパラレル合成データである。
【００１９】
本実施形態では、制御デバイス１は、例えば２ｎ  （ｎは１以上の整数）本のデータ信号線を介して、不揮発性メモリ６からコンフィグレーションデータを読み取る。制御デバイス１は、１度に不揮発性メモリ６から信号線ごとに１ビットずつ、すなわち１度に２ｎ  ビットずつコンフィグレーションデータを読み取る。上述した「縦割り」とは、上記のような２ｎ  本のデータ信号線からコンフィグレーションデータを読み取る場合、例えばデータ方式Ａのデータに２ｎ−１  本、データ方式Ｂのデータに２ｎ−１  本のデータ信号線を割り当てて１度に全種類のデータ方式のコンフィグレーションデータを読み取るように不揮発性メモリ６に格納させることを示す。
【００２０】
従来、１種類のコンフィグレーションデータ形式のＦＰＧＡに対して１つのコンフィグレーション制御デバイスおよび１つの不揮発性メモリが必要であった。本実施形態では、上記のような縦割りのデータ格納方式を使用することにより、複数種類のコンフィグレーションデータ形式のＦＰＧＡが混在した回路に対して、従来のコンフィグレーション速度を保ったまま、１つのコンフィグレ―ション制御デバイスおよび１つの不揮発性メモリでコンフィグレーションを行うことが可能となる。従って、本実施形態では、価格および基板実装面積を削減することができるという効果が得られる。
【００２１】
（第１の実施形態の構成）
以下、図１を用いて、本実施形態における構成について説明する。図１には、本発明の実施形態としての回路図が示されている。本実施形態における電子回路は、制御デバイス１と、ＦＰＧＡ２、３、４、５と、不揮発性メモリ６とを有する。制御デバイス１は、不揮発性メモリ６とデータ信号線、制御信号線、およびアドレス線を介して接続されている。なお、制御デバイス１・不揮発性メモリ６間のデータ信号線の本数は２ｎ  本とし、制御デバイス１は、不揮発性メモリ６から１度に２ｎ  ビットのデータを並行して読み取り可能であるとする（各データ信号線は１度に１ビットのデータを転送する）。また、制御デバイス１は、ＦＰＧＡ２、３、４、５と、それぞれコンフィグレーションデータを伝送するためのデータ信号線、およびクロック信号やエラー信号を伝送するための制御信号線を介して接続されている。
【００２２】
制御デバイス１は、データ方式ＡのＦＰＧＡのコンフィグレーション制御機能と、データ方式ＢのＦＰＧＡのコンフィグレーション制御機能と、不揮発性メモリ６の制御機能とを備えるコンフィグレーションの制御装置である。また、制御デバイス１は、データ方式Ａのデータをパラレルデータからシリアルデータに変換するパラレル／シリアル変換部（Ｐ／Ｓ変換部）１１と、データ方式Ｂのデータをパラレルデータからシリアルデータに変換するパラレル／シリアル変換部（Ｐ／Ｓ変換部）１２とを有する。制御デバイス１・不揮発性メモリ６間の２ｎ  本のデータ信号線のうちの所定本はＰ／Ｓ変換部１１に接続され、残りのデータ信号線はＰ／Ｓ変換部１２に接続されている。
【００２３】
ＦＰＧＡ２、３は、データ方式Ａのコンフィグレーションデータによりコンフィグレーション可能なＦＰＧＡである。
【００２４】
ＦＰＧＡ４、５は、データ方式Ｂのコンフィグレーションデータによりコンフィグレーション可能なＦＰＧＡである。
【００２５】
不揮発性メモリ６は、不揮発性の記録媒体であり、異なる２種類以上のデータ方式のコンフィグレーションデータを格納する。
【００２６】
（第１の実施形態の動作）
図３は、本発明の第１の実施形態におけるコンフィグレーション処理の流れを示すフローチャートである。以下、図１を用い、図３に沿って本実施形態におけるコンフィグレーションについて説明する。
【００２７】
なお、本実施形態では、一例として制御デバイス１・不揮発性メモリ６間のデータ信号線の本数を１６本（２ｎ  でｎ＝４）とし、制御デバイス１は、不揮発性メモリ６から１度に１６ビットのデータを並行して読み取るものとする。
【００２８】
まず、各ＦＰＧＡのコンフィグレーションデータ（データ方式Ａ、Ｂ）を１つの不揮発性メモリ（不揮発性メモリ６）に格納できるよう図２のように１つに合成し、不揮発性メモリ６に格納させる（ステップＳ１０１）。なお、上記の合成・格納処理は、制御デバイス１により行われるとしてもよいし、図１に図示されない他の機器により行われてもよい。
【００２９】
図４は、本発明の第１の実施形態におけるコンフィグレーションデータ格納後の不揮発性メモリ６のメモリマップを示す図である。不揮発性メモリ６におけるメモリアドレスは８桁の２進数で表されるものとするが、例えば８桁１６進数といったように、そのメモリアドレスを示す桁数および記数法は他のものであってもよいものとする。以下、図４を用いて、本実施形態における不揮発性メモリ６のメモリマップについて説明する。
【００３０】
不揮発性メモリ６における上位４桁のメモリアドレスは、制御デバイス１が読み取るタイミングに対応している。すなわち、同一の上位４桁のメモリアドレスにおけるコンフィグレーションデータは、同時に１６本のデータ信号線を介して制御デバイス１に読み取られる。
【００３１】
また、不揮発性メモリ６における下位４桁が「００００」から「１１１１」までの１６の各アドレスは、不揮発性メモリ６からコンフィグレーションデータを読み取る１６本のデータ信号線のうちのいずれかのデータ信号線に対応している。すなわち、同一の下位４桁のアドレスにおけるコンフィグレーションデータは、同一のデータ信号線を介して制御デバイス１に読み取られる。
【００３２】
図４に示されているように、不揮発性メモリ６のメモリアドレス「ｘｘｘｘ００００」から「ｘｘｘｘ０１１１」までの各アドレスには、データ形式Ａのコンフィグレーションデータが格納される。また、メモリアドレス「ｘｘｘｘ１０００」から「ｘｘｘｘ１１１１」までの各アドレスには、データ形式Ｂのコンフィグレーションデータが格納される。
【００３３】
また、図４には、各データが読み出される順番（１番からＮ番まで：Ｎは正の偶数）が示されている。例えば、「００００００００」から「０００００１１１」までに格納されているデータ方式Ａのコンフィグレーションデータは、１番目に読み出され、「０００１１０００」から「０００１１１１１」までに格納されているデータ方式Ｂのコンフィグレーションデータは、４番目に読み出される。
【００３４】
ここで、再度図３に沿って、本実施形態におけるコンフィグレーションについて説明を進める。
【００３５】
不揮発性メモリ６へのコンフィグレーションデータ格納後、制御デバイス１は、コンフィグレーションデータを不揮発性メモリ６から取り出すため、取り出すデータのアドレスを不揮発性メモリ６へのアドレス線を介して指定する（ステップＳ１０２）。このときの指定するアドレスの順序は図４のようになる。
【００３６】
次に、制御デバイス１は、指定したアドレス順に不揮発性メモリ６からコンフィグレーションデータを取り出す（ステップＳ１０３）。具体的には、まず、制御デバイス１は、１６本のうち８本のデータ信号線を介して１番目のデータ形式Ａのデータ、残りの８本のデータ信号線を介して２番目のデータ形式Ｂのデータをそれぞれ１度に読み出す。続けて、制御デバイス１は、３番目と４番目の組、５番目と６番目の組、．．．．（Ｎ−１）番目とＮ番目の組のデータを読み出す。
【００３７】
本実施形態では、１６本のデータ信号線のうち８本の信号線を介してデータ形式Ａのデータが読み出され、残りの８本の信号線を介してデータ形式Ｂのデータが読み出される。データ形式Ａのデータは、データ信号線を介してＰ／Ｓ変換部１１に伝送され、データ形式Ｂのデータは、データ信号線を介してＰ／Ｓ変換部１２に伝送される。
【００３８】
読み出された１番目と２番目の組のデータは、それぞれのデータ方式ごとにＰ／Ｓ変換部１１、１２のいずれかに伝送される。メモリアドレスが２Ｍ（Ｍは１以上の整数）桁からなる場合、制御デバイス１は、メモリアドレスの下位からＭ桁目を参照し、下位からＭ桁目が「０」か「１」かによってデータ形式を判断し、それぞれのデータ形式のＰ／Ｓ変換部に送るように振り分けるとしてもよい。
【００３９】
本実施形態のようにメモリアドレスが８桁からなり、図４のような配置でコンフィグレーションデータが格納されている場合、制御デバイス１は、メモリアドレスの下位から４桁目を判定し、「０」であればデータ形式Ａのデータ、「１」であればデータ形式Ｂのデータであると判断して、各データを振り分ける。例えば、アドレス「００００１０００」から読み出されたデータは、下位から４桁目が「１」であるため、下位４桁が「１０００」のアドレスのデータを伝送するデータ信号線を介して、データ方式ＢのＰ／Ｓ変換部１２に伝送される。
【００４０】
Ｐ／Ｓ変換部１１、１２は、それぞれ８本のデータ信号線を介してコンフィグレーションデータ（パラレルデータ）を受信すると、その８本分のパラレルデータをシリアルデータに変換する（ステップＳ１０４）。
【００４１】
Ｐ／Ｓ変換部１１は、シリアル変換したデータ形式Ａのコンフィグレーションデータを、データ信号線を介してデータ形式Ａのコンフィグレーションデータに対応するＦＰＧＡ２、３に送信してコンフィグレーションする。また、Ｐ／Ｓ変換部１２は、シリアル変換したデータ形式Ｂのコンフィグレーションデータを、データ信号線を介してデータ形式Ａのコンフィグレーションデータに対応するＦＰＧＡ４、５に送信してコンフィグレーションする（ステップＳ１０５）。
【００４２】
通常、２種類のデータ形式のコンフィグレーションを行う際、不揮発性メモリの部品数１つにすると、ＦＰＧＡにコンフィグレーションされるシリアルデータは１本となり、従来の回路（図８）に比べコンフィグレーションの実行速度が遅くなってしまう。これに対し、本実施形態では、コンフィグレーションデータのパラレルからシリアルへの変換をＦＰＧＡコンフィグレーション（データ形式）ごとに分けることにより、シリアルデータを１度に２本分出すことになる。従って、本実施形態によれば、２種類のデータ形式のコンフィグレーションを行う場合でも、コンフィグレーション速度は従来の回路（図８）と同等となる。
【００４３】
なお、本実施形態では、コンフィグレーションデータのデータ形式をＡ、Ｂの２種類としたが、３種類以上としてもよい。その場合、制御デバイス１には、データ形式の種類の数だけＰ／Ｓ変換部が設けられる。また、１度に全データ形式のコンフィグレーションデータを読み出し可能なように不揮発性メモリ６にコンフィグレーションデータを格納させる。
【００４４】
以上説明したように、本実施形態では、コンフィグレーションの一定の処理速度を維持するために通常１種類のコンフィグレーションデータ形式に対して１つのコンフィグレーション制御デバイス、１つのコンフィグレーションデータ格納用不揮発性メモリが必要であった回路において、従来のコンフィグレーション速度を保ったままコンフィグレーション制御デバイス、不揮発性メモリの数を削減することが可能となる。これにより、回路の価格を抑えることができ、また回路の基板実装面積を減らすことができる。
【００４５】
（第２の実施形態の概要）
本発明の第２の実施形態では、制御デバイス１は、各ＦＰＧＡに対応するデータ形式を識別するためのＩＤコードを各ＦＰＧＡから読み取るとともに、不揮発性メモリ６から読み出すコンフィグレーションデータに付加されているＩＤコードを読み取る。制御デバイス１は、読み取った両ＩＤコードを比較し、不揮発性メモリ６から読み取ったコンフィグレーションデータのデータ形式とコンフィグレーションするＦＰＧＡに対応するデータ形式とが一致した場合のみコンフィグレーションを実行する。なお、以下特記しない限り、本実施形態の構成および動作は、第１の実施形態と同様であるとする。
【００４６】
（第２の実施形態の構成）
図５は、本発明の第２の実施形態における回路構成を示す図である。以下、図５を用いて、本実施形態における構成について説明する。
【００４７】
本発明の第１の実施形態では、制御デバイス１は、各ＦＰＧＡとデータ信号線および制御信号線で接続されていたが、本実施形態では、さらにＦＰＧＡのＩＤコード読み取り信号線で接続されている。なお、ＩＤコード読み取り信号線は、制御デバイス１とＦＰＧＡ２、３、４、５とを接続するバウンダリスキャン信号線を利用するとしてもよい。
【００４８】
また、不揮発性メモリ６に格納されるコンフィグレーションデータに各ＦＰＧＡのＩＤコードを予め入れておく。図６は、本発明の第２の実施形態における不揮発性メモリ６のメモリマップを示す図である。図６に示されるように、不揮発性メモリ６は、各データ形式のコンフィグレーションデータに、各データ形式を識別するための情報であるＩＤコードを入れて格納する。例えば、奇数番目に読み出されるデータ形式Ａのコンフィグレーションデータには、データ形式Ａを示すＩＤコードが含まれ、偶数番目に読み出されるデータ形式Ｂのコンフィグレーションデータには、データ形式Ｂを示すＩＤコードが含まれる。なお、ＩＤコードは、２進数で８桁の数列からなるデータであるとしてよいが、例えば１６進数で８桁のように、その記数法および桁数は他のものであるとしてもよい。
【００４９】
また、ＦＰＧＡ２、３、４、５は、それぞれ自身に対応するコンフィグレーションデータのデータ形式を示すＩＤコードを保持する。このＩＤコードは、不揮発性メモリ６に格納されるものと同様のものである。例えば、ＦＰＧＡ２、３は、データ形式Ａを示すＩＤコードを保持し、ＦＰＧＡ４、５は、データ形式Ｂを示すＩＤコードを保持する。
【００５０】
また、制御デバイス１は、各ＦＰＧＡから、各ＦＰＧＡが保持するＩＤコードを検出する機能と、不揮発性メモリ６からコンフィグレーションデータを読み取る際、読み取ったコンフィグレーションデータに含まれているＩＤコードを検出する機能と、ＦＰＧＡから検出したＩＤコードとコンフィグレーションデータから検出したＩＤコードを比較・判定する機能とを有する。
【００５１】
（第２の実施形態の動作）
図７は、本発明の第２の実施形態におけるコンフィグレーション処理の流れを示すフローチャートである。以下、図５を用い、図７に沿って、本実施形態におけるコンフィグレーションについて説明する。
【００５２】
まず、各ＦＰＧＡのコンフィグレーションデータ（データ方式Ａ、Ｂ）を１つの不揮発性メモリ（不揮発性メモリ６）に格納できるように１つに合成し、不揮発性メモリ６に格納させる（ステップＳ２０１）。また、この際、各コンフィグレーションデータには、各データ形式を示すＩＤコードが含まれるように不揮発性メモリ６に格納させる。
【００５３】
次に、制御デバイス１は、コンフィグレーションデータを不揮発性メモリ６から取り出すため、取り出すデータのアドレスを不揮発性メモリ６へのアドレス線を介して指定する（ステップＳ２０２）。
【００５４】
次に、制御デバイス１は、指定したアドレス順に不揮発性メモリ６からコンフィグレーションデータを取り出す（ステップＳ２０３）。取り出されたコンフィグレーションデータは、それぞれ各データ形式に対応したＰ／Ｓ変換部に送られる。
【００５５】
Ｐ／Ｓ変換部１１、１２がコンフィグレーションデータを受け取ると、制御デバイス１は、Ｐ／Ｓ変換部１１、１２が受け取ったコンフィグレーションデータに含まれるＩＤコードを検出する（ステップＳ２０４）。
【００５６】
次に、制御デバイス１は、ＦＰＧＡ２、３、４、５が保持するＩＤコードの送信要求をＩＤコード読み取り信号線を介して各ＦＰＧＡ２、３、４、５に送信する。ＦＰＧＡ２、３、４、５は、制御デバイス１からＩＤコード送信要求を受信すると、それぞれ自身が保持するＩＤコードをＩＤコード読み取り信号線を介して制御デバイス１に返す。制御デバイス１は、ＦＰＧＡ２、３、４、５からそれぞれＩＤコードを受け取ると、自身が有する記憶部位に受け取ったＩＤコードを一旦保持する。このようにして、制御デバイス１は、ＦＰＧＡ２、３、４、５が対応するコンフィグレーションデータの各データ形式を読み取る（ステップＳ２０５）。
【００５７】
次に、制御デバイス１は、Ｐ／Ｓ変換部がコンフィグレーションデータを送信するＦＰＧＡのＩＤコードと、そのＰ／Ｓ変換部が受け取ったコンフィグレーションデータから検出されたＩＤコードとが一致するか否か判定する（ステップＳ２０６）。
【００５８】
両ＩＤコードが不一致であると判定された場合（ステップＳ２０６／Ｎｏ）、Ｐ／Ｓ変換部は、受け取ったコンフィグレーションデータを破棄し、コンフィグレーションを中止する（ステップＳ２０７）。
【００５９】
また、両ＩＤコードが一致したと判定された場合（ステップＳ２０６／Ｙｅｓ）、Ｐ／Ｓ変換部は、コンフィグレーションデータをシリアル変換し（ステップＳ２０８）、各ＦＰＧＡにコンフィグレーションする（ステップＳ２０９）。
【００６０】
例えば、ＦＰＧＡ２、３（データ形式Ａに対応）にコンフィグレーションするＰ／Ｓ変換部１１が受け取ったコンフィグレーションデータから、データ形式Ｂを示すＩＤコードが検出された場合、両ＩＤコードは不一致となり、制御デバイス１は、コンフィグレーションを中止する。
【００６１】
また、例えば、ＦＰＧＡ２、３（データ形式Ａに対応）にコンフィグレーションするＰ／Ｓ変換部１１が受け取ったコンフィグレーションデータから、データ形式Ａを示すＩＤコードが検出された場合、両ＩＤコードは一致と判定され、制御デバイス１は、コンフィグレーションを続行する。
【００６２】
以上説明したように、本実施形態によれば、コンフィグレーション前に不揮発性メモリから取り出した各コンフィグレーションデータのＦＰＧＡのＩＤコードと、ＦＰＧＡのＩＤコード読み取り信号線より取り出した各ＦＰＧＡのＩＤコードとを比較し、相違がある場合にはコンフィグレーションを中止させる。従って、異なるＦＰＧＡのデータの混入によるＦＰＧＡの破壊を防ぐことが可能となる。
【００６３】
なお、上記の実施形態は本発明の好適な実施の一例であり、本発明の実施形態は、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形して実施することが可能となる。
【００６４】
【発明の効果】
以上説明したように、本発明によれば、コンフィグレーション制御装置は、コンフィグレーションを行う全データ形式のコンフィグレーションデータを１度に並行して記録媒体から読み取る。従って、回路の基板実装面積を抑制しつつ、一定の実行速度が保証されたコンフィグレーションを実行することが可能となる。
【００６５】
また、本発明によれば、コンフィグレーション時に記録媒体から取り出した各コンフィグレーションデータのデータ形式を示す識別情報と、各ＦＰＧＡから読み出した各ＦＰＧＡに対応するコンフィグレーションデータのデータ形式を示す識別情報とを比較し、相違がある場合にはコンフィグレーションを中止させる。従って、異なるＦＰＧＡのデータの混入によるＦＰＧＡの破壊を防ぐことが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における回路構成を示す図である。
【図２】本発明の第１の実施形態におけるコンフィグレーションデータの合成方法を示す図である。
【図３】本発明の第１の実施形態におけるコンフィグレーション処理の流れを示すフローチャートである。
【図４】本発明の第１の実施形態におけるコンフィグレーションデータ格納後の不揮発性メモリのメモリマップを示す図である。
【図５】本発明の第２の実施形態における回路構成を示す図である。
【図６】本発明の第２の実施形態における不揮発性メモリのメモリマップを示す図である。
【図７】本発明の第２の実施形態におけるコンフィグレーション処理の流れを示すフローチャートである。
【図８】従来のコンフィグレーション方式を説明するための回路構成を示す図である。
【符号の説明】
１  制御デバイス
２〜５  ＦＰＧＡ
６  不揮発性メモリ
７  データ形式Ａのコンフィグレーションデータ
８  データ形式Ｂのコンフィグレーションデータ
９  コンフィグレーションデータ
１１、１２  Ｐ／Ｓ変換部
【図１】
2004185239.tif 000003
【図２】
2004185239.tif 000004
【図３】
2004185239.tif 000005
【図４】
2004185239.tif 000006
【図５】
2004185239.tif 000007
【図６】
2004185239.tif 000008
【図７】
2004185239.tif 000009
【図８】
2004185239.tif 000010