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

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

3.3.2. Avalon-ST

アプリケーション層は、Avalon-STRXインターフェイスを介してPCI ExpressIPコアのトランザクション層からデータを受信します。アプリケーションは、転送を開始する前にrx_st_ready_iをアサートする必要があります。このインターフェイスは、F-タイル IPがx16コンフィグレーションで動作している場合、サイクルごとに2つのrx_st_sop_o信号と2つのrx_st_eop_o信号をサポートします。

x16コアは2つのセグメントを提供し、各セグメントには256ビットのデータがあります:(rx_st_data_o [511:256]rx_st_data_o [255:0])、128ビットのヘッダー(rx_st_hdr_o [255:128]rx_st_hdr_o [127:0])、および32ビットのTLPプレフィックス(rx_st_tlp_prfx_o [63:32]rx_st_tlp_prfx_o [31:0])。このコアが1x16モードでコンフィグレーションされている場合、両方のセグメントが使用されるため、データバスは512ビットバスrx_st_data_o [511:0]になります 。パケットの開始は、rx_st_sop_o [1:0] 信号のように、上部セグメントまたは下部セグメントに表示されます。

Gen4 x16モードで期待されるパフォーマンスを実現するには、ユーザー・アプリケーションはこのセグメント化されたバスアーキテクチャーを利用する必要があります。そうしないと、パフォーマンスが低下する可能性があります。

このコアが2x8モードでコンフィグレーションされている場合、下位セグメントのみが使用されます。この場合、データバスは256ビットバスrx_st_data_o [255:0]です。 最後に、このコアが4x4モードでコンフィグレーションされている場合、下位セグメントのみが使用され、MSB128ビットのデータのみが有効です。この場合、データバスは128ビットバスrx_st_data_o [127:0]です。

x8コアは、256ビットのデータ、128ビットのヘッダー、および32ビットのTLPプレフィックスを備えた1つのセグメントを提供します。このコアが4x4モードでコンフィグレーションされている場合、LSB128ビットのデータのみが使用されます。

x4コアは、128ビットのデータ、128ビットのヘッダー、および32ビットのTLPプレフィックスを備えた1つのセグメントを提供します。

図 15. Avalon-ST インターフェイスx16
図 16. Avalon-ST インターフェイスx8
注: pnプレフィックスは、2x8モードの2つのポートのp0およびp1用です。
図 17. Avalon-ST インターフェイスx4
注: pnプレフィックスは、4x4モードの4ポートのp0、p1、p2、およびp3用です。
図 18. Avalon-STRXインターフェイスrx_st_ready 行動
注: トランザクション層は、rx_st_ready_iのディアサートから27サイクル以内にrx_st_valid_oをディアサートします。 また、送信するデータがさらにある場合は、 rx_st_ready_iがリアサートした後、27サイクル以内rx_st_valid_o をリアサートします。rx_st_data_oは、アプリケーションがそれを受け入れることができるまで保持されます。