JP2005235074A - Fpgaのソフトエラー補正方法 - Google Patents
Fpgaのソフトエラー補正方法 Download PDFInfo
- Publication number
- JP2005235074A JP2005235074A JP2004046267A JP2004046267A JP2005235074A JP 2005235074 A JP2005235074 A JP 2005235074A JP 2004046267 A JP2004046267 A JP 2004046267A JP 2004046267 A JP2004046267 A JP 2004046267A JP 2005235074 A JP2005235074 A JP 2005235074A
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- spare
- soft error
- error
- software 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.)
- Withdrawn
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Hardware Redundancy (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Logic Circuits (AREA)
Abstract
【課題】 FPGAのソフトエラー発生の検出および補正を可能にし、FPGAの運用中にソフトエラーが発生した場合でも運用の停止を避けることを可能にする。
【解決手段】 FPGAのソフトエラー対策方法は、FPGAのコンフィグを完了し、FPGAのJTAGポートから、FPGAのコンフィグ後は変化しない固定情報を読み出し、読み出した固定情報にソフトエラーが発生したかどうかを検出し、エラーが発生した場合はJTAGポートを使用して該エラーの補正を行う、というステップを備え、ソフトエラーが発生したかどうかは、誤り訂正符号を用いて行い、FPGAは運用中のFPGAと予備のFPGAとの二重化構成となっており、ソフトエラーが運用中のFPGAで発生した場合は運用中のFPGAを予備のFPGAに切替え、且つ切替え前の予備のFPGAを運用中のFPGAに切替え、予備のFPGAのソフトエラー発生箇所をリコンフィグする。
【選択図】 図3
【解決手段】 FPGAのソフトエラー対策方法は、FPGAのコンフィグを完了し、FPGAのJTAGポートから、FPGAのコンフィグ後は変化しない固定情報を読み出し、読み出した固定情報にソフトエラーが発生したかどうかを検出し、エラーが発生した場合はJTAGポートを使用して該エラーの補正を行う、というステップを備え、ソフトエラーが発生したかどうかは、誤り訂正符号を用いて行い、FPGAは運用中のFPGAと予備のFPGAとの二重化構成となっており、ソフトエラーが運用中のFPGAで発生した場合は運用中のFPGAを予備のFPGAに切替え、且つ切替え前の予備のFPGAを運用中のFPGAに切替え、予備のFPGAのソフトエラー発生箇所をリコンフィグする。
【選択図】 図3
Description
本発明はFPGA(Field Programmable Gate Array)のソフトエラー補正方法に関し、特にFPGA内のコンフィグ後にソフトエラーによる場合以外は変化しない固定情報に発生したソフトエラーを検出し補正する方法に関する。
近年、半導体技術の進歩によりLSI等の論理素子の集積度向上が急速に進み、これまでの設計では問題に上がらなかった宇宙線によるソフトエラーの問題が表面化してきている。これはLSIだけではなく大容量化の進むFPGAに関しても問題視されている。
従来からSRAM等のメモリーで発生するソフトエラーをECC回路により補正する方法は広く知られている(例えば、特許文献1、2参照。)。しかし、FPGAに関しては未だその対策は取られておらず、その対処方法が要望されている。
特許文献3(特開平8−958118号公報)にはFPGAの内部情報(論理セル)を収得する技術が開示されているが、この機能の実現にはFPGAに対する外部回路が必要となるという問題がある。また、この特許文献3に記載の技術は、ある一瞬の選択されたFPGAの内部情報を読み出すだけのものにすぎず、ソフトエラーの検出及び補正はされていないという問題がある。
特開2002−366444号公報
特開昭64−19600号公報
特開平8−95818号公報
特許文献3(特開平8−958118号公報)にはFPGAの内部情報(論理セル)を収得する技術が開示されているが、この機能の実現にはFPGAに対する外部回路が必要となるという問題がある。また、この特許文献3に記載の技術は、ある一瞬の選択されたFPGAの内部情報を読み出すだけのものにすぎず、ソフトエラーの検出及び補正はされていないという問題がある。
解決しようとする問題点は、従来のFPGAでは、ソフトエラー発生の検出および補正する機能は有していないという問題点、及び、FPGAの運用中にソフトエラーが発生した場合、一重化構成のシステムだとFPGAをリコンフィグするために運用を停止することや、場合によっては検出されることなく運用が続けられることもあるという問題点である。
本発明では、上記問題点を軽減する方法を提供することを目的とする。
上記の目的を達成するために、本発明により、FPGAのコンフィグを完了し、FPGAのJTAGポートから、前記FPGAのコンフィグ後はソフトエラーによる場合以外は変化しない固定情報を読み出し、読み出した固定情報にソフトエラーが発生したかどうかを検出し、エラーが発生した場合はJTAGポートを使用して該エラーの補正を行う、というステップを備えることを特徴とするFPGAのソフトエラー対策方法が提供される。
ソフトエラーが発生したかどうかを検出するステップは、誤り訂正符号を用いて行うことができる。
FPGAは運用中のFPGAと予備のFPGAとの二重化構成となっており、読み出した固定情報にソフトエラーが発生した場合に、該ソフトエラーは運用中のFPGAで発生したか予備のFPGAで発生したかを判定し、ソフトエラーが運用中のFPGAで発生した場合は該運用中のFPGAを予備のFPGAに切替え、且つ切替え前の予備のFPGAを運用中のFPGAに切替え、予備のFPGAのソフトエラー発生箇所をリコンフィグし、ソフトエラーが予備のFPGAで発生した場合は予備のFPGAのソフトエラー発生箇所をリコンフィグするというステップを備えてもよい。
FPGAのコンフィグ完了後の固定情報をメモリに格納し、リコンフィグは、メモリに格納された固定情報をJTAGポートを使用してFPGAに再格納することにより行ってもよい。
JTAGポートを使用してFPGA内部の固定情報のソフトエラーを検出し補正する方法であるので、複数のFPGAに対して、またどのベンダーのFPGAに対してもソフトエラーの検出及びその補正が可能である。
またFPGA内部にて二重化構成をとることで、運用中のバンクにてエラーが発生した場合非運用のバンクに切り替え後該当バンクをリコンフィグすることで、FPGAの運用を停止することなくソフトエラーを回避することができる。
本発明によれば、FPGAソフトエラー検出およびエラー補正を動的に行えるので、装置としての信頼性向上を図ることができる。
またFPGA内部にて二重化構成をとることで、運用中のバンクにてエラーが発生した場合非運用のバンクに切り替え後該当バンクをリコンフィグすることで、FPGAの運用を停止することなくソフトエラーを回避することができる。
本発明によれば、FPGAソフトエラー検出およびエラー補正を動的に行えるので、装置としての信頼性向上を図ることができる。
以下、本発明の実施例を図面により詳述する。
図1は本発明の実施例によるFPGAのソフトエラー補正システムを示す図である。同図において、1はFPGA、2はFPGAのコンフィグ(プログラミング)およびECCエラーチェックをおこなうためのモジュール、3はECC演算結果を格納するための外部メモリを示す。
FPGA1はバンク11とバンク12の2つのバンクを備え、バンクの一方が運用中のときは他方は予備として機能する。また、FPGA1は、これを試験するためにデータをFPGA1から読み出すためのJTAG(Joint Test Action Group)ポート13を備えている。
図2は図1に示したFPGA1内のバンク11又は12の配線構造例を示す図である。同図において、SBはスイッチブロック、CBはコネクションブロック、LBはロジックブロック、IOBは入出力ブロックである。
ここでFPGAから収得する情報はFPGA内部のSBおよびCBの情報、即ちFPGAの配線構造情報に関してのみである。SBおよびCBは配線チャネルの各交点に配置され,上下左右のLBを接続する役割がある。これらのブロックSB及びCBはSRAMセルによって制御されており、一度FPGAがコンフィグ(プログラミング)されると、このSB及びCBの情報はソフトエラーによる場合以外は変化をしない。
図3は本発明の実施例によるFPGAのソフトエラー補正方法を説明するフローチャートである。図3において、FPGA1の初期状態でステップS1を実行してバンク11及び12のコンフィグ(プログラミング)を完了する。これは、FPGA1及びコンフィグモジュール2に電源を投入することにより自動的に行われる。
次に、コンフィグが完了したFPGAに対して、ステップS2にて、JTAGポート13よりバンク11およびバンク12のFPGA内部のCB及びSBの情報を収得し、コンフィグモジュール2により各バンクに対してECC演算を行い、得られた結果を外部メモリ3に格納する。
次いでステップS3で、コンフィグジュール3は周期的にFPGA1の内部配線構造情報を読み出し、そのECC演算結果とメモリ3に格納されている結果とを比較してエラーチェックを行う。
このエラーチェックの結果、ステップS4にてエラーが発生した時は、ステップS5にてそのエラーが発生したバンクが運用中のバンクか否かを判定する。そのエラーが発生したバンクが運用中のバンクの場合は、ステップS6にて運用中のバンクを予備のバンクに切替え、予備であったバンクを運用中のバンクに切り替える。
次いで、ステップS7にて、予備のバンクに対してコンフィグモジュール2によりリコンフィグをかけエラーの補正を行う。
また、ステップS5にてエラーが発生したバンクが予備のバンクの場合は、バンク切り替えは行わず、ステップS7にてその予備バンクにリコンフィグをかけてエラーを補正する。
図1は本発明の実施例によるFPGAのソフトエラー補正システムを示す図である。同図において、1はFPGA、2はFPGAのコンフィグ(プログラミング)およびECCエラーチェックをおこなうためのモジュール、3はECC演算結果を格納するための外部メモリを示す。
FPGA1はバンク11とバンク12の2つのバンクを備え、バンクの一方が運用中のときは他方は予備として機能する。また、FPGA1は、これを試験するためにデータをFPGA1から読み出すためのJTAG(Joint Test Action Group)ポート13を備えている。
図2は図1に示したFPGA1内のバンク11又は12の配線構造例を示す図である。同図において、SBはスイッチブロック、CBはコネクションブロック、LBはロジックブロック、IOBは入出力ブロックである。
ここでFPGAから収得する情報はFPGA内部のSBおよびCBの情報、即ちFPGAの配線構造情報に関してのみである。SBおよびCBは配線チャネルの各交点に配置され,上下左右のLBを接続する役割がある。これらのブロックSB及びCBはSRAMセルによって制御されており、一度FPGAがコンフィグ(プログラミング)されると、このSB及びCBの情報はソフトエラーによる場合以外は変化をしない。
図3は本発明の実施例によるFPGAのソフトエラー補正方法を説明するフローチャートである。図3において、FPGA1の初期状態でステップS1を実行してバンク11及び12のコンフィグ(プログラミング)を完了する。これは、FPGA1及びコンフィグモジュール2に電源を投入することにより自動的に行われる。
次に、コンフィグが完了したFPGAに対して、ステップS2にて、JTAGポート13よりバンク11およびバンク12のFPGA内部のCB及びSBの情報を収得し、コンフィグモジュール2により各バンクに対してECC演算を行い、得られた結果を外部メモリ3に格納する。
次いでステップS3で、コンフィグジュール3は周期的にFPGA1の内部配線構造情報を読み出し、そのECC演算結果とメモリ3に格納されている結果とを比較してエラーチェックを行う。
このエラーチェックの結果、ステップS4にてエラーが発生した時は、ステップS5にてそのエラーが発生したバンクが運用中のバンクか否かを判定する。そのエラーが発生したバンクが運用中のバンクの場合は、ステップS6にて運用中のバンクを予備のバンクに切替え、予備であったバンクを運用中のバンクに切り替える。
次いで、ステップS7にて、予備のバンクに対してコンフィグモジュール2によりリコンフィグをかけエラーの補正を行う。
また、ステップS5にてエラーが発生したバンクが予備のバンクの場合は、バンク切り替えは行わず、ステップS7にてその予備バンクにリコンフィグをかけてエラーを補正する。
以上のように、本発明によれば、FPGAに試験用に設けられているJTAGポートからコンフィグ後にソフトエラーによる以外は変化しないCB及びSBの情報を読み出すことにより、FPGAのエラー検出及び補正を行うことが可能になる。
1…FPGA
2…コンフィグモジュール
3…メモリ
11…バンク
12…バンク
13…JTAGポート
2…コンフィグモジュール
3…メモリ
11…バンク
12…バンク
13…JTAGポート
Claims (5)
- FPGAのコンフィグを完了し、
前記FPGAのJTAGポートから、前記FPGAのコンフィグ後はソフトエラーによる場合以外は変化しない固定情報を読み出し、
前記読み出した固定情報にソフトエラーが発生したかどうかを検出し、
エラーが発生した場合は前記JTAGポートを使用して該エラーの補正を行う、
というステップを備えることを特徴とするFPGAのソフトエラー補正方法。 - 前記ソフトエラーが発生したかどうかを検出するステップは、誤り訂正符号を用いて行うことを特徴とする請求項1に記載の方法。
- 前記FPGAは運用中のFPGAと予備のFPGAとの二重化構成となっており、
前記読み出した固定情報にソフトエラーが発生した場合に、該ソフトエラーは前記運用中のFPGAで発生したか前記予備のFPGAで発生したかを判定し、
前記ソフトエラーが前記運用中のFPGAで発生した場合は該運用中のFPGAを予備のFPGAに切替え、且つ前記切替え前の前記予備のFPGAを運用中のFPGAに切替え、
前記予備のFPGAの前記ソフトエラー発生箇所をリコンフィグする
というステップを備える、請求項1又は2に記載の方法。 - 前記FPGAは運用中のFPGAと予備のFPGAとの二重化構成となっており、
前記読み出した固定情報にソフトエラーが発生した場合に、該ソフトエラーは前記運用中のFPGAで発生したか前記予備のFPGAで発生したかを判定し、
前記ソフトエラーが前記予備のFPGAで発生した場合は前記予備のFPGAの前記ソフトエラー発生箇所をリコンフィグする
というステップを備える、請求項1又は2に記載の方法。 - 前記FPGAのコンフィグ完了後の前記固定情報をメモリに格納し、
前記リコンフィグは、前記メモリに格納された前記固定情報を前記JTAGポートを使用して前記FPGAに再格納することにより行うことを特徴とする請求項1から4のいずれか一項に記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004046267A JP2005235074A (ja) | 2004-02-23 | 2004-02-23 | Fpgaのソフトエラー補正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004046267A JP2005235074A (ja) | 2004-02-23 | 2004-02-23 | Fpgaのソフトエラー補正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005235074A true JP2005235074A (ja) | 2005-09-02 |
Family
ID=35017948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004046267A Withdrawn JP2005235074A (ja) | 2004-02-23 | 2004-02-23 | Fpgaのソフトエラー補正方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005235074A (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009516277A (ja) * | 2005-11-18 | 2009-04-16 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つのレジスタ付き処理ユニットを有するシステムにおいてエラーを除去する装置および方法 |
CN101826045A (zh) * | 2010-05-28 | 2010-09-08 | 哈尔滨工业大学 | 一种可重构星载计算机永久性故障电路的在线修复方法 |
JP2012014353A (ja) * | 2010-06-30 | 2012-01-19 | Fujitsu Ltd | 制御装置、情報処理装置、制御プログラム、及び制御方法 |
JP2014197754A (ja) * | 2013-03-29 | 2014-10-16 | 大同信号株式会社 | 二線式検査回路搭載fpga |
WO2015068285A1 (ja) * | 2013-11-08 | 2015-05-14 | 株式会社日立製作所 | プログラマブルデバイス及びこれを用いた電子システム装置 |
JP2015119359A (ja) * | 2013-12-18 | 2015-06-25 | 富士通株式会社 | 論理回路及び論理回路の制御方法 |
WO2016068264A1 (ja) * | 2014-10-31 | 2016-05-06 | 川崎重工業株式会社 | 制御回路基板およびロボット制御装置 |
US9560232B2 (en) | 2014-08-25 | 2017-01-31 | Canon Kabushiki Kaisha | Image processing apparatus, method of controlling the same, and storage medium for configuring a reconfigurable device |
US9652327B2 (en) | 2015-04-17 | 2017-05-16 | Microsoft Technology Licensing, Llc | Restoring service acceleration |
US9792154B2 (en) | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US10511478B2 (en) | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
-
2004
- 2004-02-23 JP JP2004046267A patent/JP2005235074A/ja not_active Withdrawn
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009516277A (ja) * | 2005-11-18 | 2009-04-16 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つのレジスタ付き処理ユニットを有するシステムにおいてエラーを除去する装置および方法 |
CN101826045A (zh) * | 2010-05-28 | 2010-09-08 | 哈尔滨工业大学 | 一种可重构星载计算机永久性故障电路的在线修复方法 |
JP2012014353A (ja) * | 2010-06-30 | 2012-01-19 | Fujitsu Ltd | 制御装置、情報処理装置、制御プログラム、及び制御方法 |
JP2014197754A (ja) * | 2013-03-29 | 2014-10-16 | 大同信号株式会社 | 二線式検査回路搭載fpga |
WO2015068285A1 (ja) * | 2013-11-08 | 2015-05-14 | 株式会社日立製作所 | プログラマブルデバイス及びこれを用いた電子システム装置 |
JPWO2015068285A1 (ja) * | 2013-11-08 | 2017-03-09 | 株式会社日立製作所 | プログラマブルデバイス及びこれを用いた電子システム装置 |
JP2015119359A (ja) * | 2013-12-18 | 2015-06-25 | 富士通株式会社 | 論理回路及び論理回路の制御方法 |
US9560232B2 (en) | 2014-08-25 | 2017-01-31 | Canon Kabushiki Kaisha | Image processing apparatus, method of controlling the same, and storage medium for configuring a reconfigurable device |
US10251275B2 (en) | 2014-10-31 | 2019-04-02 | Kawasaki Jukogyo Kabushiki Kaisha | Control circuit board and robot control device |
JP2016092111A (ja) * | 2014-10-31 | 2016-05-23 | 川崎重工業株式会社 | 制御回路基板およびロボット制御装置 |
CN107107341A (zh) * | 2014-10-31 | 2017-08-29 | 川崎重工业株式会社 | 控制电路衬底及机器人控制装置 |
WO2016068264A1 (ja) * | 2014-10-31 | 2016-05-06 | 川崎重工業株式会社 | 制御回路基板およびロボット制御装置 |
CN107107341B (zh) * | 2014-10-31 | 2020-03-03 | 川崎重工业株式会社 | 控制电路衬底及机器人控制装置 |
US9652327B2 (en) | 2015-04-17 | 2017-05-16 | Microsoft Technology Licensing, Llc | Restoring service acceleration |
US9792154B2 (en) | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US10511478B2 (en) | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
US11010198B2 (en) | 2015-04-17 | 2021-05-18 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7328384B1 (en) | Method and apparatus using device defects as an identifier | |
JP2005235074A (ja) | Fpgaのソフトエラー補正方法 | |
US7539926B1 (en) | Method of correcting errors stored in a memory array | |
EP1848001B1 (en) | Soft error location and sensitivity detection for programmable devices | |
US7987398B2 (en) | Reconfigurable device | |
US7788551B2 (en) | System and method for repairing a memory | |
US8065574B1 (en) | Soft error detection logic testing systems and methods | |
JP5127737B2 (ja) | 半導体装置 | |
JP2007257791A (ja) | 半導体記憶装置 | |
US7937647B2 (en) | Error-detecting and correcting FPGA architecture | |
JP6282482B2 (ja) | プログラマブル回路装置、コンフィギュレーション情報修復方法 | |
US10665316B2 (en) | Memory device | |
US9575862B1 (en) | Integrated circuits with error handling capabilities | |
JP5446229B2 (ja) | 電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法 | |
US7313733B2 (en) | System and method of improving memory yield in frame buffer memory using failing memory location | |
JP2009181425A (ja) | メモリモジュール | |
JP2012053778A (ja) | プログラマブル論理回路のエラー訂正回路 | |
JP5486139B2 (ja) | ソフトエラーのクリティカリティの分類およびクリティカリティに基づくソフトエラーの緩和 | |
WO2015068285A1 (ja) | プログラマブルデバイス及びこれを用いた電子システム装置 | |
JP2018181206A (ja) | データ処理装置、データ処理方法およびプログラム | |
CN103389921A (zh) | 信号处理电路以及使用了该信号处理电路的试验装置 | |
US8006143B2 (en) | Semiconductor memory device and semiconductor memory device test method | |
JP2004280893A (ja) | 半導体装置 | |
JP2006099305A (ja) | プログラマブルlsiのコンフィグレーション制御方法 | |
JPH02270200A (ja) | 半導体メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070501 |