PCI Express*向け F タイル Avalon® ストリーミングのインテル® FPGA IPユーザーガイド

ID 683140
日付 12/17/2021
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

5.7. エラー・インターフェイス

これは、PCI Express用のインテルFタイル Avalon-ST IPのオプションのインターフェイスであり、アプリケーション層がIPコアにエラーを報告したり、その逆を行ったりすることができます。具体的には、アプリケーション層は、app_error_info_i IPへの信号によって定義されたさまざまなタイプのエラーを報告できます。 Advanced Error Reporting(AER)の場合、アプリケーション層は、app_err_ * インターフェイス経由でTLPヘッダーとエラーログ要求をログに記録するための情報を提供できます。

PCI Express用のインテル Fタイル Avalon-ST IPは、デフォルトで物理機能(PF)のAER機能を有効にします。仮想関数(VF)のAER実装はありません。 VFを使用する場合は、AERの代わりにVFエラー・フラグ・インターフェイスを使用してください。

注: エラー・インターフェイスはトポロジーHでは使用できません。
表 67.  レシーバ・インタフェース信号
信号名 入力/出力 EP/RP/BP クロックドメイン 概要
p#_serr_out_o 出力 EP/RP/BP coreclkout_hip

システムエラーが検出されたことを示します。

RPモード:この信号の1クロックサイクルのパルスは、階層内のいずれかのデバイスが次のエラーのいずれかを報告し、関連するイネーブルビットがルート制御レジスターに設定されているかどうかを示します:ERR_COR、ERR_FATAL、ERR_NONFATAL。

内部エラーが検出されたときにもアサートされます。エラーの原因は、ポートコンフィグレーションおよびステータスレジスターのルートポートエラーステータスレジスターに記録されます。

EPモード:Fタイル PCIe ハードIPが修正可能/非致命的/致命的エラーのメッセージを送信したときにアサートされます。

BPモード:ハードIPコアによって検出されたトランザクション層またはデータリンク層のエラーがこの信号をトリガーします。詳細情報は、ポートコンフィグレーションおよびステータスレジスターのバイパスモードエラーステータスレジスターに記録されます。

p#_hip_enter_err_mode_o 出力 EP/RP/BP coreclkout_hip

ハードIPがエラーモードに入るとアサートされます。これは通常、ハードIPが修正不可能なRAMECCエラーを検出した場合に発生します。この信号のアサーションを確認したら、ユーザーは受信したすべてのTLPを破棄する必要があります。

p#_app_err_valid_i 入力 EP / RP coreclkout_hip

この信号の1サイクルのパルスは、app_err_info_i、app_err_hdr_i、およびapp_err_func_num_iのデータがそのサイクルで有効であり、app_err_hdr_iが次の4サイクルで有効であることを示します。

p#_app_err_hdr_i[ 31:0] 入力 EP / RP coreclkout_hip

このバスには、エラーTLPのヘッダーおよびTLPプレフィックス情報が含まれています。 128ビットのヘッダーと32ビットのTLPプレフィックスは、5サイクルでハードIPに送信されます(各クロックサイクルで32ビットの情報が送信されます)。

サイクル1:ヘッダー[31:0]

サイクル2:ヘッダー[63:32]

サイクル3:ヘッダー[95:64]

サイクル4:ヘッダー[127:96]

サイクル5:TLPプレフィックス

p#_app_err_info_ i[12:0] 入力 EP / RP coreclkout_hip
このエラーバスには、次の情報が含まれています。
  • [0]:不正な形式のTLP
  • [1]:レシーバーオーバーフロー
  • [2]:予期しない完了
  • [3]:コンプリーターアボート
  • [4]:完了タイムアウト
  • [5]:サポートされていないリクエスト
  • [6]:毒されたTLPを受け取りました
  • [7]:AtomicOp出力がブロックされました
  • [8]:修正不可能な内部エラー
  • [9]:修正可能な内部エラー
  • [10]:アドバイザリエラー
  • [11]:TLPプレフィックスがブロックされました
  • [12]:ACS違反
p#_app_err_func_n um_i[2:0] 入力 eps coreclkout_hip
注: p2およびp3では使用できません。

このバスには、エラー有効信号をアサートする機能の機能番号が含まれています。

図 57. RXインターフェイスのタイミング図
トポロジH[1x4]の場合、エラー報告はハードIPリコンフィグレーション・インターフェイスを介して行われます。アプリケーションは、以下の手順に従ってAPP_ERRレジスターに書き込む必要があります。
  1. エラーTLPヘッダー[127:96]をAPP_ERR_HDR3レジスターに書き込みます。。
  2. エラーTLPヘッダー[95:64]をAPP_ERR_HDR2レジスターに書き込みます。
  3. エラーTLPヘッダー[63:32]をAPP_ERR_HDR1レジスターに書き込みます。
  4. エラーTLPヘッダー[31:0]をAPP_ERR_HDR0レジスターに書き込みます。
  5. エラーTLPプレフィックスをAPP_ERRPRFXレジスターに書き込みます。
  6. エラー有効、エラー関数番号、およびエラー情報をAPP_ERR_BUSレジスターに書き込みます。
表 68.  トポロジーHのAPP_ERRレジスター
レジスター オフセット・アドレス ビット 説明 アクセスタイプ デフォルト値
APP_ERR_HDR0 0x14300 31:0 TLPヘッダー[31:0] RW 0x0000_0000
APP_ERR_HDR1 0x14304 31:0 TLPヘッダー[63:32] RW 0x0000_0000
APP_ERR_HDR2 0x14308 31:0 TLPヘッダー[95:64] RW 0x0000_0000
APP_ERR_HDR3 0x1430C 31:0 TLPヘッダー[127:96] RW 0x0000_0000
APP_ERR_PRFX 0x14310 31:0 TLPプレフィックス RW 0x0000_0000
APP_ERR_BUS 0x14314 31:17 RSVD RO 0x0000
RCLK[16..4]

エラー情報の取得

注: p#_app_err_info_iに定義されているエラー情報について詳しくはエラー・インターフェイス信号テーブルを参照してください。
RW 0x0000
3:1 機能番号 RW 0x0
0 有効 RW 0x0
図 58. トポロジHエラー・インターフェイスハードIP書き込み