PCIeソリューションに向けた Arria V Avalon-MMインターフェイス: ユーザーガイド

ID 683773
日付 5/21/2017
Public
ドキュメント目次

7.3. トランザクション層のエラー

表 70.  トランザクション層によって検出されるエラー

エラー

種類

説明

Poisoned TLP received

訂正不可、致命的でない

このエラーは、受信したトランザクション層のパケットにEPポイズンビットが設定されている場合に発生します。

受信したTLPはアプリケーション層に渡され、アプリケーション層のロジックはPoisoned TLPに対して適切な動作を実行する必要があります。Poisoned TLPの詳細については、PCI Expressの基本仕様 の「2.7.2.2 Rules for Use of Data Poisoning」を参照してください。

ECRC check failed  (1)

訂正不可、致命的でない

このエラーは、TLPが不正な形式ではなく、LCRCチェックが有効であるにもかかわらず、ECRCチェックが成功しなかった場合に発生します。

ハードIPブロックは、このTLPを自動的に処理します。 TLPがノンポステッド要求である場合、ハードIPブロックはCompleter Abortステータスを持つコンプリーションを生成します。すべての場合において、TLPはハードIPブロック内で削除されるため、アプリケーション層には提示されません。

Unsupported Request for Endpoints

訂正不可、致命的でない

このエラーは、コンポーネントが次のサポートされていない要求のいずれかを受信するたびに発生します。

  • 存在しないファンクションへのType 0コンフィグレーション要求
  • Requester IDがバス、デバイス、およびファンクション番号と一致しないCompletion Transation
  • サポートされていないメッセージ
  • PCIeリンクからのTLPに向けたType 1コンフィグレーション要求TLP
  • ネイティブ・エンドポイント(MEMRDLK)のLocked Memory Read
  • Locked Completion Transaction
  • アドレスの34 MSBが0に設定された64ビットのメモリー転送
  • BARが一致しないメモリーまたはI/O転送
  • メモリースペース・イネーブル・ビット(コンフィグレーション・スペース・オフセット0x4のPCI Commandレジスターのbit [1])が0に設定されている場合のメモリー転送
  • Poisoned Configuration Write Request (CfgWr0)

すべての場合において、TLPはハードIPブロック内で削除されるため、アプリケーション層には提示されません。TLPがノンポステッド要求である場合、ハードIPブロックはUnsupported Requestステータスを持つコンプリーションを生成します。

Unsupported Requests for Root Port

訂正不可、致命的

このエラーは、コンポーネントが次のサポートされていない要求のいずれかを受信するたびに発生します。

  • サポートされていないメッセージ
  • Type 0コンフィグレーション要求TLP
  • アドレスの34 MSBが0に設定された64ビットのメモリー転送
  • ベースおよびリミット・アドレス・レジスターで定義されたアドレス範囲と一致しないメモリー転送

Completion timeout

訂正不可、致命的でない

このエラーは、アプリケーション層からの要求が、確立された時間内に対応するコンプリーションTLPを生成しない場合に発生します。アプリケーション層ロジックの役割は、コンプリーション・タイムアウト機構を提供するすることにあります。コンプリーション・タイムアウトはcpl_err[0]信号を使用してトランザクション層から報告されるべきです。

Completer abort  (1)

訂正不可、致命的でない

アプリケーション層は、TLPの受信を停止する際、cpl_err[2]信号を使用してこのエラーを報告します。

Unexpected completion

訂正不可、致命的でない

このエラーは予期せぬコンプリーション・トランザクションにより発生します。ハードIPブロックは、次の条件を処理します。

  • コンプリーション・パケット内のRequester IDがエンドポイントのConfigured IDと一致しない。
  • コンプリーション・パケットに無効なタグ番号がある(通常、コンプリーション・パケットでは、指定されたタグの個数よりも多くのタグが使用されます)。
  • コンプリーション・パケットに未処理の要求と一致しないタグがある。
  • I/Oまたはコンフィグレーション・スペースに対する要求のコンプリーション・パケットの長さが1dwordを超えている。
  • コンプリーション・ステータスが、コンフィグレーション・スペースに向けたものではない要求に応じてConfiguration Retry Status (CRS)である。

すべての場合において、TLPはハードIPブロック内で削除されるため、アプリケーション層には提示されません。

アプリケーション層は、cpl_err[2]を使用して他の予期せぬコンプリーション条件を検出・報告することが可能です。たとえば、アプリケーション層は、受信した良好なコンプリーションが元のリード要求の長さと一致しない場合、そのことを報告することが可能です。

Receiver overflow (1)

訂正不可、致命的

このエラーは、この種類のTLPに割り当てられたFCクレジットに違反するTLPをコンポーネントが受信した場合に発生します。すべての場合において、TLPはハードIPブロック内で削除されるため、アプリケーション層には提示されません。

Flow control protocol error (FCPE)  (1)

訂正不可、致命的

このエラーは、コンポーネントが制限を200μsとする更新フロー・コントロール・クレジットを受信しない場合に発生します。

Malformed TLP

訂正不可、致命的

このエラーは、次のいずれかの条件によって発生します。

  • 受信したTLPのデータ・ペイロードが最大ペイロード・サイズを超えている。
  • TDフィールドとはアサートされているがTLPダイジェストが存在しない、あるいはTLPダイジェストは存在するがPCI Express要求ヘッダーパケットのTDビットがアサートされていない。
  • TLPがバイト・イネーブル規則に違反している。ハードIPブロックは、この違反をチェックしますが、これはPCI Express仕様ではオプションと見なされます。
  • TLPのtypeおよびlengthフィールドがTLPの全長と一致していない。
  • TLPのフォーマットとタイプがPCI Express仕様で指定されていない。
  • 要求は、メモリスペースが4 KBを超える境界へアクセスする原因となるアドレス/長さの組み合わせを指定している。ハードIPブロックは、この違反をチェックしますが、これはPCI Express仕様ではオプションと見なされます。
  • Assert_INTx、Power Management、Error Signaling、Unlock、およびSet Power Slot Limitなどのメッセージをデフォルトのトラフィック・クラスにわたって転送する必要がある。

不正なTLPはハードIPブロック内で削除されるため、アプリケーション層には提示されません。

注:

  1. PCI Expressの基本仕様レビジョンではオプションと見なされます。