(57)【要約】【課題】プログラマブル回路を含む装置において、プログラマブル回路の故障の修復時間を短縮し、装置の稼働割合を向上させること。【解決手段】プログラマブル回路ＦＰＧＡを含む装置において、プログラマブル回路ＦＰＧＡはコンフィギュレーション情報が記憶された不揮発メモリＮＶＭとこの不揮発メモリＶＭより読出し速度が速い別のメモリに接続され、このプログラマブル回路ＦＰＧＡはコンフィギュレーションメモリ制御回路ＣＲＭＣと、このコンフィギュレーションメモリ制御回路ＣＲＭＣにより、不揮発メモリＮＶＭから、揮発性メモリＶＭと内蔵メモリＢＲ等の別のメモリへの読出しを行うための信号線群を有し、高速な故障の修復が必要な一部の回路コンフィギュレーション情報をこの別のメモリに複写する。【選択図】  図１
2015154417.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル回路装置であって、
同一の機能を有し同一の処理を行う複数の機能回路を有する多重化ブロックと、
故障により出力が変化する又は故障により出力に重大な影響を与える又は多重化されていなく、自回路の故障の診断結果及び前記複数の機能回路の出力の比較結果を通知する冗長化用回路と、
前記冗長化用回路からの前記診断結果及び前記比較結果の通知により、コンフィギュレーション情報の複写を行うコンフィギュレーション制御回路と、
前記複数の機能回路に関する機能部コンフィギュレーション情報と、前記冗長化用回路に関する前記冗長化用回路コンフィギュレーション情報と、前記機能部コンフィギュレーション情報及び前記冗長化用回路コンフィギュレーション情報を含み前記プログラマブル回路装置内の各回路に対するコンフィギュレーション情報を含むプログラマブル回路コンフィギュレーション情報とを格納する不揮発メモリと、
前記不揮発メモリより読出し速度が速く、前記不揮発メモリから、前記機能部コンフィギュレーション情報を予め複写した揮発メモリと、
前記揮発メモリより読出し速度が速く、前記不揮発メモリから、前記冗長化用回路コンフィギュレーション情報を予め複写した内蔵メモリと、
を備え、
前記冗長化用回路は、自回路の故障を検出すると、前記コンフィギュレーション制御回路に前記診断結果を通知し、
前記コンフィギュレーション制御回路は、前記冗長化用回路コンフィギュレーション情報を前記内蔵メモリから読出し、該情報を前記冗長化用回路内のコンフィギュレーションメモリに書き込むことで前記冗長化用回路を修復し、
前記冗長化用回路は、前記複数の機能回路の信号の不一致を検出すると、前記コンフィギュレーション制御回路に前記比較結果を通知し、
前記コンフィギュレーション制御回路は、前記機能部コンフィギュレーション情報を前記揮発メモリから読出し、該情報を前記複数の機能回路の各コンフィギュレーションメモリに書き込むことで前記複数の機能回路を修復する、
プログラマブル回路装置。
【請求項２】
請求項１に記載のプログラマブル回路装置において、
前記冗長化用回路は、
前記複数の機能回路の出力又は信号を比較して故障を判定する比較回路と、前記比較回路の故障を検出する第１診断回路とを備え、前記冗長化用回路コンフィギュレーション情報は、比較回路に関するコンフィギュレーション情報を含むこと、
及び／又は、
前記複数の機能回路の出力又は信号の多数決処理を行い、多数決処理の結果を、前記揮発メモリ、前記不揮発メモリ、及び/又は、外部通信回路に出力する多数決回路と、前記多数決回路の故障を検出する第２診断回路とを備え、前記冗長化用回路コンフィギュレーション情報は、多数決回路に関するコンフィギュレーション情報を含むこと、
を特徴とするプログラマブル回路装置。
【請求項３】
請求項２に記載のプログラマブル回路装置において、
前記比較回路は、前記第１診断回路により自回路内の故障を検出すると、前記コンフィギュレーション制御回路に前記診断結果を通知し、
前記コンフィギュレーション制御回路は、前記診断結果により、前記複数の機能回路に対して出力停止要求を発行し、前記比較回路に関するコンフィギュレーション情報を前記内蔵メモリから読出し、該情報を前記比較回路内のコンフィギュレーションメモリに書き込むことで前記比較回路を修復した後、前記複数の機能回路に対する出力停止要求を解除する
ことを特徴とするプログラマブル回路装置。
【請求項４】
請求項２に記載のプログラマブル回路装置において、
前記多数決回路は、前記第２診断回路により自回路内の故障を検出すると、前記コンフィギュレーション制御回路に前記診断結果を通知し、
前記コンフィギュレーション制御回路は、前記診断結果により、前記複数の機能回路に対して出力停止要求を発行し、前記多数決回路に関するコンフィギュレーション情報を前記内蔵メモリから読出し、該情報を前記多数決回路内のコンフィギュレーションメモリに書き込むことで前記多数決回路を修復した後、前記複数の機能回路に対する出力停止要求を解除する
ことを特徴とするプログラマブル回路装置。
【請求項５】
請求項２に記載のプログラマブル回路装置において、
前記比較回路は、前記複数の機能回路の出力の不一致を検出すると、前記コンフィギュレーション制御回路に前記比較結果を通知し、
前記コンフィギュレーション制御回路は、前記比較結果により、前記機能部コンフィギュレーション情報を前記揮発メモリから読出し、該情報を前記複数の機能回路内のコンフィギュレーションメモリに書き込むことで前記複数の機能回路を修復する
ことを特徴とするプログラマブル回路装置。
【請求項６】
請求項５に記載のプログラマブル回路装置において、
前記コンフィギュレーション制御回路は、前記複数の機能回路の各コンフィギュレーションメモリの修復を、前記比較回路により全ての回路出力が異なることが検出された場合を除き、前記複数の機能回路を停止させずに行う
ことを特徴とするプログラマブル回路装置。
【請求項７】
請求項１に記載のプログラマブル回路装置において、
前記コンフィギュレーション制御回路は、前記不揮発メモリに記憶されている前記プログラマブル回路コンフィギュレーション情報を読出し、プログラマブル回路内の各回路のコンフィギュレーションメモリに書き込むことにより、プログラマブル回路のコンフィギュレーションを実行し、
前記コンフィギュレーション制御回路は、前記機能部コンフィギュレーション情報を前記不揮発メモリから読出して前記揮発メモリに書き込み、前記冗長化用コンフィギュレーション情報を前記不揮発メモリから読出して前記内蔵メモリに書き込むことにより、各コンフィギュレーション情報の複写を実行する
ことを特徴とするプログラマブル回路装置。
【請求項８】
請求項１に記載のプログラマブル回路装置において、
前記不揮発メモリ及び機能デバイスと、前記プログラマブル回路装置との間に配置されたスイッチデバイスと、
前記スイッチデバイスを制御するためのＩＯ制御回路と
をさらに備え、
前記ＩＯ制御回路は、前記スイッチデバイスを制御して、前記不揮発メモリを選択して前記プログラマブル回路装置と接続し、
前記コンフィギュレーション制御回路は、前記不揮発メモリに記憶されている前記プログラマブル回路コンフィギュレーション情報を読出し、プログラマブル回路内の各回路のコンフィギュレーションメモリに書き込むことにより、プログラマブル回路のコンフィギュレーションを実行し、
前記コンフィギュレーション制御回路は、前記機能部コンフィギュレーション情報を前記不揮発メモリから読出して前記揮発メモリに書き込み、前記冗長化用コンフィギュレーション情報を前記不揮発メモリから読出して前記内蔵メモリに書き込むことにより、各コンフィギュレーション情報の複写を実行し、
前記各コンフィギュレーション情報の複写が完了後、前記コンフィギュレーション制御回路は、前記ＩＯ制御回路に複写完了を通知し、
前記ＩＯ制御回路は、該複写完了により、前記プログラマブル回路装置との接続を前記不揮発メモリから前記機能デバイスに切り替えるように前記スイッチデバイスを制御する
ことを特徴とするプログラマブル回路装置。
【請求項９】
請求項８に記載のプログラマブル回路装置において、
前記不揮発メモリは、ソフトウェア情報をさらに含み、
前記ＩＯ制御回路が、前記スイッチデバイスを制御して、前記不揮発メモリを選択して前記プログラマブル回路装置と接続した際、前記複数の機能回路の各々は、ソフトウェア情報を前記不揮発メモリから前記揮発メモリへ複写し、複写完了を前記ＩＯ制御回路内に通知し、
前記プログラマブル回路コンフィギュレーション情報と前記ソフトウェア情報の複写完了後、前記ＩＯ制御回路は、前記プログラマブル回路との接続を前記不揮発メモリから機能デバイスに切り替えるように前記スイッチデバイスを制御する
ことを特徴とするプログラマブル回路装置。
【請求項１０】
請求項１に記載のプログラマブル回路装置において、
前記複数の機能回路は２重化され、２つの機能回路は同一の機能を有し同一の処理を行い、
前記２つの機能回路のうち、一方の出力を前記多重化ブロックの出力とし、両方の各出力を前記冗長化用回路に入力する
ことを特徴とするプログラマブル回路装置。
【請求項１１】
請求項１に記載のプログラマブル回路装置において、
前記冗長化用回路は、前記複数の機能回路の出力の不一致を検出すると、前記コンフィギュレーション制御回路に前記比較結果を通知し、
前記コンフィギュレーション制御回路は、前記比較結果が通知されると、前記プログラマブル回路の外部に故障が発生したことを通知し、前記複数の機能回路内の各コンフィギュレーションメモリの修復が完了した後、前記複数の機能回路をリセットして処理を再開するとともに、前記プログラマブル回路装置の外部に修復が完了したことを通知する
ことを特徴とするプログラマブル回路装置。
【請求項１２】
請求項２に記載のプログラマブル回路装置において、
前記多数決回路は、前記複数の機能回路の出力の多数決処理結果の信号、及び、前記複数の機能回路の各出力信号から、いずれかの信号を選択するように構成された
ことを特徴とするプログラマブル回路装置。
【請求項１３】
請求項２に記載のプログラマブル回路装置において、
前記多数決回路は、前記複数の機能回路の出力部に加えて、各機能回路内部の複数の箇所にさらに多数決のための回路を挿入した
ことを特徴とするプログラマブル回路装置。
【請求項１４】
請求項１に記載のプログラマブル回路装置において、
前記不揮発性メモリ又は前記揮発性メモリの一方、又は、前記不揮発性メモリと前記揮発性メモリの両方を、プログラマブル回路内部に備えた
ことを特徴とするプログラマブル回路装置。
【請求項１５】
プログラマブル回路装置におけるコンフィギュレーション情報修復方法であって、
前記プログラマブル回路装置は、
同一の機能を有し同一の処理を行う複数の機能回路を有する多重化ブロックと、
故障により出力が変化する又は故障により出力に重大な影響を与える又は多重化されていなく、自回路の故障の診断結果及び前記複数の機能回路の出力の比較結果を通知する冗長化用回路と、
前記冗長化用回路からの前記診断結果及び前記比較結果の通知により、コンフィギュレーション情報の複写を行うコンフィギュレーション制御回路と、
を備え、
不揮発メモリに、前記複数の機能回路に関する機能部コンフィギュレーション情報と、前記冗長化用回路に関する前記冗長化用回路コンフィギュレーション情報と、前記機能部コンフィギュレーション情報及び前記冗長化用回路コンフィギュレーション情報を含み前記プログラマブル回路装置内の各回路に対するコンフィギュレーション情報を含むプログラマブル回路コンフィギュレーション情報とを格納し、
前記不揮発メモリより読出し速度が速い揮発メモリに、前記不揮発メモリから、前記機能部コンフィギュレーション情報を予め複写し、
前記揮発メモリより読出し速度が速い内蔵メモリに、前記不揮発メモリから、前記冗長化用回路コンフィギュレーション情報を予め複写し、
前記冗長化用回路は、自回路の故障を検出すると、前記コンフィギュレーション制御回路に前記診断結果を通知し、
前記コンフィギュレーション制御回路は、前記冗長化用回路コンフィギュレーション情報を前記内蔵メモリから読出し、該情報を前記冗長化用回路内のコンフィギュレーションメモリに書き込むことで前記冗長化用回路を修復し、
前記冗長化用回路は、前記複数の機能回路の信号の不一致を検出すると、前記コンフィギュレーション制御回路に前記比較結果を通知し、
前記コンフィギュレーション制御回路は、前記機能部コンフィギュレーション情報を前記揮発メモリから読出し、該情報を前記複数の機能回路の各コンフィギュレーションメモリに書き込むことで前記複数の機能回路を修復する、
コンフィギュレーション情報修復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル回路装置、コンフィギュレーション情報修復方法製造後に回路構成をプログラムできる半導体集積回路を含むプログラマブル回路装置、及び、プログラマブル回路装置のコンフィギュレーション情報修復方法に関するものである。
【背景技術】
【０００２】
ＦＰＧＡ（フィールドプログラマブルゲートアレイ）等の回路構成をプログラムできる半導体集積回路であるプログラマブル回路を用いると、使用者はＬＳＩの製造をせずに、独自回路ブロックを持つ集積回路を短期で構築できる。プログラマブル回路は、回路機能を専用の内部メモリにコンフィギュレーションすることで機能を実現するものである。以下では、この専用のメモリをコンフィギュレーションメモリと記載する。
【０００３】
プログラマブル回路は、独自回路を構築できる利点の一方で、放射線によりコンフィギュレーションメモリの情報が破壊される放射線ソフトエラー等の故障が発生する場合があり、高信頼を必要とする装置への適用に向けては課題となる。特に、このコンフィギュレーションメモリが、ＳＲＡＭで実装されるＬＳＩではこの点が顕著である場合が想定される。
【０００４】
プログラマブル回路に発生した放射線ソフトエラー等による故障を修復する方法として、特許文献１で示されているコンフィギュレーションメモリの情報を元通りに修正し故障した回路を再コンフィギュレーションする方法がある。特許文献１では、回路を多重化した構成において、故障が発生した回路を再コンフィギュレーションし動作を再開させるための手段が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−４６１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
多くの装置にとって誤出力なく動作する稼働時間の割合を向上させることが求められる。稼働率向上のためには、誤出力の確率を減らすことと共に、故障を修復する時間の短縮が必要である。
【０００７】
放射線ソフトエラー等によるプログラマブル回路の故障を再コンフィギュレーションにより修復する際には、この再コンフィギュレーション時間の短縮が重要である。特に、端子数や回路規模などの制約から３重化など十分な多重化ができない回路部分は、短時間での修復がもとめられる。これはプログラマブル回路の故障中はそれを搭載する装置も通常の稼動が困難であるためである。３重化された回路においても、その出力信号をまとめチップの端子や他の回路に接続するための多数決回路は脆弱な箇所となる。なお、脆弱とは、例えば、多重化していない、及び／又は、故障により出力が変わる等のように出力に影響を与えること等を意味する。また十分な多重化がされている場合においても、複数個所の同時故障をさけるために、回路を再構成する時間を短くすることは同様に重要である。
【０００８】
以上のように回路の再コンフィギュレーションを用いてプログラマブル回路を高い稼働率で動作させるためには、それに要する時間の短縮が課題である。しかしながら、上記の文献においては再コンフィギュレーション時間を短くするための手段については開示されていない。
【０００９】
本発明は、以上の点に鑑み、プログラマブル回路のコンフィギュレーションメモリを短時間で修復することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の解決手段によると、
プログラマブル回路装置であって、
同一の機能を有し同一の処理を行う複数の機能回路を有する多重化ブロックと、
故障により出力が変化する又は故障により出力に重大な影響を与える又は多重化されていなく、自回路の故障の診断結果及び前記複数の機能回路の出力の比較結果を通知する冗長化用回路と、
前記冗長化用回路からの前記診断結果及び前記比較結果の通知により、コンフィギュレーション情報の複写を行うコンフィギュレーション制御回路と、
前記複数の機能回路に関する機能部コンフィギュレーション情報と、前記冗長化用回路に関する前記冗長化用回路コンフィギュレーション情報と、前記機能部コンフィギュレーション情報及び前記冗長化用回路コンフィギュレーション情報を含み前記プログラマブル回路装置内の各回路に対するコンフィギュレーション情報を含むプログラマブル回路コンフィギュレーション情報とを格納する不揮発メモリと、
前記不揮発メモリより読出し速度が速く、前記不揮発メモリから、前記機能部コンフィギュレーション情報を予め複写した揮発メモリと、
前記揮発メモリより読出し速度が速く、前記不揮発メモリから、前記冗長化用回路コンフィギュレーション情報を予め複写した内蔵メモリと、
を備え、
前記冗長化用回路は、自回路の故障を検出すると、前記コンフィギュレーション制御回路に前記診断結果を通知し、
前記コンフィギュレーション制御回路は、前記冗長化用回路コンフィギュレーション情報を前記内蔵メモリから読出し、該情報を前記冗長化用回路内のコンフィギュレーションメモリに書き込むことで前記冗長化用回路を修復し、
前記冗長化用回路は、前記複数の機能回路の信号の不一致を検出すると、前記コンフィギュレーション制御回路に前記比較結果を通知し、
前記コンフィギュレーション制御回路は、前記機能部コンフィギュレーション情報を前記揮発メモリから読出し、該情報を前記複数の機能回路の各コンフィギュレーションメモリに書き込むことで前記複数の機能回路を修復する、
プログラマブル回路装置が提供される。
【００１１】
本発明の第２の解決手段によると、
プログラマブル回路装置におけるコンフィギュレーション情報修復方法であって、
前記プログラマブル回路装置は、
同一の機能を有し同一の処理を行う複数の機能回路を有する多重化ブロックと、
故障により出力が変化する又は故障により出力に重大な影響を与える又は多重化されていなく、自回路の故障の診断結果及び前記複数の機能回路の出力の比較結果を通知する冗長化用回路と、
前記冗長化用回路からの前記診断結果及び前記比較結果の通知により、コンフィギュレーション情報の複写を行うコンフィギュレーション制御回路と、
を備え、
不揮発メモリに、前記複数の機能回路に関する機能部コンフィギュレーション情報と、前記冗長化用回路に関する前記冗長化用回路コンフィギュレーション情報と、前記機能部コンフィギュレーション情報及び前記冗長化用回路コンフィギュレーション情報を含み前記プログラマブル回路装置内の各回路に対するコンフィギュレーション情報を含むプログラマブル回路コンフィギュレーション情報とを格納し、
前記不揮発メモリより読出し速度が速い揮発メモリに、前記不揮発メモリから、前記機能部コンフィギュレーション情報を予め複写し、
前記揮発メモリより読出し速度が速い内蔵メモリに、前記不揮発メモリから、前記冗長化用回路コンフィギュレーション情報を予め複写し、
前記冗長化用回路は、自回路の故障を検出すると、前記コンフィギュレーション制御回路に前記診断結果を通知し、
前記コンフィギュレーション制御回路は、前記冗長化用回路コンフィギュレーション情報を前記内蔵メモリから読出し、該情報を前記冗長化用回路内のコンフィギュレーションメモリに書き込むことで前記冗長化用回路を修復し、
前記冗長化用回路は、前記複数の機能回路の信号の不一致を検出すると、前記コンフィギュレーション制御回路に前記比較結果を通知し、
前記コンフィギュレーション制御回路は、前記機能部コンフィギュレーション情報を前記揮発メモリから読出し、該情報を前記複数の機能回路の各コンフィギュレーションメモリに書き込むことで前記複数の機能回路を修復する、
コンフィギュレーション情報修復方法が提供される。
【発明の効果】
【００１２】
本発明は、以上の点に鑑み、プログラマブル回路のコンフィギュレーションメモリを短時間で修復することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１における放射線等の耐性を有するプログラマブル回路を含む装置の構成を示す図である。
【図２】本発明の実施の形態１における回路コンフィギュレーション情報の内容を示す図である。
【図３】本発明の実施の形態１において放射線等による故障発生時の制御フローを示す図である。
【図４】本発明の実施の形態２における放射線等の耐性を有するプログラマブル回路を含む装置の構成を示す図である。
【図５】本発明の実施の形態２において回路コンフィギュレーション情報の設定を行う際の制御フローを示す図である。
【図６】本発明の実施の形態３における放射線等の耐性を有するプログラマブル回路を含む装置の構成を示す図である。
【図７】本発明の実施の形態３における回路コンフィギュレーション情報の内容を示す図である。
【図８】本発明の実施の形態３において放射線等による故障発生時の制御フローを示す図である。
【図９】本発明の実施の形態４の多数決回路の構成を示す図である。
【図１０】本発明の実施の形態５において、多数決回路を用いて機能回路の３重化を行う構成を示す図である。
【図１１】本発明の実施の形態３における放射線等の耐性を有するプログラマブル回路を含む装置の変形例を示す図である。
【発明を実施するための形態】
【００１４】
以下に図面を参照しつつ本発明の実施の形態を説明する。
Ａ．概要
本願において開示される発明のうち代表的な実施の形態の概要を挙げれば次の通りである。
【００１５】
プログラマブル回路の再コンフィギュレーション時間の短縮のためには、回路コンフィギュレーション情報をメモリから読出す時間を短縮することが効果的である。
【００１６】
プログラマブル回路を含む装置において、プログラマブル回路はコンフィギュレーション情報が記憶された不揮発メモリとこの不揮発メモリより読出し速度が速い別のメモリに接続され、このプログラマブル回路はコンフィギュレーションメモリ制御回路と、このコンフィギュレーションメモリ制御回路から前記不揮発メモリと前記の別のメモリへの読出しを行うための信号線群を有する。そのうえで、高速な故障の修復が必要な一部の回路コンフィギュレーション情報をこの読出し速度の速い別のメモリに複写しておく。これによって、放射線ソフトエラー等により破壊された回路コンフィギュレーション情報の修復時間の短縮が可能となる。
【００１７】
Ｂ．実施の形態
［実施の形態１］
図１は本発明のひとつの実施の形態におけるプログラマブル回路の構成図を示すものである。本装置は、プログラマブル回路ＦＰＧＡを含み、定められた情報処理を行いつつ、プログラマブル回路の放射線等による回路故障を監視し故障発生時にはその修復（修正、修理、復旧等）を行う。なお、本実施の形態では、一例として、放射線による故障について説明するがこれに限らず、本発明及び／又は本実施の形態は、様々な回路故障に対して適用可能である。この回路故障とは、プログラマブル回路内部のコンフィギュレーションメモリのビット反転が発生したことにより、プログラマブル回路の動作が本来の動作と異なる状態となった故障をさす。故障の修復は、コンフィギュレーションメモリの情報を、コンフィギュレーションメモリ以外のメモリから読み出した正しい回路情報で書き換えることで行う。
【００１８】
本構成では、プログラマブル回路ＦＰＧＡに、ＤＲＡＭ等の揮発メモリＶＭと、フラッシュメモリ等の不揮発メモリＮＶＭと、プロセッサ回路や通信用回路などの機能デバイスＦＤが接続される。本実施の形態においては、プログラマブル回路による揮発メモリの情報読出し速度は、プログラマブル回路による不揮発メモリの情報読出し速度より大きいものとする。プログラマブル回路は、内部の回路に故障が発生した場合にそれを検知し自己修復する機能を有し、揮発メモリＶＭへのアクセスを行う揮発メモリアクセス回路ＶＭＩＦ、不揮発メモリＮＶＭへのアクセスを行う不揮発メモリアクセス回路ＮＶＭＩＦ、機能デバイスＦＤへのアクセスを行う外部通信回路ＦＤＩＦ、プロセッサなど機能回路ＦＢ、機能回路ＦＢの出力結果を比較する比較回路ＣＭＰ、複数（この例では、３つ）の機能回路ＦＢの出力信号の多数決処理を行う多数決回路ＶＯＴ、コンフィギュレーションメモリ制御回路ＣＲＭＣを有しプログラマブル回路のコンフィグレーションを制御するコンフィギュレーション制御回路ＲＣＴＲ、回路診断を行う回路ＴＳＴ、コンフィギュレーションメモリＣＲ、処理データやプログラムなどを格納する内蔵メモリＢＲを含む。コンフィギュレーションメモリＣＲ、内蔵メモリＢＲは、各回路ブロックに分散して含まれる。
【００１９】
故障修復の際のコンフィギュレーションメモリ情報の訂正を行うのが、コンフィギュレーションメモリ制御回路である。故障修復の際にはコンフィギュレーションメモリ以外の揮発メモリＶＭや不揮発メモリＮＶＭや内蔵メモリＢＲ等のメモリから回路コンフィギュレーション情報を読出し、各コンフィギュレーションメモリに書き込む動作を行う。コンフィギュレーション情報の読出しは信号ＣＦＩＦを介し、各コンフィギュレーションメモリへの書き込みは信号ＣＲＩＦを介する。信号ＣＦＩＦは揮発メモリアクセス回路と不揮発メモリアクセス回路と内蔵メモリに接続され、コンフィギュレーションメモリ制御回路はこれらのメモリから回路コンフィギュレーション情報を読み出すことができる。信号ＣＲＩＦは各回路ブロックのコンフィギュレーションメモリに接続され、コンフィギュレーションメモリ制御回路はこの信号を介してプログラマブル回路に含まれる各コンフィギュレーションメモリの内容の読みだしと書き込みを行う。
【００２０】
本プログラマブル回路において、機能回路ＦＢの故障による誤出力を防ぐために、機能回路は多重化（この例では、３重化）されている（図１中の３重化ブロックＴＭＲＢ）。これら３つの機能回路は同一の機能を有し同一の処理を行い、多数決回路ＶＯＴはこれら機能回路からの出力の多数決処理を行う。その多数決処理の結果が３重化ブロックＴＭＲＢの出力となり、多数決信号ＶＯＴＳを介して、揮発メモリアクセス回路ＶＭＩＦ、不揮発メモリアクセス回路ＮＶＭＩＦ、外部通信回路ＦＤＩＦに送信される。また、機能回路の出力は比較回路ＣＭＰにより常時比較され、それらの出力情報が異なる場合は回路に故障が発生したと判定される。この比較結果は信号ＣＭＰＳを介してコンフィギュレーション制御回路ＲＣＴＲに通知される。また、多数決回路及び比較回路は、それら自体に故障が発生していないかどうかを判定する診断回路ＴＳＴを有する。多数決回路の診断結果は信号ＴＳＴＶＳを介してコンフィギュレーション制御回路に通知され、比較回路の診断結果は信号ＴＳＴＣＳを介してコンフィギュレーション制御回路に通知される。
【００２１】
また、信号ＯＥＲＲは、コンフィギュレーション制御回路が、プログラマブル回路に故障が発生したことを外部に出力するための信号である。なお、信号ＶＳＥＬＳに関しては実施の形態４にて後述する。さらに、冗長化用回路として、この例では、多数決回路ＶＯＴと比較回路ＣＭＰを用いているが、比較回路ＣＭＰのみとしたり、これに限らず、適宜の回路を用いることができる。
【００２２】
次にプログラマブル回路の動作に必須となる回路コンフィギュレーション情報の内容と配置について述べる。図２は実施の形態１における回路コンフィギュレーション情報の内容を表す。全体回路コンフィギュレーション情報ＦＣＦＤは、プログラマブル回路内の全ての回路に対するコンフィギュレーション情報を含む。具体的には、揮発メモリアクセス回路に関するコンフィギュレーション情報ＶＭＩＦＤ、不揮発メモリアクセス回路に関するコンフィギュレーション情報ＮＶＭＩＦＤ、外部通信回路に関するコンフィギュレーション情報ＦＤＩＦＤ、機能回路に関するコンフィギュレーション情報ＦＢＤ、比較回路に関するコンフィギュレーション情報ＣＭＰＤ、多数決回路に関するコンフィギュレーション情報ＶＯＴを含む。プログラマブル回路の動作中に、機能回路に故障が発生した場合に用いる機能部コンフィギュレーション情報ＰＣＦＤは、機能回路に関するコンフィギュレーション情報ＦＢＤを含む。多数決回路及び比較回路に故障が発生した場合に用いる冗長化用回路コンフィギュレーション情報ＰＣＦＤ２は、比較回路に関するコンフィギュレーション情報ＣＭＰＤ、多数決回路に関するコンフィギュレーション情報ＶＯＴＤを含む。
【００２３】
次に図１を用いて、これらコンフィギュレーション情報の配置について説明する。不揮発メモリは、全体回路コンフィギュレーション情報ＦＣＦＤと機能部コンフィギュレーション情報ＰＣＦＤと冗長化用回路コンフィギュレーション情報ＰＣＦＤ２を格納する。不揮発メモリに格納された情報のうち、機能部コンフィギュレーション情報は、プログラマブル回路のリセット後の初期設定時に揮発メモリに複写される。また不揮発メモリに格納された情報のうち、冗長化用回路コンフィギュレーション情報は、プログラマブル回路のリセット後の初期設定時に内蔵メモリＢＲに複写される。機能部コンフィギュレーション情報および冗長化用回路コンフィギュレーション情報を不揮発メモリから揮発メモリ又は内蔵メモリ等の別のメモリに複写するのは、故障時にコンフィギュレーション情報読出し時間を短くし故障修復を早く行うためである。本実施の形態におけるメモリの読出し速度は大きい順に、内蔵メモリ、揮発メモリ、不揮発メモリの順である。そのため故障の高速な修復が必要な回路の回路コンフィギュレーション情報は内蔵メモリと揮発メモリに複写する。なお、一般に、メモリをコンフィギュレーション回路内部に実装すると、書き込み・読出し等の信号線を比較的多く設けることができ、書き込み・読出し速度を速くすることができる。特に、多数決回路及び比較回路は機能回路と異なり多重度が低く脆弱であり、故障により出力結果が変わる等のように出力結果に重大な影響を及ぼす部分であり、かつ、論理規模も小さいため、そのコンフィギュレーション情報は内蔵メモリに配置される。但し、内蔵メモリに格納するコンフィギュレーション情報をこれらの回路に限定するものではない。
【００２４】
また、内蔵メモリが他の用途に用いられ容量が十分でないなどの場合には、冗長化用回路コンフィギュレーション情報も揮発メモリに複写されるようにしてもよい。内蔵メモリも通常揮発性のメモリで構成することができ、不揮発メモリに格納された一部の回路コンフィギュレーション情報をより読出し速度の速い別のメモリに複写しておくことで、同様に故障の修復の高速化が可能となる。
【００２５】
図３と図１を用いて、プログラマブル回路の機能回路、比較回路、多数決回路に放射線ソフトエラー等による故障が発生した場合の動作フローについて説明する。
【００２６】
図３（ａ）は比較回路ＣＭＰに故障が発生した場合のコンフィギュレーション制御回路ＲＣＴＲの動作を示す。比較回路内の診断回路ＴＳＴにより比較回路内の故障が検出されると、比較回路はコンフィギュレーション制御回路に信号ＴＳＴＣＳを介してこれを通知する（Ｓ３０１）。コンフィギュレーション制御回路は、機能回路ＦＢに対して出力停止要求を信号ＳＴＲＱＳを介して発行し（Ｓ３０２）、比較回路のコンフィギュレーション情報を内蔵メモリＢＲから読出し、比較回路を修復する（Ｓ３０３）。この時、コンフィギュレーション制御回路内のコンフィギュレーションメモリ制御回路は、信号ＣＦＩＦを介して内蔵メモリＢＲから情報を読出し、その情報をもとに信号ＣＲＩＦを介して比較回路のコンフィギュレーションメモリの内容を修復する。その後、機能回路に対する出力停止要求を解除する（Ｓ３０４）。機能回路は出力動作を再開し、通常動作に復帰する。この過程で出力停止要求を受けた機能回路は、内部の記憶部に出力信号をバッファリングするなどして一時的に出力を抑制する。
【００２７】
図３（ｂ）は多数決回路に故障が発生した場合のコンフィギュレーション制御回路の動作を示す。多数決回路内の診断回路ＴＳＴにより多数決回路内の故障が検出されると、多数決回路はコンフィギュレーション制御回路に信号ＴＳＴＶＳを介してこれを通知する（Ｓ３１１）。コンフィギュレーション制御回路は、機能回路ＦＢに対して出力停止要求を信号ＳＴＲＱＳを介して発行し（Ｓ３１２）、多数決回路のコンフィギュレーション情報を内蔵メモリＢＲから読出し、多数決回路を修復する（Ｓ３１３）。この時、コンフィギュレーション制御回路内のコンフィギュレーションメモリ制御回路は、信号ＣＦＩＦを介して内蔵メモリＢＲから情報を読出し、その情報をもとに信号ＣＲＩＦを介して多数決回路のコンフィギュレーションメモリの内容を修復する。その後、機能回路に対する出力停止要求を解除する（Ｓ３１４）。機能回路は出力動作を再開し、通常動作に復帰する。この過程で出力停止要求を受けた機能回路は、内部の記憶部に出力信号をバッファリングするなどして一時的に出力を抑制する。
【００２８】
図３（ｃ）は機能回路の故障が比較回路により検出された場合のコンフィギュレーション制御回路の動作を示す。比較回路が機能回路の出力の不一致を検出すると、比較回路はコンフィギュレーション制御回路に信号ＣＭＰＳを介してこれを通知する（Ｓ３２１）。コンフィギュレーション制御回路は、コンフィギュレーションメモリ制御回路を動作させ、信号ＣＦＩＦを介して揮発メモリから情報を読出し、その情報をもとに信号ＣＲＩＦを介して機能回路のコンフィギュレーションメモリの内容を修復する（Ｓ３２２）。機能回路は３重化されているため、このコンフィギュレーションメモリの修復は、比較回路により全ての回路出力が異なることが検出された場合を除き、機能回路を停止させずに行う。なお、このコンフィギュレーションメモリの修復は、機能回路を停止して行うようにしてもよい。
【００２９】
本実施の形態１においては、例としてプロセッサなどの機能回路を多重化し高信頼化する構成について述べたが、この構成の適用対象を機能回路に限定するものではない。揮発メモリアクセス回路や不揮発メモリアクセス回路や外部通信回路などそれ以外の回路に対しても同様の手法が適用できる。
【００３０】
本実施の形態によると、プログラマブル回路のコンフィギュレーションメモリのソフトエラーを短時間で修復し、プログラマブル回路が搭載された装置の稼働率を向上させることができる。
【００３１】
［実施の形態２］
本実施の形態２では、上述の実施の形態１に対して、不揮発メモリへ接続されるプログラマブル回路の端子と、機能デバイスへ接続されるプログラマブル回路の端子が共有される形態について記載する。初期設定時に、不揮発メモリから必要な回路コンフィギュレーション情報とソフトウェアプログラム等のソフトウェア処理情報を別のメモリに複写し、その後、不揮発メモリに接続されていたプログラマブル回路の端子を機能デバイスへの接続に切り替える。これにより、少ない端子数を持つプログラマブル回路を用いて機能を実現することが可能となる。
【００３２】
図４に実施の形態２におけるプログラマブル回路の構成図を示す。この形態においても、揮発メモリＶＭには機能回路コンフィギュレーション情報が複写され、内蔵メモリＢＲには多数決回路及び比較回路のコンフィギュレーション情報が複写される。
【００３３】
回路構成の観点で、本実施の形態２が実施の形態１と異なる主な点は、不揮発メモリアクセス回路ＶＭＩＦと外部通信回路ＦＤＩＦからプログラマブル回路の端子への間にＩＯ選択回路ＩＯＳＥＬが配置される点、不揮発メモリと機能デバイスからプログラマブル回路の間にスイッチデバイスＩＯＳＷが配置される点、これらのＩＯ選択回路とスイッチデバイスを制御するためのＩＯ制御回路ＩＯＣＴＲがプログラマブル回路内に配置される点である。
【００３４】
ＩＯ選択回路は、不揮発メモリアクセス回路と不揮発メモリ間のアクセスを行う信号ＶＭＩＦＳと、外部通信回路と外部プロセシングデバイス間のアクセスを行う信号ＦＤＩＦＳのいずれかを、選択信号ＩＯＳＥＬＳに従い選択し、スイッチデバイスにつながる信号ＩＯＳＷＰに接続する回路である。スイッチデバイスは、プログラマブル回路の端子からの信号ＩＯＳＷＰを、選択信号ＩＯＳＷＳに従い、不揮発メモリあるいは機能デバイスに接続する回路である。ＩＯ制御回路は、選択信号ＩＯＳＥＬＳを介してＩＯ選択回路を制御すると共に、選択信号ＩＯＳＷＳを介してスイッチデバイスＩＯＳＷを制御する回路である。ＩＯ制御回路内のレジスタＦＬは、ソフトウェア処理情報の複写が完了したことをＩＯ制御回路に設定するためのレジスタである。本構成においては、機能回路によりソフトウェア処理情報の複写が完了した後に機能回路により設定される。
【００３５】
図５と図４を用いて、プログラマブル回路の接続を不揮発メモリから機能デバイスに切り替える際の制御フローについて説明する。この切替処理が開始されると、ＩＯ制御回路は、ＩＯ選択回路及びスイッチデバイスを制御して、不揮発メモリを選択する。そして、コンフィギュレーション制御回路は不揮発メモリに記憶されている全体回路コンフィギュレーション情報ＦＣＦＤを読出し、プログラマブル回路のコンフィギュレーションメモリに書き込みプログラマブル回路のコンフィギュレーションを実行する（Ｓ５０１）。
【００３６】
次に、コンフィギュレーション制御回路は、機能部コンフィギュレーション情報ＦＣＦＤを不揮発メモリから読出し揮発メモリに書き込み（Ｓ５０２）、更に、冗長化用コンフィギュレーション情報ＰＣＦＤ２を不揮発メモリから読出し内蔵メモリに書き込む（Ｓ５０３）。これらの部分回路のコンフィギュレーション情報の複写が完了後、コンフィギュレーション制御回路は信号ＲＣＦＳを介してＩＯ制御回路に複写完了を通知する（Ｓ５０４）。
【００３７】
不揮発メモリには、回路コンフィギュレーション情報に加えてＯＳ等のソフトウェアプログラムであるソフトウェア情報ＳＷＤも格納される場合がある。このような場合は、プログラマブル回路の接続を不揮発メモリから機能デバイスに切り替える前に、このソフトウェア情報も不揮発メモリから複写しておく必要がある。本実施の形態においては、機能回路がソフトウェア情報を不揮発メモリＮＶＭから揮発メモリＶＭに複写を行う（Ｓ５０５、Ｓ５０６）。そのため、ＩＯ制御回路は機能回路によるソフトウェア情報の不揮発メモリから揮発メモリへの複写の完了を待つ。この複写の完了の通知は、機能回路がＩＯ制御回路内の制御レジスタＦＬへ所定の値を書き込むことで行われる。回路コンフィギュレーション情報とソフトウェア情報の複写完了後、ＩＯ制御回路はＩＯ選択回路とスイッチデバイスに対して、プログラマブル回路の接続を不揮発メモリから機能デバイスに切り替えるよう信号ＩＯＳＥＬＳと信号ＩＯＳＷＳを出力する（Ｓ５０７）。
【００３８】
なお、プログラマブル回路の機能回路、比較回路、多数決回路に放射線ソフトエラー等による故障が発生した場合の動作フローについては、実施の形態１と同様である。
【００３９】
以上の処理により、プログラマブル回路は、揮発メモリと機能デバイスに接続された状態となり、通常の情報処理の実行を開始する。この通常の情報処理の途中で放射線等によるエラーが発生した場合の制御のフローは、実施の形態１と同様である。
【００４０】
以上のように、本実施の形態によると、実施の形態１で記載した効果の他にも、初期設定時に必要となる不揮発メモリに接続されていたプログラマブル回路の端子を別の機能デバイスへの接続に切り替えることにより、より少ない端子数を持つプログラマブル回路に多くのデバイスを接続することができる。これにより限られたコストで装置の高機能化や高性能化が可能となる。
【００４１】
［実施の形態３］
図６に本実施の形態３におけるプログラマブル回路の構成図を示す。本実施の形態でも前述の実施の形態２と同様に、プログラマブル回路には揮発メモリＶＭと不揮発メモリＮＶＭと機能デバイスＦＤが接続され、このプログラマブル回路は、内部に故障が発生した場合にそれを検知し自己修復する機能を有する。
【００４２】
本実施の形態におけるプログラマブル回路は、機能回路ＦＢの故障による誤出力を防ぐために、機能回路は２重化されている（図６のＤＭＲＢ）。これら２つの機能回路は同一の機能を有し同一の処理を行い、２つの機能回路ＦＢの出力は比較回路ＣＭＰによって監視される。プログラマブル回路は、機能回路と比較回路に加えて、揮発メモリアクセス回路ＶＭＩＦ、不揮発メモリアクセス回路ＮＶＭＩＦ、外部通信回路ＦＤＩＦ、コンフィギュレーション制御回路ＲＣＴＲ、コンフィギュレーションメモリ制御回路ＣＲＭＣ、ＩＯ制御回路ＩＯＣＴＲ、回路診断回路ＴＳＴ、コンフィギュレーションメモリＣＲ、内蔵メモリＢＲを含む。
【００４３】
図７は回路コンフィギュレーション情報の内容を示す。全体回路コンフィギュレーション情報ＦＣＦＤはプログラマブル回路起動時に使用する情報であり、プログラマブル回路内の全ての回路に対するコンフィギュレーション情報を含む。具体的には、揮発メモリアクセス回路に関するＶＭＩＦＤ、不揮発メモリアクセス回路に関するＮＶＭＩＦＤ、外部通信回路に関するＦＤＩＦＤ、機能回路に関するＦＢＤ、比較回路ＣＭＰＤを含む。機能回路に故障が発生した場合に用いる機能回路コンフィギュレーション情報ＰＣＦＤは、機能回路に関するコンフィギュレーション情報ＦＢＤを含む。比較回路に故障が発生した場合に用いるコンフィギュレーション情報ＰＣＦＤ２は、比較回路に関するコンフィギュレーション情報ＣＭＰＤを含む。実施の形態２と同様に、不揮発メモリには、回路コンフィギュレーション情報に加えてＯＳ等のソフトウェアプログラムであるソフトウェア情報ＳＷＤも格納される場合がある。
【００４４】
本実施の形態において、不揮発メモリには、全体回路コンフィギュレーション情報と機能部コンフィギュレーション情報と冗長化用回路コンフィギュレーション情報が格納される。不揮発メモリにある機能部コンフィギュレーション情報は、プログラマブル回路のリセット後の初期設定時に揮発メモリに複写される。また、不揮発メモリにある冗長化用回路コンフィギュレーション情報は、プログラマブル回路のリセット後の初期設定時に内蔵メモリに複写される。
【００４５】
機能部コンフィギュレーション情報および冗長化用回路コンフィギュレーション情報が不揮発メモリから別のメモリに複写されるのは、実施の形態１や実施の形態２と同じく、故障時にコンフィギュレーション情報読出し時間を短くし故障修復を早く行うためである。本実施の形態におけるメモリの読出し速度は大きい順に、内蔵メモリ、揮発メモリ、不揮発メモリの順である。そのため故障の高速な修復が必要な回路のコンフィギュレーション情報は内蔵メモリと揮発メモリに複写される。
【００４６】
なお、プログラマブル回路の接続を不揮発メモリから機能デバイスに切り替える際の制御フローについては、実施の形態２（図５等）と同様である。
【００４７】
図８と図６を用いて、プログラマブル回路の機能回路や比較回路に故障が発生した場合の動作フローについて説明する。
【００４８】
図８（ａ）は比較回路ＣＭＰに故障が発生した場合のコンフィギュレーション制御回路ＲＣＴＲの動作を示す。比較回路内の診断回路により比較回路内の故障が検出されると、比較回路はコンフィギュレーション制御回路に信号ＴＳＴＣＳを介してこれを通知する（Ｓ８０１）。コンフィギュレーション制御回路は、機能回路に対して出力停止要求を信号ＳＴＲＱＳを介して発行し（Ｓ８０２）、比較回路のコンフィギュレーション情報を内蔵メモリＢＲから読出し、比較回路を修復する（Ｓ８０３）。この時、コンフィギュレーション制御回路内のコンフィギュレーションメモリ制御回路は、信号ＣＦＩＦを介して内蔵メモリＢＲから情報を読出し、その情報をもとに信号ＣＲＩＦを介して比較回路のコンフィギュレーションメモリの内容を修復する。その後、機能回路に対する出力停止要求を解除する（Ｓ８０４）。機能回路は出力動作を再開し、通常動作に復帰する。この過程で出力停止要求を受けた機能回路は、内部の記憶部に出力信号をバッファリングするなどして一時的に出力を抑制する。
【００４９】
図８（ｂ）は機能回路の故障が比較回路により検出された場合のコンフィギュレーション制御回路の動作を示す。比較回路が機能回路の出力の不一致を検出すると、比較回路はコンフィギュレーション制御回路に信号ＣＭＰＳを介してこれを通知する（Ｓ８１１）。コンフィギュレーション制御回路は、まず、プログラマブル回路の外部に故障が発生したことを信号ＯＥＲＲを介して通知する（Ｓ８１２）。本実施の形態では外部ＬＳＩのＦＤに通知を行うが通知先はこれに限定するものではない。次にコンフィギュレーション制御回路は、コンフィギュレーションメモリ制御回路を動作させ、信号ＣＦＩＦを介して不揮発メモリから情報を読出し、その情報をもとに信号ＣＲＩＦを介して機能回路のコンフィギュレーションメモリの内容を修復する（Ｓ８１３）。この修復処理が完了した後、機能回路をリセットし処理を再開するとともに、信号ＯＥＲＲを介してプログラマブルＬＳＩの外部に修復が完了したことを通知する（Ｓ８１４）。
【００５０】
図１１は、本発明の実施の形態３における放射線等の耐性を有するプログラマブル回路を含む装置の変形例を示す図である。図示のように、実施の形態３の変形例として、実施の形態１のプログラマブル回路構成を用いて、図１の３重化ブロックＴＭＲＢを、実施の形態３の図６の２重化ブロックＤＭＲＢに置換した構成としてもよい。なお、この場合コンフィギュレーション制御回路ＲＣＴＲからのセレクト信号ＶＳＥＬＳは不要とする。
【００５１】
以上、実施の形態１から実施の形態３では、プログラマブル回路のコンフィギュレーション制御回路を不揮発メモリだけでなく揮発メモリと内蔵メモリに接続する。その上で故障の高速な修復が必要な回路の回路コンフィギュレーション情報を、プログラマブル回路からの情報読出し速度が速いメモリ（本実施の形態１から３においては揮発メモリと内蔵メモリ）に配置することで、放射線ソフトエラー等による故障からの復帰時間を短縮する手段を示した。
【００５２】
これにより、本実施の形態によると、実施の形態１で記載した効果の他にも、プログラマブル回路が搭載された装置の稼働率を向上させることが可能となる。
【００５３】
［実施の形態４］
図９を用いて、実施の形態１の多数決回路の別の形態を説明する。
本多数決回路ＶＯＴの特徴は、多数決処理を行わずに機能回路（ＦＢＡ、ＦＢＢ、ＦＢＣ）の出力値をそのまま出力する機能を有する点である。この多数決回路の出力は、３つの機能回路出力の多数決処理結果の信号ＶＶＯＴＳ、機能回路の出力信号ＦＢＡＳ、ＦＢＢＳ、ＦＢＣＳの４つから選択でき、４つのいずれを選択するかはセレクト信号ＶＳＥＬＳの信号値により指定できる。なお、図９においては、説明を容易にするために、３つの機能回路ＦＢＡ、ＦＢＢ、ＦＢＣと区別しているが同一の機能を有する回路である。
【００５４】
多数決回路ＶＯＴは、多数決実行回路ＶＶＯＴ、信号ＶＳＥＬＳ  の値に従って４つの入力から１つを選択するセレクタ回路ＶＳＥＬ、診断回路ＴＳＴを含む。多数決実行回路は、信号ＦＢＡＳ、信号ＦＢＢＳ、信号ＦＢＣＳの値の多数決処理を行う回路である。セレクタ回路は、セレクト信号ＶＳＥＬＳに従い、多数決結果信号ＶＶＯＴＳ、信号ＦＢＡＳ、信号ＦＢＢＳ、信号ＦＢＣＳのうちのひとつの信号を選択して信号ＶＯＴＳに出力する。診断回路は、多数決実行回路とセレクタ回路に故障がないか診断するための回路である。
【００５５】
多数決処理を行わずに機能回路の出力をそのまま出力する機能は、実フィールドで各々の機能回路の動作を検証するために利用することができる。例えば、多数決回路ＶＯＴの出力が機能回路ＦＢＡの出力ＦＢＡＳとなるようにセレクト信号ＶＳＥＬＳの値を与えることで機能回路ＦＢＢと機能回路ＦＢＣを無効にすることができる。そのうえで、予め用意したテスト用の入力パターンを実行させることで、機能回路ＦＢＡの動作を検証することができる。
【００５６】
以上のように、本多数決回路を適用することの効果は、多重化された機能回路の一つを選択して、各々の機構回路の動作検証を行うことができることである。
【００５７】
［実施の形態５］
図１０は、実施の形態１の３重化ブロックＴＭＲＢの別の形態である。
実施の形態１では機能回路の出力部のみに多数決回路が設けられたのに対して、本実施の形態では機能回路の出力部に加えて回路内部のいくつかの箇所に多数決回路ＦＶＯＴが挿入される。
【００５８】
３重化された機能回路の１つのＦＢＡに含まれる多数決回路ＦＶＯＴ−Ａ１を例にとり、多数決回路の機能と構成を記載する。この多数決回路も実施の形態４で示した多数決回路ＶＯＴと同様に多数決処理を行わずに入力値をそのまま出力することができる点が特徴である。多数決回路は、多数決実行回路ＶＶＯＴ、信号ＦＶＳＥＬＳ  の値に従って２つの入力信号から１つの信号を選択するセレクタ回路ＶＳＥＬを含む。この構成により、多数決回路の出力を、回路ブロック（ＦＢ−Ａ１、ＦＢ−Ｂ１、ＦＢ−Ｃ１）からの３つの信号の多数決処理結果の信号と、機能回路ＦＢ−Ａ１の出力信号のいずれかから選択できる。他の多数決回路ＦＶＯＴも同様の機能を有する。
【００５９】
本実施の形態において、多数決回路に多数決処理を行わないようにセレクト信号ＦＶＳＥＬＳとＶＳＥＬＳを用いて機能回路に指定することで、３つの機能回路ＦＢＡ、ＦＢＢ、ＦＢＣを独立に動作をさせることが可能となる。
【００６０】
このように機能回路が独立動作を行う設定にし、予め用意したテスト用の入力パターンを実行させることで、各々の機能回路を独立に検証することが可能となる。また、独立動作を行う設定とすることで、３つの機能回路を独立動作させることが可能となり、処理性能を向上させることも可能となる。また、独立動作を行う設定とすることで、３つの機能回路に跨る信号伝播がなくなり動作周波数を向上させることも可能となる。
【００６１】
Ｃ．付記
以上の実施の形態１から実施の形態５では、主に機能回路の放射線ソフトエラー等の耐性を向上させる手段について述べた。不揮発メモリアクセス回路や揮発メモリアクセス回路など他の回路の放射線ソフトエラー等の耐性を向上させる場合にも同様の手段を適用することができ、記載した手段は機能回路に限定するものではない。
【００６２】
また、実施の形態１から実施の形態３において、プログラマブル回路、不揮発メモリ、揮発メモリ、機能デバイスは別のチップで構成される場合も、またこれらのいくつかが同一チップ上に実装させる場合もあり、ともに本発明の範囲である。例えば、プログラマブル回路は、不揮発メモリ又は揮発メモリの一方を内部に備えるようにしたり、両メモリを内部に備えるようにしてもよい。
【００６３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００６５】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００６６】
ＦＰＧＡ：  プログラマブル回路
ＮＶＭ：  不揮発メモリ
ＶＭ：  揮発メモリ
ＦＤ：  機能デバイス
ＦＢ、ＦＢＡ、ＦＢＢ、ＦＢＣ：  機能回路
ＦＤＩＦ：  外部通信回路
ＶＭＩＦ：  揮発メモリアクセス回路
ＮＶＭＩＦ：  不揮発メモリアクセス回路
ＶＯＴ、ＶＯＴＦ：  多数決回路
ＣＭＰ：  比較回路
ＲＣＴＲ：  コンフィギュレーション制御回路
ＣＲＭＣ：  コンフィギュレーションメモリ制御回路
ＣＲ：  コンフィギュレーションメモリ
ＴＳＴ：  診断回路
ＢＲ：  内蔵メモリ
ＴＭＲＢ：  機能回路３重化ブロック
ＤＭＲＢ：  機能回路２重化ブロック
ＩＯＳＥＬ：  ＩＯ選択回路
ＩＯＣＴＲ：  ＩＯ制御回路
ＶＶＯＴ：  多数決回路内多数決実行回路
ＶＳＥＬ：  多数決回路内セレクタ回路
ＦＬ：  ＩＯ制御レジスタ
ＩＯＳＷ：  スイッチデバイス
ＦＣＦＤ：  全体回路コンフィギュレーション情報
ＰＣＦＤ：  機能部コンフィギュレーション情報
ＰＣＦＤ２：  冗長化用回路コンフィギュレーション情報
ＶＭＩＦＤ：  揮発メモリアクセス回路コンフィギュレーション情報
ＮＶＭＩＦＤ：  不揮発メモリアクセス回路コンフィギュレーション情報
ＦＤＩＦＤ：  外部通信回路コンフィギュレーション情報
ＦＢＤ：  機能回路コンフィギュレーション情報
ＣＭＰＤ：  比較回路コンフィギュレーション情報
ＶＯＴＤ：  多数決回路コンフィギュレーション情報
ＳＷＤ：  ソフトウェア情報
ＣＦＩＦ：  コンフィギュレーション情報読出し信号
ＣＲＩＦ：  コンフィギュレーションメモリアクセス信号
ＣＭＰＳ：  比較結果通知信号
ＴＳＴＶＳ：  多数決回路診断結果通知信号
ＴＳＴＣＳ：  比較回路診断結果通知信号
ＶＭＩＦＳ：  不揮発メモリアクセス信号
ＦＤＩＦＳ：  機能ＬＳＩアクセス信号
ＩＯＳＷＰ：  スイッチ接続信号
ＩＯＳＥＬＳ：  ＩＯ選択制御信号
ＩＯＳＷＳ：  スイッチ制御信号
ＳＴＲＱＳ：  機能回路出力停止要求信号
ＦＢＡＳ、ＦＢＢＳ、ＦＢＣＳ：  機能回路出力信号
ＶＳＥＬＳ、ＦＶＳＥＬＳ：  セレクト信号
【図１】
2015154417.tif 000003
【図２】
2015154417.tif 000004
【図３】
2015154417.tif 000005
【図４】
2015154417.tif 000006
【図５】
2015154417.tif 000007
【図６】
2015154417.tif 000008
【図７】
2015154417.tif 000009
【図８】
2015154417.tif 000010
【図９】
2015154417.tif 000011
【図１０】
2015154417.tif 000012
【図１１】
2015154417.tif 000013