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

ID 683140
日付 4/27/2023
Public
ドキュメント目次

3.5. 完了タイムアウト

PCIe用F-タイルIPは、完了タイムアウトメカニズムを備えており、ユーザー・アプリケーションによって送信された未投稿の要求と、受信した対応する完了を追跡します。F-タイル IPは、完了タイムアウトを検出すると、cpl_timeout_o信号をアサートしてユーザー・アプリケーションに通知します。完了タイムアウトが発生すると、ユーザー・アプリケーションは(ポートごとに)Avalon-MMインターフェイスを使用して、ハードIPの完了タイムアウトFIFOにアクセスし、イベントに関する詳細情報を取得し、必要に応じてAER機能レジスターを更新できます。完了タイムアウトFIFOが空になると、IPコアはcpl_timeout_o信号をディアサートします。

cpl_timeout_o がアサートされると、ユーザー・アプリケーションはAvalon-MM読み出しを発行して、完了FIFOから情報を取得できます。次に、Avalon-MM書き込みを発行して、CONTROLレジスターのビット[0]に1を書き込み、次のデータにアクセスします。

表 19.  コンプリーション・タイムアウト・エラー
Address フィールド名 レジスター・アクセス信号 概要
0x90000 STATUS RO

[7:2]: 予約済み

[1]:完了タイムアウトFIFOがフルである

[0]:完了タイムアウトFIFOが空である

0x90001 CONTROL WO

[7:1]: 予約済み

[0]:読み出し(FIFOからのデータのポップ)。

CONTROLレジスターのビット0に1を書き込む前に、タイムアウト要求に関するすべての情報を読み出す必要があります。

CONTROLレジスターのビット0に書き込むと、次のデータが表示されます。

0x90002 VF RO

7|0|7|0

完了タイムアウトが観察される非転記トランザクションを開始するVFの仮想機能番号。

0x90003 pF RO

[7]:vfunc_active

[6] = Reserved

[5:3]:func_num [2:0]完了タイムアウトが観察される非ポストトランザクションを開始するPFの物理関数番号(最下位8ビット)。

[2:0]:vfunc_num [10:8]完了タイムアウトが監視されるメモリー読み出し要求を開始するVFの仮想機能番号(最上位3ビット)。

0x90004 LEN1 RO

[7:0]:cpl_lenn [7:0]非ポストトランザクションでタイムアウトした予想される完了のバイト単位の転送長(最下位8ビット)。

分割完了の場合、完了がタイムアウトしたときに配信される残りのバイト数を示します(最大長は最大読み出し要求サイズです。例:4Kバイト= 2 ^ 12バイト)

0x90005 LEN2 RO

[7:4]: 予約済み

[3:0]:cpl_lenn [11:8]転送の長さ(バイト単位)(最上位4ビット)。ポストされていないトランザクションでタイムアウトしたと予想される完了。

分割完了の場合、完了がタイムアウトしたときに配信される残りのバイト数を示します(最大長は最大読み出し要求サイズです。例:4Kバイト= 2 ^ 12バイト)

0x90006 TAG1 RO

[7:0]:cpl_tag [7:0]ポストされていないトランザクションでタイムアウトした予想される完了のタグID(最下位8ビット)。

0x90007 TAG2 RO

[7:5]:cpl_tc [2:0]投稿されていないトランザクションでタイムアウトした予想される完了のトラフィッククラス。

[4:3]:cpl_attr [1:0]転記されていないトランザクションでタイムアウトした予想される完了の属性。 IDベースの順序付けはサポートされていません。
  • [4] -> Relaxed ordering
  • [3]-> No Snoop
  • [2] : Reserved

ポストされていないトランザクションでタイムアウトした予想される完了の[1:0]: cpl_tag[9:8] Tag ID(最上位2ビット)。