VDM - VDM - 2.0 日本語 - PG344

Versal Adaptive SoC DMA and Bridge Subsystem for PCI Express 製品ガイド (PG344)

Document_ID
PG344
Release_Date
2024-06-03
Version
2.0 日本語

ベンダー定義メッセージ (VDM) は、PCI Express の既存メッセージ機能の拡張機能です。PCI Express の仕様には、VDM の追加要件、ヘッダー フォーマット、配信情報が定義されています。詳細は、 PCI-SIG 仕様 (https://www.pcisig.com/specifications) を参照してください。

QDMA では VDM の送受信が可能です。この機能をイネーブルにするには、Vivado の [Customize IP] ダイアログ ボックスで Enable Bridge Slave Mode を選択します。これで、st_rx_msg インターフェイスが有効になります。

RX ベンダー定義メッセージは、出力ポートに送信される前に深さが浅い FIFO に格納されます。多数の VDM メッセージが連続する場合は、FIFO がオーバーフローし、これらのメッセージは破棄されます。VDM メッセージは定期的に繰り返すことが推奨されています。

VDM のスループットは、PCIe スピード、データ幅、メッセージ長、内部の VDM パイプラインなどいくつかの要因に依存します。

内部 VDM パイプラインは、ネットワークオンチップ (NoC) アクセスに対応する 64B の浅いバッファーを持つ内部 RX VDM FIFO インターフェイスに置き換える必要があります。

注記: FIFO が NoC 経由で処理される前に、64B を超える VDM を受信すると、新しい VDM メッセージは破棄されます。

内部 RX VDM FIFOインターフェイスは、連続したメッセージを処理できません。パイプラインのスループットは、4 回に 1 回のアクセスしか処理できません。つまり、ホストからのアクセス効率は約 25% です。

重要: 連続した VDM アクセスを実行しなくでください。

RX ベンダー定義メッセージ:

  1. QDMA が VDM を受信すると、メッセージが st_rx_msg ポートで受信されます。
  2. この入力データ ストリームは st_rx_msg_data ポート (DW ごと) で取り込まれます。
  3. ユーザー アプリケーションでこの VDM を受領できるかどうかを通知するには、ユーザー アプリケーションで st_rx_msg_rdy を駆動する必要があります。
  4. st_rx_msg_rdy が High になると、VDM がユーザー アプリケーションに転送されます。
  5. ユーザー アプリケーションは、この VDM を格納し、受信したパケット数を監視する必要があります。

TX ベンダー定義メッセージ:

  1. QDMA から VDM を送信できるようにするには、AXI4-Lite スレーブ インターフェイスを介して、ブリッジの TX メッセージ レジスタをプログラムします。
  2. ブリッジには、PCIe TX メッセージ データ FIFO レジスタ (TX_MSG_DFIFO) に示すように、TX メッセージ制御、ヘッダー L (バイト 8 から 11)、ヘッダー H (バイト 12 から 15)、および TX メッセージ データのレジスタがあります。
  3. TX メッセージ ヘッダー L レジスタの場合は、AXI4-Lite スレーブ インターフェイスを介して、オフセット 0xE64 に書き込みを実行します。
  4. 必須の VDM TX ヘッダー H レジスタの場合は、オフセット 0xE68 をプログラムします。
  5. DW0 から DW15 までの VDM メッセージの場合は、オフセット 0xE6C に書き込みを 1 つずつ実行して、16 個の DW ペイロードをプログラムします。
  6. VDM TX パケットを送信するには、オフセット 0xE60 にある TX_MSG_CTRL レジスタの msg_routingmsg_code、データ長、リクエスター ファンクション フィールド、および msg_execute フィールドをプログラムします。
  7. TX メッセージ制御レジスタも、ビット 23 でメッセージの完了ステータスを示します。VDM パケットの送信が問題なくできたことを確認するには、このビットを読み出す必要があります。
  8. レジスタのすべてのフィールドは RW ですが、例外は、TX 制御レジスタのビット 23 (msg_fail) で、これは 1 を書き込むとクリアになります。
  9. VDM TX パケットは、AXI-ST RQ 送信インターフェイスで送信されます。