(57)【特許請求の範囲】
【請求項１】
複数の制御回路と、
前記複数の制御回路からの出力を比較してエラーの発生を検査する比較部と、
前記比較部にてエラーが発生していると判断された場合に、前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶部と、
前記比較部にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ部と、
前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、前記比較部にてエラーが発生していると判断された制御回路に入力する制御部と、
外部からの入力信号を記録する入力記録部と、を備え、
前記制御部では、前記エラーが発生していると判断された制御回路が前記エラーが発生していない制御回路の処理状態に追いつくまで、前記入力記録部に記録された入力信号を前記エラーが発生していると判断された制御回路に入力することを特徴とするプログラマブルデバイス。
【請求項２】
複数の制御回路と、
前記複数の制御回路からの出力を比較してエラーの発生を検査する比較部と、
前記比較部にてエラーが発生していると判断された場合に、前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶部と、
前記比較部にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ部と、
前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、前記比較部にてエラーが発生していると判断された制御回路に入力する制御部と、
前記比較部からのエラー検出信号と前記リコンフィグ部からのリコンフィグ信号とに基づきリコンフィグ状態を監視する監視部と、を備えることを特徴とするプログラマブルデバイス。
【請求項３】
請求項１または２記載のプログラマブルデバイスであって、
前記リコンフィグ部では、前記比較部にてエラーが発生していると判断された制御回路の回路情報を書き直すことを特徴とするプログラマブルデバイス。
【請求項４】
請求項１乃至３のいずれかに記載のプログラマブルデバイスであって、
さらに、前記複数の制御回路のいずれかにエラー信号を挿入するエラー挿入部を備えることを特徴とするプログラマブルデバイス。
【請求項５】
請求項１乃至４のいずれかに記載のプログラマブルデバイスを備えた電子デバイスであって、
前記リコンフィグ部によるリコンフィグを制御するプロセッサと、
前記リコンフィグ部におけるリコンフィグにて用いるコンフィグデータメモリを格納するコンフィグデータメモリ部と、を備える電子デバイス。
【請求項６】
比較部が複数の制御回路からの出力を比較してエラーの発生を検査する比較工程と、
前記比較工程にて前記比較部がエラーが発生していると判断した場合に、記憶部が前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶工程と、
リコンフィグ部が前記比較工程にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ工程と、
前記記憶工程にて前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、制御部が前記比較工程にてエラーが発生していると判断された制御回路に入力する制御工程と、
入力記録部が外部からの入力信号を記録する入力記録工程と、を備え、
前記制御工程では、前記エラーが発生していると判断された制御回路が前記エラーが発生していない制御回路の処理状態に追いつくまで、前記制御部が前記入力記録工程にて記録した入力信号を前記エラーが発生していると判断された制御回路に入力することを特徴とするプログラマブルデバイスのリコンフィグ方法。
【請求項７】
請求項６に記載のプログラマブルデバイスのリコンフィグ方法であって、
さらに、エラー挿入部が前記複数の制御回路のいずれかにエラー信号を挿入するエラー挿入工程を備えることを特徴とするプログラマブルデバイスのリコンフィグ方法。
【請求項８】
請求項６または７に記載のプログラマブルデバイスのリコンフィグ方法であって、
さらに、前記比較工程における比較結果であるエラー検出信号と前記リコンフィグ工程におけるリコンフィグ処理完了信号とに基づき、監視部がリコンフィグ状態を監視する監視工程を備えることを特徴とするプログラマブルデバイスのリコンフィグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器全般の高信頼化に関し、特にプログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイスに関する。
【背景技術】
【０００２】
半導体デバイスの微細化に伴い、環境放射線（地上における宇宙線中性子、α線）ソフトエラーの問題が特にＳＲＡＭ（非特許文献１）や論理ゲート（非特許文献２）、クロック系（非特許文献３）などについて顕在化している。極めて高いエネルギーを有する中性子がデバイスを構成する原子核内に突入すると核内の核子（中性子、陽子）が衝突を繰り返し、特に高いエネルギーを持った核子は核外に放出される。核子が核外に飛び出すだけの運動エネルギーを持ち得ない状態になると、励起状態にある残留原子核から陽子、中性子、重陽子、アルファ粒子などの軽粒子が蒸発する過程が続き、最終的に残留核も反挑エネルギーを持つためこれらの２次粒子は全てその飛程に見合った距離デバイスの中を飛ぶことになる。
【０００３】
半導体パッケージなどに含まれる放射性同位元素から発生するα線や、核反応の結果発生する電荷を持った２次イオンがＳＲＡＭの”ｈｉｇｈ“状態にあるストレージノードの空乏層を通過すると、電子はノードに吸収され正孔は反対方向に流れイオンの飛跡に沿って電荷収集領域が広がるファネリングメカニズムによってストレージノードに電荷が収集される。臨界電荷量以上の電荷が収集されると“ｈｉｇｈ“状態が“ｌｏｗ“状態に推移し、ソフトエラー（Ｓｉｎｇｌｅ Ｅｖｅｎｔ Ｕｐｓｅｔ；ＳＥＵ）になる。
【０００４】
これが、環境放射線ソフトエラーのメカニズムとして考えられてきた典型的なメカニズムでありＳＥＵ(Ｓｉｎｇｌｅ Ｅｖｅｎｔ Ｕｐｓｅｔ)と称される。メモリデバイスのＳＥＵについて複数のセルが同時にエラーになるケースをＭＣＵ(Ｍｕｌｔｉ Ｃｅｌｌ Ｕｐｓｅｔ)と呼んでＳＢＵ（Ｓｉｎｇｌｅ Ｂｉｔ Ｕｐｓｅｔ：単一ビットエラー）とは区別する。ＭＣＵは同一ワードに発生した場合ＭＢＵ（Ｍｕｌｔｉｐｌｅ Ｂｉｔ Ｕｐｓｅｔ）と呼んで通常のＥＣＣ（Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｏｎ Ｃｏｄｅ）では修復できないためシステムダウンの原因となる。
【０００５】
ＳＥＵを含むソフトエラーは、ハードエラー（ハードウェアの固定故障）と異なり、エラー発生後も新たなデータに更新され、再起動などによって正常に復帰してしまうためにエラーの要因特定が困難といった問題もある。このように論理回路に発生するソフトエラーの影響とは、コンピュータのプロセッサやＡＳＩＣ、制御用デジタル回路等の誤作動を引き起こすことを意味し、電子システムとしての誤作動の要因となることが懸念される。
近年では、様々な電子システム装置の制御用ロジック回路としてプログラマブルデバイスが多用されている。特にプログラマブルデバイスの中でもＦＰＧＡ（Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）の利用は増大している。ＦＰＧＡは、ロジック回路情報をデバイス内部のメモリ（コンフィギュレーションメモリ、以下コンフィグメモリと称す）に格納して演算回路や制御回路を構築するが、このメモリに格納されたデータがソフトエラーにより破壊されることで、電子システム装置の誤作動を引き起こす可能性があることが問題視されつつある。通常、システムとして誤動作による影響がでないよう考えられているが、消費電力、開発、検証工数、コスト等の増大を招く要因となっている。
【０００６】
ＦＰＧＡの環境放射線耐性を向上するための取組みとしては、ソフトエラーによって書き換えられたコンフィグメモリに正しい回路情報を再度書き込むリコンフィグを用いた手法や、内部回路の冗長化と多数決回路を用いた手法がある。特許文献１（特開２０１１−１３８２９号）では、ソフトエラーが発生した回路部位をリコンフィグすることで耐性を向上するとともに、固定長ブロックでの回路情報格納と、その単位でソフトエラー検知を行うことで、その回路部位のみリコンフィグする手段を設け、ソフトエラー発生からリコンフィグ完了までの時間を短縮することが開示されている。また、特許文献２（特許４４２２５９６号）では、ネットワークで接続された各種信号処理ユニットに再構成可能な信号処理システムを２つ以上分散して配置することで、故障（ソフトエラー含む）が発生した信号処理ユニットの代わりを、正常動作可能な別の再構成可能な信号処理システムで代行することで高信頼化を図ることが開示されている。また、非特許文献４では、ＦＰＧＡ内のプロセッサ回路を３重化（ＴＭＲ：Ｔｒｉｐｌｅ Ｍｏｄｕｌａｒ Ｒｅｄｕｎｄａｎｔ）し、ソフトエラーによりコンフィグメモリが書き換えられた場合、一旦正常に動作しているプロセッサ回路を含め全体の動作を停止し、正常回路の内部レジスタを内部メモリに格納し、その後プロセッサ回路のみリコンフィグを行い、リコンフィグ終了後、格納したレジスタ値をリコンフィグしたプロセッサ回路にロードした後、再起動を行うことで復旧することを特徴とした耐性回路技術について述べている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１３８２９号
【特許文献２】特許４４２２５９６号
【非特許文献】
【０００８】
【非特許文献１】E.Ibe, "Current and Future Trend on Cosmic-Ray-Neutron Induced Single Event Upset at the Ground down to 0.1-Micron-Device," The Svedberg Laboratory Workshop on Applied Physics, Uppsala, May,3, No.1 (2001).
【非特許文献２】P. Shivakumar (University of Texas at Austin), M. Kistler, W Keckler.S, DougBurger, Lorenzo.A., "Modeling the Effect of Technology Trends on the Soft Error Rate of Combinational Logic," Int'l  Conf. on Dependable Systems and Networks, pp. 389-398 (2002).
【非特許文献３】Seifert, N. , Shipley, P., Pant, M.D., Ambrose, V., and Gill, B., "Radiation-Induced Clock Jitter and Race," 2005 IEEE International Reliability Physics Symposium Proceedings, April 17-21, San Jose, April 17-21, 2005, Vol.43rd Annual, pp. 215-222 (2005).
【非特許文献４】Improvingthe Robustness of a Softcore Processor against SEUs by using TMR and Partial Reconfiguraton ，著者名： Yoshihiro Ichinomiya, Shiro Tanoue (熊本大学), 資料名： 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines
【発明の概要】
【発明が解決しようとする課題】
【０００９】
半導体デバイスの微細化・高集積化伴い、環境放射線（α線、中性子線等）によるソフトエラーの影響が拡大し、プログラマブルデバイス（主にＦＰＧＡ）でのソフトエラー頻度が急増し、電子システム製品におけるソフトエラーが問題となりつつある。しかし、ソフトエラーの主要因である中性子線を遮蔽することは難しく、その対策は困難である。
【００１０】
プログラマブルデバイスにおけるソフトエラー耐性向上の方法としては、回路を冗長化することが一般的である。しかし冗長回路の一部が中性子により書き換えられると、その部位を正しいデータに書き戻さない限りエラーが残り、冗長性が損なわれる。この場合、プログラマブルデバイス全体もしくは、エラーが発生した部位を部分的に書き直すことで復旧できるが、書き直している間、正常回路も含め動作を停止しないと、正常に処理を進めている正常回路と書き直しにより処理が停止しているエラー発生回路の処理との間で、処理の進度に違いが発生する。従って、プログラマブルデバイスでソフトエラーが発生した際に、コンフィグメモリを書き直す場合、その間動作を停止しなければならない。通信装置等、装置停止が及ぼす影響が大きなシステムでは、システムの動作を停止せずに復旧することが重要であるため、プログラマブルデバイスを用いた際は、従来、製品全体もしくは製品の一部（基板単位等）の冗長化で対応することになる。
【００１１】
本発明の目的は、電子システム製品に用いるプログラマブルデバイスの環境放射線ソフトエラー耐性を向上し、社会インフラシステムに要求される高信頼化と無停止システム実現に貢献することのできるプログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイスを提供することにある。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
（１）複数の制御回路と、前記複数の制御回路からの出力を比較してエラーの発生を検査する比較部と、前記比較部にてエラーが発生していると判断された場合に、前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶部と、前記比較部にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ部と、前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、前記比較部にてエラーが発生していると判断された制御回路に入力する制御部と、を備えるプログラマブルデバイスである。
【発明の効果】
【００１３】
本発明によれば、電子システム製品に用いるプログラマブルデバイスの環境放射線ソフトエラー耐性を向上し、社会インフラシステムに要求される高信頼化と無停止システム実現に貢献することのできるプログラマデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイスを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係るプログラマブルデバイスプログラマブルデバイスの構成図である。
【図２】本発明の実施の形態に係るプログラマブルデバイスプログラマブルデバイスの別の構成例である。
【図３】本発明の実施の形態に係る動作シーケンス例である。
【図４】本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の制御タイミングチャート例を示した図である。
【図５】本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の内部状態を記録する手段を示した図である。
【図６】本発明の実施の形態に係るプログラマブルデバイスをもとに設計する場合の入力画面例を示した図である。
【図７】本発明の実施の形態に係るプログラマブルデバイスによる構成部位を含む設計検証を行う際にソフトエラーを強制的に挿入する手段を示した図である。
【図８】本発明の実施の形態に係るプログラマブルデバイスを用いた電子システム装置の環境放射線照射試験時に内部状態を外部に出力する手段を示した図である。
【図９】図８による出力結果を表示した画面例を示す。
【図１０】本発明の実施の形態に係るプログラマブルデバイスによるリコンフィグ制御部と上位システムとの構成例を示す。
【図１１】本発明の実施の形態に係る通信機器を構成した例を示す。
【発明を実施するための形態】
【００１５】
本発明に係るプログラマブルデバイスの環境放射線起因ソフトエラー耐性回路、および装置の実施例を、図面を用いて説明する。
【００１６】
図１は、本発明の実施の形態に係るプログラマブルデバイスの構成図である。
図１に記載のプログラマブルデバイス１は、リコンフィグ制御部２と、冗長回路部３（制御回路部４、５、６）と、多数決回路部７と、クロック制御部８と、入力記録部９と、選択器１０と、追跡制御部１１と、記録データ選択部１２と、状態記録部１３と、を備えて構成される。
【００１７】
制御回路部４、５、６は、各種演算、外部メモリ制御、通信用パケット解析処理、外部Ｉ／Ｆ制御等の所望の機能を実現するための回路である。選択器１０により選択された信号を受信し、各制御回路部４、５、６、からの出力データを多数決回路部７に出力する。制御回路部５および６は、制御回路部４を複製したものであり冗長性を有する。ここでは、制御回路部４乃至６をまとめて冗長回路部３と称する。
クロック制御部８は、外部からクロック信号１５を受け取り、定常状態で使用する周波数のクロック信号１８または周波数を変更したクロック信号１９を制御回路部４、５、６、リコンフィグ制御部２、多数決回路部７、入力記録部９、追跡制御部１１、記録データ選択部１２、状態記録部１３の各部位へ出力する。
多数決回路部７は、環境放射線耐性を向上するために制御回路部４、５、６の出力データに対して多数決処理を行い、ソフトエラーの発生有無またはソフトエラーの発生している制御回路部を特定する。その結果、制御回路部４乃至６のいずれかにエラーが発生していると判断した場合は、エラーが発生したことを知らせる信号２０、２１、２３をそれぞれ追跡制御部１１、リコンフィグ制御部２、記録データ選択部１２に送る。また、判定結果を出力信号１７として外部に出力する。
【００１８】
記録データ選択部１２は、多数決回路部７でのソフトエラー発生有無の判定結果に基づき、ソフトエラーが発生した時点でエラーが発生していない正常な制御回路部を選択し、選択した制御回路部４乃至６との間で内部状態データを知らせる信号２２をやり取りする。
状態記録部１３は、記録データ選択部１２との間でデータやり取りを行い、記録データ選択部１２で選ばれたエラーが発生していない正常な制御回路部の内部状態を格納する。
リコンフィグ制御部２は、エラーが発生したことを知らせる多数決回路部７からの信号２１を受信し、コンフィグ制御信号１４を外部とやり取りすることにより、所望の機能を実現するための回路情報を格納するプログラマブルデバイスに設けられているコンフィギュレーションメモリ（開示せず）への書き込み制御を行う。コンフィギュレーションメモリとは、プログラマブルデバイスを実現するために必須のメモリであり、一般的に用いられる。図１に開示された全ての部位がコンフィギュレーションメモリに格納され、回路機能を実現する。
入力記録部９は、制御回路部４、５、６へ入力するための外部からの入力信号１６を一時的に記録し、選択器１０に対して出力する。
【００１９】
選択器１０は、入力信号１６と入力記録部９からの出力信号のいずれか一方を選択して各制御回路部４乃至６に入力する。
追跡制御部１１は、多数決回路部７からの制御回路の一部にエラーが発生したことを知らせる信号２０とリコンフィグ制御部３からの出力信号とに基づき、一時的に早めたクロック信号を出力し、一部の処理を高速化するようクロック制御部８に入力する。また、追跡制御部１１から選択器１０に出力信号の選択を指示する信号を出力する。
【００２０】
なお、図１では冗長回路部３は３つの制御回路部４乃至６により構成されているが、３重化以上の冗長化の構成としてもよい。制御回路部の数を増やすことにより冗長性が高まる。また、クロック制御部８は、周波数を変更する手段と、複数のクロック信号に分配する手段を持つ。
【００２１】
図１に示すプログラマブルデバイス１の構成において、コンフィグ制御信号１４は、プログラマブルデバイス１の回路情報データと書き込みを制御する信号とリコンフィグが終了したことを知らせる信号と冗長回路部３の中のソフトエラーが発生した部位のデータであることを伝える信号を含む。
また、多数決回路部７から追跡制御部１１に対しての制御回路の一部にエラーが発生したことを知らせる信号２０と、多数決回路部７からリコンフィグ制御部２に対して制御回路の一部にエラーが発生したことを知らせる信号２１と、多数決回路部７から記録データ選択部１２に対して制御回路の一部にエラーが発生したことを知らせる信号２３とにより、制御回路の一部にソフトエラーが発生したことを関係する各制御部へ伝える。また、信号２０を受けた後、追跡制御部１１からクロック制御部８へ同様にエラーの発生を伝えるとともに、プログラマブルデバイス１内部に分配するクロック信号の中で周波数を変更する部位を指示する情報を渡す。
【００２２】
なお、クロック制御部８は、この信号を多数決回路部７から直接入力する構成としても良い。図１では、クロック信号の接続は図示していないが、各部位へクロック信号１８を接続する構成を取り、クロック信号１９は、冗長回路部３と、入力記録部９に接続する。また、リコンフィグ時に多数決回路部７へ不要なデータが送出されるため、多数決回路部７への制御回路部からの入力をマスクする機能を多数決回路部７に設けても良い。
【００２３】
図２は、本発明の実施の形態に係るプログラマブルデバイスの別の構成例である。図１に示すプログラマブルデバイスとの違いは、図１記載のプログラマブルデバイスでは別個の構成としていた入力記録部９を一つにまとめた点にある。図１では冗長回路部３の冗長個数分（３個）の入力記録部９で構成していたが、図２の構成では、常時入力記録部９にも入力信号１６のデータを格納し、ソフトエラーが発生した場合、ソフトエラーが発生していない正常な制御回路部へは入力記録部９を通さないもう一方の信号をバス選択器２９で選択し、リコンフィグが終了した制御回路部への入力信号は、もう一方の入力記録部９を通した信号を選択する。この構成により、入力記録部９の容量を削減することができる。
【００２４】
図３は、本発明の実施の形態に係る動作シーケンス例である。
制御回路部４、５、６を所望の機能を有する回路で構成し、その制御回路が定常動作を開始した後、制御回路部４乃至６からの出力に基づいて多数決回路部７でソフトエラーの監視処理を開始する（step３１）。なお、ソフトエラー検出は、多数決回路部７での検出だけでなく、プログラマブルデバイスのコンフィグメモリのデータ反転を監視する手段により検出しても良い。
Step３１にてソフトエラーを検出した場合（step３２のYes）、多数決回路部７での検出結果に基づき正常な制御回路部を記録データ選択部１２にて選択し、正常な制御回路部の内部状態を状態記録部１３に格納する（step３３）。内部状態とは、例えば、制御回路部がプロセッサの場合、ステータスレジスタを示す。また、Step３１にてソフトエラーを検出した場合（step３２のNo）は、エラーを検出するまで引き続きエラー監視処理を続ける。
【００２５】
次にソフトエラーを検出した制御回路ブロックに入力する信号を入力記録部９に格納する（step３４）。
次に、ソフトエラーが発生した制御回路部のリコンフィグ動作を開始し（step３５）、リコンフィグが終了した後、状態記録部１３から動作を停止した時点の状態データをロードする（step４３）。
その後、リコンフィグした制御回路の入力を入力記録部９からの入力側へ切り替え（step３６）、リコンフィグした制御回路部の動作周波数をクロック制御部８により切り替える（step３７）。
【００２６】
リコンフィグした制御回路部が、正常な制御回路部の処理フェーズに追いつくまで、入力記録部９からの入力信号により動作を続ける（step３９、step４０）。
正常な制御回路部の処理フェーズに追いついたと判定した場合、選択器１０により外部からの入力信号に切り替える（step３８）。
【００２７】
図４は、本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の制御タイミングチャート例を示した図である。
図４の例では、制御回路部４にソフトエラーが発生した場合を示す。制御回路部４で、ソフトエラーが発生した際、記録データ選択部１２の動作開始（図中、イネーブル状態）を発行し、この信号を受けて状態記録部１３は、正常な制御回路部５または６の内部状態を格納する。同時に入力記録部９への入力信号１６の記録を開始する。状態記録部１３での記録が完了した後、制御回路部４のリコンフィグを開始する。リコンフィグが完了した後、状態記録部１３からデータをロードする。データのロードが完了した後、制御回路部４の動作周波数を制御回路部５と制御回路部６より早くする。なお、制御回路部５と６を制御回路部４より遅くしても良い。
【００２８】
図５は、本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の内部状態を記録する手段を示した図である。図５の例では、制御回路４で発生したソフトエラーを多数決回路部７が検出し、ソフトエラー検出情報とソフトエラー発生部位を記録データ選択部１２に伝える。記録データ選択部１２は、正常な制御回路部（図５では、制御回路部５または６）の内部状態を保持するレジスタ５１のデータを一括して状態記録部１３に複写する。正常な制御回路部が複数ある場合、その選択の優先順位決定方法は特に問わない。
【００２９】
図６は、本発明の実施の形態に係るプログラマブルデバイスをもとに設計する場合の入力画面（ＧＵＩ）６１の例を示した図である。
プログラマブルデバイス１において、所望の機能を構成する制御回路部４乃至６に本発明の回路構成を付加する機能を有するプログラムにおいて、その入力画面は、制御回路部の冗長数を表す冗長度と、ソフトエラーが発生した制御回路部と発生していない制御回路部との動作周波数比と、状態記録部１３における記録格納サイズを表す状態レジスタサイズと、入力記録部９の入力信号を記録するサイズを表すバッファ深さとを入力することができる。このＧＵＩ画面では、入力記録部９と、選択器１０と、追跡制御部１１と、記録データ選択部１２と、状態記録部１３と、その間の接続情報を生成する機能を有する。
【００３０】
図７は、本発明の実施の形態に係るプログラマブルデバイスによる構成部位を含む設計検証を行う際にソフトエラーを強制的に挿入する手段を示した図である。図１および図２のプログラマブルデバイスとの違いは、本発明によるプログラマブルデバイスの設計検証時に強制的にソフトエラーを発生させ、ソフトエラー検出から復旧までの動作を確認するエラー挿入制御部７２を設けた点にある。エラー挿入制御部７２は、プログラマブルデバイス１の外部よりエラー挿入信号７１を受けた後、エラー挿入制御部７２から制御回路部４乃至６にエラーを挿入する。エラー挿入部位については、エラー挿入信号７１に基づき決定する。なお、エラー挿入部位の指定については、プログラマブルデバイス１の回路を設計する際に予め決めて作り込んでも良い。また、エラー挿入制御部７２より、対象となる制御回路部のコンフィグメモリのデータを反転させても良い。
【００３１】
図８は、本発明の実施の形態に係るプログラマブルデバイスを用いた電子システム装置の環境放射線照射試験時に内部状態を外部に出力する手段を示した図である。本発明によるプログラマブルデバイス１に対し、監視制御部８１と、状態記録部１３から格納されているデータを読み出す手段８５を設け、図３で示した動作シーケンスの動作状態を外部に出力する。監視制御部８１は、多数決回路部７から、ソフトエラー検出信号８４を入力する。また、リコンフィグ制御部２から、リコンフィグ開始とリコンフィグ中、リコンフィグ終了状態を示す信号８２を入力する。これらの入力を受け、監視制御部８１は、環境放射線耐性試験の際に外部に監視信号８３を出力することで、ソフトエラー検出状態とリコンフィグ状態を出力する。
【００３２】
図９は、図８による出力結果を表示した画面例９１を示す。図８に示す監視手段により出力された情報を外部のコンピュータ等を用いて表示（ＧＵＩ）した例を示す。表示する情報は、ソフトエラーを検出した部位を表すエラーブロックと、入力信号記録部９の使用量を表すバッファ使用量と、リコンフィグ状態を示すコンフィグ状態表示と、リコンフィグ回数を表示する。また、状態記録部１３に格納されているデータを読み出す際の格納位置を表すアドレスと、読み出した結果を表すデータ表示部とを有する。この表示画面により、環境放射線を強制的に与える試験時に耐性評価と動作確認を容易に行うことができる。なお、バッファ使用量は内部監視状態を即座に表示する場合と、バッファの最大使用量を表示することがある。なお、本構成は、通常の製品使用状態での誤動作要因解析にも対応できる。
【００３３】
図１０は、本発明の実施の形態に係るプログラマブルデバイスによるリコンフィグ制御部と上位システムとの構成例を示す。プログラマブルデバイス１のリコンフィグ制御は、外部のプロセッサ１０１により制御される。ソフトエラー発生を検出すると、リコンフィグ制御部２は、エラー検出をプロセッサ１０１へ伝える。プロセッサ１０１は、コンフィグデータを格納するコンフィグデータメモリ１０２より正常な回路情報であるコンフィグデータを読み出し、プログラマブルデバイス１をリコンフィグする。リコンフィグ制御部２は、リコンフィグ状態を監視し、完了した後、リコンフィグ終了信号をプロセッサ１０１へ出力する。また、コンフィグデータ１０４をコンフィグデータメモリ１０２ではなく、ネットワーク等で接続された上位システム１０３（コンピュータ等）より入力し、リコンフィグする構成としてもよい。
【００３４】
図１１は、本発明の実施の形態に係る通信機器を構成した例を示す。図１１では、通信装置に搭載される制御基板１１７のパケット制御部１１１を本発明によるプログラマブルデバイスを用いて実現した例である。パケット制御部１１１を持つネットワークスイッチ１１２を介して、サーバ１１３、１１４とパーソナルコンピュータ等のクライアント機器を接続したネットワークにおいて、通信装置の通信パケットの経路変更を行うパケット制御部１１１は、高速に流れるパケットを流し続ける必要があり、停止することは許されない。
なお、冗長化した制御回路部以外についても、環境放射線によるソフトエラーの発生が懸念されるため、コンフィグメモリのエラー検出手段により監視するものとする。
【００３５】
また、本発明は、環境放射線起因のソフトエラーだけでなく、電気的、磁気的外乱ノイズやデバイス内部で発生したノイズによるソフトエラーにも対応できる。
以上述べたように、本実施例によれば、電子システム製品に用いるプログラマブルデバイスの環境放射線によるソフトエラーからの復旧時に、ソフトエラー発生部位のリコンフィグを、システム停止することなく実現でき、通信機器等の社会インフラを支えるシステムの高信頼化できる。
【符号の説明】
【００３６】
１    プログラマブルデバイス
２    リコンフィグ制御部
３    冗長回路部
４    制御回路部
５    制御回路部（制御回路部４の複製）
６    制御回路部（制御回路部４の複製）
７    多数決回路部
８    クロック制御部
１０  入力信号選択部
１１  追跡制御部
１２  記録データ選択部
１３  状態記録部
１４  コンフィグ制御信号
１５  クロック信号
１６  入力信号（制御回路部への入力信号）
１７  出力信号（制御回路部の出力信号）
１８  定常クロック信号
１９  リコンフィグからの復旧時に使用するクロック信号
２０  多数決回路部から追跡制御部へのソフトエラー検出信号
２１  多数決回路部からリコンフィグ制御部へのソフトエラー検出信号
２２  制御回路部から記録データ選択部への内部状態データ信号
２３  多数決回路部から記録データ選択部へのソフトエラー検出信号
【図１】
0005699057.tif 000002
【図２】
0005699057.tif 000003
【図３】
0005699057.tif 000004
【図４】
0005699057.tif 000005
【図５】
0005699057.tif 000006
【図６】
0005699057.tif 000007
【図７】
0005699057.tif 000008
【図８】
0005699057.tif 000009
【図９】
0005699057.tif 000010
【図１０】
0005699057.tif 000011
【図１１】
0005699057.tif 000012