(57)【要約】  ＦＰＧＡシステムは、パーシャルリコンフィグレーション可能に構成されたＦＰＧＡと、前記ＦＰＧＡの外部に位置し、前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体とを備える。前記外部記憶媒体は、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶する。前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む。
2019116984.tif 000002
【特許請求の範囲】
【請求項１】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡと、
前記ＦＰＧＡの外部に位置し、前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体と
を備え、
前記外部記憶媒体は、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、
前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む、
ＦＰＧＡシステム。
【請求項２】
前記第２コンフィグレーションデータは、複数の第２コンフィグレーションデータを含み、
前記外部記憶媒体は、前記複数の第２コンフィグレーションデータと、前記複数の第２コンフィグレーションデータのうち前記ＦＰＧＡに読み出させる第２コンフィグレーションデータを識別する識別情報とを記憶する、
請求項１に記載のＦＰＧＡシステム。
【請求項３】
前記ＦＰＧＡは、複数のＦＰＧＡを備え、
前記識別情報は、前記複数のＦＰＧＡにそれぞれ対応付けられた複数の識別情報を含み、
前記外部記憶媒体は、前記複数の識別情報を記憶する、
請求項２に記載のＦＰＧＡシステム。
【請求項４】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡの外部に位置して前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体に、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータであって、リコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、
前記ＦＰＧＡによって、前記外部記憶媒体から前記第１コンフィグレーションデータを読み出して前記第１コンフィグレーションデータが示すコンフィグレーションを展開して、前記リコンフィグ起動回路を構成し、
前記構成されたリコンフィグ起動回路によって、前記外部記憶媒体から前記第２コンフィグレーションデータを読み出して前記２コンフィグレーションデータが示すコンフィグレーションを展開し、
前記外部記憶媒体が記憶する前記第２コンフィグレーションデータが更新された後、さらに、前記リコンフィグ起動回路によって、前記外部記憶媒体から前記更新された第２コンフィグレーションデータを読み出して前記更新された第２コンフィグレーションデータが示すコンフィグレーションを展開する
ことを含むパーシャルリコンフィグレーション実行方法。
【請求項５】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡの外部に位置して前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体に、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータであって、リコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す複数の第２コンフィグレーションデータと、複数の前記第２コンフィグレーションデータのうち前記ＦＰＧＡに読み出させる第２コンフィグレーションデータを識別するための識別情報とを記憶し、
前記ＦＰＧＡによって、前記外部記憶媒体から前記第１コンフィグレーションデータを読み出して前記第１コンフィグレーションデータが示すコンフィグレーションを展開して、前記リコンフィグ起動回路を構成し、  前記構成されたリコンフィグ起動回路によって、前記識別情報によって識別される第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開し、
前記外部記憶媒体が記憶する前記識別情報が更新された後、さらに、前記リコンフィグ起動回路によって、前記更新された識別情報によって識別される第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開する
ことを含むパーシャルリコンフィグレーション実行方法。
【請求項６】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する記憶媒体であって、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡシステム、パーシャルリコンフィグレーション実行方法及び記憶媒体に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）は、回路のコンフィグレーションを展開することでユーザが回路構成を設定可能な集積回路である。ＦＰＧＡの１つとして、ＦＰＧＡが動作した状態で回路の一部を変更するパーシャルリコンフィグレーションを実行可能なＦＰＧＡが知られている。
このパーシャルリコンフィグレーションに関連して幾つかの技術が提案されている。【０００３】
例えば、特許文献１に記載の画像処理装置では、複数のＰＲ領域（動的部分再構成の対象領域）に対し、ＰＲ領域毎にコンフィグレーションデータを予めハードディスクに格納しておく。部分再構成の指示があった場合、ＣＰＵが空きＰＲ領域の有無を判定する。空きＰＲ領域がある場合は、その空きＰＲ領域にて部分再構成を行う。一方、空きＰＲ領域が無い場合は、ＣＰＵが各ＰＲ領域のコンフィグレーションデータをハードディスクからＲＡＭへロードしておき、いずれかのＰＲ領域で部分再構成可能になるのを待つ。【０００４】
また、特許文献２に記載の、再構成可能論理デバイスの論理プログラムデータ保護システムは、デバイスに固有のＩＤを用いて秘密鍵を生成する。このシステムは外部記憶装置から暗号化された論理プログラムデータを入手し、秘密鍵を使ってデータを復号し、復号した論理プログラムデータの完全性検証を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】日本国特開２０１６−０５７８２８号公報
【特許文献２】日本国特開２０１０−１１７９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＦＰＧＡが、ＦＰＧＡ内の揮発性メモリにコンフィグレーションデータ（コンフィグレーションを示すデータ）を記憶する場合、ＦＰＧＡが、リセットまたは一時的な電源オフ等により再起動すると、揮発性メモリに記憶しているコンフィグレーションデータは消えてしまう。
ここで、ＦＰＧＡが起動時に外部の記憶媒体から自動的にコンフィグレーションデータを読み出す仕様になっていれば、再起動時にもコンフィグレーションデータを読み出すことができる。しかしながら、ＦＰＧＡが再起動前にパーシャルリコンフィグレーションを実行していた場合、ＦＰＧＡが構成する回路は、パーシャルリコンフィグレーション実行後（再起動前）の回路ではなく、パーシャルリコンフィグレーション実行前（起動時）の回路に戻ってしまうことが考えられる。
特許文献１、２のいずれにも、ＦＰＧＡが揮発性メモリにコンフィグレーションデータを記憶しており、かつ、パーシャルリコンフィグレーション実行後に再起動した場合に、ＦＰＧＡが構成する回路をパーシャルリコンフィグレーション実行後の回路にする方法は示されていない。【０００７】
本発明の目的の一例は、上述の課題を解決することのできるＦＰＧＡシステム、パーシャルリコンフィグレーション実行方法及び記憶媒体を提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様によれば、ＦＰＧＡシステムは、パーシャルリコンフィグレーション可能に構成されたＦＰＧＡと、前記ＦＰＧＡの外部に位置し、前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体とを備える。前記外部記憶媒体は、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶する。前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む。【０００９】
本発明の第２の態様によれば、パーシャルリコンフィグレーション実行方法は、パーシャルリコンフィグレーション可能に構成されたＦＰＧＡの外部に位置して前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体に、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータであって、リコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、前記ＦＰＧＡによって、前記外部記憶媒体から前記第１コンフィグレーションデータを読み出して前記第１コンフィグレーションデータが示すコンフィグレーションを展開して、前記リコンフィグ起動回路を構成し、前記構成されたリコンフィグ起動回路によって、前記外部記憶媒体から前記第２コンフィグレーションデータを読み出して前記２コンフィグレーションデータが示すコンフィグレーションを展開し、前記外部記憶媒体が記憶する前記第２コンフィグレーションデータが更新された後、さらに、前記リコンフィグ起動回路によって、前記外部記憶媒体から前記更新された第２コンフィグレーションデータを読み出して前記更新された第２コンフィグレーションデータが示すコンフィグレーションを展開することを含む。【００１０】
本発明の第３の態様によれば、パーシャルリコンフィグレーション実行方法は、パーシャルリコンフィグレーション可能に構成されたＦＰＧＡの外部に位置して前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体に、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータであって、リコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す複数の第２コンフィグレーションデータと、複数の前記第２コンフィグレーションデータのうち前記ＦＰＧＡに読み出させる第２コンフィグレーションデータを識別するための識別情報とを記憶し、前記ＦＰＧＡによって、前記外部記憶媒体から前記第１コンフィグレーションデータを読み出して前記第１コンフィグレーションデータが示すコンフィグレーションを展開して、前記リコンフィグ起動回路を構成し、前記構成されたリコンフィグ起動回路によって、前記識別情報によって識別される第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開し、前記外部記憶媒体が記憶する前記識別情報が更新された後、さらに、前記リコンフィグ起動回路によって、前記更新された識別情報によって識別される第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開することを含む。【００１１】
本発明の第４の態様によれば、記憶媒体は、パーシャルリコンフィグレーション可能に構成されたＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する記憶媒体であって、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む。
【発明の効果】
【００１２】
この発明の実施形態によれば、ＦＰＧＡが揮発性メモリにコンフィグレーションデータを記憶しており、かつ、パーシャルリコンフィグレーション実行後に再起動した場合に、ＦＰＧＡが構成する回路をパーシャルリコンフィグレーション実行後の回路にすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るＦＰＧＡ（Field Programmable Gate Array）システムのハードウェア構成を示す概略構成図である。
【図２】本発明の実施形態に係る不揮発性メモリにコンフィグレーションデータが格納された状態におけるＦＰＧＡシステムの機能構成を示す概略ブロック図である。
【図３】本発明の実施形態に係るＦＰＧＡが第１コンフィグレーションデータを読み出して展開した状態におけるＦＰＧＡシステムの機能構成を示す概略ブロック図である。
【図４】本発明の実施形態に係るＦＰＧＡが第２コンフィグレーションデータを読み出して展開した状態におけるＦＰＧＡシステムの機能構成を示す概略ブロック図である。
【図５】コンフィグレーションデータにリコンフィグレーションの対象部分が含まれ、かつ、リコンフィグ起動回路を構成するためのコンフィグレーションデータが含まれていない場合のＦＰＧＡシステムの機能構成を示す概略ブロック図である。
【図６】本発明の実施形態の変形例にかかるＦＰＧＡシステムの機能構成を示す概略ブロック図である。
【図７】本発明の実施形態の変形例にかかるＦＰＧＡシステムが行う処理の手順を示すフローチャートである。
【図８】本発明の別の実施形態に係るＦＰＧＡシステムの構成の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、本発明の実施形態に係るＦＰＧＡ（Field Programmable Gate Array）システムのハードウェア構成を示す概略構成図である。図１に示すように、ＦＰＧＡシステム１は、ＦＰＧＡ２０１と、不揮発性メモリ２０６とを備える。ＦＰＧＡ２０１は、ユーザ回路領域２０２と、揮発性メモリ２０５とを備える。
【００１５】
ＦＰＧＡシステム１は、ユーザが設定するコンフィグレーション（Configuration）に従って回路を構成する。
不揮発性メモリ２０６は、ユーザが設定するコンフィグレーションデータを記憶する。ここでいうコンフィグレーションデータは、コンフィグレーションを示すデータである。不揮発性メモリ２０６は、電力を供給されない状態でもデータを保持する。
【００１６】
ＦＰＧＡ２０１は、不揮発性メモリ２０６からコンフィグレーションをコンフィグレーションデータにて読み出し、読み出したコンフィグレーションに従って回路を構成する。
ユーザ回路領域２０２は、ユーザ回路を設定および変更可能な領域である。ここでいうユーザ回路は、コンフィグレーションデータによって構成を指示される回路である。
ユーザ回路領域２０２のうち、予め設定されている部分が動的にリコンフィグレーション（Reconfiguration）可能である。すなわち、ＦＰＧＡ２０１として、パーシャルリコンフィグレーション（Partial Reconfiguration）可能なＦＰＧＡを用いる。ここでいうパーシャルリコンフィグレーションは、ＦＰＧＡを動作させたまま、ＦＰＧＡが構成する回路の一部を変更することである。
【００１７】
揮発性メモリ２０５は、不揮発性メモリ２０６から読み出されたコンフィグレーションデータを記憶する。揮発性メモリ２０５に電力を供給されない状態になると、揮発性メモリ２０５が記憶しているデータは消去される。このため、ＦＰＧＡ２０１は、ＦＰＧＡ２０１の電源がオン（ＯＮ）になって起動すると、不揮発性メモリ２０６からコンフィグレーションデータを読み出し、読み出したコンフィグレーションデータを揮発性メモリ２０５に記憶する。
ＦＰＧＡ２０１および不揮発性メモリ２０６として、公知のものを用いることができる。
【００１８】
図２は、不揮発性メモリ２０６にコンフィグレーションデータが格納された状態におけるＦＰＧＡシステム１の機能構成を示す概略ブロック図である。図２に示す状態では、図１に示すハードウェア構成で、不揮発性メモリ２０６が第１コンフィグレーションデータ２０７と第２コンフィグレーションデータ２０８とを記憶している。
第１コンフィグレーションデータ２０７は、ＦＰＧＡ２０１に回路を設定させるためのコンフィグレーションのうち、リコンフィグレーションの対象以外の部分のコンフィグレーションを示すコンフィグレーションデータである。第２コンフィグレーションデータ２０８は、ＦＰＧＡ２０１に回路を設定させるためのコンフィグレーションのうち、リコンフィグレーションの対象部分のコンフィグレーションを示すコンフィグレーションデータである。
【００１９】
図３は、ＦＰＧＡ２０１が第１コンフィグレーションデータ２０７を読み出して展開した状態におけるＦＰＧＡシステム１の機能構成を示す概略ブロック図である。図３に示す状態では、図２に示す状態から、揮発性メモリ２０５が第１コンフィグレーションデータ２０７を記憶し、ユーザ回路領域２０２が第１ユーザ回路２０３を構成している。第１ユーザ回路２０３は、リコンフィグ起動回路２０９を含んで構成されている。
リコンフィグ起動回路２０９は、不揮発性メモリ２０６から第２コンフィグレーションデータ２０８を読み出して揮発性メモリ２０５に格納し、格納した第２コンフィグレーションデータ２０８が示すコンフィグレーションをユーザ回路領域２０２に展開する回路である。
【００２０】
図２に示す状態から、ＦＰＧＡ２０１が電源をオン（ＯＮ）されて起動すると、ＦＰＧＡ２０１は、不揮発性メモリ２０６から第１コンフィグレーションデータ２０７を読み出し、揮発性メモリ２０５に格納する。そして、ＦＰＧＡ２０１は、揮発性メモリ２０５に格納した第１コンフィグレーションデータ２０７が示すコンフィグレーションをユーザ回路領域２０２に展開する。第１コンフィグレーションデータ２０７は、第１ユーザ回路２０３を示すコンフィグレーションデータであり、展開によってユーザ回路領域２０２が第１ユーザ回路２０３を構成する。また、第１コンフィグレーションデータ２０７はリコンフィグ起動回路２０９を示すコンフィグレーションデータを含んでおり、ユーザ回路領域２０２は、第１ユーザ回路２０３にリコンフィグ起動回路２０９を含んで構成する。
【００２１】
図４は、ＦＰＧＡ２０１が第２コンフィグレーションデータ２０８を読み出して展開した状態におけるＦＰＧＡシステム１の機能構成を示す概略ブロック図である。図４に示す状態では、図３に示す状態から、揮発性メモリ２０５が第２コンフィグレーションデータ２０８を記憶し、ユーザ回路領域２０２が第２ユーザ回路２０４を構成している。
図３に示す状態から、リコンフィグ起動回路２０９は、ユーザ回路領域２０２に構成されたことを契機として動作する。リコンフィグ起動回路２０９は、不揮発性メモリ２０６から第２コンフィグレーションデータ２０８を読み出して揮発性メモリ２０５に格納する。そして、リコンフィグ起動回路２０９は、揮発性メモリ２０５に格納した第２コンフィグレーションデータ２０８が示すコンフィグレーションをユーザ回路領域２０２に展開する。第２コンフィグレーションデータ２０８は、第２ユーザ回路２０４を示すコンフィグレーションデータであり、展開によってユーザ回路領域２０２が第２ユーザ回路２０４を構成する。
【００２２】
パーシャルリコンフィグレーションを行う場合、ユーザは、第２コンフィグレーションデータ２０８を更新し、リコンフィグ起動回路２０９を動作させる。リコンフィグ起動回路２０９は、ユーザの指示に従って動作すると、更新された第２コンフィグレーションデータ２０８を不揮発性メモリ２０６から読み出し、揮発性メモリ２０５が記憶している更新前の第２コンフィグレーションデータ２０８に上書きする。そして、リコンフィグ起動回路２０９は、揮発性メモリ２０５に上書きした更新後の第２コンフィグレーションデータ２０８が示すリコンフィグレーションを、ユーザ回路領域２０２のうち動的リコンフィグレーション可能に設定されている部分に展開する。動的リコンフィグレーション可能に設定されている部分は、第２ユーザ回路２０４が構成される部分であり、展開によって第２ユーザ回路２０４が更新される。この更新はパーシャルリコンフィグレーションの例に該当する。
【００２３】
不揮発性メモリ２０６は、ＦＰＧＡ２０１の外部に位置しており、第１コンフィグレーションデータ２０７と第２コンフィグレーションデータ２０８とを記憶し、第１コンフィグレーションデータ２０７にリコンフィグ起動回路２０９のコンフィグレーションを示すコンフィグレーションデータを含んで記憶する。不揮発性メモリ２０６は、記憶媒体の例、および、外部記憶媒体の例に該当する。但し、ここで用いる記憶媒体、外部記憶媒体のいずれも、不揮発性の記憶媒体に限定されない。例えば、ＦＰＧＡシステム１が不揮発性メモリ２０６に代えて揮発性記憶媒体を含み、ＦＰＧＡ２０１の電源オフ時に揮発性記憶媒体の電源がオンのまま保持されるようにしてもよい。
【００２４】
ＦＰＧＡ２０１との比較のために、コンフィグレーションデータにリコンフィグレーションの対象部分が含まれ、かつ、リコンフィグ起動回路を構成するためのコンフィグレーションデータが含まれていない場合について説明する。
図５は、コンフィグレーションデータにリコンフィグレーションの対象部分が含まれ、かつ、リコンフィグ起動回路を構成するためのコンフィグレーションデータが含まれていない場合のＦＰＧＡシステムの機能構成を示す概略ブロック図である。図５に示すように、ＦＰＧＡシステム１００１は、ＦＰＧＡ１１０１と、不揮発性メモリ１１０７とを備える。ＦＰＧＡ１１０１は、ユーザ回路領域１１０２と、揮発性メモリ１１０５とを備える。
【００２５】
ＦＰＧＡ１１０１は、パーシャルリコンフィグレーション可能なＦＰＧＡであり、ユーザ回路領域１１０２のうち、予め設定されている部分に対して動的にリコンフィグレーション可能である。図５では、ユーザ回路領域１１０２に設定されるユーザ回路１１０３のうち、パーシャルリコンフィグレーションの対象部分をリコンフィグ部分１１０４として示している。
【００２６】
また、図５に示す構成で、不揮発性メモリ１１０７は、コンフィグレーションデータ１１０８および１１０９を記憶している。コンフィグレーションデータ１１０８は、ＦＰＧＡ１１０１の起動時にユーザ回路領域１１０２に設定されるユーザ回路１１０３全体のコンフィグレーションを示すコンフィグレーションデータであり、リコンフィグ部分１１０４のコンフィグレーションデータを含んでいる。コンフィグレーションデータ１１０９は、パーシャルリコンフィグレーションに用いられるコンフィグレーションデータであり、リコンフィグ部分１１０４として構成される回路のコンフィグレーションを示す。
【００２７】
ＦＰＧＡ１１０１の電源がオフ（ＯＦＦ）になっている状態では、揮発性メモリ１１０５はデータを記憶しておらず、ユーザ回路領域１１０２はユーザ回路を構成していない。
ＦＰＧＡ１１０１は、不揮発性メモリ１１０７がコンフィグレーションデータ１１０８を記憶している状態でＦＰＧＡ１１０１の電源がオンになって起動すると、不揮発性メモリ１１０７からコンフィグレーションデータ１１０８を読み出して揮発性メモリ１１０５に格納する。この状態では、揮発性メモリ１１０５が記憶するコンフィグレーションデータ１１０６は、コンフィグレーションデータ１１０８となっている。
【００２８】
そして、ＦＰＧＡ１１０１は、揮発性メモリ１１０５に格納したコンフィグレーションデータ１１０８が示すコンフィグレーションをユーザ回路領域１１０２に展開する。この展開によってユーザ回路領域１１０２は、ユーザ回路１１０３を構成する。コンフィグレーションデータ１１０８にリコンフィグ部分１１０４のコンフィグレーションデータが含まれているため、ユーザ回路領域１１０２は、ユーザ回路１１０３にリコンフィグ部分１１０４を含んで構成する。
【００２９】
パーシャルリコンフィグレーションを行う場合、ユーザは、不揮発性メモリ１１０７がコンフィグレーションデータ１１０９を記憶している状態で、ＦＰＧＡ１１０１にパーシャルリコンフィグレーションを指示する。コンフィグレーションデータ１１０９は、パーシャルリコンフィグレーション開始前に不揮発性メモリ１１０７に格納されていればよく、ＦＰＧＡ１１０１の起動前に格納されていてもよいし、起動後に格納されていてもよい。
【００３０】
ＦＰＧＡ１１０１は、パーシャルリコンフィグレーションのユーザ指示に従って、不揮発性メモリ１１０７からコンフィグレーションデータ１１０９を読み出し、揮発性メモリ１１０５に格納する。これにより、揮発性メモリ１１０５が記憶するコンフィグレーションデータ１１０６のうち、リコンフィグ部分１１０４のコンフィグレーションデータがコンフィグレーションデータ１１０９に上書きされる。
そして、ＦＰＧＡ１１０１は、揮発性メモリ１１０５に格納したコンフィグレーションデータ１１０９をユーザ回路領域１１０２のうち動的リコンフィグレーション可能に設定されている部分に展開する。この展開により、ＦＰＧＡ１１０１の起動時に設定されたユーザ回路１１０３のうち、リコンフィグ部分１１０４が更新される。この更新はパーシャルリコンフィグレーションの例に該当する。
【００３１】
ここで、パーシャルリコンフィグレーション実行後にＦＰＧＡ１１０１が再起動する場合について考える。ＦＰＧＡ１１０１が再起動する場合の例として、ＦＰＧＡ１１０１の不具合または一時的な電源断等により、ＦＰＧＡ１１０１がリセットされ、あるいは、ＦＰＧＡ１１０１の電源がオフになった後再びオンになった場合が挙げられる。
【００３２】
ＦＰＧＡ１１０１の再起動時には、揮発性メモリ１１０５が記憶するコンフィグレーションデータ１１０６は一旦消去されている。また、ユーザ回路領域１１０２が構成していたユーザ回路も一旦消去されている。
この状態からＦＰＧＡ１１０１は、上述した起動時と同様、不揮発性メモリ１１０７からコンフィグレーションデータ１１０８を読み出して揮発性メモリ１１０５に格納し、格納したコンフィグレーションデータ１１０８が示すコンフィグレーションをユーザ回路領域１１０２に展開する。これにより、ＦＰＧＡ１１０１が再起動すると、パーシャルリコンフィグレーション実行前の状態に戻ってしまう。
【００３３】
一方、ＦＰＧＡシステム１では、不揮発性メモリ２０６が第１コンフィグレーションデータ２０７と第２コンフィグレーションデータ２０８とを別々に記憶する。ＦＰＧＡ２０１が不揮発性メモリ２０６から第１コンフィグレーションデータ２０７を読み出してユーザ回路領域２０２に展開することで、ユーザ回路領域２０２は、リコンフィグ起動回路２０９を構成する。リコンフィグ起動回路２０９が、不揮発性メモリ２０６から第２コンフィグレーションデータ２０８を読み出してユーザ回路領域２０２に展開することで、ユーザ回路領域２０２は、パーシャルリコンフィグレーション実行後のユーザ回路（第１ユーザ回路２０３および第２ユーザ回路２０４）を構成する。
【００３４】
ここで、不揮発性メモリが複数の第２コンフィグレーションデータを記憶しておき、これら複数の第２コンフィグレーションデータを識別番号で区別するようにしてもよい。この点について、図６を参照して説明する。
図６は、ＦＰＧＡシステム１の変形例にかかるＦＰＧＡシステム２の機能構成を示す概略ブロック図である。図６に示すように、ＦＰＧＡシステム２は、ＦＰＧＡ２０１と不揮発性メモリ２０６とを備える。ＦＰＧＡ２０１は、ユーザ回路領域２０２と揮発性メモリ２０５とを備える。ＦＰＧＡシステム２が備えるＦＰＧＡ２０１の数は１つ以上であればよい。
【００３５】
ＦＰＧＡシステム２が備える、ＦＰＧＡ２０１、ユーザ回路領域２０２、揮発性メモリ２０５、不揮発性メモリ２０６は、ＦＰＧＡシステム１の場合と同様であり、同一の符号（２０１、２０２、２０５、２０６）を付して説明を省略する。ＦＰＧＡシステム２が備える個々のＦＰＧＡ２０１を区別する場合、２０１−１〜２０１−Ｍの符号を用いる。Ｍは、ＦＰＧＡシステム２が備えるＦＰＧＡ２０１の数を示す正整数である。
【００３６】
不揮発性メモリ２０６は、第１コンフィグレーションデータ３０７と、第２コンフィグレーションデータ２０８と、リコンフィグデータ番号３１０とを記憶する。不揮発性メモリ２０６が記憶する第２コンフィグレーションデータ２０８の数は１つ以上であればよい。また、不揮発性メモリ２０６は、ＦＰＧＡ２０１毎にリコンフィグデータ番号３１０を記憶する。
ＦＰＧＡシステム２で不揮発性メモリ２０６が記憶する第１コンフィグレーションデータ３０７は、後述するリコンフィグ起動回路３０９のコンフィグレーションにおいて第１コンフィグレーションデータ２０７（図４）と異なる。それ以外は、第１コンフィグレーションデータ２０７と同様である。
【００３７】
ＦＰＧＡシステム２で不揮発性メモリ２０６が記憶する第２コンフィグレーションデータ２０８は、ＦＰＧＡシステム１の場合と同様であり、同一の符号２０８）を付して説明を省略する。不揮発性メモリ２０６が記憶する個々の第２コンフィグレーションデータ２０８を区別する場合、２０８−１〜２０８−Ｎの符号を用いる。Ｎは、不揮発性メモリ２０６が記憶する第２コンフィグレーションデータ２０８の数を示す正整数である。
不揮発性メモリ２０６は、第２コンフィグレーションデータ２０８−１〜２０８−Ｎの何れかを識別する識別番号をリコンフィグデータ番号３１０として記憶する。リコンフィグデータ番号３１０は、ＦＰＧＡ２０１−１〜２０１−Ｍの各々が読み出すべき第２コンフィグレーションデータ２０８（第２コンフィグレーションデータ２０８−１〜２０８−Ｎの何れか）を示す。不揮発性メモリ２０６が記憶する個々のリコンフィグデータ番号３１０を区別する場合、３１０−１〜３１０−Ｍの符号を用いる。
リコンフィグデータ番号３１０は第２コンフィグレーションデータ２０８を識別する識別情報の例に該当する。ＦＰＧＡシステム２がリコンフィグデータ番号３１０として用いる第２コンフィグレーションデータ２０８の識別情報は、識別番号に限定されず、第２コンフィグレーションデータ２０８−１〜２０８−Ｎの何れかを識別できる情報であればよい。
【００３８】
ＦＰＧＡシステム２で、ユーザ回路領域２０２は、第１ユーザ回路２０３と第２ユーザ回路２０４とを構成する。ＦＰＧＡシステム２における第１ユーザ回路２０３は、リコンフィグ起動回路３０９の動作が、ＦＰＧＡシステム１におけるリコンフィグ起動回路２０９（図４）の場合と異なる点以外は、ＦＰＧＡシステム１の場合と同様であり、同一の符号（２０３）を付して説明を省略する。
ＦＰＧＡシステム２で、ユーザ回路領域２０２が構成する第２ユーザ回路２０４は、不揮発性メモリ２０６が記憶する第２コンフィグレーションデータ２０８の何れか１つが示すコンフィグレーションをユーザ回路領域２０２に展開することで構成される。ＦＰＧＡシステム２でユーザ回路領域２０２が構成する第２ユーザ回路２０４は、第２コンフィグレーションデータ２０８が示すコンフィグレーションをユーザ回路領域２０２に展開して構成されることから、ＦＰＧＡシステム１における第２ユーザ回路２０４（図４）と同様の機能を有しており、同一の符号（２０４）を付して説明を省略する。
【００３９】
リコンフィグ起動回路３０９とリコンフィグデータ番号３１０とが一対一に対応付けられている。リコンフィグ起動回路３０９は、不揮発性メモリ２０６が記憶する第２コンフィグレーションデータ２０８−１〜２０８−Ｎのうち、当該リコンフィグ起動回路３０９に対応するリコンフィグデータ番号３１０が示す第２コンフィグレーションデータ２０８を読み出す。このようにリコンフィグ起動回路３０９は、不揮発性メモリ２０６が複数の第２コンフィグレーションデータ２０８を記憶する場合に対応する。それ以外は、リコンフィグ起動回路３０９は、リコンフィグ起動回路２０９（図４）の場合と同様である。
【００４０】
ＦＰＧＡシステム２における揮発性メモリ２０５は、第１コンフィグレーションデータ３０７と、不揮発性メモリ２０６が記憶する複数の第２コンフィグレーションデータ２０８のうち、リコンフィグ起動回路３０９が読み出す第２コンフィグレーションデータ２０８を記憶する。図６で揮発性メモリ２０５が記憶する第２コンフィグレーションデータに付されている符号２０８−ｉ１〜２０１−ｉＭは、それぞれ、不揮発性メモリ２０６が記憶している第２コンフィグレーションデータ２０８−１〜２０８−Ｎの何れかを示す。図６で第２ユーザ回路に付されている符号２０４−ｉ１〜２０４−ｉＭのｉ１〜ｉＭは、第２コンフィグレーションデータ２０８−ｉ１〜２０８−ｉＭのｉ１〜ｉＭと同じである。
【００４１】
ＦＰＧＡシステム２のＦＰＧＡ２０１が再起動する場合、ＦＰＧＡ２０１は、不揮発性メモリ２０６から第１コンフィグレーションデータ３０７を読み出して揮発性メモリ２０５に格納し、格納した第１リコンフィグレーションデータが示すコンフィグレーションをユーザ回路領域２０２に展開する。これにより、ユーザ回路領域２０２は、第１ユーザ回路２０３にリコンフィグ起動回路３０９を含んで構成する。リコンフィグ起動回路３０９は、ユーザ回路領域２０２に構成されたことを契機として動作し、不揮発性メモリ２０６が記憶する第２コンフィグレーションデータ２０８−１〜２０８−Ｎのうち、当該リコンフィグ起動回路３０９に対応するリコンフィグデータ番号３１０が示す第２コンフィグレーションデータ２０８を読み出す。リコンフィグ起動回路３０９は、読み出した第２コンフィグレーションデータ２０８を揮発性メモリ２０５に格納し、格納した第２コンフィグレーションデータ２０８が示すコンフィグレーションをユーザ回路領域２０２に展開する。これにより、ユーザ回路領域２０２は第２ユーザ回路２０４を構成する。
ＦＰＧＡ２０１の停止から再起動までの間にリコンフィグデータ番号３１０がユーザによって書き換えられなければ、再起動の前後で不揮発性メモリ２０６が記憶するリコンフィグデータ番号３１０は同じである。これにより、ユーザ回路領域２０２は、再起動後に再起動前と同じユーザ回路（第１ユーザ回路および第２ユーザ回路）を構成することができる。
【００４２】
次に、図７を参照してＦＰＧＡシステム２の動作について説明する。
図７は、ＦＰＧＡシステム２が行う処理の手順を示すフローチャートである。
図７の処理で、ＦＰＧＡの電源がオフになっている状態で不揮発性メモリ２０６は、第１コンフィグレーションデータを記憶する（ステップＳ１０１）。また、不揮発性メモリ２０６は、１つ以上の第２コンフィグレーションデータと、ＦＰＧＡ２０１に読み出させる第２コンフィグレーションデータをＦＰＧＡ２０１毎に示すリコンフィグデータ番号３１０とを記憶する（ステップＳ１０２）。
【００４３】
ＦＰＧＡ２０１の電源がオンになると（ステップＳ１０３）、ＦＰＧＡ２０１は、不揮発性メモリ２０６から第１コンフィグレーションデータ２０７を読み出し、揮発性メモリ２０５に格納する（ステップＳ１０４）。そして、ＦＰＧＡ２０１は、揮発性メモリ２０５に格納した第１コンフィグレーションデータ２０７が示すコンフィグレーションをユーザ回路領域２０２に展開する（ステップＳ１０５）。この展開により、ユーザ回路領域２０２は、第１ユーザ回路２０３にリコンフィグ起動回路３０９を含んで構成する。
【００４４】
次に、リコンフィグ起動回路３０９が第１ユーザ回路２０３に構成されたことを契機として動作を開始する（ステップＳ１０６）。リコンフィグ起動回路３０９は、リコンフィグ起動回路３０９自らに対応付けられているリコンフィグデータ番号を不揮発性メモリ２０６から読み出す（ステップＳ１０７）。そして、リコンフィグ起動回路３０９は、不揮発性メモリ２０６が記憶する第２コンフィグレーションデータ２０８−１〜２０８−Ｎのうち、ステップＳ１０７で読み出したリコンフィグデータ番号３１０が示す第２コンフィグレーションデータ２０８を読み出し、揮発性メモリ２０５に格納する（ステップＳ１０８）。パーシャルリコンフィグレーション実行時は揮発性メモリ２０５が既に第２コンフィグレーションデータ２０８をきおくしており、リコンフィグ起動回路３０９は、第２コンフィグレーションデータ２０８を上書きする。
【００４５】
そして、リコンフィグ起動回路３０９は、揮発性メモリ２０５に格納した第２コンフィグレーションデータ２０８が示すコンフィグレーションをユーザ回路領域２０２に展開する（ステップＳ１０９）。これにより、ユーザ回路領域２０２が第２ユーザ回路２０４を構成する。
ここで、ＦＰＧＡシステム１の処理は、パーシャルリコンフィグレーションを実施するか否かで分岐する（ステップＳ１１０）。ここでのパーシャルリコンフィグレーションの実施の有無は、ユーザが決定する。
【００４６】
パーシャルリコンフィグレーションを実施しないときは（ステップＳ１１０：ＮＯ）、ステップＳ１１０へ戻る。ステップＳ１１０でのループの間、ＦＰＧＡ２０１は、ユーザ回路を変更せずに維持する。
一方、パーシャルリコンフィグレーションを実施するときは（ステップＳ１１０：ＹＥＳ）、不揮発性メモリ２０６が、第２コンフィグレーションデータ２０８およびリコンフィグデータ番号３１０を記憶する（ステップＳ１１１）。
【００４７】
例えば、ユーザは、パーシャルリコンフィグレーション用に追加したいコンフィグレーションデータがある場合、追加したいコンフィグレーションデータを不揮発性メモリ２０６に入力する。不揮発性メモリ２０６は、このコンフィグレーションデータを新たな第２コンフィグレーションデータ２０８として記憶する。この新たな第２コンフィグレーションデータ２０８には、新たなリコンフィグデータ番号３１０が割り当てられる。また、ユーザは、ＦＰＧＡ２０１毎に、パーシャルリコンフィグレーションで読み出させた第２コンフィグレーションデータ２０８を示すリコンフィグデータ番号３１０を不揮発性メモリ２０６に入力し、不揮発性メモリ２０６は、このＦＰＧＡ２０１毎のリコンフィグデータ番号３１０を記憶する。不揮発性メモリ２０６が既に記憶しているリコンフィグデータ番号３１０は、新たに入力されたリコンフィグデータ番号３１０に上書きされる。
【００４８】
ユーザが追加したコンフィグレーションデータが無い場合、リコンフィグデータ番号の入力のみを行うことができる。不揮発性メモリ２０６は、このＦＰＧＡ２０１毎のリコンフィグデータ番号３１０を記憶する。この場合も、不揮発性メモリ２０６が既に記憶しているリコンフィグデータ番号３１０は、新たに入力されたリコンフィグデータ番号３１０に上書きされる。
ステップＳ１１１の後、処理がステップＳ１０６へ戻る。
なお、ＦＰＧＡシステム１の場合、不揮発性メモリ２０６が記憶している第２コンフィグレーションデータ２０８が１つのみであり、リコンフィグデータ番号３１０を記憶していない。このため、リコンフィグ起動回路２０９が不揮発性メモリ２０６から読み出す第２コンフィグレーションデータ２０８は一意に定まっており、第２コンフィグレーションデータ２０８を読み出す際にリコンフィグデータ番号３１０を参照しない。それ以外の点では、ＦＰＧＡシステム１が行う処理は、図７を参照して説明したＦＰＧＡシステム２の場合の処理と同様である。
【００４９】
以上のように、不揮発性メモリ２０６は、ＦＰＧＡ２０１によるパーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータ２０７と、パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータ２０８とを記憶し、リコンフィグ起動回路２０９のコンフィグレーションを示すコンフィグレーションデータを第１コンフィグレーションデータ２０７に含んで記憶する。
【００５０】
これにより、ＦＰＧＡシステム１では、ＦＰＧＡ２０１が揮発性メモリ（揮発性メモリ２０５）にコンフィグレーションデータを記憶しており、かつ、パーシャルリコンフィグレーション実行後に再起動した場合に、ＦＰＧＡ２０１のユーザ回路領域２０２が構成する回路をパーシャルリコンフィグレーション実行後の回路にすることができる。
具体的には、ＦＰＧＡシステム１では、不揮発性メモリ２０６が第１コンフィグレーションデータ２０７と第２コンフィグレーションデータ２０８とを別々に記憶する。ＦＰＧＡ２０１が不揮発性メモリ２０６から第１コンフィグレーションデータ２０７を読み出してユーザ回路領域２０２に展開することで、ユーザ回路領域２０２は、リコンフィグ起動回路２０９を構成する。リコンフィグ起動回路２０９が、不揮発性メモリ２０６から第２コンフィグレーションデータ２０８を読み出してユーザ回路領域２０２に展開することで、ユーザ回路領域２０２は、パーシャルリコンフィグレーション実行後のユーザ回路（第１ユーザ回路２０３および第２ユーザ回路２０４）を構成する。
ＦＰＧＡシステム２についても同様である。
【００５１】
また、不揮発性メモリ２０６は、複数の第２コンフィグレーションデータ２０８と、複数の第２コンフィグレーションデータ２０８のうちＦＰＧＡ２０１に読み出させる第２コンフィグレーションデータ２０８を識別するリコンフィグデータ番号３１０とを記憶する。
これにより、ＦＰＧＡシステム２では、複数の第２コンフィグレーションデータ２０８を不揮発性メモリ２０６に記憶させておき、ユーザが指示する第２コンフィグレーションデータ２０８をＦＰＧＡ２０１に読み出させることができる。この点で、ＦＰＧＡシステム２によれば、複数の第２コンフィグレーションデータ２０８の管理を比較的容易に行うことができる。
【００５２】
また、ＦＰＧＡシステム２では、ＦＰＧＡ２０１が揮発性メモリ（揮発性メモリ２０５）にコンフィグレーションデータを記憶しており、かつ、パーシャルリコンフィグレーション実行後に再起動した場合に、ＦＰＧＡ２０１のユーザ回路領域２０２が構成する回路をパーシャルリコンフィグレーション実行後の回路にすることができる。特に、ＦＰＧＡシステム２では、ＦＰＧＡ２０１が再起動後に読み出すべき第２コンフィグレーションデータ２０８を、リコンフィグデータ番号３１０にてＦＰＧＡ２０１に指示することができる。
【００５３】
また、ＦＰＧＡシステム２は、ＦＰＧＡ２０１を複数備える。不揮発性メモリ２０６は、ＦＰＧＡ２０１毎にリコンフィグデータ番号３１０を記憶する。
これにより、ＦＰＧＡシステム２では、ＦＰＧＡシステム２がＦＰＧＡ２０１を複数備える場合にも、複数の第２コンフィグレーションデータ２０８を不揮発性メモリ２０６に記憶させておき、ユーザが指示する第２コンフィグレーションデータ２０８をＦＰＧＡ２０１に読み出させることができる。この点で、ＦＰＧＡシステム２によれば、複数の第２コンフィグレーションデータ２０８の管理を比較的容易に行うことができる。
【００５４】
また、ＦＰＧＡシステム２では、ＦＰＧＡ２０１が揮発性メモリ（揮発性メモリ２０５）にコンフィグレーションデータを記憶しており、かつ、パーシャルリコンフィグレーション実行後に再起動した場合に、ＦＰＧＡ２０１のユーザ回路領域２０２が構成する回路をパーシャルリコンフィグレーション実行後の回路にすることができる。特に、ＦＰＧＡシステム２では、ＦＰＧＡ２０１が再起動後に読み出すべき第２コンフィグレーションデータ２０８を、リコンフィグデータ番号３１０にて複数のＦＰＧＡ２０１の各々に指示することができる。
【００５５】
次に、図８を参照して本発明の別の実施形態の構成について説明する。
図８は、本発明の別の実施形態に係るＦＰＧＡシステムの構成の例を示す図である。図８に示すＦＰＧＡシステム１０は、パーシャルリコンフィグレーション可能なＦＰＧＡ１１と、ＦＰＧＡ１１の外部に位置してＦＰＧＡ１１が読み出すコンフィグレーションデータを記憶する外部記憶媒体１２とを備える。
【００５６】
かかる構成にて、外部記憶媒体１２は、パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、第２コンフィグレーションデータを外部記憶媒体から読み出して当該第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを第１コンフィグレーションデータに含んで記憶する。
【００５７】
これにより、ＦＰＧＡシステム１０では、ＦＰＧＡ１１が揮発性メモリにコンフィグレーションデータを記憶しており、かつ、パーシャルリコンフィグレーション実行後に再起動した場合に、ＦＰＧＡ１１が構成する回路をパーシャルリコンフィグレーション実行後の回路にすることができる。
【００５８】
なお、ＦＰＧＡシステム１または２が行う処理の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００５９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００６０】
この出願は、２０１７年１２月１２日に出願された日本国特願２０１７−２３７９１８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００６１】
本発明は、ＦＰＧＡシステム、パーシャルリコンフィグレーション実行方法及び記憶媒体に適用してもよい。
【符号の説明】
【００６２】
１、２、１０  ＦＰＧＡシステム
１１、２０１、２０１−１〜２０１−Ｍ  ＦＰＧＡ
１２、外部記憶媒体
２０２  ユーザ回路領域
２０３  第１ユーザ回路
２０９、３０９  リコンフィグ起動回路
２０４、２０４−ｉ１〜２０４−ｉＭ  第２ユーザ回路
２０５  揮発性メモリ
２０６  不揮発性メモリ
２０７、３０７  第１コンフィグレーションデータ
２０８、２０８−１〜２０８−Ｎ、２０８−ｉ１〜２０８−ｉＭ  第２コンフィグレーションデータ
３１０、３１０−１〜３１０−Ｍ  リコンフィグデータ番号
【図１】
2019116984.tif 000003
【図２】
2019116984.tif 000004
【図３】
2019116984.tif 000005
【図４】
2019116984.tif 000006
【図５】
2019116984.tif 000007
【図６】
2019116984.tif 000008
【図７】
2019116984.tif 000009
【図８】
2019116984.tif 000010
【手続補正書】
【提出日】令和2年2月20日(2020.2.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡと、
前記ＦＰＧＡの外部に位置し、前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体と
を備え、
前記外部記憶媒体は、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、
前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む、
ＦＰＧＡシステム。
【請求項２】
前記第２コンフィグレーションデータは、複数の第２コンフィグレーションデータを含み、
前記外部記憶媒体は、前記複数の第２コンフィグレーションデータと、前記複数の第２コンフィグレーションデータのうち前記ＦＰＧＡに読み出させる第２コンフィグレーションデータを識別する識別情報とを記憶する、
請求項１に記載のＦＰＧＡシステム。
【請求項３】
前記ＦＰＧＡは、複数のＦＰＧＡを備え、
前記識別情報は、前記複数のＦＰＧＡにそれぞれ対応付けられた複数の識別情報を含み、
前記外部記憶媒体は、前記複数の識別情報を記憶する、
請求項２に記載のＦＰＧＡシステム。
【請求項４】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡの外部に位置して前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体に、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータであって、リコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、
前記ＦＰＧＡによって、前記外部記憶媒体から前記第１コンフィグレーションデータを読み出して前記第１コンフィグレーションデータが示すコンフィグレーションを展開して、前記リコンフィグ起動回路を構成し、
前記構成されたリコンフィグ起動回路によって、前記外部記憶媒体から前記第２コンフィグレーションデータを読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開し、
前記外部記憶媒体が記憶する前記第２コンフィグレーションデータが更新された後、さらに、前記リコンフィグ起動回路によって、前記外部記憶媒体から前記更新された第２コンフィグレーションデータを読み出して前記更新された第２コンフィグレーションデータが示すコンフィグレーションを展開する
ことを含むパーシャルリコンフィグレーション実行方法。
【請求項５】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡの外部に位置して前記ＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する外部記憶媒体に、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータであって、リコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す複数の第２コンフィグレーションデータと、複数の前記第２コンフィグレーションデータのうち前記ＦＰＧＡに読み出させる第２コンフィグレーションデータを識別するための識別情報とを記憶し、
前記ＦＰＧＡによって、前記外部記憶媒体から前記第１コンフィグレーションデータを読み出して前記第１コンフィグレーションデータが示すコンフィグレーションを展開して、前記リコンフィグ起動回路を構成し、  前記構成されたリコンフィグ起動回路によって、前記識別情報によって識別される第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開し、
前記外部記憶媒体が記憶する前記識別情報が更新された後、さらに、前記リコンフィグ起動回路によって、前記更新された識別情報によって識別される第２コンフィグレーションデータを前記外部記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開する
ことを含むパーシャルリコンフィグレーション実行方法。
【請求項６】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する記憶媒体であって、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む、記憶媒体。
【請求項７】
パーシャルリコンフィグレーション可能に構成されたＦＰＧＡによって読み出し可能なコンフィグレーションデータのデータ構造であって、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを含み、前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記ＦＰＧＡに読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む、データ構造。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、ＦＰＧＡシステム、パーシャルリコンフィグレーション実行方法、記憶媒体及びデータ構造に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の目的の一例は、上述の課題を解決することのできるＦＰＧＡシステム、パーシャルリコンフィグレーション実行方法、記憶媒体及びデータ構造を提供することである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の第４の態様によれば、記憶媒体は、パーシャルリコンフィグレーション可能に構成されたＦＰＧＡによって読み出し可能なコンフィグレーションデータを記憶する記憶媒体であって、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを記憶し、前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記記憶媒体から読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む。
本発明の第５の態様によれば、データ構造は、パーシャルリコンフィグレーション可能に構成されたＦＰＧＡによって読み出し可能なコンフィグレーションデータのデータ構造であって、前記パーシャルリコンフィグレーションの対象部分以外の回路のコンフィグレーションを示す第１コンフィグレーションデータと、前記パーシャルリコンフィグレーションの対象部分の回路のコンフィグレーションを示す第２コンフィグレーションデータとを含み、前記第１コンフィグレーションデータは、前記第２コンフィグレーションデータを前記ＦＰＧＡに読み出して前記第２コンフィグレーションデータが示すコンフィグレーションを展開するリコンフィグ起動回路のコンフィグレーションを示すコンフィグレーションデータを含む。
【国際調査報告】
2019116984.tif 000011
2019116984.tif 000012
2019116984.tif 000013
2019116984.tif 000014