インテルのみ表示可能 — Ixiasoft
1. インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル改訂履歴
2. ハード・プロセッサー・システムの概要
3. Cortex-A53 MPCoreプロセッサー
4. キャッシュ・コヒーレンシー・ユニット
5. システムメモリー管理ユニット
6. システム・インターコネクト
7. ブリッジ
8. DMAコントローラー
9. オンチップRAM
10. ECC (エラー検出訂正) コントローラー
11. クロック・マネージャー
12. システム・マネージャー
13. リセット・マネージャー
14. ハード・プロセッサー・システムのI/Oピンの多重化
15. NANDフラッシュ・コントローラー
16. SD/MMCコントローラー
17. イーサネット・メディア・アクセス・コントローラー
18. USB 2.0 OTGコントローラー
19. SPIコントローラー
20. I2Cコントローラー
21. UARTコントローラー
22. 汎用I/Oインターフェイス
23. タイマー
24. ウォッチドッグ・タイマー
25. CoreSightのデバッグとトレース
A. ブートとコンフィグレーション
B. HPSを介したセキュア・デバイス・マネージャーQuad SPIフラッシュ・コントローラーへのアクセス
3.5.1. 例外レベル
3.5.2. 仮想化
3.5.3. メモリー管理ユニット
3.5.4. レベル1キャッシュ
3.5.5. レベル2メモリーシステム
3.5.6. スヌープ制御ユニット
3.5.7. 暗号化による拡張
3.5.8. NEONマルチメディア・プロセッシング・エンジン
3.5.9. 浮動小数点演算装置
3.5.10. ACEバス・インターフェイス
3.5.11. アボート処理
3.5.12. キャッシュ保護
3.5.13. 汎用割り込みコントローラー
3.5.14. 汎用タイマー
3.5.15. デバッグモジュール
3.5.16. キャッシュ・コヒーレンシー・ユニット
3.5.17. クロックソース
25.4.1. デバッグ・アクセス・ポート
25.4.2. CoreSight SoC-400タイムスタンプ・ジェネレーター
25.4.3. システム・トレース・マクロセル
25.4.4. トレースファネル
25.4.5. CoreSightのトレース・メモリー・コントローラー
25.4.6. AMBAトレース・バス・レプリケーター
25.4.7. トレース・ポート・インターフェイス・ユニット
25.4.8. NoCトレースポート
25.4.9. エンベデッド・クロス・トリガー・システム
25.4.10. エンベデッド・トレース・マクロセル
25.4.11. HPSのデバッグAPBインターフェイス
25.4.12. FPGAインターフェイス
25.4.13. デバッグクロック
25.4.14. デバッグのリセット
インテルのみ表示可能 — Ixiasoft
10.4.4.4.1. レジスター・インターフェイスのテスト
メモリーエラーの訂正およびメモリー・レジスター・インターフェイスのテストは、ECCコントローラーのレジスターを介して行うことができます。
メモリーのテストと訂正には、次のレジスターを使用することができます。
- ECC_Addrbus: メモリーのアドレスとECCデータを保持します
- ECC_RData3busからECC_RData0bus: 読み出しアクセスで得たメモリーデータを保持します
- ECC_WData3busからECC_WData0bus: メモリーに書き込まれるデータを保持します
- ECC_RDataecc1busおよびECC_RDataecc0bus: 読み出しアクセスで得たECCデータを保持します
- ECC_WDataecc1busおよびECC_WDataecc0bus: メモリーに書き込まれるECCデータを保持します
- ECC_accctrl: アクセスを読み出しまたは書き込みとしてコンフィグレーションし、メモリーとECCデータの上書きを有効にします
- ECC_startacc: メモリーデータまたはECCデータのレジスター・インターフェイス・アクセスを開始します
DMA ECC RAMに向けたシングルビット・エラーのテスト
このシーケンスでは、DMA ECC RAMのECCデコーダーにおけるシングルビット・エラーの検出と訂正をテストします。
- ECC_WData3busレジスターからECC_WData0busレジスターにデータを書き込みます。
- CTRLレジスターのECC_ENビットを設定し、ECCの検出訂正ロジックを有効にします。
- ECC_dbytectrlレジスターのDBENビットを設定します。
- ECC_Addrbusレジスターをプログラミングし、データを書き込むアドレスバスを選択します。
- ECC_accctrlレジスターで、次のビットをプログラミングします。
- RDWR=1
- ECCOVR=0
- DATAOVR=1
- ECC_startaccレジスターのENBUS*ビットを設定し、間接的な書き込みアクセスをトリガーします。
- CTRLレジスターのECC_ENビットをクリアし、ECCの検出訂正ロジックを無効にします。
- ECC_WData3busレジスターからECC_WData0busレジスターで1ビットを変更したデータ値を、同じアドレスに書き込みます。
- ECC_startaccレジスターのENBUS*ビットを設定し、間接的な書き込みアクセスをトリガーします。
- ECC_accctrlレジスターで、次のビットをプログラミングします。
- RDWR=0
- ECCOVR=1
- DATAOVR=1
- CTRLレジスターのECC_ENビットを設定し、ECCの検出訂正ロジックを有効にします。
- ECC_startaccレジスターのENBUS*ビットを設定し、間接的な書き込みアクセスをトリガーします。
シングルビット・エラーに割り込みのトリガーをコンフィグレーションしている場合は、これらのステップ完了後に割り込みがトリガーされることが想定されます。ECC_RData*busレジスターを使用して同じアドレスのデータを読み戻す場合、メモリーからは、訂正されたデータの結果が戻されることが想定されます。
ワードで書き込み可能なメモリーに向けたシングルビット・エラーのテスト
このシーケンスでは、ワードで書き込み可能なECC RAMのECCデコーダーにおけるシングルビット・エラーの検出と訂正をテストします。
- ECC_WData3busレジスターからECC_WData0busレジスターにデータを書き込みます。
- CTRLレジスターのECC_ENビットを設定し、ECCの検出訂正ロジックを有効にします。
- ECC_dbytectrlレジスターのDBENビットを設定します。
- ECC_Addrbusレジスターをプログラミングし、データを書き込むアドレスバスを選択します。
- ECC_accctrlレジスターで、次のビットをプログラミングします。
- RDWR=1
- ECCOVR=0
- DATAOVR=1
- ECC_startaccレジスターのENBUS*ビットを設定し、間接的な書き込みアクセスをトリガーします。
- ECC_accctrlレジスターで、次のビットをプログラミングします。
- RDWR=0
- ECCOVR=1
- DATAOVR=0
- ECC_startaccレジスターのENBUS*ビットを設定し、間接的な書き込みアクセスをトリガーします。
- ECC_WData3busレジスターからECC_WData0busレジスターで1ビットを変更したデータ値を、同じアドレスに書き込みます。
- 同じアドレスで、ECC_RDataecc*busレジスターから結果のデータを読み出します。
- ECC_RDataecc*busレジスターからの値をECC_WDataecc*busレジスターに書き込みます。
- ECC_accctrlレジスターで、次のビットをプログラミングします。
- RDWR=1
- ECCOVR=1
- DATAOVR=1
- ECC_startaccレジスターのENBUS*ビットを設定し、間接的な書き込みアクセスをトリガーします。
- ECC_accctrlレジスターで、次のビットをプログラミングします。
- RDWR=0
- ECCOVR=1
- DATAOVR=1
- ECC_startaccレジスターのENBUS*ビットを設定し、間接的な書き込みアクセスをトリガーします。
シングルビット・エラーに割り込みのトリガーをコンフィグレーションしている場合は、これらのステップ完了後に割り込みがトリガーされることが想定されます。ECC_RData*busレジスターを使用して同じアドレスのデータを読み戻す場合、メモリーからは、訂正されたデータの結果が戻されることが想定されます。
ダブルビット・エラーのテスト
このシーケンスでは、ECCデコーダーにおけるダブルビット・エラーの検出をテストします。
- CTRLレジスターのECC_ENを設定し、ECCを有効にします。
- ECC_accctrlレジスターのData Override (DATAOVR) ビットを設定します。
- 通常のメモリー書き込みを使用し、メモリーのアドレス位置にデータを書き込みます。正しいECCデータが生成されることが想定されます。
- ECC_WData3busレジスターからECC_WData0busレジスターに2ビットを変更したデータ値を書き込み、メモリー位置のアドレスをECC_Addrbusに書き込みます。
- ECC_accctrlレジスターを書き込みにコンフィグレーションし、ECC_startaccレジスターのENBUSAビットを設定して書き込みを開始します。メモリーがデュアルポートの場合は、ポートアクセスに応じて、ENBUSBビットをオプションで有効にすることができます。
- 通常のメモリー読み出しアクセスを使用して、同じメモリー位置を読み出します。ダブルビット・エラーがデータの訂正なしでログに記録されることが想定されます。エラーの特定に関しては、エラーのログのセクションを参照してください。