PCI Express* 用のインテル® Stratix® 10 HタイルおよびLタイル Avalon® メモリー・マップド・ハードIPユーザーガイド

ID 683667
日付 6/03/2020
Public
ドキュメント目次

8.4. 読み出しDMAおよび書き込みDMAのディスクリプター・フォーマット

読み出しおよび書き込みディスクリプターは、 PCIe* システムメモリー内の別のディスクリプター・テーブルに格納されます。各テーブルには、最大128個のディスクリプターを格納できます。各ディスクリプターは、8 DWORD、つまり32バイトです。Read DMAおよびWrite DMAディスクリプター・テーブルは、Read Status and Descriptor Base および Write Status and Descriptor Base アドレスレジスターにプログラムされたアドレスから、0x200バイトのオフセットで始まります。

RD_DMA_LAST_PTR または WR_DMA_LAST_PTR レジスターをプログラムすると、ReadまたはWrite Descriptor Controllerディスクリプター・テーブルのフェッチプロセスがトリガーされます。したがって、これらのレジスターへの書き込みは、DMA転送をセットアップする最後の手順である必要があります。

注: DMA Descriptor ControllerはFIFOを使用してディスクリプター・テーブル・エントリーを格納するため、ディスクリプター・テーブルで指定された転送を開始すると、DMA Descriptor Controllerを再プログラミングすることはできません。
表 72.  読み出しディスクリプター・フォーマット独自のDMA Controllerを使用する場合は、Avalon-STのReadおよびWrite Data Moverにもこのフォーマットを使用する必要があります。

アドレスオフセット

レジスター名

説明

0x00

RD_LOW_SRC_ADDR

読み出しDMAソースアドレスの下位DWORDです。Read Data Moverがデータをフェッチする PCIe* システムメモリーのアドレスを指定します。

0x04

RD_HIGH_SRC_ADDR

読み出しDMAソースアドレスの上位DWORDです。Read Data Moverがデータをフェッチする PCIe* システムメモリーのアドレスを指定します。

0x08

RD_CTRL_LOW_DEST_ADDR

読み出しDMA送信先アドレスの下位DWORDです。Read Data Moverがデータを書き込むAvalon-MMドメインのアドレスを指定します。

0x0C

RD_CTRL_HIGH_DEST_ADDR

読み出しDMA送信先アドレスの上位DWORDです。Read Data Moverがデータを書き込むAvalon-MMドメインのアドレスを指定します。

0x10 CONTROL 次の情報を指定します。
  • [31:25] 予約は0である必要があります。
  • [24:18] ID です。Descriptor ID を指定します。Descripto ID 0はテーブルの先頭にあります。最大サイズのディスクリプター・テーブルの場合、Descriptor ID 127はテーブルの最後にあります。
  • [17:0] SIZE です。DWORD単位の転送サイズです。ゼロ以外である必要があります。最大転送サイズは (1MB〜4バイト) です。指定した転送サイズが最大値より小さい場合、転送サイズは入力した実際のサイズになります。
0x14 - 0x1C 予約済み 該当なし
表 73.  書き込みディスクリプター・フォーマット

アドレスオフセット

レジスター名

説明

0x00

WR_LOW_SRC_ADDR

書き込みDMAソースアドレスの下位DWORDです。Write Data MoverがデータをフェッチするAvalon-MMドメインのアドレスを指定します。

0x04

WR_HIGH_SRC_ADDR

書き込みDMAソースアドレスの上位DWORDです。Write Data MoverがデータをフェッチするAvalon-MMドメインのアドレスを指定します。

0x08

WR_CTRL_LOW_DEST_ADDR

Write Data Moverの送信先アドレスの下位DWORDです。Write DMAがデータを書き込む PCIe* システムメモリーのアドレスを指定します。

0x0C

WR_CTRL_HIGH_DEST_ADDR

書き込みDMA送信先アドレスの上位DWORDです。Write Data Moverがデータを書き込む PCIe* システムメモリーのアドレスを指定します。

0x10 CONTROL 次の情報を指定します。
  • [31:25] 予約は0である必要があります。
  • [24:18] ID です。Descriptor ID を指定します。Descripto ID 0はテーブルの先頭にあります。Descriptor ID はテーブルの最後にあります。
  • [17:0] SIZE です。DWORD単位の転送サイズです。ゼロ以外である必要があります。最大転送サイズは (1MB〜4バイト) です。指定した転送サイズが最大値より小さい場合、転送サイズは入力した実際のサイズになります。
0x14 - 0x1C 予約済み 該当なし