インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

10.4.4.4.2. DMA ECC RAMに向けたペリフェラル・スレーブ・インターフェイスのテスト

DMA ECC RAMのみを、ペリフェラル・スレーブ・インターフェイスを使用してテストすることができます。ECC_accctrlレジスターでは、データおよびECCの上書きビットが提供されており、それを使用して、ECCで保護されているRAMへのペリフェラル・インターフェイスの機能をテストします。

ECCを有効にした状態でのテスト

次のシーケンスを使用して、ECCデコーダーが正しく動作するかをテストすることができます。
  1. CTRLレジスターのECC_ENビットを設定し、ECCを有効にします。
  2. ECCで保護されているRAMの任意のメモリー位置にデータを書き込みます。この動作により、ECCの値が生成されます。この値は、ECC_Rdataecc0busレジスターとECC_Rdataecc1busレジスターを介して読み出すことができます。
  3. レジスター・バス・インターフェイスを介してメモリーデータを読み戻します。読み出されたデータが最初に書き込まれたデータと一致する (シングルビット・エラーの有無にかかわらず)、もしくは、ダブルビット・エラーがログに記録されることが想定されます。エラーの特定に関しては、「エラーのログ」のセクションを参照してください。

ECCを無効にした状態でのテスト

このシーケンスを使用して、ECCデコーダーが無効になっている場合に出力を生成しないことをテストすることができます。
  1. CTRLレジスターのECC_ENビットをクリアし、ECCを無効にします。
  2. ECCで保護されているRAMの任意のメモリー位置に書き込みを行います。ECCの値は生成されず、割り込みまたはエラーのログも発生しないことが想定されます。
  3. ECC_Rdataecc0busレジスターおよびECC_Rdataecc1busレジスターを介してECCの値を読み出し、ECCの値が読み出しメモリーデータに対応していないことを確認することができます。

ECCが無効な状態から有効になった場合のテスト

このシーケンスでは、ECCコントローラーが無効になっている際に書き込まれたメモリーデータでは、その後ECCコントローラーを有効にして同じメモリーデータ位置を読み出した場合にエラーが生成されることを示します。

  1. CTRLレジスターのECC_ENビットをクリアし、ECCを無効にします。
  2. ECCで保護されているRAMの任意のメモリー位置に書き込みを行います。ECCの値は生成されず、割り込みまたはエラーのログも発生しないことが想定されます。
  3. CTRLレジスターのECC_ENを設定し、ECCを有効にします。
  4. ステップ2で書き込みを行った、ECCで保護されているRAMのメモリー位置からデータを読み出します。
  5. メモリーデータに対応するECCの値が正しくないため、エラーが生成されることが想定されます。エラーの特定に関しては、エラーのログのセクションを参照してください。