テクニカル ドキュメント #134



Doc ID: 134
製品: WinDriver
Version:  12.3 およびそれ以降

XDMA サンプル コード

バージョン 12.3 以降の WinDriver は、 Xillinx PCI Express cards with XDMA support のさまざまな特徴をデモする診断ユーティリティにおけるユーザー モード サンプル コードを提供しています。

サンプル ソース コードおよびプリコンパイル済みサンプルは、WinDriver\xilinx\xdma ディレクトリより確認できます。

"Resource overlap" (リソースのオーバーラップ) エラーを回避するために、診断ユーティリティを実行する前に DriverWizard が閉じていることを確認します。

xdma_diag ユーティリティ

注意:

上記画像のように、XDMA がサポートする適切なデバイスを実装している場合、上記画像のように診断ユーティリティは自動的にデバイスをスタートアップに開きます。そうでない場合は、オプション [2] を選択しデバイスを開きます。

DMA テストの実行

オプション [6] を選択後、DMA 転送の実行または DMA のパフォーマンスの測定のいずれかを行うことができます。DMA 転送オプションは、実際にデバイスからデータの読み込みおよび書き込みが可能になります。書き込みオプションは、16 進数表記によるバイトの入力が可能になります。ユーザーが入力した number of packets to transfer (転送するパケット数) によって、このバイトは繰り返しデバイス メモリに書き込まれます。

読み込みオプションは、ユーザーが入力した EPGA offset によって特定のメモリ領域の内容を出力します。

シンプルなテストは以下のようになります。

  • 1. 特定のバイトをデバイスのメモリに書き込みます。
  • 2. 同じオフセットから読み込み、デバイスに書き込まれたデータが実際に現在読み込まれているデータであるかを確認します。
XDMA 転送の例

DMA パフォーマンス オプションはデバイスのスピードをテストします。

転送するディレクションを選択する必要があります (デバイスから、デバイスへ、または双方向への転送等)。

次に、テスト実施中に作成される各転送に対応するバッファー サイズおよびテストの継続時間を入力します。その後、テストが開始し、テスト結果が出力されます。

XDMA Performance テストの例

XDMA GUI ユーティリティ

バージョン 12.5 以降の WinDriver は、上記の DMA 転送および DMA パフォーマンス テストと同じ xdma_diag ソース コードを基準にし GUI ユーティリティも提供します。

xdma_gui ユーティリティは、 WinDriver/xilinx/xdma/gui ディレクトリより確認できます。

コンソール xdma_diag プログラムと類似している xdma_gui ユーティリティは、自動的に XDMA デバイスを開きます。開かない場合は、XDMA をサポートしているデバイスを選択し開きテストを実行します。


xmda_gui の例


xdma_gui 内の DMA Transfer テスト


xmda_gui ユーティリティ内の DMA Performance

DriverWizard 上での XDMA コード 作成

バージョン 12.5 以降の DriverWizard は、[Add device specific customization (optional)] (デバイス特定のカスタマイズを追加する) メニューから [Xilinx XDMA design] を選択することによって、生成された xdma_diag プログラムと類似しているユーザー モード 診断プログラムのソース コードを生成します。


XDMA デバイス独自のカスタマイズでコードを生成