Cyclone V デバイスでの SEU の緩和 2015.06.12 CV-52008 更新情報 8 フィードバック この章では、Cyclone V デバイスでのエラー検出機能について説明します。この機能を使用して、 SEU(Single Event Upset)やソフト・エラーを緩和します。 関連情報 Cyclone V Device Handbook: Known Issues Cyclone V Device Handbook の章で予定されている更新をリストしています。 エラー検出機能 オンチップ・エラー検出 CRC 回路の使用により、フィッティング、あるいはデバイスの性能に 影響を与えることなく、以下の動作を行うことができます。 • コンフィギュレーション中の CRC エラーの自動検出 • ユーザー・モードでのオプションの CRC エラー検出と識別 • ユーザー・モードでのオプションの内部スクラブ。有効にした際に、この機能は 1 ビット・ エラーまたは隣接する 2 ビット・エラーを自動的に修正する • JTAG インタフェースを介した意図的なエラー注入によるエラー検出機能のテスト コンフィギュレーション・エラー検出 Quartus II ソフトウェアは、コンフィギュレーション・ビットストリームを生成する際に、各フ レームの 16 ビットの CRC 値も計算します。コンフィギュレーション・ビットストリームは、ビ ットストリームのデータ・フレームの数に応じて 2 つ以上の CRC 値を含むことができます。デ ータ・フレームの長さはデバイスごとに異なります。 コンフィギュレーション時に各データ・フレームが FPGA にロードされると、あらかじめ計算さ れた CRC 値が CRC 回路にシフトされます。同時に、FPGA の CRC エンジンがデータ・フレー ムの CRC 値を計算し、あらかじめ計算された CRC 値と比較します。両方の CRC 値が一致しな い場合に、nSTATUS ピンが Low にセットされてコンフィギュレーション・エラーを示します。 この機能の性能は、コンフィギュレーション中にコンフィギュレーション・ビットストリームを 変更する、もしくはコンフィギュレーション・ビットストリームを意図的に破壊することによっ てテストすることができます。 © 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 8-2 CV-52008 2015.06.12 ユーザー・モード・エラー検出 ユーザー・モード・エラー検出 ユーザー・モードでは、コンフィギュレーションされた CRAM ビットの内容が、ソフト・エラ ーによる影響を受ける可能性があります。これらのソフト・エラーはイオン化した粒子によって 引き起こされますが、アルテラのデバイスにおいて頻繁に発生するものではありません。しか し、デバイスにエラーのない動作を要求する高信頼性アプリケーションでは、デザインがこれら のエラーについて考慮されていることが要求されます。 エラー検出回路を有効にして、ソフト・エラーを検出します。CRAM に格納された各データ・ フレームは、あらかじめ計算された 32 ビットの CRC を含んでいます。この機能が有効にされた 際に、エラー検出機能は CRAM の各フレームに対して 32 ビットの CRC 値を連続的に計算し、 その CRC 値をあらかじめ計算された値と比較します。 • CRC 値が一致すると、syndrome レジスタで 32 ビットの CRC・シグネチャが 0 にセットされ、 エラーが検出されなかったことを示す • それ以外の場合には、syndrome レジスタで得られる 32 ビットの CRC・シグネチャが 0 以外 の値になり、CRC エラーを示す。CRC_ERROR ピンが High に引き上げられ、また、エラー・タ イプと位置が識別される フレーム内でエラー検出回路は、すべての 1 ビット、2 ビット、3 ビット、4 ビットおよび 5 ビ ットのビット・エラーを検出することができます。 1 ビットまたは隣接する 2 ビットのエラーが 検出されると、エラー検出回路はそのビット位置をレポートし、その 1 ビットまたは隣接する 2 ビットのエラーのタイプを特定します。 その他のエラーパターンの発生確率は非常に低くなり ますが、そのビット位置のレポートは保証されません。 また、ソフトエラーによる 5 ビットを 超える CRAM ビットの反転は、さらに、非常に低くなります。 よって、通常、全てのエラーパ ターンを検出できる確率は 99.9999%です。 エラー検出プロセスは、nCONFIG 信号の Low へのセ ットによりデバイスがリセットされるまで継続します。 内部スクラブ 内部スクラブは、ユーザー・モードでソフト・エラーを内部的に修正する機能です。この機能 は、1 ビット・エラーまたは隣接する 2 ビットのエラーを、デバイスのリコンフィギュレーショ ンを伴うことなく自動的に修正します。 注: SEU 内部スクラブ機能は、パート・ナンバーの末尾に SC の付く Cyclone V E、GX、SE、SX デバイスで利用可能です。入手可能なデバイスならびに注文に関して詳しくは、日本アルテ ラまたは販売代理店にお問い合わせください。 図 8-1: ブロック図 Error Detection State Machine 32-Bit CRC Calculation and Error Search Engine Altera Corporation Internal Scrubbing Data Registers, CRC Registers, and CRAM Array Cyclone V デバイスでの SEU の緩和 フィードバック CV-52008 2015.06.12 仕様 8-3 仕様 この項では、ユーザー・モードでのエラー検出向けに、EMR アップデート間隔、エラー検出の 頻度および CRC 演算に要する時間を示します。 最小 EMR アップデート間隔 エラー・メッセージ・レジスタをアップデートする間隔は、デバイスおよびエラー検出クロック の周波数によって異なります。 低いクロック周波数を使用すると間隔が長くなり、したがって、 SEU(Single Event Upset)から回復するための所要時間が長くなります。 表 8-1: Cyclone V デバイスでの最小 EMR アップデート間隔の概算 バリアント Cyclone V E Cyclone V GX Cyclone V GT Cyclone V SE Cyclone V SX Cyclone V ST Cyclone V デバイスでの SEU の緩和 フィードバック メンバー・コード タイミング間隔(µs) A2 1.47 A4 1.47 A5 1.79 A7 2.33 A9 3.23 C3 1.09 C4 1.79 C5 1.79 C7 2.33 C9 3.23 D5 1.79 D7 2.33 D9 3.23 A2 1.77 A4 1.77 A5 2.31 A6 2.31 C4 1.77 C5 2.31 C6 2.31 D5 2.31 D6 2.31 Altera Corporation 8-4 CV-52008 2015.06.12 エラー検出周波数 エラー検出周波数 エラー検出処理の速度は、Quartus II ソフトウェアでクロック周波数の分周係数を設定すること により制御できます。nを以下の表にリストされたいずれかの値にできる場合に、分母は 2n で す。 各データ・フレームのエラー検出処理の速度は以下の式から求めます。 図 8-2: エラー検出頻度の方程式 Error Detection Frequency = Internal Oscillator Frequency 2n 表 8-2: Cyclone V デバイスのエラー検出のための周波数範囲 以下の表に周波数、および有効な n の値を示します。 内蔵オシレータ周 波数 100 MHz エラー検出周波数 最大値 100 MHz 390 kHz 分母の範囲 n 最小値 0、1、2、3、4、5、 1~256 6、7、8 デバイス全体の CRC 演算の時間 各フレーム・ビットで CRC 演算が行われる際に、デバイス全体で CRC 演算が完了するまでの所 要時間を把握しておくことが重用になります。 デバイス全体での検出時間とは、デバイス内の すべてのフレームで CRC 演算を行うために要する時間です。 この時間は、デバイスおよびエラ ー検出クロックの周波数によって決まります。 また、エラー検出クロックの周波数は、デバイ スおよび内部オシレータの周波数によって 42.6MHz から 100MHz まで変動します。 いずれの除数に対しても、以下の公式によって最小および最大時間を計算できます。 最大時間(n)= 2^(n-8)* tMAX 最小時間(n)= 2^n * tMIN ここでの n の範囲は 0 から 8 です。 表 8-3: Cyclone V デバイスでのデバイス EDCRC の検出時間 以下の表に、CRC 値を計算するために要する最小時間と最大時間を示します。 • 最小時間は、最大クロック周波数ならびに除数 0 を用いて導かれる • 最大時間は、最小クロック周波数ならびに除数 8 を用いて導かれる バリアント Cyclone V E Altera Corporation メンバー・コード tMIN(ms) tMAX(s) A2 4 2.08 A4 4 2.08 A5 7 3.54 A7 7 3.62 A9 15 7.40 Cyclone V デバイスでの SEU の緩和 フィードバック CV-52008 2015.06.12 ユーザー・モードでのエラー検出機能の使用 バリアント Cyclone V GX Cyclone V GT Cyclone V SE Cyclone V SX Cyclone V ST メンバー・コード tMIN(ms) tMAX(s) C3 8 4.05 C4 7 3.54 C5 7 3.54 C7 7 3.62 C9 15 7.40 D5 7 3.54 D7 7 3.62 D9 15 7.40 A2 7 3.59 A4 7 3.59 A5 13 6.30 A6 13 6.30 C4 7 3.59 C5 13 6.30 C6 13 6.30 D5 13 6.30 D6 13 6.30 8-5 ユーザー・モードでのエラー検出機能の使用 この項ではユーザー・モードでのエラー検出向けに、ピン、レジスタ、プロセス・フロー、およ び手順について説明します。 エラー検出の有効化 Quartus II ソフトウェアでユーザー・モードのエラー検出と内部スクラブを有効にするには、以 下のステップを実行します。 Assignments メニューで、Device をクリックします。 Device ダイアログ・ボックスで、Device and Pin Options をクリックします。 Category リストで Error Detection CRC をクリックします。 Enable Error Detection CRC_ERROR pin をオンにします。 CRC_ERROR ピンを出力オープン・ドレインにセットするために、Enable open drain on CRC_ERROR pin をオンにします。このピンをオフにすると、CRC_ERROR ピンが出力としてセ ットされます。 6. オンチップ・エラー訂正機能を有効にするために Enable internal scrubbing をオンにします。 7. Divide error check frequency by リストで有効な除数を選択します。 8. OK をクリックします。 1. 2. 3. 4. 5. Cyclone V デバイスでの SEU の緩和 フィードバック Altera Corporation 8-6 CV-52008 2015.06.12 CRC_ERROR ピン CRC_ERROR ピン 表 8-4: ピンの概要 ピン名 ピン・タイプ 概要 I/O または、出力/ アクティブ High の信号であり、High に駆動される 出力オープン・ド と、CRAM ビットでエラーが検出されたことを示 レイン す。 このピンは、ユーザー・モードでエラー検出を 有効にした際にのみ使用される。 それ以外の場合 には、このピンはユーザー I/O ピンとして使用され る。 CRC_ERROR WYSIWYG 機能を使用する際には、crcerror ポート を WYSIWYG アトムから専用 CRC_ERROR ピンまた は任意のユーザー I/O ピンに配線する。 ポートをユーザー I/O ピンまで配線する ために、これらの間に D-type のフリップ・フロップ を挿入する。 crcerror エラー検出レジスタ この項では、ユーザー・モードで使用されるレジスタについて説明します。 図 8-3: ユーザー・モードでのエラー検出のブロック図 以下のブロック図に、ユーザー・モードでのレジスタおよび、データ・フローを示します。 Readback Bitstream with Expected CRC Error Detection State Machine Error Injection Block Fault Injection Register JTAG Fault Injection Register Control Signals 32-bit Error Detection CRC Calculation and Error Search Engine Error Message Register Altera Corporation CRC_ERROR JTAG Update Register User Update Register JTAG Shift Register User Shift Register JTAG TDO Syndrome Register General Routing Cyclone V デバイスでの SEU の緩和 フィードバック CV-52008 2015.06.12 エラー検出レジスタ 8-7 表 8-5: エラー検出レジスタ レジスタ名 幅(ビット) 概要 シンドローム・レジス タ 32 現在のフレーム用に計算された 32 ビットの CRC シグネチ ャを含む。CRC 値が 0 の場合、CRC_ERROR ピンが Low に駆動 されエラーが無いことを表示。それ以外の場合にはピンは High に引き上げられている エラー・メッセージ・ レジスタ(EMR) 67 1 ビット・エラーまたは隣接する 2 ビット・エラーの詳細を 含む。エラー検出回路がエラーを検出するたびに回路がレ ジスタを更新。「エラー・メッセージ・レジスタ・マップ」 の図はこのレジスタのフィールドを示し、 「EMR のエラー・ タイプ」の表は起こりうるエラーの種類を示す JTAG アップデート・ レジスタ 67 このレジスタは、EMR の内容が検証された 1 クロック・サ イクル後に EMR レジスタの内容で自動的に更新される。 JTAG アップデート・レジスタはクロック・イネーブルを含 み、これは JTAG アップデート・レジスタの内容が JTAG シ フト・レジスタに書き込まれる前にアサートされる必要があ る。この条件により、その内容が JTAG シフト・レジスタに 読み出される際に JTAG アップデート・レジスタの内容が上 書きされることを防ぐ JTAG シフト・レジス タ 67 このレジスタにより、SHIFT_EDERROR_REG JTAG 命令を使用し て、JTAG インタフェースを介して JTAG アップデート・レ ジスタの内容にアクセスすることができる ユーザー・アップデー ト・レジスタ 67 このレジスタは、EMR の内容が検証された 1 クロック・サ イクル後に EMR レジスタの内容で自動的に更新される。ユ ーザー・アップデート・レジスタはクロック・イネーブルを 含み、これはユーザー・アップデート・レジスタの内容がユ ーザー・シフト・レジスタに書き込まれる前にアサートされ る必要がある。この条件により、その内容がユーザー・シフ ト・レジスタに読み出される際にユーザー・アップデート・ レジスタの内容が上書きされることを防ぐ ユーザー・シフト・レ ジスタ 67 このレジスタにより、ユーザー・ロジックがコア・インタフ ェースを介してユーザー・アップデート・レジスタの内容に アクセスすることができる JTAG フォールト・イ ンジェクション・レジ スタ 46 このレジスタを EDERROR_INJECT JTAG 命令と共に使用して、 ビットストリームにエラーを注入する。JTAG フォールト・ インジェクション・レジスタ・マップの表は、このレジスタ のフィールドをリストしている フォールト・インジェ クション・レジスタ 46 このレジスタは、JTAG フォールト・インジェクション・レ ジスタの内容で更新される Cyclone V デバイスでの SEU の緩和 フィードバック Altera Corporation 8-8 CV-52008 2015.06.12 エラー検出プロセス 図 8-4: エラー・メッセージ・レジスタ・マップ MSB LSB Syndrome Frame Address 32 bits Double Word Location Byte Offset Bit Offset 10 bits 2 bits 3 bits 16 bits Error Type 4 bits 表 8-6: EMR のエラー・タイプ 以下の表に、EMR のエラー・タイプ・フィールドでレポートされる可能性のあるエラー・タイプをリ ストします。 エラー・タイプ ビッ ト3 ビッ ト2 ビッ ト1 概要 ビッ ト0 0 0 0 0 CRC エラーなし 0 0 0 1 1 ビット・エラーが検出された位置 0 0 1 0 隣接する 2 ビットのエラーが検出された位置 1 1 1 1 1 ビットまたは隣接する 2 ビット・エラー以外のエラー・タイプ 表 8-7: JTAG フォールト・インジェクション・レジスタ・マップ フィールド名 ビット範囲 概要 エラー・バイ ト値 31:0 エラー注入タイプに対応したビット・エ ラーの位置を示す バイト位置 41:32 最初のデータ・フレームで注入されたエ ラーの位置を示す 45:42 エラー・タイ プ ビット 以下のエラー・タイプを示す 42 ビット 45 ビット 44 ビット 43 0 0 0 0 エラーなし 0 0 0 1 1 ビット・エラー 0 0 1 0 隣接する 2 ビット・エラー エラー検出プロセス 有効にすると、FPGA がユーザー・モードに入った際に、ユーザー・モード・エラー検出プロセ スが自動的にアクティブになります。 このプロセスは、現在のフレームでエラーが検出された としても、デバイスがリセットされるまで継続的に動作を続けます。 Altera Corporation Cyclone V デバイスでの SEU の緩和 フィードバック CV-52008 2015.06.12 エラー検出プロセス 8-9 図 8-5: ユーザー・モードでのエラー検出プロセス・フロー データ・ フレームを受信 CRC値を 演算し比較 CRC_ERROR信号を 32クロック・サイクル Lowに引き下げる No エラーが 検出された? Yes エラー・メッセージ レジスタを更新 (上書き) エラーの位置を 調べる CRC_ERROR 信号をHighに 駆動する タイミング ピンは、CRC 演算中の少なくとも 32 クロック・サイクルは常に Low に駆動されてい ます。 エラーが発生した際に、EMR が更新されたか、32 クロック・サイクルが経過したか、直 近のどちらかにより、ピンが High に駆動されます。 これにより、CRC_ERROR ピンの立ち上がり エッジで EMR の内容の取得を開始することができます。 ピンは、現在のフレームが読み出され るまで High にとどまり、次に、再び最短でも 32 クロック・サイクルの間 Low に駆動されます。 情報インテグリティを確かなものにするために、読み出し動作を CRC 検証の 1 フレームの範囲 内で完了させます。 以下の図に、これらのイベントのタイミングを示します。 CRC_ERROR 図 8-6: タイミング要件 Frame Data Integrity N No CRC Error N+1 N+2 CRC Error CRC Error N+3 No CRC Error N+4 CRC Error N+5 No CRC Error Read Data Frame CRC ERROR Pin CRC Calculation (minimum 32 clock cycles) Read Error Message Register (allowed time) フレームN+1の エラーメッセージを 読み出し フレームN+2の エラーメッセージを 読み出し フレームN+4の エラーメッセージを 読み出し エラー情報の取得 命令を使用して、コア・インタフェースまたは JTAG インタフェースを 介してエラー情報を取得することができます。 SHIFT_EDERROR_REG JTAG CRC エラーからの回復 FPGA をホストするシステムは、デバイスのリコンフィギュレーションを制御する必要がありま す。 CRC エラーから回復するには。nCONFIG 信号を Low に駆動します。 システムは、デバイス がリコンフィギュレーションするまでの時間を待機します。 リコンフィギュレーションが正常 に完了すると、FPGA は意図したとおりに動作します。 Cyclone V デバイスでの SEU の緩和 フィードバック Altera Corporation 8-10 CV-52008 2015.06.12 エラー検出ブロックのテスト 関連情報 • 8-4 ページの エラー検出周波数 • 8-3 ページの 最小 EMR アップデート間隔 各 Cyclone® V デバイスでの時間間隔について詳しい情報を提供します。 • Test Methodology of Error Detection and Recovery using CRC in Altera FPGA Devices エラー情報を取得する方法について詳しい情報を提供します。 エラー検出ブロックのテスト エラー検出ブロックをテストするために、コンフィギュレーション・データにエラーを注入する ことができます。 このエラー注入の手法により、デザインの検証およびシステム障害の許容特 性評価を行うことができます。 JTAG インタフェースを介したテスト EDERROR_INJECTJTAG 命令を使用して、コンフィギュレーション・データに 1 ビットの、あるい は隣接する 2 ビットのエラーを意図的に注入することができます。 表 8-8: EDERROR_INJECT 命令 JTAG 命令 命令コード 00 0001 0101 EDERROR_INJECT 概要 この命令を使用してコンフィギュレーション・デー タにエラーを注入する。 この命令は JTAG フォー ルト・インジェクション・レジスタを制御し、この レジスタがビットストリームに注入するためのエ ラーを格納している エラーは、コンフィギュレーション・データの最初のフレームにのみ注入することができます。 しかし、エラー情報はいつでもモニタリングできます。 アルテラは、テストの完了後に FPGA をリコンフィギュレーションすることを推奨しています。 テストプロセスの自動化 Jam™ファイル(.jam)を作成することにより、テスト・プロセスを自動化することができます。 このファイルを使用して、デバイスのリコンフィギュレーションを伴わずに、イン・システム で、かつオンザフライで CRC 機能を検証することができます。 その後で、CRC 回路に切り換え て、SEU に起因する実際のエラーをチェックできます。 関連情報 Test Methodology of Error Detection and Recovery using CRC in Altera FPGA Devices エラー検出ブロックをテストする方法について詳しい情報を提供します。 改訂履歴 日付 バージョン 2015 年 3 月 2015.03.31 内部スクラブ機能のサポートを追加 2015 年 1 月 2015.01.23 CRC の演算に要する時間の項の説明を更新 Altera Corporation 変更内容 Cyclone V デバイスでの SEU の緩和 フィードバック CV-52008 2015.06.12 改訂履歴 8-11 日付 バージョン 2014 年 6 月 2014.06.30 CRC の演算に要する時間の項を更新 2013 年 11 月 2013.11.12 • CRC の演算に要する時間の項を更新し、最小および最大時間を 計算する公式を追加 • 最小 EMR アップデート間隔および CRC 演算に要する時間の暫 定値を削除 • 内部スクラブ機能に関する関連情報を削除 2013 年 5 月 2013.05.06 • Knowledge Base の known document issues へのリンクを追加 • Cyclone V E、Cyclone V GX、および Cyclone V GT デバイス向け の最小 EMR アップデート間隔および CRC 演算に要する時間を 更新 • 参照を容易にするために、すべてのリンクを各トピックの関連 情報のセクションに移動 2012 年 12 月 2012.12.28 • JTAG フォールト・インジェクションおよびフォールト・イン ジェクション・レジスタの幅を更新 2012 年 6 月 2.0 • 「Basic Description」、「エラー検出機能」、「Types of Error Detection」、「Error Detection Components」、「Using the Error Detection Feature」、および「エラー検出ブロックのテスト」の 項を追加 • 表 8-4、表 8-5、および表 8-6 を更新 • 章を改編 2011 年 10 月 1.0 初版 Cyclone V デバイスでの SEU の緩和 フィードバック 変更内容 Altera Corporation
© Copyright 2025 ExpyDoc