JP2015201813A - プログラマブルゲートアレイ - Google Patents

プログラマブルゲートアレイ Download PDF

Info

Publication number
JP2015201813A
JP2015201813A JP2014080980A JP2014080980A JP2015201813A JP 2015201813 A JP2015201813 A JP 2015201813A JP 2014080980 A JP2014080980 A JP 2014080980A JP 2014080980 A JP2014080980 A JP 2014080980A JP 2015201813 A JP2015201813 A JP 2015201813A
Authority
JP
Japan
Prior art keywords
logic circuit
error
reset
circuit
configuration memory
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
JP2014080980A
Other languages
English (en)
Inventor
学 牧野
Manabu Makino
学 牧野
知遥 安井
Chiharu Yasui
知遥 安井
幸久 田村
Yukihisa Tamura
幸久 田村
健一 新保
Kenichi Shinpo
健一 新保
鳥羽 忠信
Tadanobu Toba
忠信 鳥羽
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 JP2014080980A priority Critical patent/JP2015201813A/ja
Publication of JP2015201813A publication Critical patent/JP2015201813A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】論理回路の機能を正常化する。
【解決手段】プログラミング可能な論理回路を有するプログラマブルゲートアレイであって、論理回路が設定されるコンフィグレーションメモリと、前記コンフィグレーションメモリ内のソフトエラーを正常化する対策回路とを備え、前記対策回路は、前記コンフィグレーションメモリに発生するソフトエラーによって発生する二次障害から復旧するためのエラー訂正を実行し、前記エラー訂正の後に前記論理回路に保持される値を回復する。
【選択図】図1

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実施例におけるソフトエラー対策回路の処理を説明するフローチャートである。
本発明に係るソフトエラー対策回路の実施例を、構成図及びフローチャートを用いて説明する。
<実施例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内の定められた実装領域に設計段階で予め固定し、当該固定された領域内でエラーを検出して、訂正した場合に、再設定をする回路の例を説明する。
第5実施例は、図6を用いて説明する。
第3実施例では、コンフィグレーションメモリ内に自由に配置された論理回路部群34に対して、コンフィグレーションメモリ制御部3が、ソフトエラーを検出し、ソフトエラーを検出した箇所が使用領域30であるかを判定し、使用領域30である場合に再設定制御部7が再設定を行う。
第5実施例では、例えば図6の使用領域30を、論理回路部5を実装するための領域をコンフィグレーションメモリ2内の特定の物理的な領域に設計段階で予め固定し、当該領域範囲内に論理回路部5が配置されるように、FPGA1の実装設計の段階で考慮しておく。これにより、ソフトエラーの監視をFPGA1特定の領域(使用領域30)内のみに限定することができ、監視対象領域内でエラーが検出され、当該エラーが訂正されれた場合、フリップフロップ12の値を再設定することができる。
以上に説明したように第5実施例によると、使用領域を判定するための該当判定機能がコンフィグレーションメモリ制御部3に搭載されていなくてもよい。また、コンフィグレーションメモリ制御部3が該当判定機能を搭載する場合でも、判定を行うための情報を構成データメモリ4に格納する必要がなく、外部メモリの記憶容量を削減することができ、外部メモリのコスト及び基板実装面積を低減することができる。
<実施例6>
第6実施例では、第1実施例に加え、ソフトエラー訂正が可能な場合と不可能な場合とで異なる方法で再設定を行う例を説明する。
コンフィグレーションメモリ制御部3は、エラーが訂正可能な場合と不可能な場合を判別することができる。例えば、コンフィグレーションメモリ2がECC訂正機能を有する場合、検出対象領域内で1bitまでのエラーは訂正可能であるが、2bit以上のエラーは訂正不可能である。よって、エラー検出フラグとエラー訂正フラグが同時にアサートされる場合は訂正可能であると判断でき、エラー検出フラグがアサートされ、エラー訂正フラグはデアサートされる場合は訂正不可であると判断できる。
図8は、第6実施例におけるソフトエラー対策回路の処理を説明するフローチャートである。
図8に示すフローチャートにおいて、処理A36はコンフィグレーションメモリ制御部3が実行し、処理B37は再設定制御部7が実行する。
コンフィグレーションメモリ制御部3は、コンフィグレーションメモリ2にエラーを検出すると、検出されたエラーが訂正可能かを判定する(Step1)。その結果、訂正可能な場合は訂正処理を実行し(Step2)、エラー検出と訂正フラグとの両方をアサートし出力する(Step3)。その後、再設定制御部7は、特定の論理回路部5に対する再設定を実行する。この論理回路部に対する再設定は、前述した第1から第5の何れの実施例の方法を採用してもよい(Step5)。
一方、訂正不可能な場合、コンフィグレーションメモリ制御部3はエラー検出フラグのみをアサートし出力する(Step4)。その後、再設定制御部7は、構成データメモリ4から回路情報を読み出して、FPGA1の全体を再コンフィグレーションし、再起動をした後、全ての論理回路部を初期化する(Step6)。
以上に説明したように、第6実施例では、FPGA1の一部の論理回路のみを再設定する場合と、FPGA1の全部の論理回路を再起動する場合とを分けて再設定処理を行うので、エラーの程度に合わせた適切な時間で再設定処理を実行することができる。すなわち、一部の論理回路のみを再設定する方が短時間で処理でき、システムの停止時間を短縮することができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を有するものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
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 再設定が必要な特定の論理回路部

Claims (7)

  1. プログラミング可能な論理回路を有するプログラマブルゲートアレイであって、
    論理回路が設定されるコンフィグレーションメモリと、
    前記コンフィグレーションメモリ内のソフトエラーを正常化する対策回路とを備え、
    前記対策回路は、
    前記コンフィグレーションメモリに発生するソフトエラーによって発生する二次障害から復旧するためのエラー訂正を実行し、
    前記エラー訂正の後に前記論理回路に保持される値を回復することを特徴とするプログラマブルゲートアレイ。
  2. 請求項1記載のプログラマブルゲートアレイであって、
    前記対策回路は、前記論理回路に保持すべき値を再設定することによって、前記論理回路に保持される値を回復することを特徴とするプログラマブルゲートアレイ。
  3. 請求項1記載のプログラマブルゲートアレイであって、
    前記対策回路は、前記エラー訂正の後に前記論理回路に保持される値を初期状態に戻すことによって、前記論理回路に保持される値を回復することを特徴とするプログラマブルゲートアレイ。
  4. 請求項1から3の何れか一つに記載のプログラマブルゲートアレイであって、
    前記対策回路は、
    前記ソフトエラーが発生した箇所が前記コンフィグレーションメモリの中で論理回路として使用されている領域かを判定し、
    前記ソフトエラーが発生した箇所がコンフィグレーションメモリの中で論理回路として使用されている領域である場合、当該論理回路に保持される値を再設定することを特徴とするプログラマブルゲートアレイ。
  5. 請求項1から3の何れか一つに記載のプログラマブルゲートアレイであって、
    前記対策回路は、
    前記ソフトエラーが発生した箇所が所定の領域かを判定し、
    前記ソフトエラーが発生した箇所が所定の領域である場合、当該論理回路に保持される値を再設定することを特徴とするプログラマブルゲートアレイ。
  6. 請求項1から3の何れか一つに記載のプログラマブルゲートアレイであって、
    前記論理回路は予め決められた実装領域を使用するものであって、
    前記対策回路は、
    前記ソフトエラーが発生した箇所が前記実装領域かを判定し、
    前記ソフトエラーが発生した箇所が前記実装領域である場合、当該論理回路に保持される値を再設定することを特徴とするプログラマブルゲートアレイ。
  7. 請求項1から3の何れか一つに記載のプログラマブルゲートアレイであって、
    前記対策回路は、
    前記ソフトエラーの訂正が可能かを判定し、
    前記ソフトエラーの訂正が可能である場合、請求項1から3の何れか一つに記載の方法によって前記論理回路に保持される値を再設定し、
    前記ソフトエラーの訂正が不可能である場合、全ての前記論理回路を初期化することを特徴とするプログラマブルゲートアレイ。
JP2014080980A 2014-04-10 2014-04-10 プログラマブルゲートアレイ Pending JP2015201813A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014080980A JP2015201813A (ja) 2014-04-10 2014-04-10 プログラマブルゲートアレイ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014080980A JP2015201813A (ja) 2014-04-10 2014-04-10 プログラマブルゲートアレイ

Publications (1)

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

Family

ID=54552720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014080980A Pending JP2015201813A (ja) 2014-04-10 2014-04-10 プログラマブルゲートアレイ

Country Status (1)

Country Link
JP (1) JP2015201813A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109982147A (zh) * 2019-03-13 2019-07-05 青岛海信电器股份有限公司 复位装置、复位处理方法及显示设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252558A (ja) * 2000-12-20 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> プログラマブル論理セルアレイ回路及びその初期化方法
JP2006344223A (ja) * 2005-06-08 2006-12-21 Altera Corp プログラマブル・デバイスの構成エラー検出の偽陽性の低減
JP2007293856A (ja) * 2006-04-21 2007-11-08 Altera Corp プログラマブルデバイスに対するソフトエラーロケーションおよび感度検出
JP2011216020A (ja) * 2010-04-01 2011-10-27 Mitsubishi Electric Corp 情報処理装置および回路再構成装置
JP2012053778A (ja) * 2010-09-02 2012-03-15 Toshinori Sueyoshi プログラマブル論理回路のエラー訂正回路
JP2013046181A (ja) * 2011-08-24 2013-03-04 Hitachi Ltd プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252558A (ja) * 2000-12-20 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> プログラマブル論理セルアレイ回路及びその初期化方法
JP2006344223A (ja) * 2005-06-08 2006-12-21 Altera Corp プログラマブル・デバイスの構成エラー検出の偽陽性の低減
JP2007293856A (ja) * 2006-04-21 2007-11-08 Altera Corp プログラマブルデバイスに対するソフトエラーロケーションおよび感度検出
JP2011216020A (ja) * 2010-04-01 2011-10-27 Mitsubishi Electric Corp 情報処理装置および回路再構成装置
JP2012053778A (ja) * 2010-09-02 2012-03-15 Toshinori Sueyoshi プログラマブル論理回路のエラー訂正回路
JP2013046181A (ja) * 2011-08-24 2013-03-04 Hitachi Ltd プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109982147A (zh) * 2019-03-13 2019-07-05 青岛海信电器股份有限公司 复位装置、复位处理方法及显示设备
CN109982147B (zh) * 2019-03-13 2020-09-29 海信视像科技股份有限公司 复位装置、复位处理方法及显示设备

Similar Documents

Publication Publication Date Title
KR101358776B1 (ko) 장비의 리부트 이유를 기록하는 장치 및 방법
US8099625B1 (en) Self-checking and self-correcting internal configuration port circuitry
US8032817B2 (en) Error detection and location circuitry for configuration random-access memory
US7589558B1 (en) Method and apparatus for configuring an integrated circuit
US10078565B1 (en) Error recovery for redundant processing circuits
JP6290934B2 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
JP2016167669A (ja) プログラマブル論理回路装置及びそのエラー検出方法
US9575862B1 (en) Integrated circuits with error handling capabilities
US9792184B2 (en) Processing device with self-scrubbing logic
Ebrahim et al. On enhancing the reliability of internal configuration controllers in FPGAs
US8595442B1 (en) Redundantly validating values with a processor and a check circuit
US8549379B2 (en) Classifying a criticality of a soft error and mitigating the soft error based on the criticality
JP6408482B2 (ja) プログラマブルデバイス及びこれを用いた電子システム装置
JP6220972B2 (ja) 集積回路およびプログラマブルデバイス
US20130305000A1 (en) Signal processing circuit
Miculka et al. Generic partial dynamic reconfiguration controller for transient and permanent fault mitigation in fault tolerant systems implemented into fpga
US7626415B1 (en) Method and apparatus for configuring an integrated circuit
JP2015201813A (ja) プログラマブルゲートアレイ
Miculka et al. Methodology for fault tolerant system design based on fpga into limited redundant area
Pérez et al. Performance analysis of see mitigation techniques on zynq ultrascale+ hardened processing fabrics
JP2015201814A (ja) プログラマブルゲートアレイ及び電子装置
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
Ngo et al. Towards a single event upset detector based on COTS FPGA
US20220075688A1 (en) Circuits And Methods For Correcting Errors In Memory
JP6194679B2 (ja) データ補正回路及びデータ補正方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180724