(57)【要約】【課題】メモリ領域に格納されているコンフィギュレーションデータを直接読み出してコンフィギュレーションを実施するＦＰＧＡのコンフィギュレーションを高い信頼性をもって確実に行えるコンフィギュレーション制御回路、ＦＰＧＡ装置及び方法を提供する。【解決手段】ＦＲＯＭ１２には、同じ内容のコンフィギュレーションデータが複数個格納されている。信号制御部０８が、ＦＰＧＡ０１にコンフィギュレーションのトリガを与えると、ＦＰＧＡ０１は、ＦＰＧＡ０１がデータの読み出し先として指定するＦＲＯＭ１２の指定領域に格納されているデータを読み出して、コンフィギュレーションを行う。コンフィギュレーションが失敗した場合には、信号制御部０８は、ＦＲＯＭ１２の指定領域を切り替え、ＦＰＧＡ０１がＦＲＯＭ１２の切り替え後の指定領域から別のデータを読み出してコンフィギュレーションするためのトリガをＦＰＧＡ０１に与える。【選択図】図１
2013074348.tif 000002
【特許請求の範囲】
【請求項１】
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の領域を有する不揮発性メモリと、コンフィギュレーションデータの読み出し先として指定されている不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡとを備えるＦＰＧＡ装置のコンフィギュレーション制御回路であって、
前記ＦＰＧＡのコンフィギュレーションの開始からの経過時間を監視するタイマと、
前記タイマの設定時間が満了した際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡコンフィギュレーションが成功したか否かを判定する判定部と、
前記判定部により、コンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替える切替部と、
前記ＦＰＧＡが前記切替部により切り替えられた前記不揮発性メモリの領域からコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える制御部と、
を具備することを特徴とするコンフィギュレーション制御回路。
【請求項２】
前記不揮発性メモリの複数の領域に、同一内容のエンベデットプロセッサ・プログラムがそれぞれさらに格納され、
前記ＦＰＧＡは、ＦＰＧＡのコンフィギュレーション完了後に前記不揮発性メモリの指定領域に格納されているエンベデットプロセッサ・プログラムを読み出して起動を開始するエンベデットプロセッサを備え、
前記タイマは、前記エンベデットプロセッサの起動開始からの経過時間をさらに監視し、前記タイマの設定時間が満了した際に、前記エンベデットプロセッサの起動完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記判定部は、前記エンベデットプロセッサの起動が成功したか否かをさらに判定し、前記エンベデットプロセッサの起動が失敗したと判定された際に、前記切替部は、前記不揮発性メモリの指定領域を切り替え、前記制御部は、前記ＦＰＧＡが前記切替部により切り替えられた前記不揮発性メモリの指定領域から別のコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とする請求項１に記載のコンフィギュレーション制御回路。
【請求項３】
前記制御部は、コンフィギュレーションに失敗したコンフィギュレーションデータを、コンフィギュレーションに成功した別のコンフィギュレーションデータに書き換えることにより、前記不揮発性メモリに格納されているデータを修復する、
ことを特徴とする請求項１に記載のコンフィギュレーション制御回路。
【請求項４】
前記制御部は、エンベデットプロセッサの起動に失敗したエンベデットプロセッサ・プログラムを、エンベデットプロセッサの起動に成功したエンベデットプロセッサ・プログラムに書き換えることにより、前記不揮発性メモリに格納されているデータを修復する、
ことを特徴とする請求項２に記載のコンフィギュレーション制御回路。
【請求項５】
ＦＰＧＡと、
請求項１乃至４の何れか１項に記載のコンフィギュレーション制御回路と、を備えるＦＰＧＡ装置。
【請求項６】
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の不揮発性メモリの領域のうち、コンフィギュレーションデータの読み出し先として指定されている不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡのコンフィギュレーション方法であって、
コンフィギュレーション開始からの経過時間を計測し、
前記経過時間が設定時間を超えた際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡのコンフィギュレーションが成功したか否かを判定し、
コンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替え、
指定を切り替えた後の不揮発性メモリの指定領域からコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とするコンフィギュレーション方法。
【請求項７】
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の領域を有する不揮発性メモリと、コンフィギュレーションデータの読み出し先として指定している前記不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡとを備えるＦＰＧＡ装置のコンフィギュレーションデータ更新方法であって、
前記ＦＰＧＡ装置の電源がＯＮ又はリセットされた後最初の読み出し先として指定される前記不揮発性メモリの指定領域に格納されているコンフィギュレーションデータを更新データに書き換え、
前記ＦＰＧＡのコンフィギュレーションを起動し、
前記ＦＰＧＡのコンフィギュレーション開始からの経過時間を計測し、
前記経過時間が設定時間を超えた際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡのコンフィギュレーションが成功したか否かを判定し、
更新データによるコンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替え、
指定を切り替えた後の前記不揮発性メモリの指定領域から更新前のコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とするコンフィギュレーションデータ更新方法。
【請求項８】
前記更新データによるコンフィギュレーションが成功した際に、前記不揮発性メモリに格納されている更新前のコンフィギュレーションデータを更新データに書き換える、
ことを特徴とする請求項７に記載のコンフィギュレーションデータ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡ（Field Programmable Gate Array）のコンフィギュレーション制御回路及び方法、並びに、コンフィギュレーションデータ更新方法に関する。
【背景技術】
【０００２】
ＦＰＧＡは、集積回路であり、コンフィギュレーションデータを書き換えることにより、ハードウェア機能を変更することができる。ＧＰＧＡは、この利便性により、汎用性の高いハードウェアとして、通信装置、情報処理装置等に広く使用されている。ＦＰＧＡは、揮発性であるため、起動の度にユーザ回路をコンフィグレーションする必要がある。
【０００３】
一般に、ＦＰＧＡには複数のモードが用意されており、その一つにＦＲＯＭ（フラッシュメモリ）からコンフィギュレーションするモードがある。
【０００４】
このモードでは、ＦＰＧＡがＦＲＯＭから読み出せるコンフィギュレーションデータは１つのみである。そのため、コンフィギュレーションデータの転送誤りによって失敗した場合には、同じコンフィギュレーションデータを再度読み込んでリコンフィギュレーションすることで復旧することは可能だが、ＦＲＯＭに格納されているコンフィギュレーションデータ自体が何らかの理由で破壊されている場合には、ＦＰＧＡを復旧することができないという問題があった。
【０００５】
この問題の解決法が、特許文献１から４に提案されている。
特許文献１では、同じ内容のコンフィギュレーションデータをそれぞれ格納する２つの領域と、制御部が読み出すコンフィギュレーションデータの格納面を示すフラグの領域とを有するメモリのフラグが示す領域から、制御部が読み出したコンフィギュレーションデータによるコンフィギュレーションが失敗した際に、フラグが示す領域とは別の領域に格納されている別のコンフィギュレーションデータを制御部が読み出して、ＦＰＧＡのコンフィギュレーションを行う方法が提案されている。
【０００６】
特許文献２では、通常のコンフィギュレーションデータと機能を限定したコンフィギュレーションデータを格納したメモリから制御部が読み出した通常のコンフィギュレーションデータによるコンフィギュレーションが失敗した際に、制御部は、限定されたコンフィギュレーションデータをメモリから読み出して、プログラマブル回路のコンフィギュレーションを行う方法が提案されている。
【０００７】
特許文献３では、同じ内容のコンフィギュレーションデータが格納されている複数のメモリ設け、ＦＰＧＡがコンフィギュレーションに失敗した際には、制御部はメモリを切り替え、切り替え後のメモリに格納されている別のコンフィギュレーションデータを読み出して、ＦＰＧＡのコンフィギュレーションを行う方法が提案されている。
【０００８】
特許文献４では、同じ内容のコンフィギュレーションデータを複数個格納するメモリから、制御部が選択したコンフィギュレーションデータを読み出してプログラマブル回路に転送する際に、読み出されたコンフィギュレーションデータにエラーが検出された場合は、制御部は、メモリから別のコンフィギュレーションデータを読み出して、プログラマブル回路のコンフィギュレーションを行う方法が提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−１９１８７２公報
【特許文献２】特開２００８−１８２３２７公報
【特許文献３】特開２０１０−０６６９６１公報
【特許文献４】特開２００７−２６５０５６公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１乃至４に提案されている方法では、メモリからのコンフィギュレーションデータの読み出しとＦＰＧＡへのデータ転送の制御を担う制御部が、コンフィギュレーションデータをＦＰＧＡに設定する。
このため、ＦＰＧＡがコンフィギュレーションデータの読み出し先として指定するＦＲＯＭの領域に格納されているコンフィギュレーションデータを、ＦＰＧＡが直接読み出してコンフィギュレーションを実施する必要がある装置では、上記いずれの方法も採用することができない。
【００１１】
また、コンフィギュレーションデータを適宜更新する場合あるが、従来のＦＰＧＡにおいては、更新データに誤りが合った場合には、復旧が困難となる場合があった。
【００１２】
本発明は、上記実情に鑑みてなされたものであり、メモリ領域に格納されているコンフィギュレーションデータを直接読み出してコンフィギュレーションを実施するＦＰＧＡ装置において、コンフィギュレーションを高い信頼性をもって行うことができるコンフィギュレーション制御回路及び方法を提供すること目的とする。
また、さらに、メモリ領域に格納されているコンフィギュレーションデータを直接読み出してコンフィギュレーションを実施するＦＰＧＡ装置のコンフィギュレーションデータの更新を高い信頼性をもって確実に行えるコンフィギュレーションデータ更新方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明の第１の観点に係るコンフィギュレーション制御回路は、
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の領域を有する不揮発性メモリと、コンフィギュレーションデータの読み出し先として指定されている不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡとを備えるＦＰＧＡ装置のコンフィギュレーション制御回路であって、
前記ＦＰＧＡのコンフィギュレーションの開始からの経過時間を監視するタイマと、
前記タイマの設定時間が満了した際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡコンフィギュレーションが成功したか否かを判定する判定部と、
前記判定部により、コンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替える切替部と、
前記ＦＰＧＡが前記切替部により切り替えられた前記不揮発性メモリの領域からコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える制御部と、
を具備することを特徴とする。
【００１４】
また、本発明の第２の観点に係るＦＰＧＡ装置は、
ＦＰＧＡと、
この発明に係るコンフィギュレーション制御回路と、を備える。
【００１５】
また、本発明の第３の観点に係るコンフィギュレーション方法は、
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の不揮発性メモリの領域のうち、コンフィギュレーションデータの読み出し先として指定されている不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡのコンフィギュレーション方法であって、
コンフィギュレーション開始からの経過時間を計測し、
前記経過時間が設定時間を超えた際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡのコンフィギュレーションが成功したか否かを判定し、
コンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替え、
指定を切り替えた後の不揮発性メモリの指定領域からコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とする。
【００１６】
また、本発明の第４の観点に係るコンフィギュレーションデータ更新方法は、
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の領域を有する不揮発性メモリと、コンフィギュレーションデータの読み出し先として指定している前記不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡとを備えるＦＰＧＡ装置のコンフィギュレーションデータ更新方法であって、
前記ＦＰＧＡ装置の電源がＯＮ又はリセットされた後最初の読み出し先として指定される前記不揮発性メモリの指定領域に格納されているコンフィギュレーションデータを更新データに書き換え、
前記ＦＰＧＡのコンフィギュレーションを起動し、
前記ＦＰＧＡのコンフィギュレーション開始からの経過時間を計測し、
前記経過時間が設定時間を超えた際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡのコンフィギュレーションが成功したか否かを判定し、
更新データによるコンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替え、
指定を切り替えた後の前記不揮発性メモリの指定領域から更新前のコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、同じ内容のコンフィギュレーションデータを複数個格納し、ＦＰＧＡがコンフィギュレーションに失敗したと判定された際に、ＦＰＧＡが別のコンフィギュレーションデータを読み出してリコンフィギュレーションするようにした。こうすることで、ＦＰＧＡの信頼性を向上させることができる。
【００１８】
また、本発明によれば、コンフィギュレーションが失敗したと判定された際に、ＦＰＧＡがコンフィギュレーションデータの読み出し先として指定する域を切り替え、ＦＰＧＡが切り替え後の指定領域に格納されている別のコンフィギュレーションデータを読み出せる構成とした。こうすることで、上記特許文献１乃至４にて提案されている方法が適用できない、ＦＰＧＡが読み出し先として指定する不揮発性メモリの領域に格納されているコンフィギュレーションデータを、ＦＰＧＡが直接読み出してコンフィギュレーションする必要がある装置に適用することができる。
【００１９】
また、本発明のコンフィギュレーションデータ更新方法によれば、コンフィギュレーションデータの更新時に、電源がＯＮ又はリセットされた後最初の読み出し先として指定する領域に格納されているコンフィギュレーションデータを更新データに書き換えるようにした。こうすることで、仮に更新データの不具合のために、更新データによるコンフィギュレーションに失敗したとしても、別の領域に格納されている更新前のコンフィギュレーションデータにより、ＦＰＧＡはコンフィギュレーションできる。この結果、専用端末をＦＰＧＡに接続する事無く更新作業を続ける事が可能となり、コンフィギュレーションデータの更新時における、作業効率とＦＰＧＡの信頼性を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態のＦＰＧＡ装置の構成を示すブロック図である。
【図２】信号制御部１４とＦＲＯＭ０９とを接続するアドレス線が１ビットの場合の    、概略のＦＰＧＡ装置のブロック図である。
【図３】アドレス線が１ビットの場合の、ＦＲＯＭ０９に格納されているコンフィギ    ュレーションデータ等のメモリマップのイメージ図である。
【図４】本実施形態の処理手順を示すフローチャートである。
【図５】信号制御部１４とＦＲＯＭ０９とを接続するアドレス線が２ビットの場合の    、概略のＦＰＧＡ装置のブロック図である。
【図６】アドレス線が２ビットの場合の、ＦＲＯＭ０９に格納されているコンフィギ    ュレーションデータ等のメモリマップのイメージ図である。
【発明を実施するための形態】
【００２１】
本発明の実施形態について、図面を参照して詳細に説明する。
（実施形態）
【００２２】
図１に示すように、本実施形態のＦＰＧＡを搭載する装置（以下、ＦＰＧＡ装置）は、ＦＰＧＡ０１、電源監視部０８、ＦＲＯＭ０９、クロック源１０及びコンフィギュレーション制御部１１（例えば、コンフィギュレーション制御回路）から構成されている。
ＦＰＧＡ（Field Programmable Gate Array）０１は、コンフィギュレーション機能部０２とプログラマブル回路０３とから構成されている。
【００２３】
コンフィギュレーション機能部０２は、ＦＰＧＡ０１に予め具備されている機能部であり、プログラマブル回路０３、ＦＲＯＭ０９及び信号制御部１４と接続されている。
【００２４】
プログラマブル回路０３は、インターフェースＩ／Ｏ０４を備えるユーザ回路０５と、エンベディトプロセッサ０６と、から構成されている。ユーザ回路０５とエンベディトプロセッサ０６は内部バス０７で接続されている。
【００２５】
ユーザ回路０５は、ユーザが作成したコンフィギュレーションデータに基づき任意の機能を設定できる回路である。ユーザ回路０５は、コンフィギュレーション機能部０２がＰＲＯＧ信号Ｓ２を受信したのをトリガとして、インターフェースＩ／Ｏ０４を介してＦＲＯＭ０９の指定された領域に格納されているコンフィギュレーションデータを読み出してコンフィギュレーションを実施する。
【００２６】
エンベデットプロセッサ０６は、ＦＰＧＡ０１のプログラマブル回路０３にＣＰＵコアと周辺回路を組み込むことにより実現するプロセッサである。エンベデットプロセッサ０６は、ＦＰＧＡ０１のコンフィギュレーション完了後に、ユーザ回路０５のインターフェースＩ／Ｏ０４を介してＦＲＯＭ０９の指定されている領域に格納されているエンベデットプロセッサ・プログラム（ＩＰＬやＯＳを含む）を読み出して動作する。
なお、本実施形態においては、プログラマブル回路０３は、エンベデットプロセッサ０６を実装する構成としたが、ユーザ回路０５のみを備える構成でもよい。
【００２７】
ＦＰＧＡ０１は、コンフィギュレーションデータを書き換えることにより、ハード機能を変更することが可能な集積回路である。ＦＰＧＡ０１は、揮発性であるため、起動の度にユーザ回路０５をコンフィギュレーションする必要がある。複数のコンフィギュレーションモードが用意されているが、本実施形態のようにＦＰＧＡ０１にＣＰＵコアを組み込み（エンベデットプロセッサ０６）、装置の制御をＦＰＧＡ０１のみが担う場合は、ＦＰＧＡ０１がコンフィギュレーションデータの読み出し先として指定するＦＲＯＭ０９の領域（一般には、ＦＲＯＭ０９の先頭アドレス）に格納されているコンフィギュレーションデータを、ＦＰＧＡ０１が直接読み出してコンフィギュレーションを実施するモードが使用される。
【００２８】
電源監視部０８は、装置の電源ＯＮ、ＯＦＦ、又は、リセットの制御を行う。また、信号制御部１４と接続され、ＦＰＧＡ０１や周辺デバイスの所定のシーケンスに従って起動タイミングを計り（一般には、入力電源電圧が安定後に）、信号制御部１４に対して、起動信号Ｓ１を出力する。
【００２９】
ＦＲＯＭ０９は、不揮発メモリである。本実施形態では、ＦＲＯＭ０９は、同じ内容のコンフィギュレーションデータと同じ内容のエンベデットプロセッサ・プログラムが一組ずつ格納される複数の領域を有している。また、ＦＲＯＭ０９は、信号制御部１４とアドレス線で接続され、ＦＰＧＡ０１がコンフィギュレーションに失敗した際に、信号制御部１４が面選択信号Ｓ７（以下、ＳＥＬ信号Ｓ７）の設定値（ＦＲＯＭ０９の指定領域の最上位ビットの論理）を順次切り替えることで、ＦＰＧＡ０１がコンフィギュレーションデータの読み出し先として指定するＦＲＯＭ０９の領域が切り替えられる。電源ＯＮ又はリセット時におけるＳＥＬ信号Ｓ７の初期設定値は、本実施形態では、”０”とし、コンフィギュレーション及びエンベデットプロセッサの起動が失敗する度に、＋１加算される。
【００３０】
コンフィギュレーション制御部１１は、タイマ１２と、カウンタ１３を備える信号制御部１４と、から構成されている。
【００３１】
タイマ１２は、クロック源１０に同期して動作するカウンタで、ＦＰＧＡ０１のコンフィギュレーションの完了とエンベデットプロセッサ０６の正常起動を監視するためのものである。タイマ１２の設定値は、ＦＰＧＡ０１のコンフィギュレーションとエンベデットプロセッサ０６の起動に要する時間よりも長くそれぞれ設定する。
【００３２】
カウンタ１３は、信号制御部１４が電源ON又はリセット後のコンフィギュレーションの回数を管理するためのカウンタである。電源ＯＮ又はリセット時における、初期設定値を”１”とし、ＦＰＧＡ０１のコンフィギュレーション又はエンベデットプロセッサ０６の起動が失敗する度に、＋１加算される。つまり、カウンタ値がｋ−１の時にコンフィギュレーション又はエンベデットプロセッサ０６の起動に失敗した際は、信号制御部１４により、ＳＥＬ信号Ｓ７の設定値はｋ−１からｋに切り替えられることになる。
【００３３】
信号制御部１４は、ＦＰＧＡ０１、電源監視部０８、ＦＲＯＭ０９及びタイマ１２と接続され、ＰＲＯＧ信号Ｓ２、スタート信号Ｓ３、ＳＥＬ信号Ｓ７等を制御する。また、信号制御部１４は、コンフィギュレーションの完了とエンベデットプロセッサ０６の正常起動を判定する。また、信号制御部１４は、コンフィギュレーション又はエンベデットプロセッサ０６の起動に失敗した際に、ＦＰＧＡ０１がコンフィギュレーションデータの読み出し先として指定するＦＲＯＭ０９の領域を切り替える。
【００３４】
次に、図２、３を参照して、ＦＲＯＭ０９について詳細に説明する。
上述のように、ＦＲＯＭ０９には、同一のコンフィギュレーションデータとエンベデットプロセッサ・プログラムとの組がｎ組記憶されている。図２，３は、ｎ＝２，即ち、２組のコンフィギュレーションデータとエンベデットプロセッサ・プログラムとがＦＲＯＭ０９に記憶されている場合の例である。
【００３５】
図３は、この場合の、ＦＲＯＭ０９に格納されているコンフィギュレーションデータ及びエンベデットプロセッサ・プログラムのメモリマップのイメージである。ただし、ＦＲＯＭ０９の容量を１２８Ｋバイトとしている。
【００３６】
図２に示すように、ＦＲＯＭ０９の最上位ビット（ビット１７）は信号制御部１４に、下位ビット（ビット１６〜０）はＦＰＧＡ０１に接続されている。この場合、ＦＰＧＡ０１が使用するデータの格納領域は、０ｘ０＿００００〜０ｘ０＿ＦＦＦＦと０ｘ１＿００００〜０ｘ１＿ＦＦＦＦとなる。そして、ＳＥＬ信号Ｓ７の設定値が”０”の場合は、ＦＰＧＡ０１はＦＲＯＭ０９の最上位ビットが”０”の領域（０ｘ０＿００００〜０ｘ０＿ＦＦＦＦ）のデータを使用し、信号制御部１４がＳＥＬ信号Ｓ７の設定値を”１”に切り替えた場合は、ＦＰＧＡ０１はＦＲＯＭ０９の最上位ビットが”１”の領域（０ｘ１＿００００〜０ｘ1＿ＦＦＦＦ）のデータを使用する。
【００３７】
コンフィギュレーションデータは、この２つの領域の各先頭部分（アドレス０ｘ０＿００００〜０ｘ０＿ＡＦＦＦと０ｘ１＿００００〜０ｘ１＿ＡＦＦＦ）に格納される。
【００３８】
このように、信号制御部１４とＦＲＯＭ０９とを接続するアドレス線で制御できるデータのビット数がｍビットの場合は、ＦＲＯＭ０９に格納できるコンフィギュレーションデータは最大で２ｍ個となる。必ずしも、ＦＲＯＭ０９に、最大個数のコンフィギュレーションデータ等を格納する必要はなく、例えば、最大個数が８個（ｍ＝３）の場合に、コンフィギュレーションデータを５個だけ格納するようにしても構わない。
【００３９】
次に、図１を参照して、電源ＯＮ又はリセットされた後の流れに沿って各信号について説明する。
【００４０】
起動信号Ｓ１は、電源ＯＮ又はリセットされた後に、電源監視部０８から信号制御部１４に対して出力される信号である。
【００４１】
ＰＲＯＧ信号Ｓ２は、ＦＰＧＡ０１がコンフィギュレーションをスタートするトリガとなる信号で、信号制御部１４が、起動信号Ｓ１の受信をトリガとして、コンフィギュレーション機能部０２に対して出力する。コンフィギュレーション機能部０２のＰＲＯＧ信号Ｓ２の受信をトリガとして、ＦＰＧＡ０１は内部メモリ（不図示）を初期化し、コンフィギュレーションをスタートする。また、ＰＲＯＧ信号Ｓ２は、コンフィギュレーション又はエンベデットプロセッサ０６の起動が失敗した際にも、コンフィギュレーションの回数ｋが所定回数ｎ（ＦＲＯＭ０９に格納されているコンフィギュレーションデータの個数）未満の場合は、ＦＰＧＡ０１にリコンフィギュレーションするためのトリガを与えるため、信号制御部１４からコンフィギュレーション機能部０２に対して出力される。
【００４２】
スタート信号Ｓ３は、起動信号Ｓ１の受信をトリガとして、信号制御部１４が、タイマ１２をスタートさせるために、タイマ１２に対して出力する信号である。また、信号制御部１４は、ＦＰＧＡ０１のコンフィギュレーションが完了した際にも、エンベデットプロセッサ０６の起動を監視するために、タイマ１２に対して、スタート信号Ｓ３を出力する。
【００４３】
ＩＮＩＴ信号Ｓ４ａは、ＦＰＧＡ０１の内部メモリ（不図示）の初期化が完了した際に、コンフィギュレーション機能部０２から信号制御部１４に対して出力される信号である。
【００４４】
ＩＮＩＴ信号Ｓ４ｂは、ＦＰＧＡ０１のコンフィギュレーションが失敗した際に、ＣＲＣエラーを通知するため、コンフィギュレーション機能部０２から信号制御部１４に対して出力される信号である。なお、ＦＰＧＡの中には、ＣＲＣエラーを別信号で通知するものも存在するが、その場合は、該別信号をＩＮＩＴ信号Ｓ４ｂの代わりに用いる。
【００４５】
満了信号Ｓ５は、タイマ１２の設定時間が満了した際に、タイマ１２から信号制御部１４に対して、出力される信号である。
【００４６】
ＤＯＮＥ信号Ｓ６は、ＦＰＧＡ０１のコンフィギュレーションが完了した際に、コンフィギュレーション機能部０２から信号制御部１４に対して出力される信号である。信号制御部１４は、タイマ１２から満了信号Ｓ５を受信した時点で、ＩＮＩＴ信号Ｓ４ａと、ＤＯＮＥ信号Ｓ６を受信していれば、ＦＰＧＡ０１のコンフィギュレーションは完了したと判定し、それ以外は、コンフィギュレーションに失敗したと判定する。
【００４７】
ＳＥＬ信号Ｓ７は、ＦＰＧＡ０１のコンフィギュレーション又はエンベデットプロセッサ０６の起動に失敗した際に、コンフィギュレーションの回数ｋが所定回数ｎ未満の場合に、信号制御部１４がＦＲＯＭ０９に対して出力する信号である。信号制御部１４がＳＥＬ信号Ｓ７の設定値を切り替えることで、ＦＰＧＡ０１がコンフィギュレーションデータの読み出し先として指定するＦＲＯＭ０９の領域が切り替えられる。
【００４８】
起動完了通知Ｓ８は、エンベデットプロセッサ０６の正常起動を判定するための信号である。あらかじめＦＰＧＡ０１のユーザ回路０５に機能として用意され、本実施形態では、初期設定は”０”とし、エンベデットプロセッサ０６が正常起動した場合には、起動完了通知Ｓ６の設定を”１”にする。信号制御部１４は、タイマ１２から満了信号Ｓ５を受信した時点で、起動完了通知Ｓ８の設定が”１”であれば、エンベデットプロセッサ０６が正常起動したと判定し、設定が”０”の場合は、起動に失敗したと判定する。
【００４９】
異常通知Ｓ９は、コンフィギュレーション又はエンベデットプロセッサ０６の起動に失敗した際に、コンフィギュレーションの回数ｋが所定回数ｎに達している場合に、信号制御部１４が上位装置（不図示）に対して、ＦＰＧＡ０１の異常を知らせるために出力する信号である。
【００５０】
次に、図４を参照して、図１〜図３を参照して説明した本実施形態の処理手順について詳細に説明する。
この場合、ＦＲＯＭ１２に格納されているコンフィギュレーションデータの個数ｋは”２”となる。
【００５１】
装置の電源をＯＮ又はリセットすると、カウンタ１３のカウント値、ＳＥＬ信号Ｓ７及び起動完了通知Ｓ８が初期化される（ステップＳ０１）。電源監視部０８は、所定のシーケンスに従って起動タイミングを計り、信号制御部１４に起動信号Ｓ１を出力する（ステップＳ０２）。そして、信号制御部１４は、起動信号Ｓ１を受信すると、コンフィギュレーション機能部０２に対して、ＰＲＯＧ信号Ｓ２を出力すると共に、タイマ１２をスタートさせる（ステップＳ０３）。
【００５２】
コンフィギュレーション機能部０２がＰＲＯＧ信号Ｓ２を受信するのをトリガとして、ＦＰＧＡ０１は、コンフィギュレーション機能部０２内の内部メモリ（不図示）を初期化し、ＦＲＯＭ０９の指定領域（０ｘ０＿００００）に格納されているコンフィギュレーションデータを読み出して、この内部メモリに記憶し、記憶したコンフィグレーションデータに基づいて、コンフィギュレーションをスタートする（ステップＳ０４）。
【００５３】
タイマ１２の設定時間が満了した時点で（ステップＳ０５）、信号制御部１４は、ＦＰＧＡ０１のコンフィギュレーションが完了したか否かを判定する（ステップＳ０６）。ＦＰＧＡ０１のコンフィギュレーションが完了している場合には（ステップＳ０８；ＹＥＳ）、エンベデットプロセッサ０６は、ＦＲＯＭ０９の指定領域（０ｘ０＿１０００）に格納されているエンベデットプロセッサ・プログラムを読み出して起動をスタートすると共に、信号制御部１４は、タイマ１２をスタートさせる（ステップＳ０７）。
【００５４】
タイマ１２の設定時間が満了した時点で（ステップＳ０８）、信号制御部１４は、エンベデットプロセッサ０６が正常起動したか否かを判定する（ステップＳ０９）。起動完了通知Ｓ８の設定が”１”であれば（ステップＳ０９；ＹＥＳ）、エンベデットプロセッサ０６は正常起動となる。
【００５５】
一方、タイマ１２の設定時間が満了した時点で（ステップＳ０５又はＳ０８）、ＦＰＧＡ０１のコンフィギュレーションが失敗した場合（ステップＳ０６；ＮＯ）、又は、起動完了通知Ｓ８の設定が”１”でない場合には（ステップＳ０９；ＮＯ）、信号制御部１４は、カウンタ１３により、コンフィギュレーションの回数が２回未満であるか否かを判定する（ステップＳ２１）。
【００５６】
コンフィギュレーションの回数はまだ１回目なので（ステップＳ２１；ＹＥＳ）、信号制御部１４は、カウンタ１３のカウント数を＋１加算し（ステップＳ２２）、ＳＥＬ信号Ｓ７の設定値を”１”に切り替え（ステップＳ２３）、ステップＳ０３に戻る。次に、信号制御部１４は、コンフィギュレーション機能部０２に対して、ＰＲＯＧ信号Ｓ２を出力すると共に、タイマ１２をスタートさせる（ステップＳ０３）。
【００５７】
コンフィギュレーション機能部０２がＰＲＯＧ信号Ｓ２を受信するのをトリガとして、ＦＰＧＡ０１は内部メモリ（不図示）を初期化して、ＦＲＯＭ０９の切り替え後の指定領域（０ｘ１＿００００）に格納されているコンフィギュレーションデータを読み出してコンフィギュレーションする（ステップＳ０４）。
【００５８】
そして、タイマ１２の設定時間が満了した時点で（ステップＳ０５）、信号制御部１４は、ＦＰＧＡ０１のコンフィギュレーションが完了したか否かを判定する（ステップＳ０６）。ＦＰＧＡ０１のコンフィギュレーションが完了している場合には（ステップＳ０６；ＹＥＳ）、エンベデットプロセッサ０６は、ＦＲＯＭ０９の切り替え後の指定領域（０ｘ１＿１０００）に格納されているエンベデットプロセッサ・プログラムを読み出して起動をスタートすると共に、信号制御部１４は、タイマ１２をスタートさせる（ステップＳ０７）。
【００５９】
タイマ１２の設定時間が満了した時点で（ステップＳ０８）、信号制御部１４は、エンベデットプロセッサ０６が正常起動したか否かを判定する（ステップＳ０９）。起動完了通知Ｓ８の設定が”１”であれば（ステップＳ０９；ＹＥＳ）、エンベデットプロセッサ０６は正常起動となる。
【００６０】
一方、タイマ１２の設定時間が満了した時点で（ステップＳ０５又はＳ０８）、ＦＰＧＡ０１のコンフィギュレーションが失敗した場合（ステップＳ０６；ＮＯ）、又は、起動完了通知Ｓ８の設定が”１”でない場合には（ステップＳ０９；ＮＯ）、信号制御部１４は、カウンタ１３により、コンフィギュレーションの回数が２回未満であるか否かを判定する（ステップＳ２１）。今回はコンフィギュレーションの回数が２回目なので（ステップＳ２１；ＮＯ）、信号制御部１４は、上位装置（不図示）に対して、異常通知Ｓ９を出力し（ステップＳ３１）、処理を終了する。
【００６１】
上記実施形態によれば、ＦＲＯＭ０９に同じ内容のコンフィギュレーションデータが複数個格納し、ＦＰＧＡ０１は、コンフィギュレーションに失敗した場合、ＦＲＯＭ０９に格納されている別のコンフィギュレーションデータにより、リコンフィギュレーションする。こうすることで、ＦＰＧＡ０１の信頼性を高めることができる。同様に、ＦＲＯＭ０９に同じ内容のエンベデットプロセッサ・プログラムを複数個さらに格納し、エンベデットプロセッサ０６が起動に失敗した場合には、ＦＲＯＭ０９に格納されている別のエンベデットプロセッサ・プログラムにより、エンベデットプロセッサ０６が再度起動する構成とした。こうすることで、エンベデットプロセッサ０６を備えるＦＰＧＡ０１の信頼性を高めることができる。
【００６２】
また、上記実施形態によれば、ＦＰＧＡ０１のコンフィギュレーションが失敗した際に、ＦＰＧＡ０１がコンフィギュレーションデータの読み出し先として指定するＦＲＯＭ０９の指定領域を切り替え、ＦＰＧＡ０１が切り替え後の指定領域に格納されている別のコンフィギュレーションデータを読み出せる構成とした。こうすることで、上記特許文献１乃至４にて提案されている方法が適用できない、ＦＰＧＡ０１が読み出し先として指定するＦＲＯＭ０９の領域に格納されているコンフィギュレーションデータを、ＦＰＧＡ０１が直接読み出してコンフィギュレーションする必要がある装置に適用することができる。
【００６３】
また、上記実施形態によれば、カウンタ１３を設け、コンフィギュレーションの回数ｋが所定回数ｎに達した場合には（ステップＳ２１；ＮＯ）、信号制御部１４は、上位装置（不図示）に対して、異常通知Ｓ９を出力し処理を終了する構成とした。こうすることで、ＦＲＯＭ０９に格納されている全てのコンフィギュレーションデータが破壊されている場合に、ＦＰＧＡ０１のリコンフィギュレーションがループすることを防止することができる。また、リコンフィギュレーションにより、ＦＰＧＡ０１がコンフィギュレーションに成功した際にも、異常通知Ｓ９を出力するようにしてもよい。こうすることで、ＦＲＯＭ０９に格納されている全てのコンフィギュレーションデータが破壊される前に、破壊されたデータを修復する等の適切な対応を行うことができることから、さらに信頼性を高めることが可能となる。
【００６４】
なお、上記実施形態の処理手順の説明では、図３を例にしたので、ＦＲＯＭ０９に格納されるコンフィギュレーションデータ等の個数は２個の構成とした。しかし、前述したように、信号制御部１４とＦＲＯＭ０９とを接続するアドレス線で制御できるデータのビット数を増やすことで、バックアップとしてＦＲＯＭ０９に格納できるコンフィギュレーションデータの個数を増やすことが可能となる。こうすることで、さらに信頼性を高めることができる。例えば、図５のようにアドレス線を２ビットにした場合には、コンフィギュレーションデータ及びエンベデットプロセッサ・プログラムを４個ずつＦＲＯＭ０９に格納できる（図６参照）。
【００６５】
また、上記実施形態において、タイマ１２の設定時間満了後に、コンフィギュレーションが成功したか否かを判定し、コンフィギュレーションが失敗した場合に、ステップＳ２１に進む構成としたが、ＣＲＣエラーがＩＮＩＴ信号Ｓ４ｂにより信号制御部１４に通知された時点で、ステップＳ２１に進む構成としてもよい。こうすることで、より早い段階でリコンフィギュレーションを開始することが可能となる。
【００６６】
上記実施形態において、タイマ１２の設定値は、コンフィギュレーション制御部１１の回路に対するハード設定等により、外部から変更できるようにしてもよい。こうすることで、ユーザが書き換えるデータに応じ、タイマ１２の設定値を調整することが可能となる。
【００６７】
ＦＲＯＭ０９は、不揮発性メモリであれば、他種のメモリでもよい。
【００６８】
また、上記実施形態において、コンフィギュレーション制御部１１にＦＲＯＭ０９の破壊されたデータを自動で修復する機能を持たせてもよい。例えば、図６を参照して、４回目のコンフィギュレーションで、エンベデットプロセッサの起動まで成功した場合に、ＦＲＯＭ０９の０ｘ０＿００００、０ｘ１＿００００、０ｘ２＿００００にそれぞれ格納されているコンフィギュレーションデータを、エラーの無い０ｘ３＿００００に格納されているコンフィギュレーションデータで書き換える。同様に、ＦＲＯＭ０９の０ｘ０＿１０００、０ｘ１＿１０００、０ｘ２＿１０００にそれぞれ格納されているエンベデットプロセッサ・プログラムを、エラーの無い０ｘ３＿１０００に格納されているエンベデットプロセッサ・プログラムで書き換える。こうすることで、最上位ビットの数が同じ領域に格納されているコンフィギュレーションデータ及びエンベデットプロセッサ・プログラムが少なくとも１組正常であれば、自動的にエラーのある全てのコンフィギュレーションデータ及びエンベデットプロセッサ・プログラムを修復できる。この結果、ＦＰＧＡ０１の信頼性をさらに高めることができる。なお、自動修復機能は、コンフィギュレーションデータにより実現させるようにしてもよい。
【００６９】
上記自動修復機能を用いることで、コンフィギュレーションが失敗した際に、コンフィギュレーションの回数ｋが所定回数ｎに達している場合においても、エンベデットプロセッサ０６の起動まで導ける可能性が生じる。例えば、図６を参照して、１回目と３回目と４回目はコンフィギュレーションに失敗し、２回目はコンフィギュレーションに成功したが、エンベデットプロセッサ０６の起動に失敗した場合に、エラーのない０ｘ１＿００００に格納されているコンフィギュレーションデータで、０ｘ０＿００００、０ｘ２＿００００、０ｘ３＿００００に格納されているコンフィギュレーションデータを書き換える。そして、電源をリセットさせる。こうすることで、０ｘ０＿１０００、０ｘ２＿１０００、０ｘ３＿１０００にそれぞれ格納されているエンベデットプロセッサ・プログラムのいずれかが正常であれば、エンベデットプロセッサ０６の起動まで導くことが可能となる。
【００７０】
また、本発明を用いることで、コンフィギュレーションデータ更新時における、ＦＰＧＡ０１の信頼性を高めることが可能となる。例えば、コンフィギュレーションデータの更新を行う際に、コンフィギュレーションデータの更新データで、ＦＲＯＭ０９の初期指定領域（電源がＯＮ又はリセットされた後に、ＦＰＧＡ０１が最初に読み出すコンフィギュレーションデータが格納されているＦＲＯＭ０９の領域。例えば、図３では、０ｘ０＿００００領域。）に格納されているコンフィギュレーションデータを更新する。電源をＯＮ又はリセットすると、上記実施形態のフローに基づいて、ＦＰＧＡ０１は最初に該更新データを読み出してコンフィギュレーションを行う。更新データに何らかの不具合があったために、更新データによるコンフィギュレーションに失敗した場合には、上記実施形態のフローに基づいて、更新前のコンフィギュレーションデータによりＦＰＧＡ０１はリコンフィギュレーションを行うことができる。一方、更新データによるコンフィギュレーションが成功した場合には、ＦＲＯＭ０９の他の領域に格納されている更新前のコンフィギュレーションデータを更新データに書き換える。
【００７１】
こうすることで、更新データの不具合のために、ＦＰＧＡ０１が更新データによるコンフィギュレーションに失敗したとしても、ＦＲＯＭ０９の別の領域に格納されている更新前のコンフィギュレーションデータにより、ＦＰＧＡ０１はリコンフィギュレーションできる。この結果、専用端末（不図示）をＦＰＧＡ０１に接続する事無く更新作業を続ける事が可能となり、コンフィギュレーションデータの更新時における、作業効率とＦＰＧＡ０１の信頼性を一層向上させることができる。
【００７２】
なお、上記実施形態及び図面の一部又は全部は、以下の付記のようにも記載されうるが、以下に限定されるわけではない。本発明の要旨を変更しない範囲で実施形態及び図面に変更を加えることができるのはもちろんである。
【００７３】
（付記１）
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の領域を有する不揮発性メモリと、コンフィギュレーションデータの読み出し先として指定されている不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡとを備えるＦＰＧＡ装置のコンフィギュレーション制御回路であって、
前記ＦＰＧＡのコンフィギュレーションの開始からの経過時間を監視するタイマと、
前記タイマの設定時間が満了した際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡコンフィギュレーションが成功したか否かを判定する判定部と、
前記判定部により、コンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替える切替部と、
前記ＦＰＧＡが前記切替部により切り替えられた前記不揮発性メモリの領域からコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える制御部と、
を具備することを特徴とするコンフィギュレーション制御回路。
【００７４】
（付記２）
前記不揮発性メモリの複数の領域に、同一内容のエンベデットプロセッサ・プログラムがそれぞれさらに格納され、
前記ＦＰＧＡは、ＦＰＧＡのコンフィギュレーション完了後に前記不揮発性メモリの指定領域に格納されているエンベデットプロセッサ・プログラムを読み出して起動を開始するエンベデットプロセッサを備え、
前記タイマは、前記エンベデットプロセッサの起動開始からの経過時間をさらに監視し、前記タイマの設定時間が満了した際に、前記エンベデットプロセッサの起動完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記判定部は、前記エンベデットプロセッサの起動が成功したか否かをさらに判定し、前記エンベデットプロセッサの起動が失敗したと判定された際に、前記切替部は、前記不揮発性メモリの指定領域を切り替え、前記制御部は、前記ＦＰＧＡが前記切替部により切り替えられた前記不揮発性メモリの指定領域から別のコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とする付記１に記載のコンフィギュレーション制御回路。
【００７５】
（付記３）
前記制御部は、コンフィギュレーションに失敗したコンフィギュレーションデータを、コンフィギュレーションに成功した別のコンフィギュレーションデータに書き換えることにより、前記不揮発性メモリに格納されているデータを修復する、
ことを特徴とする付記１に記載のコンフィギュレーション制御回路。
【００７６】
（付記４）
前記制御部は、エンベデットプロセッサの起動に失敗したエンベデットプロセッサ・プログラムを、起動に成功したエンベデットプロセッサ・プログラムに書き換えることにより、前記不揮発性メモリに格納されているデータを修復する、
ことを特徴とする付記２に記載のコンフィギュレーション制御回路。
【００７７】
（付記５）
ＦＰＧＡと、
付記１乃至４の何れか１項に記載のコンフィギュレーション制御回路と、を備えるＦＰＧＡ装置。
【００７８】
（付記６）
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の不揮発性メモリの領域のうち、コンフィギュレーションデータの読み出し先として指定されている不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡのコンフィギュレーション方法であって、
コンフィギュレーション開始からの経過時間を計測し、
前記経過時間が設定時間を超えた際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡのコンフィギュレーションが成功したか否かを判定し、
コンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替え、
指定を切り替えた後の不揮発性メモリの指定領域からコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とするコンフィギュレーション方法。
【００７９】
（付記７）
同一内容のコンフィギュレーションデータがそれぞれ格納されている複数の領域を有する不揮発性メモリと、コンフィギュレーションデータの読み出し先として指定している前記不揮発性メモリの指定領域から、コンフィギュレーションデータを読み出してコンフィギュレーションするＦＰＧＡとを備えるＦＰＧＡ装置のコンフィギュレーションデータ更新方法であって、
前記ＦＰＧＡ装置の電源がＯＮ又はリセットされた後最初の読み出し先として指定される前記不揮発性メモリの指定領域に格納されているコンフィギュレーションデータを更新データに書き換え、
前記ＦＰＧＡのコンフィギュレーションを起動し、
前記ＦＰＧＡのコンフィギュレーション開始からの経過時間を計測し、
前記経過時間が設定時間を超えた際に、コンフィギュレーションの完了を示す信号を前記ＦＰＧＡが出力しているか否かに基づいて、前記ＦＰＧＡのコンフィギュレーションが成功したか否かを判定し、
更新データによるコンフィギュレーションが失敗したと判定された際に、前記不揮発性メモリの指定領域を他の領域に切り替え、
指定を切り替えた後の前記不揮発性メモリの指定領域から更新前のコンフィギュレーションデータを読み出してコンフィギュレーションするためのトリガを前記ＦＰＧＡに与える、
ことを特徴とするコンフィギュレーションデータ更新方法。
【００８０】
（付記８）
前記更新データによるコンフィギュレーションが成功した際に、前記不揮発性メモリに格納されている更新前のコンフィギュレーションデータを更新データに書き換える、
ことを特徴とする付記７に記載のコンフィギュレーションデータ更新方法。
【符号の説明】
【００８１】
０１    ＦＰＧＡ
０２    コンフィギュレーション機能部
０３    プログラマブル回路
０４    インターフェース
０５    ユーザ回路
０６    エンベデットプロセッサ
０７    内部バス
０８    電源監視部
０９    ＦＲＯＭ
１０    クロック源
１１    コンフィギュレーション制御部
１２    タイマ
１３    カウンタ
１４    信号制御部
Ｓ１    起動信号
Ｓ２    ＰＲＯＧ信号
Ｓ３    スタート信号
Ｓ４ａ  初期化完了信号（ＩＮＩＴ信号）
Ｓ４ｂ  ＣＲＣエラー信号（ＩＮＩＴ信号）
Ｓ５    満了信号
Ｓ６    ＤＯＮＥ信号
Ｓ７    ＳＥＬ信号
Ｓ８    起動完了通知
Ｓ９    異常通知
【図１】
2013074348.tif 000003
【図２】
2013074348.tif 000004
【図３】
2013074348.tif 000005
【図４】
2013074348.tif 000006
【図５】
2013074348.tif 000007
【図６】
2013074348.tif 000008