JP2015201814A - プログラマブルゲートアレイ及び電子装置 - Google Patents

プログラマブルゲートアレイ及び電子装置 Download PDF

Info

Publication number
JP2015201814A
JP2015201814A JP2014080985A JP2014080985A JP2015201814A JP 2015201814 A JP2015201814 A JP 2015201814A JP 2014080985 A JP2014080985 A JP 2014080985A JP 2014080985 A JP2014080985 A JP 2014080985A JP 2015201814 A JP2015201814 A JP 2015201814A
Authority
JP
Japan
Prior art keywords
error
circuit
configuration memory
logic circuit
soft error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014080985A
Other languages
English (en)
Inventor
幸久 田村
Yukihisa Tamura
幸久 田村
学 牧野
Manabu Makino
学 牧野
知遥 安井
Chiharu Yasui
知遥 安井
健一 新保
Kenichi Shinpo
健一 新保
雅俊 芝崎
Masatoshi Shibazaki
雅俊 芝崎
慶将 草野
Yoshimasa Kusano
慶将 草野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014080985A priority Critical patent/JP2015201814A/ja
Publication of JP2015201814A publication Critical patent/JP2015201814A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】FPGAの論理回路で構成されるシステムを迅速に復旧する。
【解決手段】プログラミング可能な論理回路を有するプログラマブルゲートアレイであって、前記論理回路が設定されるコンフィグレーションメモリと、前記コンフィグレーションメモリ内のソフトエラーを正常化する対策回路とを備え、前記プログラマブルゲートアレイで構成される現用系の回路及び予備系の回路によって冗長構成を組み、前記対策回路は、前記現用系の回路を構成する前記コンフィグレーションメモリに発生するソフトエラーの検出を契機として、前記現用系の回路と前記予備系の回路とを切り替え、前記検出されたソフトエラーによって発生する二次障害から復旧するためのエラーの訂正を実行し、前記エラーの訂正の後に前記論理回路に保持される値を回復する。
【選択図】図8

Description

本発明は、プログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)に生じるソフトエラーの回復技術に関する。
半導体デバイスに対して、中性子、α線等を起因とするソフトエラーが発生することは知られている。近年、半導体デバイスのプロセスの微細化に伴い、ソフトエラーの影響が顕在化している。このようなソフトエラーの可能性がある部品をシステムに適用する場合、ソフトエラーによるシステムの一時的な停止や再起動が許容できる範囲内であればよい。しかし、社会インフラを支えるシステムにおいては、障害が短時間であっても重大な影響を及ぼすことがあるため、より厳重な対策が必要である。
ソフトエラーによる半導体デバイスの障害は、例えばSRAMやDRAMなどのメモリセルの場合、メモリセルのデータを保持するノードに中性子が入射して電荷が注入されることによって、保持されたデータが反転し、以降、反転されたデータを保持し続けることによって生じる。
メモリデバイスのソフトエラー対策技術として最も一般的な方法は、データと共にECC(Error Correction Code)をメモリ内に格納し、データを読み出す際にECCを用いてエラーを訂正する方法である。
FPGAの多くは、内部のコンフィグレーションメモリをSRAMのメモリセルによって構成しており、メモリデバイスと同様のソフトエラー障害が発生する。コンフィグレーションメモリのエラーを訂正するために、ECCによるエラー訂正機能を搭載したFPGAが提案されている。
FPGAにおいてソフトエラーが発生する部分は二つある。
一つはSRAMのメモリセル構成のメモリアレイをFPGA内のメモリであり、他の一つは論理回路を形成するLUT(Look Up Table)や、プログラム可能な配線であるIC(Interconnect)等の情報を格納したコンフィグレーションメモリである。なお、FPGA内には、前述した回路の他、フリップフロップ、IOバッファ、クロックバッファ等の機能素子が搭載されるが、一般にこれらはSRAMのメモリセルで構成されないため、前述したLUTやIC等に比べてソフトエラーに対する耐力が高い。
FPGAの内蔵メモリ部のソフトエラーの対策には、前述した一般的なメモリデバイスと同様のECCを用いたエラー検出及びエラー訂正が用いられる。
また、コンフィグレーションメモリ部のソフトエラーの対策に関する先行技術として特許文献1(特開2012−27927号公報)がある。特許文献1には、プログラマブルロジックのリソース上にエラー検出回路を設け、プログラマブルロジックリソース構成データを巡回冗長検査(CRC:Cyclic Redundancy Check)モジュール内にロードし、そこでチェックサムを計算するエラー検出システムが開示されている。
FPGAは、設計者が自由に様々な論理回路を構成できるように、予め多くの基本論理モジュールや配線を搭載している。よって、FPGAの全てのリソースが使われることはなく、多くのリソースは使用されない状態のまま残ること多い。プログラマブルデバイスの構成メモリのエラー検出の先行技術として特許文献2(特開2007−293856号公報)がある。特許文献2には、プログラマブルデバイスの構成メモリから構成メモリデータを読み取ることと、該構成メモリデータにおいてエラーが発生したか否かを判断することと、エラーが発生したという判断に応答して、エラーである該構成データに対応する感度データを読み取ることと、該エラーを無視することができるか否かを判断するために該感度データを解析することと、該エラーを無視することができない場合、修復アクティビティを開始することと、該エラーを無視することができる場合、該修復アクティビティを開始しないことによって該エラーを無視することを包含する方法が開示されている。
特開2012−27927号公報 特開2007−293856号公報
前述したように、従来のFPGAのソフトエラー対策には、メモリデバイス同様にECCを用いた訂正方法が用いられてきた。しかし、FPGAに内蔵されるコンフィグレーションメモリでは、単にソフトエラーを訂正するだけでは、機能を正常化できない場合がある。
すなわち、メモリデバイスでは、接続されるメモリ制御回路がデータを読み出した時にエラーを検出及び訂正し、後段の論理回路にデータを出力する。ECCによる訂正機能は、訂正されるデータの範囲のうち1bitまでのエラーを訂正することができ、1bitまでのエラーは後段の論理回路に伝搬しない。
一方、コンフィグレーションメモリに格納される情報は、FPGA内に論理回路を形成するための情報を含む。例えば、組合せ論理部は、ANDやOR等の論理素子の代わりに、論理素子の組合せによる真理値をLUTによって実現しており、LUTやフリップフロップ(FF)間を接続するための配線及び分岐点をICが決定している。よって、FPGA内に構成される論理回路は、膨大なコンフィグレーションメモリデータを参照して形成されており、たとえ一時的にでもLUTの構成データやICの設定データが失われれば、論理回路の構成自体を破壊する可能性がある。
また、メモリデバイスと同様な訂正回路をコンフィグレーションメモリに付加し、コンフィグレーションメモリに設定される全てのデータに訂正符号ビットを付加することは、回路規模やメモリ規模の観点から現実的ではない。従って、一般的にコンフィグレーションメモリの訂正機能は、メモリ内を所定の大きさの領域に分割し、各領域にエラー訂正ビットを設けることで、小さな領域毎に訂正を行っている。
以上から、コンフィグレーションメモリにECC訂正を適用する場合でも、メモリデバイスのように全ての読み出しデータをリアルタイムで訂正することは困難であり、一般的には、エラーの発生から、検出、訂正までの間、後段の論理回路において一時的なエラーが発生する。
FPGA内に構成される論理回路がクロック同期回路である場合、エラーが発生している期間内にソフトエラーが発生しても、クロック周期内にソフトエラーの訂正が完了すれば、発生したエラーは後段の論理回路に伝搬しない。しかし、ソフトエラーの発生から訂正までの期間がクロック周期を超える場合、ソフトエラーによって誤ったデータを後段の論理回路が取り込んで、保持する可能性がある。この場合、ソフトエラーが発生した箇所が訂正によって復旧しても、後段の論理回路が取りこんだ値は誤ったままとなる。このため、ソフトエラーの訂正は完了しても、ソフトエラーが正常に復旧できない場合がある。このように、ソフトエラーの発生箇所でエラーを訂正しても、エラー発生から訂正までの間に、後段の論理回路にエラーを伝搬させてしまう現象を、本明細書では、ソフトエラーによる二次障害と称する。
以上に説明したように、コンフィグレーションメモリにおけるソフトエラーの対策は、ECCを用いた訂正だけでは不十分であり、ソフトエラーによる二次障害は避けられない。
このような二次障害の対策をしても、システムの復旧までには時間を要し、システムを短時間で復旧することは困難である。二次障害を復旧には数秒を要する場合があり、停止許容時間が定められているシステムおいては、数秒のシステム障害を許容できない場合がある。このため、ソフトエラーによる障害から、システムを迅速に復旧することが求められている。
さらに、外部メモリ及び論理回路でソフトエラーの検出・訂正をする場合、これらの検出・訂正をする機能部が故障し又はソフトエラーが発生すると、エラーを誤検出し、エラーを誤って訂正することがある。エラーを誤って訂正した場合、論理回路は正しく訂正したと判断しているが、実際には訂正ができていない状態となり、エラーの検出・訂正を繰り返してしまう。コンフィグレーションメモリが故障した場合も同様に、エラーの検出・訂正を繰り返してしまう。このため、ソフトエラーを検出・訂正する機能部が故障した場合に、故障箇所を判定することが求められている。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プログラミング可能な論理回路を有するプログラマブルゲートアレイであって、前記論理回路が設定されるコンフィグレーションメモリと、前記コンフィグレーションメモリ内のソフトエラーを正常化する対策回路とを備え、前記プログラマブルゲートアレイで構成される現用系の回路及び予備系の回路によって冗長構成を組み、前記対策回路は、前記現用系の回路を構成する前記コンフィグレーションメモリに発生するソフトエラーの検出を契機として、前記現用系の回路と前記予備系の回路とを切り替え、前記検出されたソフトエラーによって発生する二次障害から復旧するためのエラーの訂正を実行し、前記エラーの訂正の後に前記論理回路に保持される値を回復する。
本発明の代表的な実施の形態によれば、FPGAの論理回路で構成されるシステムを迅速に復旧することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
第1実施例のソフトエラー対策回路を示す構成図である。 第1実施例の再設定制御部と論理回路部との接続を示す構成図である。 第2実施例のソフトエラー対策回路を示す構成図である。 第2実施例の配線接続交点におけるパストンランジスタの構成を示す図である。 第2実施例の動作を示すタイミングチャートである。 第3実施例のソフトエラー対策回路を示す構成図である。 第4実施例のソフトエラー対策回路を示す構成図である。 第6実施例のソフトエラーの発生を契機に運用系を非運用系に切り替えるシステムの構成図である。 第7実施例のソフトエラー対策回路を示す構成図である。 第7実施例においてコンフィグレーションメモリのソフトエラーを判定するシーケンス図である。 第7実施例において構成データメモリの故障を判定するシーケンス図である。 第7実施例においてコンフィグレーションメモリの故障を判定するシーケンス図である。 第7実施例においてソフトエラー対策回路のソフトエラーを判定するシーケンス図である。 第7実施例においてコンフィグレーションメモリの故障を判定するシーケンス図である。 第8実施例におけるソフトエラー対策回路の処理を説明するフローチャートである。 第8実施例におけるソフトエラー対策回路の処理を説明するフローチャートである。
本発明に係るソフトエラー対策回路の実施例を、構成図及びフローチャートを用いて説明する。
<実施例1>
図1は、第1実施例のソフトエラー対策回路6を示す構成図である。
一般に、SRAMのメモリセル構成を採用したFPGA1は、コンフィグレーションメモリ2と、それを制御するコンフィグレーションメモリ制御部3とを有し、外部の構成データメモリ4に接続される。構成データメモリ4は、コンフィグレーションメモリ2をプログラミングして、様々な論理回路を形成するための回路情報を格納し、フラッシュメモリなどの不揮発性メモリで構成される。
構成データメモリ4に格納された回路情報によって、コンフィグレーションメモリ2内に論理回路部5が構成される。なお、この論理回路部は、その論理回路に関連する配線、クロックライン、エンベデッドに構成されるハードウェア・マクロ等、コンフィグレーションメモリ2のプログラミングによって制御される機能を全て含む。
第1実施例のソフトエラー対策回路6は、FPGA1内に構成され、コンフィグレーションメモリ制御部3と、コンフィグレーションメモリ2内に構成される再設定制御部7とを有し、外部の再設定データメモリ8に接続される。再設定データメモリ8は、論理回路部5のフリップフロップ12を特定するためのアドレス及び当該フリップフロップ12を再設定するための再設定データ16を格納する。再設定制御部7は、再設定データメモリ8に対して、読出しアドレス及び制御信号15を出力し、論理回路部5のフリップフロップ12を特定するためのアドレス及び再設定データ16を読み出す。
コンフィグレーションメモリ制御部3は、構成データメモリ4よりデータを読み出し、読み出したデータをコンフィグレーションメモリ2の制御線(アドレス線9A、データ線9B)を通して書き込む。さらに、コンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2内に発生するビットエラーを検出した際にフラグ14を出力する検出機能と、ビットエラーが訂正可能又は不可能な場合に、それぞれのフラグ14を出力する訂正機能とを有する。なお、コンフィグレーションメモリ2のビットエラーは、コンフィグレーションメモリ2のECC機能によって自動的に訂正される。さらに、コンフィグレーションメモリ制御部3は、構成データメモリ4に格納されているデータに基づいてビットエラーの発生箇所がコンフィグレーションメモリ2内で論理回路部5として使用されている領域に該当しているか又は該当していないかを判定し、該当している際にフラグ14を出力する該当判定機能を有する。
第1実施例では、コンフィグレーションメモリ制御部3から出力される訂正フラグをトリガに、再設定制御部7が論理回路部5に対して再設定を行う。
以下に、再設定制御部7の基本動作を説明する。
図2は、再設定制御部7と論理回路部5との接続を示す構成図である。
図2に示す論理回路部5は、複数の基本回路モジュール10から構成される。各基本回路モジュール10は、データ保持機能を有さない組合せ論理部11と、データ保持機能であるフリップフロップ12と、フリップフロップ12にデータを設定する設定部13とで構成される。基本回路モジュール10や、その周囲の配線接続は、構成データメモリ4に格納された情報に基づいてプログラミングされ、様々な論理回路を形成する。
再設定制御部7は、エラー訂正フラグ14を受信すると、受信したエラー訂正フラグ14から、ビットエラーが訂正可能又は不可能である箇所のアドレスを抽出し、抽出したコンフィグレーションメモリ2のアドレスから再設定データメモリ8のアドレスを特定する。そして、再設定制御部7は、再設定データメモリ8に対して、読出しアドレス及び制御信号15を出力し、論理回路部5のフリップフロップ12を特定するためのアドレス及び再設定データ16を読み出す。さらに、再設定制御部7は、設定部13に対して、フリップフロップ12を特定するためのアドレスと制御信号17を出力し、フリップフロップ12に再設定データ18を書き込む。
第1実施例は、図1及び図2に示すように、本発明による最も基本的なソフトエラー対策回路6であり、ソフトエラーによる二次障害を対策するため、アドレスと制御信号17とによって指示した特定のフリップフロップ12にデータを再設定する。一般的に、通信装置で用いられる論理回路は、主信号データを扱うデータパス系論理部と、データパス系論理部を制御する制御部と、CPU等からの設定情報を保持する設定系レジスタ部とに大別できる。第1実施例のソフトエラー対策回路6は、特に、制御部及び設定系レジスタ部に有効である。この理由は以下の通りである。データパス系論理部は、データの一部に誤りが発生しても、データが流れるため、時間の経過に伴って正常化され、また時間軸上で一時的な僅かな時間において生じたビットエラーであれば、システム上も許容できる場合がある。しかし、制御部及び設定系レジスタ部は、エラーが生じると、二次障害によってシステム全体に対して誤動作が拡大する恐れがあり、積極的な訂正が必要となる。
なお、第1実施例では、論理回路部5中のフリップフロップ12に対する再設定を制御する回路について説明したが、本実施例によるソフトエラー対策回路6を用いることによって、FPGA1に搭載される内蔵メモリや、その他エンベデッドに構成されるハードウェア・マクロなどにも同様の再設定をすることができる。
第1実施例では、図1に示すように、再設定制御部7はコンフィグレーションメモリ2内に構成されている。再設定制御部7をコンフィグレーションメモリ2で構成することによって、システムが求める再設定方法に応じて柔軟に回路を構成できる。
コンフィグレーションメモリ制御部3は、再設定制御部7に対するソフトエラーも検出することができる。再設定制御部7のエラーを検出した場合は、制御機能自体を保証できないため、再設定制御部7のエラーを検出した時点で、FPGA1自体を再コンフィグレーションしてもよい。なお、再設定制御部7のソフトエラー発生率を低減するためには、極力、回路規模を小さく抑えることや、再設定制御部7を3重化し多数決により制御方法を決定する構成等がある。なお、再設定制御部7は、コンフィグレーションメモリ2の外に構成してもよい。この場合、再設定制御部7を、よりソフトエラー耐力のあるFPGAやプロセッサ等に搭載してもよい。再設定制御部7に生じるソフトエラーの発生率を把握した上で、システムが求める信頼性に合わせて構成を決定してもよい。
以上に説明したように、従来の検出・訂正回路では、FPGA1内に構成された論理回路の一部に誤ったデータが保持され続ける不具合が生じることがあった。しかし、第1実施例によれば、前述した不具合を排除し、コンフィグレーションメモリ2にソフトエラーが発生した場合に、再設定制御部7がフリップフロップ12に再設定データを書き込むので、論理回路の機能を正常化することができる。
<実施例2>
第2実施例では、論理回路部のフリップフロップの再設定をより簡易にできる回路の例を説明する。
図3は、第2実施例のソフトエラー対策回路6を示す構成図であり、図4は、第2実施例の配線接続交点におけるパストランジスタの構成を示す図であり、図5は、第2実施例の動作を示すタイミングチャートである。
図3に示すソフトエラー対策回路は、再設定制御部7と、四つの論理回路部群19〜22で構成される。図3では、一例として、ある条件保持信号23を主機能部である論理回路部22へ与える機能を考える。論理回路部群19〜22は、条件信号24を生成するための論理回路部19と、タイミング信号25を生成する論理回路部20と、タイミング信号25によって条件信号24の値を保持し、条件保持信号23を出力する論理回路部21と、条件保持信号23を受信する論理回路部22とで構成される。再設定制御部7は、現在の動作を一度初期化するために、エラー訂正フラグ14をトリガとして、リセット信号29を生成し、論理回路部群19〜22へ分配する。
なお、条件信号は4bitのバス信号であるが、全てのbitが同じ構成であるため、bit0の接続のみを図3に示す。全ての回路はクロック26で動作するクロック同期回路であり、クロック26は数MHz以上である。
ここで、図3の配線接続交点27にソフトエラーが発生した場合、配線接続交点27は、図4に示すパストランジスタ28で構成され、構成データメモリ4に格納された回路情報に基づいてコンフィグレーションメモリ2にプログラミングされた値によって配線経路が決まる。例えば、ソフトエラー発生前のパストランジスタ28はOnの状態であるが、コンフィグレーションメモリ2にソフトエラーが発生し、その設定情報のビットが反転されると、パストランジスタ28はOffに変化し、経路が断たれる。但し、FPGA1には、図1で示したように、コンフィグレーションメモリ制御部3が設けられており、コンフィグレーションメモリ制御部3がコンフィグレーションメモリ2内のエラーを検出し、検出したエラーを訂正する。このため、エラーの発生から、しばらく時間を経過した後に訂正が完了し、経路が回復する。一般に、このエラー検出・訂正は、コンフィグレーションメモリ2内を巡回して行われるため、訂正完了までに、数ミリ秒〜数十ミリ秒程度の時間を要する。図3に示すように、数MHzのクロックで動作する論理回路部群19〜22では、エラーが訂正されるまでに多くのクロックがトグルされる(Onの状態とOffの状態が切り替わる)ために、二次障害が生じる可能性がある。
図5のタイミングチャートを用いて詳細の動作を説明する。
条件信号24はタイミングT0で出力値を確定し、その値を取り込むためのタイミング信号25はタイミングT3で確定する。ソフトエラーが発生し、タイミングT1で条件信号24のbit0が”1”→”0”に反転した場合、エラーが検出されるのはタイミングT2であり、T2から所定時間経過後のタイミングT4に訂正が完了する。このように、エラーの発生から訂正の完了までに、クロックサイクルに対して、かなり長い時間を必要とするため、タイミングT3の時点では論理回路部21で確定する条件保持信号23は、本来取るべき値である”1011”とは異なる”1010”の誤った値を保持する。このため、以降、条件信号24が変化しなくても、次のタイミング信号25が”H”になるまでは、論理回路部22は誤った値で動作することとなる。そこで、図3に示す再設定制御部7では、現在の誤った動作を一度初期化するために、エラーが訂正されるタイミングT4以降に、確定するエラー訂正フラグ14をトリガとして、リセット信号29を生成し、論理回路部群19〜22へ分配する。リセット信号29で論理回路部群19〜22が初期化されることによって、FPGA1全体が初期状態に戻る。
第1実施例では、アドレスによって、論理回路部5中の特定のフリップフロップ12に対してデータを再設定したが、フリップフロップ12に個々に指示を与えるためには、図1に示すように、対象とするアドレス及び再設定データ16を再設定データメモリ8に格納する必要がある。また、アドレスをデコードするための設定部13が論理回路部5に必要である。また、再設定を完了するまでにも時間がかかる。
これに対し、第2実施例では、論理回路部21のフリップフロップを初期状態に戻すのみだけでよいため、論理回路部21の付帯回路が不要であり、短時間で再設定を完了できることが特徴である。
初期化の対象範囲は、図3で説明した配線接続交点27のように、ソフトエラーはコンフィグレーションメモリ2中のどこでも発生する可能性があるため、二次障害の波及範囲を特定することは難しい。このため、システムの仕様に応じて、一部の論理回路部のみを初期化してもよく、FPGA全体の論理回路部をリセットしてもよい。例えば、複数のリセット線を設け、各論理回路部が一つのリセット線に接続されている場合、一部のリセット線のみにリセット信号を送信し、一部の論理回路部のみを初期化してもよい。
以上に説明したように、第2実施例によれば、アドレス制御が不要となるので、小さな回路規模でデータを再設定することができる。また、リセットを送ればよいので、簡単案制御によってデータを再設定することができる。特に、全体のデータを再設定する場合には、1本のリセット線だけでよく、回路を簡素化することができる。
<実施例3>
第3実施例では、再設定の頻度を軽減するため、エラーが発生した箇所が、コンフィグレーションメモリ2の中で論理回路部として使用されている領域であると判定され、かつエラー訂正が完了したときのみ、論理回路部5のフリップフロップ(データ保持機能)12の値を再設定する回路の例を説明する。
図6は、第3実施例のソフトエラー対策回路6を示す構成図である。
第3実施例(図6)では、第1実施例(図1)と異なり、コンフィグレーションメモリ2内を論理回路部群34で使用されている使用領域30と未使用領域31とで異なる扱いをする。
第3実施例では、コンフィグレーションメモリ2内の領域が使用されているかの情報を、例えばビットマップ形式で、構成データメモリ4に格納する。このビットマップは、構成データメモリ4から回路情報を読み出してコンフィグレーションメモリ2に設定する際に、同時に設定するとよい。そして、このビットマップを参照することによって、論理回路に使用されている使用領域30と論理回路に使用されていない未使用領域31とを特定することができる。
コンフィグレーションメモリ制御部3は、構成データメモリ4に格納されたビットマップを参照して、ソフトエラーが使用領域30に該当するかを判定する。そして、コンフィグレーションメモリ制御部3は、ソフトエラー発生箇所が使用領域30に該当した場合のみに該当フラグ14をアサートする該当判定機能を有する。該当判定機能は、第1実施例(図1)で説明したものと同じである。従って、該当フラグ14を検出し、且つエラー訂正が完了した場合のみに、FPGA1内の論理回路部群34中に二次障害が発生した可能性があると判定し、第1実施例で示した再設定方法や、第2実施例で示した初期化方法を行う。
一般に、FPGA1は、プログラミングの自由度を広げるために、プログラミングされる論理回路部の規模の数倍〜数10倍のリソースを有し、膨大なコンフィグレーションメモリ2の領域が確保される。しかし、実際に使用される使用領域の割合は未使用領域に対して小さいことが多い。このため、第3実施例のように該当フラグ14を利用することによって、再設定を行う範囲を少なくし、システムの停止時間を短縮することができる。
<実施例4>
第4実施例では、再設定の頻度をさらに低減するため、再設定が必要な論理回路部を特定し、特定された論理回路部(領域)のみを再設定する回路の例を説明する。
図7は、第4実施例のソフトエラー対策回路6を示す構成図である。
第4実施例(図7)では、第3実施例(図6)と異なり、再設定が必要な特定の論理回路部35に分割する。
第4実施例のコンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2の領域単位でエラーを検出する。このため、コンフィグレーションメモリ2内に設けられた領域と、コンフィグレーションメモリ2のアドレスとの対応関係を保持する。この対応関係は、FPGA1の工場出荷時又は初期設定する際に設定するとよい。そして、この対応関係を参照することによって、エラーが検出された領域を特定することができる。
また、第4実施例では、再設定データメモリ8がコンフィグレーションメモリ2の領域に区分されており、各領域毎に、論理回路部5のフリップフロップ12を特定するためのアドレス及び当該フリップフロップ12を再設定するための再設定データ16を格納する。
また、再設定制御部7は、アドレステーブル33を格納する。アドレステーブル33は、コンフィグレーションメモリ2内に設けられた領域と、コンフィグレーションメモリ2のアドレスとの対応関係を保持する。アドレステーブル33を参照することによって、コンフィグレーションメモリ2のアドレスに該当する領域を特定することができる。
第4実施例では、図7に示すように、再設定が必要な特定の論理回路部35を領域に分けて検出することによって、データパス系論理部は再設定せず、制御部及び設定レジスタ部のみを再設定するなど、さらに細かな再設定対象を特定することができ、再設定時間を短縮することができる。
なお、第3実施例と第4実施例とを併用して、使用領域の中でのみ再設定か必要な特定の論理回路部35を検出してもよい。
また、第4実施例では、再設定が必要な特定の論理回路部35の該当判定を、コンフィグレーションメモリ制御部3の機能によらず、再設定制御部7より制御してもよい。
例えば、コンフィグレーションメモリ制御部3は、該当フラグ14を出力するとともに、エラーが発生したアドレス32を出力する。再設定制御部7は、アドレステーブル33を参照して、コンフィグレーションメモリ制御部3から出力されたエラーアドレス32が該当する領域を判定し、該当する領域のアドレス・再設定データ16を再設定データメモリ8から読み出し、FPGA1内部の再設定が必要な特定の論理回路部35に対してのみ再設定をすることができる。
コンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2全体に対して該当領域を判定するため、膨大な回路情報を構成データメモリ4に保持する必要がある。しかし、第4実施例のように、設計時に予め再設定が必要な特定の論理回路部35のアドレスが決まっている場合、当該アドレスをアドレステーブル33に登録することによって、回路規模や必要なメモリ規模を小さく抑えることができる。
また、設計時に予め再設定が必要なアドレスが決まっているので、当該決まっているアドレスの範囲で、データを再設定すればよいので、再設定を行う範囲を少なくし、システムの停止時間を短縮することができる。
<実施例5>
第5実施例では、再設定の対象領域の判定を容易にするため、論理回路部5に使用する領域をコンフィグレーションメモリ2内の定められた実装領域に設計段階で予め固定し、当該固定された領域内でエラーを検出して、訂正した場合に、再設定をする回路の例を説明する。
図6を用いて、第5実施例を説明する。
第3実施例では、コンフィグレーションメモリ内に自由に配置された論理回路部群34に対して、コンフィグレーションメモリ制御部3が、ソフトエラーを検出し、ソフトエラーを検出した箇所が使用領域30であるかを判定し、使用領域30である場合に再設定制御部7が再設定を行う。
第5実施例では、例えば図6の使用領域30を、論理回路部5を実装するための領域をコンフィグレーションメモリ2内の特定の物理的な領域に設計段階で予め固定し、当該領域範囲内に論理回路部5が配置されるように、FPGA1の実装設計の段階で考慮しておく。これにより、ソフトエラーの監視をFPGA1特定の領域(使用領域30)内のみに限定することができ、監視対象領域内でエラーが検出され、当該エラーが訂正されれた場合、フリップフロップ12の値を再設定することができる。
以上に説明したように第5実施例によると、使用領域を判定するための該当判定機能がコンフィグレーションメモリ制御部3に搭載されていなくてもよい。また、コンフィグレーションメモリ制御部3が該当判定機能を搭載する場合でも、判定を行うための情報を構成データメモリ4に格納する必要がなく、外部メモリの記憶容量を削減することができ、外部メモリのコスト及び基板実装面積を低減することができる。
<実施例6>
第6実施例では、ソフトエラーの発生を契機に運用系を非運用系に切り替えるシステムを説明する。
図8は、第3実施例(図6)のソフトエラー対策回路6を搭載し、ソフトエラーの発生を契機に運用系を非運用系に切り替えるシステムの構成図である。
なお、第6実施例では通信装置を例にして説明するが、他のシステムにも適用することができる。また、通信装置が、第3実施例のソフトエラー対策回路6を搭載する例を説明するが、前述した第1から第5の何れの実施例のソフトエラー対策回路6を搭載してもよい。
通信装置A40と通信装置B41との間では、運用系主信号42及び非運用系主信号43によって通信している。通信装置A40と通信装置B41とは、それぞれ、運用系装置44と非運用系装置45とを搭載する。運用系装置44と非運用系装置45とは、FPGA1内の回路によって構成され、第3実施例のソフトエラー対策回路6を搭載し、コンフィグレーションメモリ2に発生するソフトエラーを検出すると、エラー検出信号46を出力する。なお、運用系装置44と非運用系装置45とは、一つのFPGA1内の回路によって構成しても、複数のFPGA1内の回路によって構成してもよい。
セレクタ制御部47は、運用系装置44及び非運用系装置45から出力されたエラー検出信号46を監視し、運用系装置44からのエラー検出信号46を検出した場合、セレクタ制御信号48をセレクタ49に通知し、運用系主信号42から非運用系主信号43へセレクタ49を切り替える。
非運用系主信号43へ切り替えることによって、ソフトエラーを訂正し、データの再設定が完了するより早く、システム障害を復旧することができる。
ソフトエラーが発生した運用系装置44は、運用系装置44から非運用系装置45へ切り替えた後、ソフトエラーを訂正し、データを再設定して、非運用系装置として継続してシステム運用することが可能になる。
一般的なFPGAの性能によれば、ソフトエラーの検出及び訂正からデータの再設定は数十ミリ秒〜数秒を要し、ソフトエラーの検出に要する時間は数マイクロ秒〜数ミリ秒である。ソフトエラーを検出した時点で非運用系装置45に切り替えることによって、システム障害の時間を短縮することができる。
ソフトエラー対策回路6は、運用系装置44から非運用系装置45へ切り替えたタイミングで、ソフトエラーを検出したことを示す警報・故障情報50を警報表示・通知部51に通知する。警報表示・通知部51は、ソフトエラーの検出を保守者へ通知することによって、ソフトエラーの発生を契機として、運用系装置44から非運用系装置45への切り替えが発生したことを知ることができる。また、第8実施例で説明するように、エラーの情報を警報・故障情報50に含め、警報表示・通知部51へ通知することができる。
前述した第6実施例の構成は、障害の発生から復旧までの停止許容時間が規定されているシステムに適用する。停止許容時間が規定されないシステムにおいては、非運用系装置45、セレクタ49、セレクタ制御部47を搭載しなくてもよい。
以上に説明したように、第6実施例によると、現用系の回路を構成するコンフィグレーションメモリ2に発生するソフトエラーの検出を契機として、現用系の回路(運用系装置44)と予備系の回路(非運用系装置45)とを切り替え、検出されたソフトエラーによって発生する二次障害から復旧するためのエラーの訂正を実行し、エラーの訂正の後に論理回路に保持される値を回復するので、システムを規定内の時間で迅速に復旧することができる。
<実施例7>
第7実施例では、ソフトエラー対策回路に、ソフトエラーの検出及び訂正を行う機能部自身の故障やソフトエラーが発生した機能部を特定するための機能を追加した例を説明する。
図9は、第7実施例のソフトエラー対策回路6を示す構成図である。
第7実施例のソフトエラー対策回路6は、第3実施例のソフトエラー対策回路6に情報保持部65が接続されている。コンフィグレーションメモリ制御部3から情報保持部65へ、コンフィグレーション完了情報60、ソフトエラーアドレス情報61及び訂正不可情報63が送信される。また、情報保持部65からコンフィグレーションメモリ制御部3へ、ソフトエラーアドレス保持情報62及び訂正不可保持情報64が送信される。
次に、故障が発生した機能部を特定する方法を説明する。
図10は、第7実施例において、コンフィグレーションメモリ2のソフトエラーを判定するシーケンス図である。
コンフィグレーションメモリ制御部3は、エラーの訂正後、コンフィグレーションメモリを1回スキャンする間に、同じアドレスで再度エラーを検出するかによってコンフィグレーションメモリ2のソフトエラーを判定する。
コンフィグレーションメモリ制御部3は、エラーの検出・訂正(S100)の後、ソフトエラーアドレス情報61を情報保持部65へ通知する(S101)。
情報保持部65は、コンフィグレーションメモリ制御部3から通知されたソフトエラーアドレス情報61をNミリ秒間保持し(S102)、ソフトエラーアドレス情報61を保持する間、ソフトエラーアドレス保持情報62をコンフィグレーションメモリ制御部3へ繰り返し返信する(S103)。なお、ソフトエラーアドレス保持情報62を定期的に送信してもよい。
ソフトエラーアドレス情報61を保持する時間(Nミリ秒)は、コンフィグレーションメモリ2を1回スキャンする時間を設定するとよい。
コンフィグレーションメモリ制御部3は、エラー検出監視期間(Nミリ秒)にエラーを検出しない場合、保持しているソフトエラーアドレス情報61の破棄を情報保持部65に指示する。なお、情報保持部65が自律的に(例えば、Nミリ秒のタイマのタイムアップによって)ソフトエラーアドレス情報61を破棄してもよい。
コンフィグレーションメモリ制御部3は、Nミリ秒間エラー検出監視を行い(S104)、Nミリ秒間にソフトエラーアドレス保持情報62と一致するアドレスにエラーを検出しない場合(S105)、エラーが正常に訂正できているため、コンフィグレーションメモリ2のソフトエラーと判定する。よって、コンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2のソフトエラーと判定した情報を警報・故障情報50に含め、警報表示・通知部51へ通知する(S106)。
警報表示・通知部51は、コンフィグレーションメモリ2のソフトエラーを保守者に通知する(S107)。
図11は、第7実施例において、構成データメモリ4の故障を判定するシーケンス図である。
コンフィグレーションメモリ制御部3は、エラーの訂正後、コンフィグレーションメモリ2を1回スキャンする間に、同じアドレスで再度エラーを検出するかによってコンフィグレーションメモリ2のソフトエラーを判定する。
コンフィグレーションメモリ制御部3は、エラー検出・訂正(S110)の後、ソフトエラーアドレス情報61を情報保持部65へ通知する(S111)。
情報保持部65は、コンフィグレーションメモリ制御部3から通知されたソフトエラーアドレス情報61をNミリ秒間保持し(S112)、ソフトエラーアドレス情報61を保持する間、ソフトエラーアドレス保持情報62をコンフィグレーションメモリ制御部3へ繰り返し返信する(S113)。なお、ソフトエラーアドレス保持情報62を定期的に送信してもよい。
ソフトエラーアドレス情報61を保持する時間(Nミリ秒)は、コンフィグレーションメモリ2を1回スキャンする時間を設定するとよい。なお、ソフトエラーアドレス情報61を保持する時間は、最初のエラー検出監視期間(Nミリ秒)にエラーが検出された場合、次のエラー検出監視期間(Nミリ秒)が終了するまで延長される。
コンフィグレーションメモリ制御部3は、Nミリ秒間エラー検出監視を行い(S114)、エラーを検出した(S115)。エラーを検出したアドレスがソフトエラーアドレス保持情報62と一致した場合(S116)、エラーが訂正できていないため、コンフィグレーションメモリ制御部3は、訂正データを格納している構成データメモリ4又はコンフィグレーションメモリ2の故障であると判定する。
ソフトエラー対策回路6は、故障箇所を特定するために、FPGA1を再コンフィグレーションする(S117)。再コンフィグレーションの完了後、コンフィグレーションメモリ制御部3は情報保持部65へコンフィグレーション完了情報60を送信する(S118)。
情報保持部65は、コンフィグレーション完了情報60を受信すると、Nミリ秒間、ソフトエラーアドレス保持情報62をコンフィグレーションメモリ制御部3へ繰り返し返信する(S119)。なお、ソフトエラーアドレス保持情報62を定期的に送信してもよい。
コンフィグレーションメモリ制御部3は、Nミリ秒間エラー検出監視を行い(S120)、ソフトエラーアドレス保持情報62と一致するアドレスにエラーを検出しない場合(S121)、構成データメモリ4が故障し訂正データが誤っていると判定する。よって、コンフィグレーションメモリ制御部3は、構成データメモリ4の故障情報を警報・故障情報50に含め、警報表示・通知部51へ通知する(S122)。
また、コンフィグレーションメモリ制御部3は、エラー検出監視期間(Nミリ秒)にエラーを検出しない場合、保持しているソフトエラーアドレス情報61の破棄を情報保持部65に指示する。なお、情報保持部65が自律的に(例えば、Nミリ秒のタイマのタイムアップによって)ソフトエラーアドレス情報61を破棄してもよい。
警報表示・通知部51は、構成データメモリ4の故障情報を保守者に通知する(S123)。
図12は、第7実施例において、コンフィグレーションメモリ2の故障を判定するシーケンス図である。
再コンフィグレーションが完了するまでの手順は、図11と同じである(S110〜S118)。再コンフィグレーションの完了後、コンフィグレーションメモリ制御部3は、Nミリ秒間エラー検出監視を行い(S130)、エラーを検出した(S131)。エラーを検出したアドレスがソフトエラー保持情報62と一致した場合(S132)、構成データメモリ4から読み出された回路情報は正しいので、コンフィグレーションメモリ2の故障と判定することができる。このため、コンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2の故障の情報を警報・故障情報50に含め、警報表示・通知部51へ通知する(S133)。
警報表示・通知部51は、コンフィグレーションメモリ2の故障を保守者に通知する(S134)。
図13は、第7実施例において、ソフトエラー対策回路6のソフトエラーを判定するシーケンス図である。
エラー訂正不可を検出した後、FPGA1を再コンフィグレーションする。再コンフィグレーション完了後、コンフィグレーションメモリを1回スキャンする間に再度エラー訂正不可の検出有無を監視することで判定する。エラーの訂正可否は、前述したように、例えば、コンフィグレーションメモリ2がECC訂正機能を有する場合、検出対象領域内で1bitまでのエラーは訂正可能であるが、2bit以上のエラーは訂正不可能であると判定することができる。
コンフィグレーションメモリ制御部3は、エラー訂正不可を検出した(S140)後、訂正不可情報63を情報保持部65へ通知する(S141)。情報保持部65は、コンフィグレーションメモリ制御部3から通知された訂正不可情報63保持する(S142)。
ソフトエラー対策回路6は、故障箇所を特定するために、FPGA1を再コンフィグレーションする(S143)。再コンフィグレーションの完了後、コンフィグレーションメモリ制御部3は情報保持部65へコンフィグレーション完了情報60を送信する(S144)。
情報保持部65は、コンフィグレーション完了情報60を受信すると、Nミリ秒間、訂正不可保持情報64をコンフィグレーションメモリ制御部3へ繰り返し返信する(S145)。なお、訂正不可保持情報64を定期的に送信してもよい。
コンフィグレーションメモリ制御部3は、Nミリ秒の間にエラー訂正不可を検出しない場合(S146)、ソフトエラー対策回路6に発生したソフトエラーによって、回路が正常に動作できず、エラー訂正できないと判定する。よって、コンフィグレーションメモリ制御部3は、ソフトエラー対策回路6のソフトエラーを警報・故障情報50に含め、警報表示・通知部51へ通知する(S147)。
警報表示・通知部51は、ソフトエラー対策回路6のソフトエラーを保守者に通知する(S148)。
図14は、第7実施例において、コンフィグレーションメモリ2の故障を判定するシーケンス図である。
再コンフィグレーションが完了するまでの手順は、図13と同じである(S140〜S144)。再コンフィグレーションの完了後、Nミリ秒の間にエラー訂正不可を検出した場合(S150)、ソフトエラー対策回路6は正常に機能したが、コンフィグレーションメモリ2の故障によって訂正ができなかったと判定することができる。このため、コンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2の故障の情報を警報・故障情報50に含め、警報表示・通知部51へ通知する(S151)。
警報表示・通知部51は、コンフィグレーションメモリ2の故障を保守者に通知する(S152)。
前述したように、故障部位を判定するためには、FPGA1の再コンフィグレーションが必要である。再コンフィグレーションをすると、判定に用いるためのソフトエラーアドレス情報61や訂正不可情報63が初期化され消去される。第7実施例では、この情報の消去を防ぐために、ソフトエラーアドレス情報61、訂正不可情報63を情報保持部65へ退避する。
情報保持部65は、FPGA1やプロセッサで構成することができる。情報保持部65をFPGA1で実現する場合、ソフトエラー対策回路6が必要となるため、図9に示す回路を搭載する。再コンフィグレーションされるFPGA1と情報保持部65との両方のソフトエラー対策回路6に同時にソフトエラーが発生すると、第7実施例の方法を実現することができない。しかし、両方のソフトエラー対策回路6で同時にソフトエラーが発生する確率は非常に小さいため、実用上の問題はない。
以上に説明したように、第7実施例によると、ソフトエラーを検出・訂正する機能部が故障し又はソフトエラーが発生すると、エラーの検出・訂正を繰り返す可能性があったが、訂正後のエラー状態を詳しく分析することによって、故障した機能部を特定し、システムの保守性を向上することができる。
また、エラーを検出したアドレスと、エラーの訂正の後にさらにエラーを検出したアドレスとを比較することによって、故障部位を分析するので、コンフィグレーションメモリ2のソフトエラーや、構成データメモリ4又はコンフィグレーションメモリ2の故障を的確に判定することができる。
また、検出したエラーの訂正が不可能と判定した場合、論理回路の再コンフィグレーションを実行した後、再度エラーの訂正の可否を判定することによって、ソフトエラー対策回路6のソフトエラー又はコンフィグレーションメモリ2の故障を判定することができる。
さらに、論理回路の再コンフィグレーション前にエラーを検出したアドレスの情報及び訂正可否の情報を格納する情報保持部65を設けたので、再コンフィグレーションによって情報保持部65に格納された情報は消去されることなく、検出されたソフトエラーアドレス情報61及び訂正不可情報63を用いて障害を復旧することができる。
<実施例8>
図15A、図15Bは、第8実施例におけるソフトエラー対策回路の処理を説明するフローチャートである。
図15A、図15Bに示すフローチャートは、第7実施例で説明したソフトエラーの検出・訂正を行う機能部の故障や、ソフトエラーが発生した機能部を特定する処理を含む。また、第6実施例で説明した運用系と非運用系とを切り替えるかを判定する処理も含む。
コンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2にエラーを検出すると、検出されたエラーが訂正可能かを判定する(Step1)。その結果、訂正可能な場合(Step1のYES)、第6実施例の方法を用いて運用系と非運用系とを切り替え(Step10)、切替後に訂正処理を実行し(Step2)、エラー検出フラグとエラー訂正フラグとの両方をアサートし出力する(Step3)。その後、Step3で訂正したエラーアドレスでNミリ秒間に再度エラーを検出するかを監視する(Step11)。Nミリ秒間に同一アドレスでエラーを検出しない場合(Step11のNO)、エラーが正しく訂正できたと判定できる。このため、再設定制御部7は、特定の論理回路部5に対する再設定を実行する。この論理回路部に対する再設定は、前述した第1から第5の何れの実施例の方法を採用してもよい(Step5)。その後、コンフィグレーションメモリ2のソフトエラーであると判定し(Step12)、システムを復旧し、復旧を通知する(Step21)。
一方、Step11において、Nミリ秒間に同一アドレスでエラーを検出した場合(Step11のYES)、故障部位を特定するためにFPGA1の全体を再コンフィグレーションする(Step13)。そして、再コンフィグレーションの完了後、Nミリ秒間に同一アドレスにエラーを検出するかを監視する(Step14)。
そして、Step14において、Nミリ秒間に同一アドレスでエラーを検出しない場合(Step14のNO)、構成データメモリ4の故障であると判定し(Step15)、構成データメモリ4の故障を通知する(Step22)。一方、Step14において、Nミリ秒間に同一アドレスでエラー検出した場合(Step14のYES)、コンフィグレーションメモリ2の故障であると判定し(Step16)、コンフィグレーションメモリ2の故障を通知する(Step23)。
一方、訂正不可能な場合(Step1のNO)、第6実施例の方法を用いて運用系と非運用系とを切り替える(Step17)。その後、コンフィグレーションメモリ制御部3はエラー検出フラグのみをアサートし出力する(Step4)。つまり、エラー訂正フラグは、デアサートし出力しない。その後、再設定制御部7は、構成データメモリ4から回路情報を読み出して、FPGA1の全体を再コンフィグレーションし(Step6)、その後、エラーが検出されたアドレスでNミリ秒間に訂正不可を検出するかを監視する(Step18)。
Nミリ秒間に同一アドレスで訂正不可を検出しない場合(Step18のNO)、ソフトエラー対策回路6にソフトエラーが発生したと判定し(Step19)、FPGA1を再起動した後、全ての論理回路部を初期化し(Step7)、システムを復旧し、復旧を通知する(Step24)。
一方、Nミリ秒間に訂正不可を検出した場合(Step18のYES)、コンフィグレーションメモリ2の故障である判定し(Step20)、コンフィグレーションメモリ2の故障を通知する(Step25)。
なお、図15A、図15Bに示すフローチャートは、図10から図14で説明した判定シーケンスを全て含むが、一部の故障部位のみを検出する判定シーケンスのみを含んでもよい。特に、Step1〜3、5及び10〜16の判定処理と、Step1、4、6〜5及び17〜20の判定処理とは、容易に分離可能で、一方のみを実装することができる。
以上に説明したように、第8実施例では、訂正後のエラー状態を詳しく分析することによって、故障した機能部を容易に特定することができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を有するものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。
(1)プログラミング可能な論理回路を有するプログラマブルゲートアレイであって、
論理回路が設定されるコンフィグレーションメモリと、
前記コンフィグレーションメモリ内のソフトエラーを正常化する対策回路とを備え、
前記対策回路は、
前記コンフィグレーションメモリに発生するソフトエラーによって発生する二次障害から復旧するためのエラー訂正を実行し、
前記エラー訂正の後に前記論理回路に保持される値を回復することを特徴とするプログラマブルゲートアレイ。
(2)前記対策回路は、前記論理回路に保持すべき値を再設定することによって、前記論理回路に保持される値を回復することを特徴とする(1)に記載のプログラマブルゲートアレイ。
(3)前記対策回路は、前記エラー訂正の後に前記論理回路に保持される値を初期状態に戻すことによって、前記論理回路に保持される値を回復することを特徴とする(1)に記載のプログラマブルゲートアレイ。
(4)前記対策回路は、
前記ソフトエラーが発生した箇所が前記コンフィグレーションメモリの中で論理回路として使用されている領域かを判定し、
前記ソフトエラーが発生した箇所がコンフィグレーションメモリの中で論理回路として使用されている領域である場合、当該論理回路に保持される値を再設定することを特徴とする(1)から(3)の何れか一つに記載のプログラマブルゲートアレイ。
(5)前記対策回路は、
前記ソフトエラーが発生した箇所が所定の領域かを判定し、
前記ソフトエラーが発生した箇所が所定の領域である場合、当該論理回路に保持される値を再設定することを特徴とする(1)から(3)の何れか一つに記載のプログラマブルゲートアレイ。
(6)前記論理回路は予め決められた実装領域を使用するものであって、
前記対策回路は、
前記ソフトエラーが発生した箇所が前記実装領域かを判定し、
前記ソフトエラーが発生した箇所が前記実装領域である場合、当該論理回路に保持される値を再設定することを特徴とする(1)から(3)の何れか一つに記載のプログラマブルゲートアレイ。
(7)前記対策回路は、
前記ソフトエラーの訂正が可能かを判定し、
前記ソフトエラーの訂正が可能である場合、(1)から(5)の何れか一つに記載の方法によって前記論理回路に保持される値を再設定し、
前記ソフトエラーの訂正が不可能である場合、全ての前記論理回路を初期化することを特徴とする(1)から(5)の何れか一つに記載のプログラマブルゲートアレイ。
1 FPGA
2 コンフィグレーションメモリ
3 コンフィグレーションメモリ制御部
4 構成データメモリ
5 論理回路部群
6 ソフトエラー対策回路
7 再設定制御部
8 再設定データメモリ
9A アドレス線
9B データ線
10 基本回路モジュール
11 組合せ論理部
12 フリップフロップ
13 設定部
14 エラー検出・訂正・該当フラグ
15 読出しアドレス及び制御信号
16 アドレス及び再設定データ
17 アドレスと制御信号
18 再設定データ
19〜22 論理回路部
23 条件保持信号
24 条件信号
25 タイミング信号
26 クロック
27 配線接続交点
28 パストランジスタ
29 リセット
30 使用領域
31 未使用領域
32 エラーアドレス
33 アドレステーブル
34 論理回路部
35 再設定が必要な特定の論理回路部
40 通信装置A
41 通信装置B
42 運用系主信号
43 非運用系主信号
44 運用系装置
45 非運用系装置
46 エラー検出信号
47 セレクタ制御部
48 セレクタ制御信号
49 セレクタ
50 警報・故障情報
51 警報表示・通知部
60 コンフィグレーション完了情報
61 ソフトエラーアドレス情報
62 ソフトエラーアドレス保持情報
63 訂正不可情報
64 訂正不可保持情報

Claims (8)

  1. プログラミング可能な論理回路を有するプログラマブルゲートアレイであって、
    前記論理回路が設定されるコンフィグレーションメモリと、
    前記コンフィグレーションメモリ内のソフトエラーを正常化する対策回路とを備え、
    前記プログラマブルゲートアレイで構成される現用系の回路及び予備系の回路によって冗長構成を組み、
    前記対策回路は、
    前記現用系の回路を構成する前記コンフィグレーションメモリに発生するソフトエラーの検出を契機として、前記現用系の回路と前記予備系の回路とを切り替え、
    前記検出されたソフトエラーによって発生する二次障害から復旧するためのエラーの訂正を実行し、
    前記エラーの訂正の後に前記論理回路に保持される値を回復することを特徴とするプログラマブルゲートアレイ。
  2. 請求項1に記載のプログラマブルゲートアレイであって、
    前記対策回路は、前記エラーを検出したアドレスと、前記エラーの訂正の後にさらにエラーを検出したアドレスとを比較することによって、故障部位を分析することを特徴とするプログラマブルゲートアレイ。
  3. 請求項1に記載のプログラマブルゲートアレイであって、
    前記対策回路は、
    検出したエラーの訂正の可否を判定し、
    前記検出したエラーの訂正が不可能と判定した場合、前記論理回路の再コンフィグレーションを実行し、その後、再度エラーの訂正の可否を判定することによって故障部位を分析することを特徴とするプログラマブルゲートアレイ。
  4. 請求項2又は3に記載のプログラマブルゲートアレイであって、
    前記対策回路は、
    前記論理回路の再コンフィグレーション前にエラーを検出したアドレスの情報及び訂正可否の情報を格納する記憶部に接続されており、
    前記再コンフィグレーションの完了後に、前記記憶部に格納された情報を取得することを特徴とするプログラマブルゲートアレイ。
  5. プログラミング可能な論理回路を含むプログラマブルゲートアレイを有する電子装置であって、
    前記プログラマブルゲートアレイで構成される二つの回路によって、現用系及び予備系による冗長構成を組み、

    前記プログラマブルゲートアレイは、論理回路が設定されるコンフィグレーションメモリと、前記コンフィグレーションメモリ内のソフトエラーを正常化する対策回路とを有し、
    前記対策回路は、
    現用系の回路を構成する前記コンフィグレーションメモリに発生するソフトエラーの検出を契機として、前記現用系の回路と予備系の回路とを切り替え、
    前記検出されたソフトエラーによって発生する二次障害から復旧するためのエラーの訂正を実行し、
    前記エラーの訂正の後に前記論理回路に保持される値を回復することを特徴とする電子装置。
  6. 請求項5に記載の電子装置であって、
    前記対策回路は、前記エラーを検出したアドレスと、前記エラーの訂正の後にさらにエラーを検出したアドレスとを比較することによって、故障部位を分析することを特徴とする電子装置。
  7. 請求項5に記載の電子装置であって、
    前記対策回路は、
    検出したエラーの訂正の可否を判定し、
    前記検出したエラーの訂正が不可能と判定した場合、前記論理回路の再コンフィグレーションを実行し、その後、再度エラーの訂正の可否を判定することによって故障部位を分析することを特徴とする電子装置。
  8. 請求項6又は7に記載の電子装置であって、
    前記対策回路は、
    前記論理回路の再コンフィグレーション前にエラーを検出したアドレスの情報及び訂正可否の情報を格納する記憶部に接続されており、
    前記再コンフィグレーションの完了後に、前記記憶部に格納された情報を取得することを特徴とする電子装置。
JP2014080985A 2014-04-10 2014-04-10 プログラマブルゲートアレイ及び電子装置 Pending JP2015201814A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014080985A JP2015201814A (ja) 2014-04-10 2014-04-10 プログラマブルゲートアレイ及び電子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014080985A JP2015201814A (ja) 2014-04-10 2014-04-10 プログラマブルゲートアレイ及び電子装置

Publications (1)

Publication Number Publication Date
JP2015201814A true JP2015201814A (ja) 2015-11-12

Family

ID=54552721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014080985A Pending JP2015201814A (ja) 2014-04-10 2014-04-10 プログラマブルゲートアレイ及び電子装置

Country Status (1)

Country Link
JP (1) JP2015201814A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552258B2 (en) 2016-09-16 2020-02-04 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, electronic device, and driving method thereof

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053873A (ja) * 2004-08-16 2006-02-23 Fujitsu Ltd 機能装置、機能維持方法及び機能維持プログラム
JP2006262227A (ja) * 2005-03-18 2006-09-28 Konica Minolta Holdings Inc ハードウェアコンフィグレーション装置
US20070283193A1 (en) * 2006-04-21 2007-12-06 Altera Corporation Soft error location and sensitivity detection for programmable devices
JP2009017010A (ja) * 2007-07-02 2009-01-22 Nec Electronics Corp 再構成可能デバイス
JP2010134678A (ja) * 2008-12-04 2010-06-17 Nec Corp 電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法
JP2012053778A (ja) * 2010-09-02 2012-03-15 Toshinori Sueyoshi プログラマブル論理回路のエラー訂正回路
JP2013187699A (ja) * 2012-03-07 2013-09-19 Fujitsu Telecom Networks Ltd Fpga構成処理制御回路

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053873A (ja) * 2004-08-16 2006-02-23 Fujitsu Ltd 機能装置、機能維持方法及び機能維持プログラム
JP2006262227A (ja) * 2005-03-18 2006-09-28 Konica Minolta Holdings Inc ハードウェアコンフィグレーション装置
US20070283193A1 (en) * 2006-04-21 2007-12-06 Altera Corporation Soft error location and sensitivity detection for programmable devices
JP2009017010A (ja) * 2007-07-02 2009-01-22 Nec Electronics Corp 再構成可能デバイス
JP2010134678A (ja) * 2008-12-04 2010-06-17 Nec Corp 電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法
JP2012053778A (ja) * 2010-09-02 2012-03-15 Toshinori Sueyoshi プログラマブル論理回路のエラー訂正回路
JP2013187699A (ja) * 2012-03-07 2013-09-19 Fujitsu Telecom Networks Ltd Fpga構成処理制御回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552258B2 (en) 2016-09-16 2020-02-04 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, electronic device, and driving method thereof

Similar Documents

Publication Publication Date Title
US8099625B1 (en) Self-checking and self-correcting internal configuration port circuitry
US10078565B1 (en) Error recovery for redundant processing circuits
KR101358776B1 (ko) 장비의 리부트 이유를 기록하는 장치 및 방법
US9337838B2 (en) Programmable circuit device and configuration information restoration method
JP4643977B2 (ja) プログラマブル・ロジック・デバイス、情報処理装置、プログラマブル・ロジック・デバイスの制御方法
CN104579313B (zh) 一种基于配置帧的在轨sram型fpga故障检测与修复方法
CN102521066A (zh) 星载计算机空间环境事件容错方法
US9575862B1 (en) Integrated circuits with error handling capabilities
Agiakatsikas et al. Reconfiguration control networks for TMR systems with module-based recovery
CN113608720A (zh) 一种抗单粒子翻转的星载数据处理系统及方法
US8522091B1 (en) Prioritized detection of memory corruption
CN103389921A (zh) 信号处理电路以及使用了该信号处理电路的试验装置
JP6408482B2 (ja) プログラマブルデバイス及びこれを用いた電子システム装置
CN107273240B (zh) 一种星载相控阵tr组件单粒子翻转防护方法
Ebrahim et al. On enhancing the reliability of internal configuration controllers in FPGAs
WO2012067733A1 (en) Classifying a criticality of a soft error and mitigating the soft error based on the criticality
US7626415B1 (en) Method and apparatus for configuring an integrated circuit
CN101681287A (zh) 处理器动作检查系统及动作检查电路
Kastil et al. Dependability analysis of fault tolerant systems based on partial dynamic reconfiguration implemented into FPGA
JP2015201814A (ja) プログラマブルゲートアレイ及び電子装置
JP5838103B2 (ja) 電子装置、ソフトエラー耐性評価システム及び評価方法
Gericota et al. A self-healing real-time system based on run-time self-reconfiguration
JP2015201813A (ja) プログラマブルゲートアレイ
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
Bolchini et al. A reliable reconfiguration controller for fault-tolerant embedded systems on multi-FPGA platforms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180306