(57)【要約】  プログラマブルデバイスで発生するコンフィギュレーションメモリの環境放射線による障害等の想定が困難な異常状態発生時の状態を電源断時も保持し、この保持したエラー情報により、装置検証時の再現性を高めることを目的とする。  コンフィギュレーションメモリを有するプログラマブルデバイスであって、コンフィグレーションメモリ内のエラーを検出し、該検出したエラーと、該エラーが発生したアドレスと、をエラー情報として出力するエラー検出部と、前記出力されたエラー情報を格納する不揮発性メモリを備えたエラー情報保持部と、を有する。
2015111176.tif 000002
【特許請求の範囲】
【請求項１】
コンフィギュレーションメモリを有するプログラマブルデバイスであって、
コンフィグレーションメモリ内のエラーを検出し、該検出したエラーと、該エラーが発生したアドレスと、をエラー情報として出力するエラー検出部と、
前記出力されたエラー情報を格納する不揮発性メモリを備えたエラー情報保持部と、
を有するプログラマブルデバイス。
【請求項２】
請求項１に記載のプログラマブルデバイスであって、
前記エラー検出部は、前記エラーを検出したことを通知するエラー検出信号を前記エラー情報保持部に出力し、
前記エラー情報保持部は、前記不揮発性メモリ内に前記エラー情報を格納する位置を示すアドレスを生成するアドレス制御部、を備え、前記エラー情報保持部に前記エラー検出信号が入力すると、前記アドレス制御部が前記不揮発性メモリ内に前記エラー情報を格納する位置を示すアドレスを生成し、前記生成されたアドレスに前記エラー情報が格納される、
ことを特徴とするプログラマブルデバイス。
【請求項３】
コンフィギュレーションメモリを有するプログラマブルデバイスであって、
前記プログラマブルデバイスは、
コンフィグレーションメモリ内のエラーを検出し、該検出したエラーと、該エラーが発生したアドレスと、をエラー情報として出力するエラー検出部と、
前記出力されたエラー情報を、前記プログラマブルデバイスの外部に出力する外部出力手段と、
を有するプログラマブルデバイス。
【請求項４】
請求項３に記載のプログラマブルデバイスであって、
前記プログラマブルデバイスは、前記エラー検出部から出力されたエラー情報を格納する不揮発性メモリを備える内部エラー情報保持部を有する、ことを特徴とするプログラマブルデバイス。
【請求項５】
請求項４に記載のプログラマブルデバイスであって、
前記外部出力手段は、前記内部エラー情報部から出力されたエラー情報を、前記プログラマブルデバイスの外部に出力する、ことを特徴とするプログラマブルデバイス。
【請求項６】
請求項１に記載のプログラマブルデバイスであって、
前記エラー情報に基づいて、前記コンフィギュレーションメモリにエラーを挿入するエラー挿入パターン生成部を有する、ことを特徴とするプログラマブルデバイス。
【請求項７】
請求項３に記載のプログラマブルデバイスであって、
前記エラー情報に基づいて、前記コンフィギュレーションメモリにエラーを挿入するエラー挿入パターン生成部を有する、ことを特徴とするプログラマブルデバイス。
【請求項８】
請求項３のプログラマブルデバイスと、
前記外部出力手段から出力されたエラー情報を格納する不揮発性メモリを備える外部エラー情報保持部と、
を備えるエラー情報保持システム。
【請求項９】
請求項４のプログラマブルデバイスと、
前記外部出力手段から出力されたエラー情報を格納する不揮発性メモリを備える外部エラー情報保持部と、
を備えるエラー情報保持システム。
【請求項１０】
請求項１に記載のプログラマブルデバイスと、
外部装置とデータの入出力を行う入出力ＩＦ部と、
を備える電子システム装置。
【請求項１１】
請求項３に記載のプログラマブルデバイスと、
前記外部出力手段から出力されたエラー情報を格納する不揮発性メモリを備える外部エラー情報保持部と、
外部装置とデータの入出力を行う入出力ＩＦ部と、
を備える電子システム装置。
【請求項１２】
請求項６に記載のプログラマブルデバイスと、
外部装置とデータの入出力を行う入出力ＩＦ部と、
を備える電子システム装置。
【請求項１３】
請求項７に記載のプログラマブルデバイスと、
外部装置とデータの入出力を行う入出力ＩＦ部と、
を備える電子システム装置。
【請求項１４】
請求項１０に記載の電子システム装置であって、
前記プログラマブルデバイスは、
前記エラー検出部においてコンフィグレーションメモリのエラーを検出し、
前記検出されたエラーと、該エラーが発生したアドレスとを、前記エラー情報として前記エラー情報保持部の不揮発性メモリに格納し、
前記エラー情報に基づき、前記電子システム装置のリカバリ処理を行う、
ことを特徴とする電子システム装置。
【請求項１５】
請求項１１に記載の電子システム装置であって、
前記プログラマブルデバイスは、
前記エラー検出部においてコンフィグレーションメモリのエラーを検出し、
前記検出されたエラーと、該エラーが発生したアドレスとを、前記エラー情報として前記外部エラー情報保持部の不揮発性メモリに格納し、
前記エラー情報に基づき、前記電子システム装置のリカバリ処理を行う、
ことを特徴とする電子システム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルデバイス、エラー保持システム、及び電子システム装置に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特願２０００−２８５９１１号公報（特許文献１）がある。この公報には、「ＦＰＧＡと、ＦＰＧＡの論理回路構成を記憶すると共に、装置内部又は外部とのインターフェイスで発生するエラーの詳細を示すエラーステータス情報を記憶する不揮発性メモリと、前記不揮発性メモリから前記ＦＰＧＡの論理を構成するためのプログラムを読み出すＣＯＮＦＩＧ制御部と、前記エラーステータス情報を前記不揮発性メモリに書き込むエラー情報アクセス制御部と、前記ＣＯＮＦＩＧ制御部と前記エラー情報アクセス制御部とからの、前記不揮発性メモリに対するアドレス及び制御信号を選択する選択回路と、を設けてなることを特徴とする。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特願２０００−２８５９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体デバイスの微細化に伴い、環境放射線（地上における宇宙線中性子，α線）等に起因するソフトエラーの問題が特にＳＲＡＭや論理ゲート、クロック系などについて顕在化している。極めて高いエネルギーを有する中性子がデバイスを構成する原子核内に突入すると核内の核子（中性子、陽子）が衝突を繰り返し、特に高いエネルギーを持った核子は核外に放出される。核子が核外に飛び出すだけの運動エネルギーを持ち得ない状態になると、励起状態にある残留原子核から陽子、中性子、重陽子、アルファ粒子などの軽粒子が蒸発する過程が続き、最終的に残留核も反挑エネルギーを持つためこれらの２次粒子は全てその飛程に見合った距離デバイスの中を飛ぶことになる。【０００５】
半導体パッケージなどに含まれる放射性同位元素から発生するα線や、核反応の結果発生する電荷を持った２次イオンがＳＲＡＭの“ｈｉｇｈ”状態にあるストレージノードの空乏層を通過すると電子はノードに吸収され正孔は反対方向に流れイオンの飛跡に沿って電荷収集領域が広がるファネリングメカニズムによってストレージノードに電荷が収集される。臨界電荷量以上の電荷が収集されると”ｈｉｇｈ”状態が“ｌｏｗ”状態に推移し、ソフトエラーになる。【０００６】
これが、環境放射線ソフトエラーのメカニズムとして考えられてきた典型的なメカニズムでありＳＥＵ（Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｕｐｓｅｔ）とも称する。メモリデバイスのＳＥＵについて複数のセルが同時にエラーになるケースをＭＣＵ（Ｍｕｌｔｉ  Ｃｅｌｌ  Ｕｐｓｅｔ）と呼んでＳＢＵ（Ｓｉｎｇｌｅ  Ｂｉｔ  Ｕｐｓｅｔ：単一ビットエラー）とは区別する。ＭＣＵは同一ワードに発生した場合ＭＢＵ（Ｍｕｌｔｉｐｌｅ  Ｂｉｔ  Ｕｐｓｅｔ）と呼んで通常のＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）では修復困難な場合がある。【０００７】
ＳＥＵを含むソフトエラーは、ハードエラー（ハードウェアの固定故障）と異なり、エラー発生後も、新たなデータに更新され、再起動などによって正常に復帰してしまうためにエラーの要因特定が困難といった問題もある。このように論理回路に発生するソフトエラーの影響とは、コンピュータのプロセッサやＡＳＩＣ、制御用デジタル回路等の誤作動を引き起こすことを意味し、電子システムとしての誤作動の要因となることが懸念される。近年では，様々な電子システム装置の制御用ロジック回路としてプログラマブルデバイスが多用されており、特にプログラマブルデバイスの中でもＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ Ａｒｒａｙ）の利用は増大している。【０００８】
ＦＰＧＡは、ロジック回路情報をデバイス内部のメモリ（以下コンフィギュレーションメモリと称す）に格納して演算回路や制御回路を構築するが、このメモリに格納されたデータがソフトエラーにより破壊されることで、電子システム装置の誤作動を引き起こす可能性があることが問題視されつつある。通常、電子システムとして誤動作による影響がでないよう考えられているが、消費電力、開発、検証工数、コスト等の増大を招く要因となっている。【０００９】
従来の特許文献１に記載の技術は、論理回路情報であるコンフィギュレーションデータを格納するＦＰＧＡ外部の不揮発性メモリに、当該ＦＰＧＡを搭載している装置内で発生した故障情報、例えば装置内の各ハードウエアユニット間のバスで発生した故障情報等を記録するもので、ＦＰＧＡの論理回路を記憶するＦＰＧＡ内部のコンフィギュレーションメモリの環境放射線障害情報を記憶できない。【００１０】
また、プログラマブルデバイスのコンフィギュレーションメモリに環境放射線エラーが発生した場合、そのエラーを検出後、対象となるプログラマブルデバイスの書き換え、リセットを実施するか、システム再起動、もしくは電源段・再投入が必要である。従来のプログラマブルデバイスは、上記状態になった場合、エラー発生要因、場所、時間等のエラー情報が揮発することになり、再起動後には残っていなかった。【００１１】
しかし、この方法では、鉄道、車両制御、信号制御、電力送電機器制御等の安全性を要求される装置では、エラーに関わる情報を記録、保持し、その結果をもとにした現象の再現が必須である。また、情報通信装置では、主にシステムの２重化により可用性を担保しているため、切替制御部での障害対策が重要であるが、装置の高機能化により制御が複雑化しており、何らかの想定外条件によりシステムダウンするという最悪の事象を想定する必要がある。その最悪の事象が発生した場合も、どのような条件によって共通原因故障が発生したのかをエラー情報として残す必要がある。【００１２】
そこで、本発明の目的は、プログラマブルデバイスで発生するコンフィギュレーションメモリの環境放射線による障害等の想定が困難な異常状態発生時の状態を電源断時も保持し、この保持したエラー情報により、装置検証時の再現性を高めることである。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。【００１４】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンフィギュレーションメモリを有するプログラマブルデバイスであって、コンフィギュレーションメモリを直接リード、ライトする手段と、コンフィギュレーションメモリでのエラーを検出しエラー検出信号を出力するエラー検出信号出力手段と、前記エラー検出信号出力手段から出力されるエラー検出信号を入力し、エラー発生部位を特定するエラー部位特定手段と、不揮発性のメモリと、上記コンフィギュレーションメモリで発生したエラーデータと上記エラーが発生した場所を示すアドレスを上記不揮発性のメモリに格納する手段と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、プログラマブルデバイスで発生するコンフィギュレーションメモリの環境放射線による障害等、想定が困難な異常状態発生時の状態を保持することで、装置検証時の再現性を高めることができ、問題箇所を解析可能となり、確実な対応策を取ることが可能となる。特にコンフィギュレーションメモリのデータ反転によるエラーは、ユーザ論理によるエラー検出では見つけきれないことがあり、異常データの出力により、当該プログラマブルデバイスを搭載する装置の動作に影響を与えるため、その際のコンフィギュレーションメモリのエラー発生部位とエラーとなったコンフィギュレーションデータを残すことで、障害の再現性を確保でき、信頼性、安全性の向上に貢献するプログラマブルデバイス及びこれを用いた電子システム装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態に係るプログラマブルデバイスの構成図である。
【図２】本発明の第２の実施の形態に係るプログラマブルデバイスの構成図である。
【図３】本発明の第３の実施の形態に係るプログラマブルデバイスの構成図である。
【図４】本発明による第１の実施形態に係るプログラマブルデバイスを搭載した電子装置の制御用設定画面およびエラー検出結果を出力する画面の例である。
【図５】本発明の第４の実施の形態に係るプログラマブルデバイスの構成図である。
【図６】本発明の第５の実施の形態に係るプログラマブルデバイスの構成図である。
【図７】本発明の第６の実施例に係る制御装置の構成を示す。
【図８】本発明の第６の実施例に係る制御装置のエラー情報を保持する処理フローを示す。
【図９】本発明の第６の実施例に係る通信装置の２重系による復旧処理を示す。
【発明を実施するための形態】
【００１７】
本発明に係るプログラマブルデバイス及びこれを用いた電子システム装置の実施例を、図面を用いて説明する。
【実施例１】
【００１８】
図１（ａ）〜（ｃ）は、第１の実施例に係るプログラマブルデバイスの構成図である。図１（ａ）はプログラマブルデバイスの構成図、図１（ｂ）はコンフィグレーションＲＡＭ（以降、ＣＲＡＭ）制御部の構成図、図１（ｃ）はエラー情報保持部、を示す。【００１９】
本実施例のプログラマブルデバイス１は、ユーザロジックとして、所望の機能を実現するための論理回路データを有するコンフィギュレーションメモリ２と、コンフィギュレーションメモリ２内データへのアクセスを制御するコンフィギュレーションＲＡＭ制御部３とを有し、ＣＲＡＭ制御部３はコンフィギュレーションメモリ２内のデータをリード、ライトするＣＲＡＭＲ／Ｗ制御部５と、コンフィギュレーションメモリ２内データのエラー有無を判定するエラー検出部６を有する。【００２０】
エラー検出部６のエラー検出方法については、例えばコンフィギュレーションメモリ２内の論理回路データにエラー検出のためのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ）コードを付加し、コンフィギュレーションメモリ２内全体を巡回しながらリードし、エラー判定を行う機能を有す。エラー検出部６は、コンフィギュレーションメモリの環境放射線によるデータ反転を検出後、エラー検出を通知するエラー検出信号と、データが反転したコンフィギュレーションメモリ内アドレスと、反転したデータを、エラー情報４ａとして出力する。上記はエラー情報の一例であり、この他に、反転したデータに関する情報やエラー発生時刻を表す情報をエラー情報としても良い。【００２１】
このエラー検出信号をトリガとして、上記エラー情報を不揮発性の記憶手段であるエラー情報保持部４に格納する。エラー情報保持部４は、不揮発性メモリ素子１０と、この不揮発性メモリ素子１０の格納位置を示すアドレスを生成するアドレス制御部８と、アドレス制御部８からの格納位置アドレスを基に不揮発性メモリ素子１０の格納位置を選択する選択器９を有す。アドレス制御部８は、ＣＲＡＭ制御部３からのエラー検出信号４ｂをトリガに格納位置アドレスを生成し出力する。【００２２】
なお、本実施例のエラー情報保持部４は、複数のエラー情報を格納する構成としているが、１つのエラー情報のみを格納する構成でも良い。その場合、エラー情報を格納する領域は１つでよく、領域の場所を示すアドレス振り分けの必要がないため、エラー情報保持部４の構成は、アドレス制御部８および選択器９を構成要素として設ける必要はない。エラー情報保持部４に格納されたエラー情報は、外部Ｉ／Ｆ制御部７により当該プログラマブルデバイス１の外部へ読み出す。【００２３】
本実施例では、外部からのリード要求４ｄを受けた後、格納されていたエラー情報を出力する（４ｃ）構成である。なお、リード要求４ｄとして、不揮発性メモリ素子１０のアドレスを直接入力する構成でも良い。その場合、アドレス制御部８での格納位置アドレス生成は不要である。【００２４】
以上のことから、本発明によれば、電子システム製品に用いるプログラマブルデバイスのコンフィギュレーションメモリ内のデータ反転情報を不揮発性メモリに保持することができ、電源を切った後でもコンフィギュレーションメモリのエラー情報を読み出すことが可能となり、装置検証時の再現性を高めることができる。よって、問題箇所を解析可能となり、確実な対応策を取ることが可能となる。【００２５】
なお、不揮発性メモリは、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read-Only Memory）やフラッシュメモリを用いる。
【実施例２】
【００２６】
図２は、第２の実施例に係るプログラマブルデバイスである。図１と同じ部分には同じ符号を付してあり、構成、動作が同じであるので、説明を省略する。【００２７】
図２に示す構成において、コンフィギュレーションメモリ２の環境放射線などを起因とするデータ反転をＣＲＡＭ制御部３で検出し、エラー検出信号とエラー情報をメモリＩ／Ｆ部１１に出力する。メモリＩ／Ｆ部１１は、当該プログラマブルデバイス１の外部の不揮発性メモリによる外部エラー情報保持部１３に対し、エラー情報データと格納する位置を示すアドレスを出力する。なお、外部エラー情報保持部１３は、プログラマブルデバイス１の論理回路情報を格納する不揮発性メモリと兼用してもよい。これにより、新たな不揮発性メモリを設ける必要がないため、コスト、消費電力の削減や部品数削減による基板サイズ削減の効果がある。【００２８】
以上のことから、本発明によれば、プログラマブルデバイス内に不揮発性メモリ素子を設けずに、コンフィギュレーションメモリ内のデータ反転情報を保持することができ、コスト低減が可能となる。
【実施例３】
【００２９】
図３（ａ）、(ｂ)は、第３の実施例に係るプログラマブルデバイスである。図３（ａ）はプログラマブルデバイスの構成図、図３（ｂ）はデバイス内部でエラー情報を格納するプログラマブルデバイスの構成図を示す。図１および図２と同じ部分には同じ符号を付してあり、構成、動作が同じであるので、説明を省略する。【００３０】
本実施例では、ＣＲＡＭ制御部３から出力されるエラー検出信号とエラー情報を図３（ａ）に示すプログラマブルデバイス１内に設けられたエラー情報保持部４と、外部の不揮発性メモリによる外部エラー情報保持部１３の両方に格納する。各々の情報保持部への格納手順は、実施例１および実施例２と同じである。この構成により、エラー情報の格納部を冗長化することができ、プログラマブルデバイス１に障害が発生した場合も、エラー情報を外部エラー情報保持部１３より読み出すことができ、信頼性を向上できる。【００３１】
また、図３（ｂ）に示す構成では、ＣＲＡＭ制御部３から出力されるエラー検出信号およびエラー情報を一旦、エラー情報保持部４に格納し、その後、メモリＩ／Ｆ部１１を介し、外部エラー情報保持部１３に格納する構成例を示す。この構成では、大量のエラー情報を一旦、プログラマブルデバイス内のエラー情報保持部４で高速に記録し、その後、遅い転送レートで外部エラー情報保持部１３に転送することができる。一般的に、デバイス内部に比べ、デバイス外部へのデータ転送速度は、電気的な制約により遅くなる場合が多く、デバイス内部にいわゆるプロセッサ等に用いられる一時記憶手段であるキャッシュに高速に記憶し、エラー情報の取りこぼしを防止する。【００３２】
この構成によれば、例えば、データが反転したビットデータのみでなく、そのエラー発生を検出したビット周辺のデータも不揮発性メモリへ格納することで、環境放射線の一粒子によって発生する複数ビットデータ反転現象を保持することが可能となり、詳細な障害要因の解析が可能になる。【００３３】
図４は、実施例１から実施例３によるプログラマブルデバイスを搭載した電子システム装置における動作モニタ結果画面の例を示す。ディスプレイ画面４１に動作モニタウインドウ４２を表示し、その中に装置の動作モニタ結果を表示する。【００３４】
動作モニタの内容は、たとえばプログラマブルデバイスからのエラー検出を表示するウインドウ４３（図中、エラーステータスの横）と、エラーの有った物理アドレスを示すウインドウ４４（図中、エラー発生アドレスの横）で構成する。
【実施例４】
【００３５】
図５は、第４の実施例の概念図である。本実施例では、ＰＣ５１で、プログラマブルデバイス１のユーザが所望する機能を持つ論理回路を設計する方法について説明する。本実施例のＰＣ５１は、ユーザが所望する機能を実現する論理回路の機能シミュレーションを行うシミュレータ５３と、エラー挿入パターン生成部５２と、コンフィギュレーションメモリのアドレスと論理回路との対応データを格納するアドレスマップデータ５７と、で構成する。【００３６】
実施例１から実施例３の構成のいずれかを有すプログラマブルデバイス１からのコンフィギュレーションメモリ内のデータ反転エラーに関する情報であるコンフィグメモリエラー部位データ５４と、アドレスマップデータ５７から、エラーが発生した論理回路情報の書き換えをエラー挿入パターン生成部５２で行う。エラー挿入された論理回路情報と、機能シミュレーションを行うためにテストパターン５６によりシミュレータ５３で機能シミュレーションを実行し、動作不具合を再現し、不具合箇所を示すシミュレーション結果５５を出力する。【００３７】
以上により、環境放射線により発生したプログラマブルデバイスの障害をシミュレータ上で再現することができ、その対応策をコンピュータ上で確認でき、確実な対策を実現できる。
【実施例５】
【００３８】
図６（ａ）、(ｂ)は、第５の実施例に係るプログラマブルデバイスを示す図である。図６（ａ）はプログラマブルデバイスの構成図、図６（ｂ）は、図６（ａ）のプログラマブルデバイス内のＣＲＡＭ制御部の構成図を示す。図１と同じ部分には同じ符号を付してあり、構成、動作が同じであるので、説明を省略する。【００３９】
本実施例では、図６（ｂ）に示すように、図１に示す構成において、ＣＲＡＭ制御部３内にインジェクションデータ生成部６２を設け、このインジェクションデータ生成部５２より、エラーを挿入するアドレスを出力する手段６４を設ける。図６の構成において、プログラマブルデバイス１の外部より、外部Ｉ／Ｆ部を介してエラー挿入指示を受信し、その指示より、エラー情報保持部４に格納されているエラー情報６３であるエラー発生部位アドレスをインジェクションデータ生成部６２に出力する。インジェクションデータ生成部６２は、エラー挿入部位とエラー情報を生成し、その結果をＣＲＡＭＲ／Ｗコントローラ５を介して、コンフィギュレーションメモリ２に書き込みエラーを挿入する。このエラー挿入によりプログラマブルデバイス１のエラー動作を再現することができる。【００４０】
以上により、環境放射線により発生したプログラマブルデバイスの障害を実機上で再現することができ、対応策を実機で確認でき、確実な対策を実現できる。
【実施例６】
【００４１】
図７は、実施例１から実施例３の構成を有するプログラマブルデバイス１を搭載した制御系装置の構成例を示す。【００４２】
制御系装置７１には、実施例１、実施例２または実施例３の構成を有するプログラマブルデバイス１を搭載する。制御系装置７１は、プログラマブルデバイス１、装置で使用する実行メモリ７３と、外部装置との入出力ＩＦ部７７を有する。また、入出力ＩＦ部７７を介して、カメラなどの入力装置７４、モニタなどの出力装置７５、モータなど制御対象機器との制御情報の授受を行う入出力装置７６で構成する。入出力装置の一例であるモータは制御システム装置側からの制御値によって回転数を決定し、回転動作を行う。同時に回転量を監視し、システム側へフィードバックすることで、一定の回転量を保つなどの制御を行っている。【００４３】
ここで、回転量制御にプログラマブルデバイス１を用いた場合、コンフィギュレーションメモリ２内に発生したデータ反転エラーが原因で制御値が急激に変わり、回転数の異常や停止状態など予期せぬ状態になる。従来、異常状態については、プログラマブルデバイス内か、もしくは装置内の動作状態監視機構により、異常状態を監視し、異常状態を検知すると、電源断により装置外部へ異常動作の影響が及ばないように制御する。【００４４】
本実施例に係るプログラマブルデバイス１では、コンフィギュレーションメモリ内のデータ反転情報を不揮発性メモリであるエラー情報保持部４もしくは、外部エラー情報保持部１３に格納することで、電源断後、再度復帰した状態で、コンフィギュレーションメモリのデータ反転が原因であったことを知ることができる。【００４５】
また、環境放射線によるデータ反転は、電源再投入によるコンフィギュレーションメモリ内のデータ再書き込みにより、復旧することになるため、コンフィギュレーションメモリのデータ反転による障害であったことがわかれば、基板、部品交換等の保守作業なく再稼動しても良いことになる。【００４６】
図８に、実施例１、実施例２および実施例３の構成を有するプログラマブルデバイスを搭載した電子システム装置におけるエラー情報を格納する処理のフローを示す。電子システム装置の一例である、図７で示した制御系装置の構成において同様の処理を行う。【００４７】
装置稼動後（８１）、装置に搭載したプログラマブルデバイス１のＣＲＡＭ制御部３において、コンフィギュレーションメモリ２の環境放射線などを起因とするデータ反転を監視する（８２）。データ反転のエラー検出を行い（８３）、エラーが検出されたら（８９ａ）、エラー発生部位と、エラーとなったコンフィギュレーションメモリ内データを収集し（８４）、エラー情報保持部４もしくは外部エラー情報保持部１３にエラー情報を書き込む（８５）。その後、プログラマブルデバイスのリコンフィグや電源再投入まで停止状態とする（８６）。エラー情報の書き込みは、エラー検出（８３）で検出された全てのエラーに関するエラー情報を書き込むまで繰り返される。【００４８】
コンフィギュレーションメモリ２のデータ反転を復旧するため、電源再投入、リコンフィグ処理およびリセット投入などの装置リカバリ処理（８７）を実施する。ここで装置再稼動（８８）を行い、エラー情報収集処理やコンフィギュレーションメモリのデータ反転による一時的なエラーであったかどうかの判断を実施するなど、装置固有の復旧処理を行い、定常的な動作状態にする。【００４９】
図９（ａ）、（ｂ）は、本実施例に係る電子システム装置と、エラー発生時の装置の２重系による復旧処理の制御方法例を示す。本実施例では、電子システム装置として通信装置９１を例に挙げて説明する。【００５０】
通信装置９１は、１系と呼ばれる実行系９２の通信装置と、２系と呼ばれる待機系９３の通信装置と、を有する。【００５１】
また、図９（ａ）ではプログラマブルデバイス９４、９５としてＦＰＧＡを用いた例を示している。通信装置９１は、通信用パケットデータを入力し、そのパケットデータに付加される送り先データに従って出力先を選択する通信制御ユニットと、この通信制御ユニットが正常に動作しているかを診断する診断ユニットと、通信制御ユニットおよび診断ユニットの動作開始、リセット、搭載しているプロセッサやプログラマブルデバイスの初期化等、ユニット動作の制御を行う制御ユニットで構成される。プログラマブルデバイスは、上述した全てのユニットに搭載される。【００５２】
例えば、通信装置９１において、１系（実行系）９２が何らかの事象により停止した場合、図９（ｂ）に示すように、装置を利用しているユーザに影響のない時間で、系を１系（実行系）９２から２系（待機系）９３に切り替える。２系でサービスを継続している間、１系については、電源再投入、リコンフィグ、リセット処理による復旧処理を行い、本実施例のプログラマブルデバイス１のエラー情報保持部４のデータを確認後、コンフィギュレーションメモリ２のエラー情報を読み出し、リコンフィグ後のデータが正常であることを比較確認して、問題ないことがわかった時点で、待機状態に復帰することが可能である。【００５３】
以上述べたように、本発明によれば、プログラマブルデバイスで発生するコンフィギュレーションメモリの環境放射線による障害等、想定が困難な異常状態発生時の状態を保持することで、装置検証時の再現性を高めることができ、問題箇所を解析可能となり、確実な対応策を取ることが可能となる。これにより、信頼性、安全性の向上に貢献するプログラマブルデバイス及びこれを用いた電子システム装置を提供することができる。【００５４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。【００５５】
変形例として、以下の構成が考えられる。【００５６】
変形例１として、コンフィギュレーションメモリを有するプログラマブルデバイスであって、コンフィギュレーションメモリを直接リード、ライトする手段と、コンフィギュレーションメモリでのエラーを検出しエラー検出信号を出力するエラー検出信号出力手段と、前記エラー検出信号出力手段から出力されるエラー検出信号を入力し、エラー発生部位を特定するエラー部位特定手段と、不揮発性のメモリと、上記コンフィギュレーションメモリで発生したエラーデータと上記エラーが発生した場所を示すアドレスを上記不揮発性のメモリに格納する手段と、を有することを特徴とするプログラマデバイスがある。【００５７】
変形例２として、コンフィギュレーションメモリを有するプログラマブルデバイスであって、コンフィギュレーションメモリを直接リード、ライトする手段と、コンフィギュレーションメモリでのエラーを検出しエラー検出信号を出力するエラー検出信号出力手段と、前記エラー検出信号出力手段から出力されるエラー検出信号を入力し、エラー発生部位を特定するエラー部位特定手段と、上記コンフィギュレーションメモリで発生したエラーデータと上記エラーが発生した場所を示すアドレスを当該プログラマブルデバイスから出力して不揮発性メモリに格納する手段と、を有することを特徴とするプログラマデバイスがある。【００５８】
変形例３として、コンフィギュレーションメモリを有するプログラマブルデバイスであって、コンフィギュレーションメモリを直接リード、ライトする手段と、コンフィギュレーションメモリでのエラーを検出しエラー検出信号を出力するエラー検出信号出力手段と、前記エラー検出信号出力手段から出力されるエラー検出信号を入力し、エラー発生部位を特定するエラー部位特定手段と、不揮発性のメモリと、上記コンフィギュレーションメモリで発生したエラーデータと上記エラーが発生した場所を示すアドレスを上記不揮発性のメモリに格納する手段と、上記エラーが発生した場所を示すアドレスを当該プログラマブルデバイスから出力して不揮発性メモリに格納する手段と、を有することを特徴とするプログラマデバイスがある。【００５９】
変形例４として、変形例１乃至３のいずれか１つに記載のプログラマブルデバイスであって、コンフィギュレーションメモリの格納部位とプログラマブルデバイスに書き込む論理情報とを関連付けるデータ格納手段と、前記データ格納手段内のデータとコンフィギュレーションメモリで検出したエラー情報をもとに論理情報の一部を書き換える手段と、書き換えた論理情報と論理情報の機能確認を行うための入力データ格納手段と、前記論理情報と入力データをもとに機能動作をシミュレーションする手段と、を有することを特徴とするプログラマブルデバイス検証方法がある。【００６０】
変形例５として、変形例１乃至３のいずれか１つに記載のプログラマブルデバイスであって、前記不揮発性メモリに格納されたエラー情報を読み出しコンフィギュレーションメモリのデータを書き換える手段を有することを特徴とするプログラマブルデバイス検証方法およびプログラマブルデバイスを搭載した電子システム装置の検証方法がある。【００６１】
変形例６として、コンフィギュレーションメモリを有するプログラマブルデバイスを搭載した電子システム装置であって、コンフィギュレーションメモリを直接リード、ライトする手段と、コンフィギュレーションメモリでのエラーを検出しエラー検出信号を出力するエラー検出信号出力手段と、前記エラー検出信号出力手段から出力されるエラー検出信号を入力し、エラー発生部位を特定するエラー部位特定手段と、不揮発性のメモリと、上記コンフィギュレーションメモリで発生したエラーデータと上記エラーが発生した場所を示すアドレスを上記不揮発性のメモリに格納する手段と、を有することを特徴とした電子システム装置がある。【００６２】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid  State  Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。 
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００６３】
１    プログラマブルデバイス
２    コンフィギュレーションメモリ
３    ＣＲＡＭ制御部
４    エラー情報保持部
４ａ、４ｂ、４ｃ、４ｄ  エラー情報、エラー検出信号、リードエラー情報、リード要求
５    ＣＲＡＭＲ／Ｗコントローラ
６    エラー検出部、    ７    外部Ｉ／Ｆ部
８    アドレス制御部
９    選択器
１０  不揮発性メモリ素子
１１  メモリＩ／Ｆ部
１３  外部エラー情報保持部
１４  プログラマブルデバイス内構成図、１４ａ  エラー情報
４１  ディスプレイ画面
４２  動作モニタウインドウ
４３  エラー検出状態を表示するウインドウ
４４  エラー部位アドレスを示すウインドウ
５１  シミュレーションを実行するコンピュータ
５２  エラー挿入パターン生成部
５３  シミュレータ
５４  コンフィグメモリエラー部位データ
５５  シミュレーション結果
５６  テストパターン
６２  インジェクションデータ生成部
６３  エラー情報（エラー情報保持部に格納されていたエラー情報）
６４  エラー挿入アドレスおよび挿入するエラーデータ
７１  制御系装置
７３  メモリ
７４  入力装置、      ７５  出力装置
７６  入出力装置
７７  入出力ＩＦ
９１  通信装置
９２  通信装置１系（通常時稼動系統）
９３  通信装置２系（待機系）
９４  通信装置１系に搭載したプログラマブルデバイスの例
９５  通信装置２系に搭載したプログラマブルデバイスの例
【図１】
2015111176.tif 000003
【図２】
2015111176.tif 000004
【図３】
2015111176.tif 000005
【図４】
2015111176.tif 000006
【図５】
2015111176.tif 000007
【図６】
2015111176.tif 000008
【図７】
2015111176.tif 000009
【図８】
2015111176.tif 000010
【図９】
2015111176.tif 000011
【国際調査報告】
2015111176.tif 000012
2015111176.tif 000013