intel UG-01173 フォールト インジェクション FPGA IP コア
フォールト・インジェクション インテル® FPGA IP コアのユーザーガイド
Fault Injection インテル® FPGA IP コアは、FPGA デバイスの構成 RAM (CRAM) にエラーを挿入します。 この手順では、シングル イベント アップセット (SEU) が原因で通常動作中に発生する可能性があるソフト エラーをシミュレートします。 SEU はまれなイベントであるため、テストが困難です。 フォールト・インジェクション IP コアをデザインにインスタンス化し、デバイスを構成した後、 インテル Quartus® Prime フォールト・インジェクション・デバッガー・ツールを使用して FPGA に意図的なエラーを誘発し、これらのエラーに対するシステムの応答をテストできます。
関連情報
- 単一イベントの動揺
- AN 737: インテル Arria 10 デバイスでの SEU の検出と回復
特徴
- 単一イベント機能割り込み (SEFI) を軽減するためのシステム応答を評価できます。
- 社内で SEFI 特性評価を実行できるため、システム全体のビーム テストが不要になります。 代わりに、ビーム テストをデバイス レベルでの故障時間 (FIT)/Mb 測定に制限できます。
- 設計アーキテクチャに関連する SEFI 特性に従って FIT レートをスケーリングします。 デバイス全体にフォールト インジェクションをランダムに分散させたり、テストを高速化するために特定の機能領域に限定したりすることができます。
- 設計を最適化して、Single Event Upsets (SEU) による中断を減らします。
デバイスサポート
フォールト・インジェクション IP コアは、インテル Arria® 10、インテル Cyclone® 10 GX、および Stratix® V ファミリーのデバイスをサポートしています。 Cyclone V ファミリは、注文コードに -SC サフィックスが付いたデバイスでフォールト インジェクションをサポートします。 -SC サフィックスの Cyclone V デバイスの注文情報については、最寄りの販売代理店にお問い合わせください。
リソースの使用率とパフォーマンス
インテル Quartus Prime ソフトウェアは、Stratix V A7 FPGA の次のリソース見積もりを生成します。 他のデバイスの結果も同様です。
インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。
フォールト インジェクション IP コア FPGA のパフォーマンスとリソース使用率
デバイス | ALM | ロジック レジスタ | M20K | |
主要な | 二次 | |||
Stratix V A7 | 3,821 | 5,179 | 0 | 0 |
インテル Quartus Prime ソフトウェアのインストールには、インテル FPGA IP ライブラリーが含まれています。 このライブラリは、追加のライセンスを必要とせずに、プロダクションで使用するための多くの有用な IP コアを提供します。 一部の Intel FPGA IP コアでは、製品で使用するために別のライセンスを購入する必要があります。 インテル FPGA IP 評価モードでは、完全な製品 IP コア ライセンスの購入を決定する前に、シミュレーションとハードウェアでこれらのライセンスされたインテル FPGA IP コアを評価できます。 ハードウェアのテストを完了し、IP を本番環境で使用する準備ができたら、ライセンスを取得したインテル IP コアの完全な本番ライセンスを購入するだけで済みます。 インテル Quartus Prime ソフトウェアは、デフォルトで次の場所に IP コアをインストールします。
IP コアのインストール パス
IP コアのインストール場所
位置 | ソフトウェア | プラットフォーム |
:\intelFPGA_pro\quartus\ip\アルテラ | インテル Quartus Prime プロ・エディション | ウィンドウズ* |
:\intelFPGA\quartus\ip\altera | インテル Quartus Prime スタンダード・エディション | ウィンドウズ |
:/intelFPGA_pro/quartus/ip/アルテラ | インテル Quartus Prime プロ・エディション | Linux * |
:/インテルFPGA/クォータス/ip/アルテラ | インテル Quartus Prime スタンダード・エディション | リナックス |
注記: インテル Quartus Prime ソフトウェアは、インストール パスでスペースをサポートしていません。
IP コアのカスタマイズと生成
IP コアをカスタマイズして、さまざまなアプリケーションをサポートできます。 インテル Quartus Prime IP カタログおよびパラメーター・エディターにより、IP コアのポート、機能、および出力を迅速に選択して構成できます files.
IP カタログとパラメーター エディター
IP カタログには、IP カタログの検索パスに追加した Intel FPGA IP やその他の IP を含む、プロジェクトで使用可能な IP コアが表示されます。 IP カタログの次の機能を使用して、IP コアを見つけてカスタマイズします。
- IP カタログをフィルタリングして、アクティブなデバイス ファミリの IP を表示するか、すべてのデバイス ファミリの IP を表示します。 プロジェクトを開いていない場合は、IP カタログでデバイス ファミリを選択します。
- [検索] フィールドに入力して、IP カタログ内の IP コアの名前の全部または一部を検索します。
- IP カタログで IP コア名を右クリックすると、サポートされているデバイスの詳細が表示され、IP コアのインストール フォルダーが開き、IP ドキュメントへのリンクが表示されます。
- クリック 検索する Partner IP to access partner IP information on the web.
パラメーター エディターで、IP バリエーション名、オプションのポート、および出力を指定するよう求められます。 file 生成オプション。 パラメーター・エディターはトップレベルの インテル Quartus Prime IP を生成します file (.ip) インテル Quartus Prime プロ・エディション プロジェクトの IP バリエーション。 パラメーター・エディターはトップレベルの Quartus IP を生成します file (.qip) インテル Quartus Prime スタンダード・エディション プロジェクトの IP バリエーション。 これらは files は、プロジェクト内の IP バリエーションを表し、パラメーター化情報を格納します。
IP パラメーター・エディター (インテル Quartus Prime スタンダード・エディション)
IP コア生成出力 (インテル Quartus Prime プロ・エディション)
インテル Quartus Prime ソフトウェアは、以下の出力を生成します file Platform Designer システムの一部ではない個々の IP コアの構造。
個々の IP コア生成出力 (インテル Quartus Prime プロ・エディション)
- IP コアのバリエーションでサポートされ、有効になっている場合。
出力 Fileインテル FPGA IP ジェネレーションの
File 名前 | 説明 |
<あなたのIP>.ip | トップレベルの IP バリエーション file これには、プロジェクト内の IP コアのパラメーター化が含まれています。 IP バリエーションがプラットフォーム デザイナー システムの一部である場合、パラメーター エディターは .qsys ファイルも生成します。 file. |
<あなたのIP>.cmp | VHDL コンポーネント宣言 (.cmp) file テキストです file VHDL デザインで使用するローカル ジェネリックおよびポート定義を含む files. |
<あなたのIP>_generation.rpt | IP または Platform Designer の生成ログ file. IP 生成中のメッセージの要約を表示します。 |
続き… |
File 名前 | 説明 |
<あなたのIP>.qgsimc (プラットフォーム デザイナー システムのみ) | シミュレーションのキャッシング file .qsys と .ip を比較する file■ Platform Designer システムと IP コアの現在のパラメーター化。 この比較により、プラットフォーム デザイナーが HDL の再生成をスキップできるかどうかが決まります。 |
<あなたのIP>.qgsynth (プラットフォーム デザイナー システムのみ) | 合成キャッシング file .qsys と .ip を比較する file■ Platform Designer システムと IP コアの現在のパラメーター化。 この比較により、プラットフォーム デザイナーが HDL の再生成をスキップできるかどうかが決まります。 |
<あなたのIP>.qip | IP コンポーネントを統合およびコンパイルするためのすべての情報が含まれています。 |
<あなたのIP>.csv | IP コンポーネントのアップグレード ステータスに関する情報が含まれます。 |
.bsf | ブロック図で使用する IP バリエーションのシンボル表現 Files (.bdf)。 |
<あなたのIP>.spd | 入力 file これは、ip-make-simscript がシミュレーション スクリプトを生成するために必要です。 .spd file のリストが含まれています fileシミュレーション用に生成する s と、初期化するメモリに関する情報。 |
<あなたのIP>.ppf | ピンプランナー File (.ppf) には、Pin Planner で使用するために作成した IP コンポーネントのポートとノードの割り当てが保存されます。 |
<あなたのIP>_bb.v | Verilog ブラックボックス (_bb.v) を使用する file ブラックボックスとして使用するための空のモジュール宣言として。 |
<あなたのIP>_inst.v または _inst.vhd | HDLexampファイル インスタンス化テンプレート。 この内容をコピペして file あなたのHDLに file IP バリエーションをインスタンス化します。 |
<あなたのIP>.regmap | IP にレジスター情報が含まれている場合、 インテル Quartus Prime ソフトウェアは .regmap を生成します。 file. .regmap file マスターおよびスレーブ インターフェイスのレジスタ マップ情報について説明します。 これ file 補完する
.sopcinfo file システムに関するより詳細な登録情報を提供することによって。 これ file レジスタ表示を有効にします viewおよびユーザーがカスタマイズ可能なシステム コンソールの統計。 |
<あなたのIP>.svd | HPS システム デバッグ ツールを許可します。 view Platform Designer システム内の HPS に接続するペリフェラルのレジスタ マップ。
合成中、 インテル Quartus Prime ソフトウェアは .svd を保存します。 file.sof 内のシステム コンソール マスターに表示されるスレーブ インターフェイス用の s file デバッグ セッションで。 System Console はこのセクションを読み取り、プラットフォーム デザイナーがレジスタ マップ情報を照会します。 システム スレーブの場合、プラットフォーム デザイナーはレジスターに名前でアクセスします。 |
<あなたのIP>.v
<あなたのIP>.vhd |
HDL file合成またはシミュレーションのために各サブモジュールまたは子 IP コアをインスタンス化する s。 |
メンター/ | シミュレーションをセットアップして実行するための msim_setup.tcl スクリプトが含まれています。 |
アルデック/ | シミュレーションをセットアップして実行するためのスクリプト rivierapro_setup.tcl が含まれています。 |
/synopsys/vcs
/synopsys/vcsmx |
シミュレーションをセットアップして実行するためのシェル スクリプト vcs_setup.sh が含まれています。
シェル スクリプト vcsmx_setup.sh および synopsys_sim.setup が含まれています file シミュレーションをセットアップして実行します。 |
/ケイデンス | シェル スクリプト ncsim_setup.sh およびその他のセットアップが含まれています files シミュレーションを設定して実行します。 |
/エクセリウム | パラレル シミュレータ シェル スクリプト xcelium_setup.sh およびその他のセットアップが含まれています files シミュレーションを設定して実行します。 |
/サブモジュール | HDLを含む files IP コア サブモジュールの場合。 |
<IP サブモジュール>/ | Platform Designer は、Platform Designer が生成する各 IP サブモジュール ディレクトリに対して、/synth および /sim サブディレクトリを生成します。 |
機能説明
フォールト インジェクション IP コアを使用すると、設計者は社内で SEFI 特性評価を実行し、SEFI 特性評価に従って FIT レートをスケーリングし、設計を最適化して SEU の影響を減らすことができます。
単一イベント動揺の緩和
集積回路や FPGA などのプログラマブル ロジック デバイスは、SEU の影響を受けやすくなっています。 SEU は、宇宙線からのアルファ粒子と中性子という 10 つの主要な発生源によって引き起こされる、ランダムで非破壊的なイベントです。 放射線は、ロジック レジスタ、組み込みメモリ ビット、または構成 RAM (CRAM) ビットのいずれかの状態を反転させ、予期しないデバイス動作を引き起こす可能性があります。 インテル Arria 10、インテル Cyclone XNUMX GX、Arria V、Cyclone V、Stratix V、およびそれ以降のデバイスには、次の CRAM 機能があります。
- エラー検出巡回冗長検査 (EDCRC)
- 動揺CRAMの自動修正(スクラブ)
- アップセット CRAM 状態を作成する機能 (フォールト インジェクション)
インテル FPGA デバイスでの SEU 軽減策の詳細については、それぞれのデバイスのハンドブックの SEU 軽減策の章を参照してください。
フォールト挿入 IP ピンの説明
フォールト インジェクション IP コアには、次の I/O ピンが含まれます。
フォールト インジェクション IP コアの I/O ピン
ピン名 | ピン方向 | ピンの説明 |
crcerror_pin | 入力 | エラー・メッセージ・レジスター・アンローダー Intel FPGA IP (EMR アンローダー IP) からの入力。 この信号は、デバイスの EDCRC によって CRC エラーが検出されたときにアサートされます。 |
emr_data | 入力 | エラー メッセージ レジスタ (EMR) の内容。 EMR フィールドについては、適切なデバイス ハンドブックを参照してください。
この入力は、Avalon Streaming データ インターフェイス信号に準拠しています。 |
emr_valid | 入力 | emr_data 入力に有効なデータが含まれていることを示します。 これは Avalon Streaming の有効なインターフェイス信号です。 |
リセット | 入力 | モジュールリセット入力。 リセットは、Fault Injection Debugger によって完全に制御されます。 |
エラーが注入されました | 出力 | J 経由で命令されたエラーが CRAM に挿入されたことを示します。TAG インターフェース。 この信号がアサートする時間の長さは、J の設定によって異なります。TAG TCK および制御ブロック信号。 通常、この時間は TCK 信号の約 20 クロック サイクルです。 |
エラー_スクラブ済み | 出力 | J を介したコマンドに従って、デバイスのスクラビングが完了したことを示します。TAG インターフェース。 この信号がアサートする時間の長さは、J の設定によって異なります。TAG TCK および制御ブロック信号。 通常、この時間は TCK 信号の約 20 クロック サイクルです。 |
インスク | 出力 | オプションの出力。 フォールト インジェクション IP は、このクロックを使用します。ample、EMR_unloader ブロックをクロックします。 |
フォールト インジェクション IP のピン配置図
Fault Injection Debugger と Fault Injection IP コアの使用
Fault Injection Debugger は、Fault Injection IP コアと連携して動作します。 まず、デザインで IP コアをインスタンス化し、コンパイルして、結果のコンフィギュレーションをダウンロードします。 file あなたのデバイスに。 次に、 インテル Quartus Prime ソフトウェア内またはコマンドラインから Fault Injection Debugger を実行して、ソフトエラーをシミュレートします。
- フォールト挿入デバッガーを使用すると、フォールト挿入の実験を対話的に、またはバッチ コマンドで操作でき、フォールト挿入のために設計内の論理領域を指定できます。
- コマンドライン インターフェイスは、スクリプトを介してデバッガーを実行する場合に便利です。
注記
Fault Injection Debugger は、J 経由で Fault Injection IP コアと通信します。TAG インターフェース。 フォールト インジェクション IP は、J からのコマンドを受け入れます。TAG J を介してステータスを報告します。TAG インターフェース。 フォールト インジェクション IP コアは、デバイスのソフト ロジックに実装されます。 したがって、デザインでこのロジックの使用を考慮する必要があります。 XNUMX つの方法論は、ラボで SEU に対するデザインの応答を特徴付けてから、最終的に展開されたデザインから IP コアを除外することです。
フォールト インジェクション IP コアは、次の IP コアと共に使用します。
- インテル® FPGA デバイスの強化されたエラー検出回路からデータを読み取り、保存するエラー・メッセージ・レジスター・アンローダー IP コア。
- (オプション) Advanced SEU Detection Intel FPGA IP コア。これは、デバイスの動作中にシングルビット エラーの場所を感度マップと比較して、ソフト エラーが影響するかどうかを判断します。
Fault Injection Debugger オーバーview ブロック図
注:
-
フォールト インジェクション IP は、ターゲット ロジックのビットを反転します。
-
Fault Injection Debugger と Advanced SEU Detection IP は、同じ EMR Unloader インスタンスを使用します。
-
Advanced SEU Detection IP コアはオプションです。
関連情報
- SMHについて File13ページ
- EMR Unloader IP コアについて (10 ページ)
- Advanced SEU Detection IP コアについて (11 ページ)
Fault Injection IP コアのインスタンス化
注記
Fault Injection IP コアでは、パラメーターを設定する必要はありません。 IP コアを使用するには、新しい IP インスタンスを作成し、プラットフォーム デザイナー (標準) システムに含めて、必要に応じて信号を接続します。 EMR Unloader IP コアと共に Fault Injection IP コアを使用する必要があります。 Fault Injection および EMR Unloader IP コアは、プラットフォーム デザイナーおよび IP カタログで利用できます。 オプションで、Verilog HDL、SystemVerilog、または VHDL を使用して、RTL デザインに直接インスタンス化できます。
EMR Unloader IP コアについて
EMR Unloader IP コアは、EMR へのインターフェイスを提供します。EMR は、デバイスの CRAM ビット CRC でソフト エラーをチェックするデバイスの EDCRC によって継続的に更新されます。
Example Platform Designer System (Fault Injection IP コアと EMR Unloader IP コアを含む)
Example Fault Injection IP コアと EMR Unloader IP コアのブロック図
関連情報
エラー・メッセージ Register Unloader インテル FPGA IP コアのユーザーガイド
Advanced SEU Detection IP コアについて
SEU 耐性が設計上の懸念事項である場合は、Advanced SEU Detection (ASD) IP コアを使用します。 EMR Unloader IP コアを ASD IP コアと共に使用する必要があります。 したがって、ASD IP と Fault Injection IP を同じデザインで使用する場合、Avalon®-ST スプリッター コンポーネントを介して EMR Unloader 出力を共有する必要があります。 次の図は、Avalon-ST スプリッターが EMR コンテンツを ASD および Fault Injection IP コアに配布する Platform Designer システムを示しています。
同じ Platform Designer システムで ASD と Fault Injection IP を使用する
関連情報
高度な SEU 検出 インテル FPGA IP コアのユーザーガイド
フォールト挿入領域の定義
センシティビティ マップ ヘッダー (.smh) を使用して、FPGA の特定の領域をフォールト インジェクション用に定義できます。 file. SMH file デバイスの CRAM ビットの座標、割り当てられた領域 (ASD 領域)、および重要度を格納します。 設計プロセスでは階層を使用します tagging してリージョンを作成します。 次に、コンパイル中に インテル Quartus Prime Assembler が SMH を生成します。 file. Fault Injection Debugger は、SMH で定義した特定のデバイス領域へのエラー挿入を制限します。 file.
実行階層 Tagギング
テスト用の FPGA 領域を定義するには、ASD 領域をその場所に割り当てます。 [Design Partitions] ウィンドウを使用して、デザイン階層の任意の部分に ASD 領域の値を指定できます。
- Assignments ➤ Design Partitions Window を選択します。
- ヘッダー行の任意の場所を右クリックし、ASD Region をオンにして、ASD Region 列を表示します (まだ表示されていない場合)。
- 任意のパーティションに 0 ~ 16 の値を入力して、特定の ASD リージョンに割り当てます。
- ASD 領域 0 は、デバイスの未使用部分に予約されています。 このリージョンにパーティションを割り当てて、非クリティカルとして指定できます。
- ASD リージョン 1 がデフォルトのリージョンです。 ASD リージョンの割り当てを明示的に変更しない限り、デバイスのすべての使用部分がこのリージョンに割り当てられます。
SMHについて Files
SMH file 次の情報が含まれます:
- 階層を使用していない場合 tagging (つまり、デザインがデザイン階層に明示的な ASD 領域の割り当てを持たない)、SMH file すべての CRAM ビットをリストし、それがデザインに影響を与えるかどうかを示します。
- ヒエラルキーを実行した場合 tagging および変更されたデフォルトの ASD リージョン割り当て、SMH file すべての CRAM ビットをリストし、ASD 領域を割り当てます。
Fault Injection Debugger は、XNUMX つ以上の指定された領域への注入を制限できます。 アセンブラに SMH を生成するよう指示するには file:
- Assignments ➤ Device ➤ Device and Pin Options ➤ Error Detection CRC を選択します。
- Generate SEU センシティビティ マップをオンにする file (.smh) オプション。
Fault Injection Debugger の使用
注記
Fault Injection Debugger を使用するには、J 経由でデバイスに接続します。TAG インターフェース。 次に、デバイスを構成し、フォールト インジェクションを実行します。 Fault Injection Debugger を起動するには、 インテル Quartus Prime ソフトウェアで Tools > Fault Injection Debugger を選択します。 デバイスの構成またはプログラミングは、Programmer または Signal Tap Logic Analyzer で使用される手順と同様です。
フォールト挿入デバッガ
J を設定するにはTAG 鎖:
- ハードウェア設定をクリックします。 このツールは、コンピューターに接続されているプログラミング ハードウェアを表示します。
- 使用するプログラミング ハードウェアを選択します。
- [閉じる]をクリックします。
- [Auto Detect] をクリックすると、デバイス チェーンに J で見つかったプログラマブル デバイスが読み込まれます。TAG 鎖。
関連情報
ターゲットを絞ったフォールト インジェクション機能 (21 ページ)
ハードウェアおよびソフトウェアの要件
Fault Injection Debugger を使用するには、次のハードウェアとソフトウェアが必要です。
- フォールト・インジェクション IP コアを有効にするインテル FPGA ライセンスの FEATURE 行。 詳細については、インテル FPGA 販売代理店にお問い合わせください。
- ダウンロード・ケーブル (インテル FPGA ダウンロード・ケーブル、インテル FPGA ダウンロード・ケーブル II、または II)。
- Intel FPGA 開発キットまたは J を備えたユーザー設計のボードTAG 被試験デバイスへの接続。
- (オプション) Advanced SEU Detection IP コアを有効にする Intel FPGA ライセンスの FEATURE 行。
デバイスとフォールト挿入デバッガーの構成
Fault Injection Debugger は、.sof および (オプションで) Sensitivity Map Header (.smh) を使用します。 file. ソフトウェア オブジェクト File (.sof) は FPGA を構成します。 .smh file デバイスの CRAM ビットの感度を定義します。 .smh を提供しない場合 file、フォールト挿入デバッガーは、CRAM ビット全体にランダムにフォールトを挿入します。 .sof を指定するには:
- [デバイス チェーン] ボックスで構成する FPGA を選択します。
- [選択]をクリックします File.
- .sof に移動し、[OK] をクリックします。 Fault Injection Debugger は .sof を読み取ります。
- (オプション) SMH を選択します file.
SMH を指定しない場合 file、Fault Injection Debugger は、デバイス全体にランダムに障害を挿入します。 SMHを指定する場合 file、デバイスの使用領域への注入を制限できます。- [デバイス チェーン] ボックスでデバイスを右クリックし、[SMH の選択] をクリックします。 File.
- あなたのSMHを選択してください file.
- [OK]をクリックします。
- プログラム/構成をオンにします。
- [スタート]をクリックします。
Fault Injection Debugger は、.sof ファイルを使用してデバイスを構成します。
SMH を選択するためのコンテキスト メニュー File
フォールト挿入のための領域の制約
SMH のロード後 file、Fault Injection Debugger が特定の ASD 領域のみで動作するように指示できます。 障害を挿入する ASD リージョンを指定するには:
- [デバイス チェーン] ボックスで FPGA を右クリックし、[デバイス感度マップの表示] をクリックします。
- フォールト挿入用の ASD リージョンを選択します。
デバイス感度マップ Viewer
エラー タイプの指定
インジェクションのさまざまなタイプのエラーを指定できます。
- 単一エラー (SE)
- 二重隣接誤差 (DAE)
- 修正不可能なマルチビット エラー (EMBE)
スクラビング機能が有効になっている場合、インテル FPGA デバイスは単一および二重隣接エラーを自己修正できます。 Intel FPGA デバイスは、マルチビット エラーを修正できません。 これらのエラーのデバッグの詳細については、SEU の緩和に関する章を参照してください。 注入する故障の混合と注入時間間隔を指定できます。 射出時間間隔を指定するには:
- Fault Injection Debugger で、[ツール] ➤ [オプション] を選択します。
- 赤いコントローラーをエラーのミックスにドラッグします。 または、ミックスを数値で指定することもできます。
- 注入間隔時間を指定します。
- [OK]をクリックします。
図 12. SEU フォルト タイプの混合の指定
関連情報 シングル イベント アップセットの緩和
エラーの挿入
いくつかのモードでエラーを挿入できます。
- コマンドで XNUMX つのエラーを挿入する
- コマンドで複数のエラーを挿入する
- 停止するように命令されるまでエラーを挿入する
これらの障害を注入するには:
- Inject Fault オプションをオンにします。
- エラー挿入を何回か反復して実行するか、停止するまで実行するかを選択します。
- 停止するまで実行することを選択した場合、Fault Injection Debugger は、[ツール] ➤ [オプション] ダイアログ ボックスで指定された間隔でエラーを挿入します。
- 特定の反復回数でエラー挿入を実行する場合は、その回数を入力します。
- [スタート]をクリックします。
注記: Fault Injection Debugger は、指定された反復回数の間、または停止するまで実行されます。 インテル Quartus Prime Messages ウィンドウには、注入されたエラーに関するメッセージが表示されます。 挿入された障害の詳細については、Read EMR をクリックしてください。 Fault Injection Debugger は、デバイスの EMR を読み取り、その内容を [メッセージ] ウィンドウに表示します。
インテル Quartus Prime エラー挿入および EMR コンテンツ メッセージ
エラーの記録
インテル Quartus Prime Messages ウィンドウで報告されたパラメーターに注意することで、注入された障害の場所を記録できます。 もし、例えばampつまり、注入された障害によって再生したい動作が発生した場合、その場所を注入のターゲットにすることができます。 Fault Injection Debugger コマンド ライン インターフェイスを使用して、ターゲットを絞った挿入を実行します。
挿入されたエラーのクリア
FPGA の通常の機能を復元するには、[スクラブ] をクリックします。 エラーをスクラブすると、デバイスの EDCRC 関数を使用してエラーが修正されます。 スクラブ メカニズムは、デバイスの動作中に使用されるメカニズムと似ています。
コマンドラインインターフェース
コマンド ラインで quartus_fid 実行可能ファイルを使用して Fault Injection Debugger を実行できます。これは、スクリプトからフォールト インジェクションを実行する場合に役立ちます。
表 5. フォールト挿入のコマンド ライン引数
短い引数 | 長い引数 | 説明 |
c | ケーブル | プログラミング ハードウェアまたはケーブルを指定します。 (必須) |
i | 索引 | 障害を挿入するアクティブなデバイスを指定します。 (必須) |
n | 番号 | 挿入するエラーの数を指定します。 デフォルト値は
1.(オプション) |
t | 時間 | 注射間のインターバル時間。 (オプション) |
注記: quartus_fid –help を使用して view 利用可能なすべてのオプション。 次のコードはexを提供しますampFault Injection Debugger コマンドライン インターフェイスを使用してファイルを作成します。
###########################################
- # このインスタンスで使用できる USB ケーブルを調べる
- #結果は、「USB-Blaster」という名前のXNUMX本のケーブルが利用可能であることを示しています#
- $ quartus_fid –リスト 。 。 。
- Info: コマンド: quartus_fid –list
- sj-sng-z4 [USB-0] 上の USB-Blaster 情報: インテル Quartus Prime 64 ビット フォールト インジェクション デバッガーは成功しました。 0 エラー、0 警告
- ########################################## #
- # USB-Blaster ケーブルで利用可能なデバイスを見つける
- # 結果には、Stratix V A7 と MAX V CPLD の XNUMX つのデバイスが表示されます。 #
- $ quartus_fid –cable USB-Blaster -a
- 情報: コマンド: quartus_fid –cable=USB-Blaster -a
- Info (208809): プログラミング ケーブル「USB-Blaster on sj-sng-z4 [USB-0]」を使用
- sj-sng-z4 の USB-Blaster [USB-0]
- 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
- 020A40DD 5M2210Z/EPM2210
- Info: インテル Quartus Prime 64-Bit Fault Injection Debugger は成功しました。
- 0 エラー、0 警告
- ########################################## #
- # Stratix V デバイスをプログラムする
- # –index オプションは、接続されたデバイスで実行される操作を指定します。
- # 「=svgx.sof」は .sof を関連付けます file デバイスで
- # "#p" はデバイスをプログラムすることを意味します #
- $ quartus_fid –cable USB-Blaster –index “@1=svgx.sof#p” 。 。 。
- 情報 (209016): デバイス インデックス 1 を構成しています
- 情報 (209017): デバイス 1 には J が含まれていますTAG 識別コード 0x029030DD
- Info (209007): 構成が成功しました — 1 台のデバイスが構成されました
- 情報 (209011): 操作が正常に実行されました
- 情報 (208551): 署名をデバイス 1 にプログラムします。
- Info: インテル Quartus Prime 64-Bit Fault Injection Debugger は成功しました。
- 0 エラー、0 警告
- ########################################## #
- # デバイスに障害を注入します。
- # #i 演算子は、障害を挿入することを示します
- # -n 3 は、3 つの障害を注入することを示します #
- $ quartus_fid –cable USB-Blaster –index “@1=svgx.sof#i” -n 3
- 情報: コマンド: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
- Info (208809): プログラミング ケーブル「USB-Blaster on sj-sng-z4 [USB-0]」を使用
- Info (208521): デバイスに 3 つのエラーを注入します
- Info: インテル Quartus Prime 64-Bit Fault Injection Debugger は成功しました。
- 0 エラー、0 警告
- ########################################## #
- #インタラクティブモード。
- # -n 0 を指定して #i 操作を使用すると、デバッガが対話モードになります。
- # 前のセッションで 3 つの障害が注入されたことに注意してください。
- # 「E」は、現在 EMR Unloader IP コアにある障害を読み取ります。 #
- $ quartus_fid –cable USB-Blaster –index “@1=svgx.sof#i” -n 0
- 情報: コマンド: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
- Info (208809): プログラミング ケーブル「USB-Blaster on sj-sng-z4 [USB-0]」を使用
- 入力 :
- フォールトを注入する「F」
- EMR を読み取るには「E」
- エラーをスクラブする「S」
- 'Q' は E を終了します
- Info (208540): EMR 配列の読み取り
- 情報 (208544): デバイス 3 で 1 つのフレーム エラーが検出されました。
- 情報 (208545): エラー #1 : フレーム 0x1028 のビット 0x21EA の単一エラー。
- 情報 (10914): エラー #2 : フレーム 0x1116 の修正不可能なマルチビット エラー。
- 情報 (208545): エラー #3 : フレーム 0x1848 のビット 0x128C の単一エラー。
- フォールトを注入する「F」
- EMR を読み取るには「E」
- エラーをスクラブする「S」
- 'Q' は Q を終了します
- 情報: インテル Quartus Prime 64-Bit Fault Injection Debugger は成功しました。 0 エラー、0 警告
- 情報: ピーク仮想メモリ: 1522 メガバイト
- 情報: 処理終了: 3 年 18 月 50 日月曜日 00:2014:XNUMX
- 情報: 経過時間:00:00:29
- 情報: 合計 CPU 時間 (すべてのプロセッサ): 00:00:13
ターゲットを絞ったフォールト インジェクション機能
注記
Fault Injection Debugger は、FPGA にランダムにフォールトを挿入します。 ただし、ターゲット フォールト インジェクション機能を使用すると、CRAM 内のターゲットの場所にフォールトを挿入できます。 この操作は、次の場合に役立つ場合があります。ampファイル (SEU イベントを記録し、リカバリ戦略を変更した後に同じイベントに対する FPGA またはシステムの応答をテストする場合)。 Targeted Fault Injection 機能は、コマンド ライン インターフェイスからのみ使用できます。 コマンド ラインまたはプロンプト モードからエラーを挿入するように指定できます。 関連情報
AN539: インテル FPGA デバイスで CRC を使用したテスト方法またはエラー検出と回復
コマンド ラインからのエラー リストの指定
Targeted Fault Injection 機能を使用すると、次の例に示すように、コマンド ラインからエラー リストを指定できます。ample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ ここで: c 1 は FPGA が制御されていることを示しますコンピュータの最初のケーブルで。 i 「@1= six.sof#i 」は、チェーンの最初のデバイスにオブジェクトがロードされていることを示します。 file svgx.sof が作成され、フォールトが挿入されます。 n 2 は、1 つの障害が注入されることを示します。 user="@0= 2274x0 05x0EF 2264x0 0500xXNUMX" は、注入される障害のユーザー指定のリストです。 この例ではampファイル、デバイス 1 には、フレーム 0x2274 のビット 0x05EF とフレーム 0x2264 のビット 0x0500 の XNUMX つの障害があります。
プロンプト モードからのエラー リストの指定
フォルトの数を 0 (-n 0) に指定することで、Targeted Fault Injection 機能をインタラクティブに操作できます。 Fault Injection Debugger は、プロンプト モードのコマンドとその説明を表示します。
プロンプト モード コマンド | 説明 |
F | 障害を注入する |
E | EMRを読む |
S | スクラブエラー |
Q | やめる |
プロンプト モードでは、F コマンドを単独で発行して、デバイスのランダムな場所に単一の障害を挿入できます。 次の例ではampプロンプト モードで F コマンドを使用してファイルを作成すると、3 つのエラーが挿入されます。 F #0 12x0 34x0 56x0 78x0 * 9x0A XNUMXxBC +
- エラー 1 – フレーム 0x12、ビット 0x34 でのシングル ビット エラー
- エラー 2 – フレーム 0x56、ビット 0x78 の訂正不能エラー (* はマルチビット エラーを示します)
- エラー 3 – フレーム 0x9A、ビット 0xBC での二重隣接エラー (+ は二重ビット エラーを示します)
F 0x12 0x34 0x56 0x78 * 1 つの (デフォルト) エラーが挿入されます: エラー 0 – フレーム 12x0、ビット 34x3 でのシングル ビット エラー。 最初のフレーム/ビット位置より後の位置は無視されます。 F #0 12x0 34x0 56x0 78x0 * 9x0A 0xBC + 0xDE 00xXNUMX
XNUMX つのエラーが挿入されます。
- エラー 1 – フレーム 0x12、ビット 0x34 でのシングル ビット エラー
- エラー 2 – フレーム 0x56、ビット 0x78 での訂正不能エラー
- エラー 3 – フレーム 0x9A、ビット 0xBC での二重隣接エラー
- 最初の 3 つのフレーム/ビット ペアの後の位置は無視されます
CRAM ビット位置の決定
注記:
Fault Injection Debugger が CRAM EDCRC エラーを検出すると、エラー メッセージ レジスタ (EMR) には、検出された CRAM エラーのシンドローム、フレーム番号、ビット位置、およびエラー タイプ (シングル、ダブル、またはマルチビット) が含まれます。 システム テスト中に EDCRC 障害を検出したときに、Fault Injection Debugger によって報告された EMR の内容を保存します。 記録された EMR コンテンツを使用して、Fault Injection Debugger にフレーム番号とビット番号を指定して、システム テスト中に記録されたエラーを再生し、さらに設計して、そのエラーに対するシステム回復応答を特徴付けることができます。
関連情報
AN 539: インテル FPGA デバイスで CRC を使用したテスト方法またはエラー検出と回復
高度なコマンド ライン オプション: ASD 領域とエラー タイプの重み付け
Fault Injection Debugger コマンドライン インターフェイスを使用して、ASD 領域にエラーを挿入し、エラー タイプに重みを付けることができます。 最初に、–weight を使用して、エラー タイプの組み合わせ (シングル ビット、二重隣接、およびマルチ ビット訂正不能) を指定します。 . . オプション。 例えばampファイルで、50% の単一エラー、30% の二重隣接エラー、および 20% のマルチビット訂正不能エラーが混在する場合は、オプション –weight=50.30.20 を使用します。 次に、ASD リージョンをターゲットにするには、-smh オプションを使用して SMH を含めます。 file ターゲットとする ASD 領域を示します。 例えばample: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2” –number=30
この元ampファイル コマンド:
- デバイスをプログラムし、障害を挿入します (pi 文字列)
- 100% のシングル ビット フォールト (100.0.0) を挿入します。
- ASD_REGION 2 にのみ注入します (#2 で示されます)
- 30 の障害を注入します。
フォールト インジェクション IP コア ユーザー ガイドのアーカイブ
IP コア バージョン | ユーザーガイド |
18.0 | フォールト・インジェクション インテル FPGA IP コアのユーザーガイド |
17.1 | インテル FPGA フォールト・インジェクション IP コアのユーザーガイド |
16.1 | アルテラのフォールト・インジェクション IP コアのユーザー・ガイド |
15.1 | アルテラのフォールト・インジェクション IP コアのユーザー・ガイド |
IP コア バージョンがリストされていない場合は、以前の IP コア バージョンのユーザー ガイドが適用されます。
フォールト インジェクション IP コア ユーザー ガイドの改訂履歴
ドキュメントバージョン | インテル Quartus Prime バージョン | 変更点 |
2019.07.09 | 18.1 | 更新しました フォールト挿入 IP ピンの説明 トピックを参照して、Reset、error_injected、および error_scrubbed 信号を明確にします。 |
2018.05.16 | 18.0 | • インテル Quartus Prime プロ・エディション・ハンドブックから次のトピックを追加しました。
— フォールト挿入領域の定義 とサブトピック。 — Fault Injection Debugger の使用 とサブトピック。 — コマンドラインインターフェース とサブトピック。 • Intel FPGA Fault Injection IP コアの名前を Fault Injection Intel FPGA IP に変更。 |
日付 | バージョン | 変更点 |
2017.11.06 | 17.1 | • インテルとしてブランド変更。
• インテル Cyclone 10 GX デバイスのサポートが追加されました。 |
2016.10.31 | 16.1 | デバイスのサポートを更新しました。 |
2015.12.15 | 15.1 | • Quartus II を Quartus Prime ソフトウェアに変更。
• 自己参照関連のリンクを修正しました。 |
2015.05.04 | 15.0 | 初回リリース。 |
ドキュメント / リソース
![]() |
intel UG-01173 フォールト インジェクション FPGA IP コア [pdf] ユーザーガイド UG-01173 フォールト インジェクション FPGA IP コア、UG-01173、フォールト インジェクション FPGA IP コア、インジェクション c、インジェクション FPGA IP コア |