(57)【要約】【課題】  ＦＰＧＡのソフトエラー発生の検出および補正を可能にし、ＦＰＧＡの運用中にソフトエラーが発生した場合でも運用の停止を避けることを可能にする。【解決手段】  ＦＰＧＡのソフトエラー対策方法は、ＦＰＧＡのコンフィグを完了し、ＦＰＧＡのＪＴＡＧポートから、ＦＰＧＡのコンフィグ後は変化しない固定情報を読み出し、読み出した固定情報にソフトエラーが発生したかどうかを検出し、エラーが発生した場合はＪＴＡＧポートを使用して該エラーの補正を行う、というステップを備え、ソフトエラーが発生したかどうかは、誤り訂正符号を用いて行い、ＦＰＧＡは運用中のＦＰＧＡと予備のＦＰＧＡとの二重化構成となっており、ソフトエラーが運用中のＦＰＧＡで発生した場合は運用中のＦＰＧＡを予備のＦＰＧＡに切替え、且つ切替え前の予備のＦＰＧＡを運用中のＦＰＧＡに切替え、予備のＦＰＧＡのソフトエラー発生箇所をリコンフィグする。【選択図】      図３
2005235074.tif 000002
【特許請求の範囲】
【請求項１】
ＦＰＧＡのコンフィグを完了し、
前記ＦＰＧＡのＪＴＡＧポートから、前記ＦＰＧＡのコンフィグ後はソフトエラーによる場合以外は変化しない固定情報を読み出し、
前記読み出した固定情報にソフトエラーが発生したかどうかを検出し、
エラーが発生した場合は前記ＪＴＡＧポートを使用して該エラーの補正を行う、
というステップを備えることを特徴とするＦＰＧＡのソフトエラー補正方法。
【請求項２】
前記ソフトエラーが発生したかどうかを検出するステップは、誤り訂正符号を用いて行うことを特徴とする請求項１に記載の方法。
【請求項３】
前記ＦＰＧＡは運用中のＦＰＧＡと予備のＦＰＧＡとの二重化構成となっており、
前記読み出した固定情報にソフトエラーが発生した場合に、該ソフトエラーは前記運用中のＦＰＧＡで発生したか前記予備のＦＰＧＡで発生したかを判定し、
前記ソフトエラーが前記運用中のＦＰＧＡで発生した場合は該運用中のＦＰＧＡを予備のＦＰＧＡに切替え、且つ前記切替え前の前記予備のＦＰＧＡを運用中のＦＰＧＡに切替え、
前記予備のＦＰＧＡの前記ソフトエラー発生箇所をリコンフィグする
というステップを備える、請求項1又は２に記載の方法。
【請求項４】
前記ＦＰＧＡは運用中のＦＰＧＡと予備のＦＰＧＡとの二重化構成となっており、
前記読み出した固定情報にソフトエラーが発生した場合に、該ソフトエラーは前記運用中のＦＰＧＡで発生したか前記予備のＦＰＧＡで発生したかを判定し、
前記ソフトエラーが前記予備のＦＰＧＡで発生した場合は前記予備のＦＰＧＡの前記ソフトエラー発生箇所をリコンフィグする
というステップを備える、請求項1又は２に記載の方法。
【請求項５】
前記ＦＰＧＡのコンフィグ完了後の前記固定情報をメモリに格納し、
前記リコンフィグは、前記メモリに格納された前記固定情報を前記ＪＴＡＧポートを使用して前記ＦＰＧＡに再格納することにより行うことを特徴とする請求項１から４のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＦＰＧＡ（Field Programmable Gate Array)のソフトエラー補正方法に関し、特にＦＰＧＡ内のコンフィグ後にソフトエラーによる場合以外は変化しない固定情報に発生したソフトエラーを検出し補正する方法に関する。
【背景技術】
【０００２】
近年、半導体技術の進歩によりＬＳＩ等の論理素子の集積度向上が急速に進み、これまでの設計では問題に上がらなかった宇宙線によるソフトエラーの問題が表面化してきている。これはＬＳＩだけではなく大容量化の進むＦＰＧＡに関しても問題視されている。
【０００３】
従来からＳＲＡＭ等のメモリーで発生するソフトエラーをＥＣＣ回路により補正する方法は広く知られている（例えば、特許文献１、２参照。）。しかし、ＦＰＧＡに関しては未だその対策は取られておらず、その対処方法が要望されている。
特許文献３（特開平８−９５８１１８号公報）にはＦＰＧＡの内部情報（論理セル）を収得する技術が開示されているが、この機能の実現にはＦＰＧＡに対する外部回路が必要となるという問題がある。また、この特許文献３に記載の技術は、ある一瞬の選択されたＦＰＧＡの内部情報を読み出すだけのものにすぎず、ソフトエラーの検出及び補正はされていないという問題がある。
【特許文献１】特開２００２−３６６４４４号公報
【特許文献２】特開昭６４−１９６００号公報
【特許文献３】特開平８−９５８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
解決しようとする問題点は、従来のＦＰＧＡでは、ソフトエラー発生の検出および補正する機能は有していないという問題点、及び、ＦＰＧＡの運用中にソフトエラーが発生した場合、一重化構成のシステムだとＦＰＧＡをリコンフィグするために運用を停止することや、場合によっては検出されることなく運用が続けられることもあるという問題点である。
【０００５】
本発明では、上記問題点を軽減する方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明により、ＦＰＧＡのコンフィグを完了し、ＦＰＧＡのＪＴＡＧポートから、前記ＦＰＧＡのコンフィグ後はソフトエラーによる場合以外は変化しない固定情報を読み出し、読み出した固定情報にソフトエラーが発生したかどうかを検出し、エラーが発生した場合はＪＴＡＧポートを使用して該エラーの補正を行う、というステップを備えることを特徴とするＦＰＧＡのソフトエラー対策方法が提供される。
【０００７】
ソフトエラーが発生したかどうかを検出するステップは、誤り訂正符号を用いて行うことができる。
【０００８】
ＦＰＧＡは運用中のＦＰＧＡと予備のＦＰＧＡとの二重化構成となっており、読み出した固定情報にソフトエラーが発生した場合に、該ソフトエラーは運用中のＦＰＧＡで発生したか予備のＦＰＧＡで発生したかを判定し、ソフトエラーが運用中のＦＰＧＡで発生した場合は該運用中のＦＰＧＡを予備のＦＰＧＡに切替え、且つ切替え前の予備のＦＰＧＡを運用中のＦＰＧＡに切替え、予備のＦＰＧＡのソフトエラー発生箇所をリコンフィグし、ソフトエラーが予備のＦＰＧＡで発生した場合は予備のＦＰＧＡのソフトエラー発生箇所をリコンフィグするというステップを備えてもよい。
【０００９】
ＦＰＧＡのコンフィグ完了後の固定情報をメモリに格納し、リコンフィグは、メモリに格納された固定情報をＪＴＡＧポートを使用してＦＰＧＡに再格納することにより行ってもよい。
【発明の効果】
【００１０】
ＪＴＡＧポートを使用してＦＰＧＡ内部の固定情報のソフトエラーを検出し補正する方法であるので、複数のＦＰＧＡに対して、またどのベンダーのＦＰＧＡに対してもソフトエラーの検出及びその補正が可能である。
またＦＰＧＡ内部にて二重化構成をとることで、運用中のバンクにてエラーが発生した場合非運用のバンクに切り替え後該当バンクをリコンフィグすることで、ＦＰＧＡの運用を停止することなくソフトエラーを回避することができる。
本発明によれば、ＦＰＧＡソフトエラー検出およびエラー補正を動的に行えるので、装置としての信頼性向上を図ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施例を図面により詳述する。
図１は本発明の実施例によるＦＰＧＡのソフトエラー補正システムを示す図である。同図において、１はＦＰＧＡ、２はＦＰＧＡのコンフィグ（プログラミング）およびＥＣＣエラーチェックをおこなうためのモジュール、３はＥＣＣ演算結果を格納するための外部メモリを示す。
ＦＰＧＡ１はバンク１１とバンク１２の２つのバンクを備え、バンクの一方が運用中のときは他方は予備として機能する。また、ＦＰＧＡ１は、これを試験するためにデータをＦＰＧＡ１から読み出すためのＪＴＡＧ(Joint Test Action Group)ポート１３を備えている。
図２は図１に示したＦＰＧＡ１内のバンク１１又は１２の配線構造例を示す図である。同図において、ＳＢはスイッチブロック、ＣＢはコネクションブロック、ＬＢはロジックブロック、ＩＯＢは入出力ブロックである。
ここでＦＰＧＡから収得する情報はＦＰＧＡ内部のＳＢおよびＣＢの情報、即ちＦＰＧＡの配線構造情報に関してのみである。ＳＢおよびＣＢは配線チャネルの各交点に配置され，上下左右のＬＢを接続する役割がある。これらのブロックＳＢ及びＣＢはＳＲＡＭセルによって制御されており、一度ＦＰＧＡがコンフィグ（プログラミング）されると、このＳＢ及びＣＢの情報はソフトエラーによる場合以外は変化をしない。
図３は本発明の実施例によるＦＰＧＡのソフトエラー補正方法を説明するフローチャートである。図３において、ＦＰＧＡ１の初期状態でステップＳ１を実行してバンク１１及び１２のコンフィグ（プログラミング）を完了する。これは、ＦＰＧＡ１及びコンフィグモジュール２に電源を投入することにより自動的に行われる。
次に、コンフィグが完了したＦＰＧＡに対して、ステップＳ２にて、ＪＴＡＧポート１３よりバンク１１およびバンク１２のＦＰＧＡ内部のＣＢ及びＳＢの情報を収得し、コンフィグモジュール２により各バンクに対してＥＣＣ演算を行い、得られた結果を外部メモリ３に格納する。
次いでステップＳ３で、コンフィグジュール３は周期的にＦＰＧＡ１の内部配線構造情報を読み出し、そのＥＣＣ演算結果とメモリ３に格納されている結果とを比較してエラーチェックを行う。
このエラーチェックの結果、ステップＳ４にてエラーが発生した時は、ステップＳ５にてそのエラーが発生したバンクが運用中のバンクか否かを判定する。そのエラーが発生したバンクが運用中のバンクの場合は、ステップＳ６にて運用中のバンクを予備のバンクに切替え、予備であったバンクを運用中のバンクに切り替える。
次いで、ステップＳ７にて、予備のバンクに対してコンフィグモジュール２によりリコンフィグをかけエラーの補正を行う。
また、ステップＳ５にてエラーが発生したバンクが予備のバンクの場合は、バンク切り替えは行わず、ステップＳ７にてその予備バンクにリコンフィグをかけてエラーを補正する。
【産業上の利用可能性】
【００１２】
以上のように、本発明によれば、ＦＰＧＡに試験用に設けられているＪＴＡＧポートからコンフィグ後にソフトエラーによる以外は変化しないＣＢ及びＳＢの情報を読み出すことにより、ＦＰＧＡのエラー検出及び補正を行うことが可能になる。
【図面の簡単な説明】
【００１３】
【図１】発明の実施例によるＦＰＧＡのソフトエラー補正システムを示す図である。
【図２】図１に示したＦＰＧＡ１内のバンク１１又は１２の配線構造例を示す図である。
【図３】本発明の実施例によるＦＰＧＡのソフトエラー補正方法を説明するフローチャートである。
【符号の説明】
【００１４】
１…ＦＰＧＡ
２…コンフィグモジュール
３…メモリ
１１…バンク
１２…バンク
１３…ＪＴＡＧポート
【図１】
2005235074.tif 000003
【図２】
2005235074.tif 000004
【図３】
2005235074.tif 000005