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

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

5.4.2. Avalon-ST インターフェイス信号

表 63.  Avalon-ST インターフェイス信号
信号名 入力/出力 EP/RP/BP クロックドメイン 説明
p#_tx_st_data_i [w * 128-1:0] 入力 EP/RP/BP coreclkout_hip

送信用のアプリケーション層データ。アプリケーション層は、TXインターフェイスで適切にフォーマットされたTLPを提供する必要があります。対応するtx_st_valid_i信号がアサートされたときに有効です。

メッセージTLPのマッピングは、4dwordヘッダーを持つトランザクション層TLPのマッピングと同じです。データサイクル数は、ヘッダーの長さフィールドとアドレスフィールドに対して正しい必要があります。データサイクル数が正しくないパケットを発行すると、TXインターフェイスがハングし、それ以上の要求を受け入れることができなくなります。

注:tx_st_ready_oのデアサートによるバックプレッシャがない限り、tx_st_sop_iサイクルとtx_st_eop_iサイクルの間にアイドルサイクルがあってはなりません。

p#_tx_st_sop_i[n-1:0] 入力 EP/RP/BP coreclkout_hip

tx_st_valid_iの対応するビットと組み合わせてアサートされた場合のTLPの最初のサイクルを示します。

x16コンフィグレーションの場合:
  • tx_st_sop_i [1]:アサートされると、tx_st_data_i [511:256]でaTLPの開始を示します。
  • tx_st_sop_i [0]:アサートされると、tx_st_data_i [255:0]でTLPの開始を示します。

これらの信号は、TLPごとに1クロックサイクルの間アサートされます。また、対応するtx_st_hdr_iおよびtx_st_tlp_prfx_i信号を修飾します。

p#_tx_st_eop_i[n-1:0] 入力 EP/RP/BP coreclkout_hip

tx_st_valid_iの対応するビットと組み合わせてアサートされた場合のTLPの最後のサイクルを示します。

x16コンフィグレーションの場合:
  • tx_st_eop_i [1]:アサートされると、tx_st_data_i [511:256]のTLPの終了を示します。
  • tx_st_eop_i [0]:アサートされると、tx_st_data_i [255:0]のTLPの終了を示します。

これらの信号は、TLPごとに1クロックサイクルの間アサートされます。

p#_tx_st_valid_i[n-1:0] 入力 EP/RP/BP coreclkout_hip

レディサイクルで、tx_st_data_iの対応するデータセグメントをIPコアに修飾します。

タイミングクロージャを容易にするために、ユーザーはtx_st_ready_o信号とtx_st_valid_i信号の両方を登録することをお勧めします。

注:tx_st_ready_oのデアサートによるバックプレッシャがない限り、tx_st_sop_iサイクルとtx_st_eop_iサイクルの間にアイドルサイクルがあってはなりません。

p#_tx_st_ready_o 出力 EP/RP/BP coreclkout_hip

PCIe ハードIPが送信用のデータを受け入れる準備ができていることを示します。 readyLatencyは3サイクルです。

サイクルでPCIe ハードIPのトランザクション層によってtx_st_ready_oがアサートされた場合<n>、 それから<n>+ readyLatencyは準備完了サイクルであり、その間にアプリケーションはtx_st_valid_iをアサートしてデータを転送できます。

tx_st_ready_oがcycle <n>でトランザクション層によってディアサートされた場合、アプリケーションは、cycle <n>後のreadyLatencyサイクル数内でtx_st_valid_iをディアサートする必要があります。

tx_st_ready_oは、次の条件でディアサートできます。
  • LTSSMの準備ができていません。
  • 再試行が進行中です。
  • リクエストを送信するのに十分なクレジットがありません。
  • F-タイル Avalon-ST IPは、内部で生成されたTLPの送信でビジーです。
  • 内部F-タイルTXFIFOがいっぱいです。
o_sl_cpri_reconfig_writerequest[n-1:0] 入力 EP/RP/BP coreclkout_hip

アサートされたら、送信されたTLPにエラーがあることを示します。これらの信号はtx_st_eop_iでアサートされ、パケットを無効にします。

tx_st_err_i [1]:アサートされると、tx_st_data_i [511:256]でエラーを指定します。

tx_st_err_i [0]:アサートされると、tx_st_data_i [255:0]にエラーを指定します。

p#_tx_st_hdr_i [n * 128-1:0] 入力 EP/RP/BP coreclkout_hip
これは送信されるヘッダーであり、リクエスターID /コンプリーターIDフィールド(tx_st_hdr_i [95:80])を除いて、PCIe仕様のTLPヘッダー形式に従います。
  • tx_st_hdr_i [95:84]:tx_st_vf_num [11:0]
  • tx_st_hdr_i [83]:tx_st_vf_active
  • tx_st_hdr_i [82:80]:tx_st_func_num [2:0]

これらの信号は、対応するtx_st_sop_i信号がアサートされたときに有効です。

ヘッダーはビッグ・エンディアンの実装を使用します。

TLPバイパスの場合、ビット127は1に設定されます。

EP / RPモードの場合、ビット127は0に設定されます。

reconfig_readdata[N*32-1:0] 入力 EP/RP/BP coreclkout_hip

これは送信されるTLPプレフィックスであり、PCIe仕様のTLPプレフィックス形式に従います。 PASIDが含まれています。

これらの信号は、対応するtx_st_sop_i信号がアサートされたときに有効です。

TLPプレフィックスはビッグ・エンディアンの実装を使用します(つまり、Fmtフィールドはビット[31:29]であり、Typeフィールドはビット[28:24]です)。

特定のTLPにプレフィックスが存在しない場合、Fmtフィールドを含むそのdwordはすべてゼロです。

p#_tx_st_data_par_i [w * 16-1:0] 入力 EP/RP/BP coreclkout_hip

tx_st_data_iのバイトパリティ。ビット[0]はtx_st_data_i[7:0]に対応し、ビット[1]はtx_st_data_i [15:8]に対応します。

デフォルトでは、PCIe ハードIPはTXデータのパリティを生成します。

ただし、ECCがオフの場合、k_pcie_parity_bypassレジスターを設定することにより、FPGAコアからパリティを渡すことができます。

p#_tx_st_hdr_par_i [n * 16-1:0] 入力 EP/RP/BP coreclkout_hip

tx_st_hdr_iのバイトパリティ。デフォルトでは、PCIe ハードIPはTXヘッダーのパリティを生成します。

ただし、ECCがオフの場合、k_pcie_parity_bypassレジスターを設定することにより、FPGAコアからパリティを渡すことができます。

p#_tx_st_tlp_prfx_par_i [n * 4-1:0] 入力 EP/RP/BP coreclkout_hip

tx_st_tlp_prfx_iのバイトパリティ。デフォルトでは、PCIe ハードIPはTXTLPプレフィックスのパリティを生成します。

ただし、ECCがオフの場合、k_pcie_parity_bypassレジスターを設定することにより、FPGAコアからパリティを渡すことができます。

p#_tx_par_err_o 出力 EP/RP/BP coreclkout_hip

TXTLP送信中のパリティーエラーを示すために単一サイクルでアサートされます。

IPコアは、パリティーエラーが検出された場合でもTXTLPパケットを送信します。

表 64.  MACコントロール・インターフェイス信号
信号名 入力/出力 EP/RP/BP クロックドメイン 説明
p#_tx_cdts_limit_tdm_idx_o[2:0] 出力 EP/RP/BP coreclkout_hip

tx_cdts_limit_o [15:0]信号のトラフィックタイプを示します。このインターフェイスは、有効なすべてのポートのクレジット制限情報をTDM方式で提供します。

次のエンコーディングが定義されています。
  • 000:Pヘッダーのクレジット制限
  • 001:NPヘッダーのクレジット制限
  • 010:CPLヘッダーのクレジット制限
  • 011:予約済み
  • 100:Pデータのクレジット制限
  • 101:NPデータのクレジット制限
  • 110:CPLデータのクレジット制限
  • 111:予約済み
p#_tx_cdts_limit_o[15:0] 出力 EP/RP/BP coreclkout_hip

リモートレシーバーによってアドバタイズされたフロー制御(FC)クレジットユニットを示します。

これらの信号は、フロー制御の初期化以降にレシーバーによって使用可能になったFCクレジットの総数を表します。

最初に、これらの信号は、リモートレシーバーで使用可能なFCクレジットの数を示します。これらの信号の値は常に増分してロールオーバーします。

たとえば、リモートレシーバーが0xFFFFの初期Non-Posted Header(NPH)FCクレジットをアドバタイズする場合、MRd要求を受信した後、NPH FCクレジット値は1ずつ増加し、0x0000にロールオーバーします。 tx_cdts_limit_tdm_idx_o [2:0]信号は、トラフィックタイプを決定します。

トラフィックタイプがヘッダークレジットの場合、LSB12ビットのみが有効です。

ユーザー・アプリケーションによって送信されるTLPに加えて、内部で生成されたTLPもFCクレジットを消費することに注意してください。