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



Doc ID: 143
製品: WinDriver
Version:  14.40

QDMA サンプルコード

バージョン 14.4 以降、WinDriver は、QDMA IP (マルチキュー DMA) をサポートする Xilinx PCI Express カードのいくつかの機能を示す診断ユーティリティのクロスプラットフォーム ユーザーモード サンプルコードを提供します。

サンプルのソースコードとコンパイル済みのサンプルは、WinDriver\xilinx\qdma ディレクトリにあります。

診断ユーティリティを実行する前に、「リソースの重複」エラーを回避するために、DriverWizard が閉じていることを確認してください。

注意
QDMA サポート デバイスが接続されている場合、診断ユーティリティは起動時に自動的に開きます。または、「QDMA デバイスを見つけて開く」オプションを選択して、自分でデバイスを開くこともできます。

ダイレクト メモリ アクセス (DMA) トランザクションの実行
「ダイレクト メモリ アクセス (DMA) トランザクション」オプションを選択した後、ユーザーは DMA トランザクションを実行できます。
DMA トランザクション オプションを使用すると、ユーザーはデバイスから実際にデータを読み書きできます。 これを行うには、次のことを行う必要があります。

  1. MM キューを追加
  2. MMキューを開始
  3. 読み取り要求または書き込み要求を作成

ブロッキング方法を選択した場合は、終了時にトランザクションの詳細 (トランザクション レートを含む) を表示できます。それ以外の場合 (非ブロッキング方式) は、[リクエスト]サブメニューに表示されます。

物理機能の交換
複数の QDMA デバイスを同時に開くことができます。物理機能を切り替えるには、メニューの「物理機能の変更」を選択します。

情報をリクエスト
[リクエスト]メニューでは、次のアクションを実行できます。
  1. リクエストリストの表示 (読み取りおよび書き込みリクエスト)
  2. バッファの内容を表示
  3. リストからリクエストを削除 (リクエストの割り当てられたバッファの空きを含む)

すべてのキューのステータスを取得
キューのステータス (利用可能/プログラム済み/開始済み) を取得するには、「キューのステータスを取得」を選択します。

DriverWizard での QDMA コード生成
WinDriver バージョン 14.4 以降、DriverWizard では、「デバイス固有のカスタマイズの追加」 (オプション) メニューから Xilinx QDMA デザインを選択することにより、提供されている qdma_diag プログラムと同様のユーザーモード診断プログラムのソースコードを生成できます。