受信 AXI4-Stream インターフェイス - 1.2 日本語

FEC 付き Versal ACAP 統合 600G Interlaken サブシステム 製品ガイド (PG371)

Document ID
PG371
Release Date
2023-01-19
Version
1.2 日本語

TX AXI4-Stream インターフェイス同様に、同期 RX インターフェイスもパケット指向のデータを供給します。すべての信号は c0_axi_clk クロックの立ち上がりエッジに同期します。次の図に、512 ビットのセグメント バスを使用した場合の 65 バイト パケットの 2 つのデータ トランザクションの波形例を示します。

図 1. 受信 AXI4-Stream インターフェイスの波形例

TX AXI4-Stream インターフェイスと同様に、RX AXI4-Stream インターフェイスは 128 ビットのセグメントに分割され、同じクロック サイクルで複数の転送を並列に実行します。セグメントの数は、CFG_C0_RX_OVERALL_REG レジスタの c0_ctl_rx_axis_width[2:0] フィールドでプログラムされるバスの幅に基づいています。セグメント 0 (すなわち、rx_axis_tdata0)、1 (すなわち、rx_axis_tdata1)、2、3 の順に各 128 ビットの転送が実行されます。

ILKNF サブシステムは、rx_axis_tuser_ena<M> がアサートされているすべての c0_axi_clk クロック サイクルでセグメント <M> にデータを供給します。この信号は、RX AXI4-Stream インターフェイスのセグメント <M> のほかの出力を有効にします。RX コア ロジックは入力データを格納し、十分なデータが揃うまで転送しません。したがって、rx_axis_tuser_ena<M> 信号がアサートされないクロック サイクルが生じる可能性があります。

rx_axis_tuser_ena<M> がアサートされるすべてのサイクルで、rx_axis_tuser_ena0 もアサートする必要があります。さらに、アクティブなセグメントの間に非アクティブなセグメントを挟まないようにします。たとえば、rx_axis_tuser_ena<i> が 1 に設定された場合、rx_axis_tuser_ena<i - 1> も 1 に設定されます。i の範囲は次のとおりです。

  • 2048 ビットのバスの場合、1 ~ 15
  • 1536 ビットのバスの場合、1 ~ 11
  • 1024 ビットのバスの場合、1 ~ 7
  • 512 ビットのバスの場合、1 ~ 3

TX と同様、RX は rx_axis_tuser_sop<M> でセグメント <M> 内のパケットの開始 (SOP) を示し、rx_axis_tuser_eop<M> でセグメント <M> 内のパケットの終了 (EOP) を示します。パケットの長さがセグメントの幅以下の場合、rx_axis_tuser_sop<M>rx_axis_tuser_eop<M> の両方が同じサイクルでアサートされます。

TX と同様に、セグメント <M> で開始されるパケットの最初のバイトは rx_axis_tdata<M> のビット [127:120] に供給され、2 番目のバイトはビット [119:112] に供給されます (以下同様)。

パケットの最後のセグメントを除き、パケットの各部分はバス セグメントの幅全体 (16 バイト) に書き込まれます。セグメント <M> で rx_axis_tuser_eop<M> がアサートされた場合、rx_axis_tuser_mty<M> バスはそのセグメント内の無効なバイト レーンの数を示します。エンコードは tx_axis_tuser_mty<M> と同じです。

パケットの最後のサイクルで rx_axis_tuser_eop<M>rx_axis_tuser_ena<M> と共にアサートされた場合、セグメント <M> で終了したパケット内のエラーを示すrx_axis_tuser_err<M> もアサートされることがあります。

RX AXI4-Stream インターフェイスにはバック プレッシャー機能はありません。rx_axis_tuser_ena<M> がアサートされている間、ユーザー ロジックはデータを受信できる状態になっている必要があります。Interlaken フロー制御メカニズムにより、インバンドまたはアウトオブバンド プロトコル、あるいはその両方を使用して、データ フローを停止できます。

RX AXI4-Stream インターフェイスは、Interlaken バスからデータを受信したときと同じ順序でデータを供給します。パケットはインターリーブ可能で、rx_axis_tuser_chan<M> に示されるチャネル番号で識別されます。

RX セグメント AXI4-Stream バスには、2 つ以上の SOP と 2 つ以上の EOP が含まれることがあります。受信側の AXI4-Stream インターフェイスには、バースト制御ワードを受け入れるための要件はない (これらの制御ワードは既に処理されている) ため、パケットは到達時にできるだけ効率的にパックされます。