多くのアプリケーション、とりわけ高信頼性アプリケーションにおいて、FPGA の動作中における SEU(single event upset ) の検出および対処機能の重要性がこれまでになく高まっています。Stratix® III デバイスは SEU の影響を軽減し、目標のシステム信頼性を達成あるいはそれを上回るように設計された豊富な機能とソリューションを提供します。
コンフィギュレーション・エラーのチェック
アルテラは、第一世代の Stratix FPGA に、専用 CRC(cyclical redundancy check)バックグラウンド・コンフィギュレーション・チェッカ回路を導入しました。アルテラは Stratix III において、この専用 CRC 回路の機能を以下のようなさまざまな方法で向上させました :
- Stratix III FPGA がデバイス全体に対する 1つの CRC 値ではなく、各コンフィギュレーション・フレームの CRC 値を格納することによる、SEU の検出速度の向上
- Stratix III デバイスの CRC エラー検出エンジンは、シングル・ビットおよび隣接する複数のビット・エラーの SEU の位置を提供
- Stratix III CRC コンフィギュレーション回路は、SEU イベントをシミュレートし緩和手法をテストするための、各種タイプのエラー・インジェクションに対応
図 1. Stratix III FPGA 拡張 CRC コンフィギュレーション・エラー・チェッカ

重大エラーの判断
コンフィギュレーション・エラーの大部分は FPGA の機能に影響を与えないため、これらの「無関係」のソフト・エラーを無視する機能により SEU からの実際の平均故障時間(MTBF)は長くなります。Stratix III デバイスの拡張された CRC 回路で提供される位置データ、および臨界マップでエラー位置を照合するための少量のロジックを使用して、SEU は図 2 に示すように、各エラーが「重大」かまたは「無関係」かを判断することができます。
「無関係」のコンフィギュレーション・エラーの場合、SEU を無視して実行を継続することができます。臨界マップは Quartus® II 開発ツールにより自動的に生成され、アクティブ・シリアル・コンフィギュレーション・メモリなどのユーザ定義インタフェースを介してアクセスされます。臨界プロセッサ・ロジックはリファレンス・デザインとして次期バージョンの Quartus II ソフトウェアから提供され、TMR(triple module redundancy)手法により完全性を最大限に高めます。
図 2. 重大なコンフィギュレーション・エラーの検出

オンチップ・メモリ・エラーのチェック
Stratix III デバイスは、コンフィギュレーション・メモリのチェックに加え、オンチップ・メモリの完全性もチェックします。9 番目のメモリ・ビットおよび自動的に生成された誤り訂正コード(ECC)回路を使用して、MLAB および M9K ブロックは SEU を緩和します。M144 K ブロックではメモリ・ブロック内のハード回路で ECC 回路を実現しています。
3 種類のオン・チップ・メモリ・ブロックはそれぞれ ECC を使用して最大 2 ビットのエラーを検出し、シングル・ビット・エラーを自動的に訂正できます。ECC 機能の構成は、次期バージョンの Quartus II ソフトウェアのメモリ MegaWizzard® Plug-in を使用して容易に設定することができます。
