Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
LogiCORE IP AXI DMA v7.1
製品ガイド
Vivado Design Suite
PG021 2014 年 4 月 2 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 2PG021 2014 年 4 月 2 日
目次
IP の概要
第 1章 : 概要機能一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6アプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7ラ イセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
第 2章 : 製品仕様パフォーマンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8リ ソース使用量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11レジスタ空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12スキャ ッ ター /ギャザー ディ スク リプタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32マルチチャネル DMA サポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46エラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
第 3章 : コアを使用するデザイン代表的なシステム インターコネク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57ク ロ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58プログラム シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
第 4章 : デザイン フローの手順コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
第 5章 : サンプル デザインサンプル デザインのインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71サンプル デザインのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72サンプル デザインのテス トベンチ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
付録 A : 移行およびアップグレードVivado Design Suite への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Vivado Design Suite でのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
付録 B : デバッグザイ リ ンクス ウェブサイ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Vivado ラボ ツール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76ハードウェア デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
http://japan.xilinx.com
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 3PG021 2014 年 4 月 2 日
付録 C : その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
http://japan.xilinx.com
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 4PG021 2014 年 4 月 2 日 Production 製品仕様
はじめに
ザイ リ ンクス LogiCORE™ IP AXI DMA (Direct Memory Access)コアは、Vivado® Design Suite 用のザイ リ ンクス ソフ ト IP コアです。 AXI DMA を使用する と、 メモ リ と AXI4-Stream タイプのターゲッ ト ペリ フェラル間で広帯域のダイレク ト メモ リアクセスが可能になり ます。また、オプシ ョ ンでスキャッター/ギャザー機能もサポート しており、データ移動時の CPU の負荷を軽減できます。
機能
• AXI4 準拠
• スキャ ッ ター /ギャザー (SG) DMA をサポート (オプシ ョ ン)
• AXI4 データ幅 32、 64、 128、 256、 512、 および 1,024 ビッ ト をサポート
• AXI4-Stream データ幅 8、 16、 32、 64、 128、 256、 512、および 1,024 ビッ ト をサポート
• 最大 16 チャネルのマルチチャネル動作をサポート
• マルチチャネル モードで 2 次元 (2D) 転送をサポート
• キーホールをサポート (オプシ ョ ン)
• データ再アライ メン ト をサポート (オプシ ョ ン)
• AXI 制御ス ト リームおよび AXI ステータス ス ト リーム (オプシ ョ ン)
• マイクロ DMA をサポート (オプシ ョ ン)
IP の概要
この LogiCORE IP について
コアの概要
サポート される
デバイス ファ ミ リ (1)
1. サポート されているデバイスの一覧は、 Vivado IP カタログを参照してください。
UltraScale™ アーキテクチャ、Zynq®-7000 All Programmable SoC、
7 シ リーズ FPGA
サポート される
ユーザー インターフェイス
AXI4、 AXI4-Lite、 AXI4-Stream
リ ソース 表 2-4 参照
コアに含まれるもの
デザイン ファイル VHDL
サンプル デザイン VHDL
テス トベンチ VHDL
制約ファイル IP 生成時に作成
サポート される
ソフ ト ウェア ド ラ イバー (2)
2. スタンドアロン ド ライバーの情報は、SDK のインス トール ディレクト リ を参照してください (/doc/usenglish の xilinx_drivers.htm)。Linux OS およびド ライバー サポートの情報は、 wiki.xilinx.com を参照して ください。
スタンドアロンおよび Linux
テスト済みデザイン フロー (3)
3. サポート されているツールのバージ ョ ンは、『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびライセンス』 を参照してください。
デザイン入力Vivado Design Suite
Vivado IP インテグレーター
シ ミ ュレーシ ョ ン
サポート されるシ ミ ュレータについては、
『Vivado Design Suite ユーザー ガイ ド :リ リース ノート ガイ ド、 インス トール
およびライセンス』 を参照
合成 Vivado 合成
サポート
japan.xilinx.com/support で提供
http://wiki.xilinx.comhttp://japan.xilinx.com/cgi-bin/docs/rdoc?v=2014.1;t=vivado+release+noteshttp://japan.xilinx.com/cgi-bin/docs/rdoc?v=2014.1;t=vivado+release+noteshttp://japan.xilinx.com/supporthttp://japan.xilinx.comhttp://japan.xilinx.com/cgi-bin/docs/rdoc?v=2014.1;t=vivado+release+noteshttp://japan.xilinx.com/cgi-bin/docs/rdoc?v=2014.1;t=vivado+release+noteshttp://japan.xilinx.com/cgi-bin/docs/rdoc?v=2014.1;t=vivado+release+noteshttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=4
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 5PG021 2014 年 4 月 2 日
第 1章
概要AXI DMA (Direct Memory Access) IP は、AXI4 メモ リ マップ インターフェイス と AXI4-Stream IP インターフェイス間で広帯域のダイレク ト メモ リ アクセスをサポート します。オプシ ョ ンでスキャ ッ ター /ギャザー機能もサポート しており、 プロセッサ ベースのシステムでデータ移動時の CPU の負荷をさらに軽減できます。 初期化レジスタ、 ステータス レジスタ、管理レジスタには AXI4-Lite スレーブ インターフェイス経由でアクセスします。図 1-1 に、 このコアのブロ ッ ク図を示します。
X-Ref Target - Figure 1-1
図 1‐1 : AXI DMA IP のブロック図
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=5
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 6PG021 2014 年 4 月 2 日
第 1 章 :概要
システム メモ リ と ス ト リーム ターゲッ ト間の高速プラ イマ リ DMA データ移動には、 AXI4 読み出しマスターからAXI4 MM2S (Memory-Mapped to Stream) マスター、 および AXI S2MM (Stream to Memory-Mapped) スレーブから AXI4書き込みマスターへの接続を利用します。 また、 AXI DMA をスキャ ッ ター /ギャザー モードに設定する と、 MM2Sおよび S2MM パスの両方で最大 16 チャネルのマルチチャネル データ転送が可能です。
MM2S チャネルと S2MM チャネルは独立して動作します。AXI DMA には 4KB アドレス境界チェッ ク (マイクロ DMAモードに設定した場合を除く ) や自動バース ト マッピングのほか、 複数の転送要求をキューイングして AXI4-Streamバスの帯域幅をほぼ完全に活用する機能もあ り ます。 さ らに、 AXI DMA はバイ ト レベルのデータ再アライ メン ト をサポート しており、 任意のバイ ト オフセッ ト位置から メモ リ読み出しおよび書き込みを開始できます。
MM2S チャネルは、 ユーザー アプ リ ケーシ ョ ン データをターゲッ ト IP へ送信するための AXI 制御ス ト リームをサポート しています。一方、 S2MM チャネルはターゲッ ト IP からユーザー アプリ ケーシ ョ ン データを受信するためのAXI ステータス ス ト リームをサポート しています。
オプシ ョ ンのスキャ ッ ター /ギャザー エンジンは、AXI4 スキャ ッ ター /ギャザー読み出し /書き込みマスター インターフェイスを介してシステム メモ リからバッファー ディ スク リプタをフェッチし、 更新します。 プライマ リ データのスループッ ト を最大にするため、 ディ スク リプタのキューイングもオプシ ョ ンでサポート しています。
機能一覧• AXI4 準拠
• 独立したスキャ ッ ター /ギャザー (SG) DMA をサポート (オプシ ョ ン)
° DMA 管理タスクを CPU からオフロード
° プライマ リ データ バスから独立して転送ディ スク リプタをフェッチおよび更新
° ディ スク リプタをデータ バッファーとは異なる任意のメモ リ マップ位置に配置可能。 たとえば、 ディ スクリプタをブロ ッ ク RAM に配置するこ と も可能
° スキャ ッ ター /ギャザー モードにおいて MM2S および S2MM パスの両方で最大 16 チャネルのマルチチャネル データ転送をサポート (オプシ ョ ン)
° 2D 転送をサポート (オプシ ョ ン)
° サイク リ ッ ク DMA をサポート (オプシ ョ ン)
• ダイレク ト レジスタ モード (スキャ ッ ター /ギャザー エンジンなし ) をサポート (オプシ ョ ン)
スキャ ッ ター/ギャザー エンジンを除外する と、性能は低下しますが FPGA リ ソース量を抑えるこ とができます。このモードでは、 ソース アドレス (MM2S の場合) またはデスティネーシ ョ ン アドレス (S2MM の場合) を設定して LENGTH レジスタにバイ ト数を指定する と転送が開始します。
• プライマ リ AXI4 データ幅 32、 64、 128、 256、 512、 および 1,024 ビッ ト をサポート
• プライマ リ AXI4-Stream データ幅 8、 16、 32、 64、 128、 256、 512、 および 1,024 ビッ ト をサポート
• データ再アライ メン ト エンジン (オプシ ョ ン)
プライマ リ メモ リ マップおよびス ト リーム データパスにおいてバイ ト (8 ビッ ト ) レベルでのデータ再アライ メン ト をサポート します。
• AXI Ethernet IP に対する AXI 制御およびステータス ス ト リーム インターフェイス (オプシ ョ ン)
MM2S チャネルの制御ス ト リームと S2MM チャネルのステータス ス ト リームをオプシ ョ ンでサポートするこ とによ り、 広帯域のデータパスから狭帯域の制御/ステータス情報をオフロード します。
• マイクロ DMA (オプシ ョ ン)
転送するパケッ ト サイズが小さい場合、 AXI DMA の性能とフッ トプ リ ン ト を抑えたコンフ ィギュレーシ ョ ンが可能です。 詳細は、 次の章以降で説明します。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=6
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 7PG021 2014 年 4 月 2 日
第 1 章 :概要
アプリケーシ ョ ンAXI DMA は、システム メモ リ と AXI Ethernet など AXI4-Stream ベースのターゲッ ト IP との間で高速データ移動を可能にします。
ライセンスおよび注文情報このザイ リ ンクス LogiCORE™ IP モジュールは、ザイ リ ンクス エンド ユーザー ライセンス規約のも とザイ リ ンクスVivado® Design Suite を使用して追加コス ト なしで提供されています。
この IP およびその他のザイ リ ンクス LogiCORE IP に関する情報は、 ザイ リ ンクス IP コア ページから入手できます。その他のザイ リ ンクス LogiCORE IP モジュールおよびツールの価格や提供状況については、ザイ リ ンクス販売代理店にお問い合わせください。
http://japan.xilinx.comhttp://japan.xilinx.com/ise/license/license_agreement.htmhttp://japan.xilinx.com/products/intellectual-property/index.htmhttp://japan.xilinx.com/company/contact/index.htmhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=7
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 8PG021 2014 年 4 月 2 日
第 2章
製品仕様
パフォーマンスこのセクシ ョ ンは、 次のサブセクシ ョ ンで構成されます。
• 最大周波数
• レイテンシとスループッ ト
最大周波数
AXI DMA の特性は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 1] に記載のベンチマーク メ ソ ド ロジに基づいて評価しています。 表 2-1 に、 特性評価の結果を示します。
表 2‐1 :最大周波数
ファ ミ リ スピード グレード Fmax (MHz)
AXI4 AXI4-Stream AXI4-Lite
Virtex®-7-1
200 200 180
Kintex®-7 200 200 180
Artix®-7 150 150 120
Virtex-7-2
240 240 200
Kintex-7 240 240 200
Artix-7 180 180 140
Virtex-7
-3
280 280 220
Kintex-7 280 280 220
Artix-7 200 200 160
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=8
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 9PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
レイテンシとスループッ ト
表 2-2 と表 2-3 に、AXI DMA のレイテンシおよびスループッ ト を示します。 これらの表に示したのは、代表的なコンフ ィギュレーシ ョ ンおける性能情報です。 スループッ ト テス トは、 MM2S および S2MM 側で 10,000 バイ ト を転送して実施したものです。
スループッ トは、 ディ スク リプタのフェ ッチ完了 (DMACR.Idle = 1) からフレーム カウン ト割り込みのアサート までの処理能力と して計測しています。
表 2‐2 : AXI DMA のレイテンシ
説明 クロック
MM2S チャネル
m_axi_sg_arvalid へのテール ディ スク リプタ書き込み 10
m_axi_sg_arvalid から m_axi_mm2s_arvalid まで 28
m_axi_mm2s_arvalid から m_axis_mm2s_tvalid まで 6
S2MM チャネル
m_axi_sg_arvalid へのテール ディ スク リプタ書き込み 10
s_axis_s2mm_tvalid から m_axi_s2mm_awvalid まで 39
表 2‐3 : AXI DMA のスループッ ト a
a. 上記の値はデフォルトの IP 設定で計測したものです。
チャネル クロック周波数 (MHz) 転送バイ ト数 総スループッ ト (MB/s) 理論値に対する割合
MM2Sb
b. MM2S のスループッ トは、 メモ リ マップ側の最初の arvalid からス ト リーミ ング側の tlast までの間で計測します。
100 10,000 399.04 99.76
S2MMc
c. S2MM のスループッ トは、 ス ト リーミ ング側の最初の tvalid から メモ リ マップ側の最後の wlast までの間で計測します。
100 10,000 298.59 74.64
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=9
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 10PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
リ ソース使用状況AXI DMA コアに必要な リ ソースは、 7 シ リーズおよび Zynq®-7000 デバイスに対して見積もられています (表 2-4)。これらは、 Vivado® Design Suite を用いて得られた数値です。
注記 : UltraScale™ アーキテクチャについては、 7 シ リーズと同等の結果が予想されます。
表 2‐4 : 7 シリーズおよび Zynq‐7000 デバイスの推定リソース量
読み出しチャネル 書き込みチャネル
Enable Asynchron
ous C
locks
Enable Scatter Gathe
r Engine
Enable M
ulti Ch
anne
l Sup
port
Enable Con
trol/Status S
tream
Width of B
uffer Len
gth Re
gister
Num
ber o
f Chann
els
Mem
ory Map
Data Width
Stream
Data Width
Max Burst Size
Allow Unaligned Transfers
Num
ber o
f Chann
els
Mem
ory Map
Data Width
Stream
Data Width
Max Burst Size
Allow Unaligned Transfers
Use RxLength in
Status S
tream
Slice
LUT
REG
FALSE TRUE FALSE TRUE 14 1 32 32 16 FALSE 1 32 32 16 FALSE FALSE 943 1864 3122
FALSE TRUE FALSE TRUE 14 1 32 32 16 FALSE 1 32 32 16 FALSE TRUE 917 1858 2965
FALSE TRUE FALSE FALSE 14 1 32 32 16 FALSE 1 32 32 16 FALSE FALSE 818 1722 3006
FALSE TRUE FALSE TRUE 14 1 64 64 8 FALSE 1 64 64 8 FALSE FALSE 1017 2147 3525
FALSE TRUE FALSE FALSE 14 1 64 64 16 TRUE 1 64 64 16 TRUE FALSE 1303 2787 4006
TRUE TRUE FALSE TRUE 14 1 32 32 16 FALSE 1 32 32 16 FALSE FALSE 1171 2200 3890
FALSE FALSE TRUE FALSE 14 4 32 32 16 FALSE 4 32 32 16 FALSE FALSE 1425 2970 3952
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=10
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 11PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
ポートの説明表 2-5 に、 AXI DMA の I/O 信号の説明を示します。
表 2‐5 : I/O 信号の説明
信号名 インターフェイス信号タイプ
初期状態
説明
s_axi_lite_aclk ク ロ ッ ク I AXI4-Lite ク ロ ッ ク。
m_axi_sg_aclk ク ロ ッ ク I AXI DMA スキャ ッ ター /ギャザー ク ロ ッ ク。
m_axi_mm2s_aclk ク ロ ッ ク I AXI DMA MM2S プライマ リ ク ロ ッ ク。
m_axi_s2mm_aclk ク ロ ッ ク I AXI DMA S2MM プライマ リ ク ロ ッ ク。
axi_resetn リセッ ト I
AXI DMA リセッ ト 。アクティブ Low リセッ トです。Low にアサートする と AXI DMA コア全体がリセット されます。s_axi_lite_aclk に同期させる必要があ ります。
mm2s_introut割り込み O 0 MM2S (Memory Map to Stream) チャネルへの割り込
み出力。
s2mm_introut割り込み O 0 S2MM (Stream to Memory Map) チャネルへの割り込
み出力。
axi_dma_tstvec NA O 0 内部で使用するデバッグ信号。
AXI4‐Lite インターフェイスの信号
s_axi_lite_* S_AXI_LITE 入力/出力
AXI4 信号の詳細は、 『AXI リ ファレンス ガイ ド』 (UG761) [参照 2] の付録 A を参照してください。
MM2S メモリ マップ読み出しインターフェイスの信号
m_axi_mm2s_* M_AXI_MM2S 入力/出力
AXI4 信号の詳細は、 『AXI リ ファレンス ガイ ド』 (UG761) [参照 2] の付録 A を参照してください。
MM2S マスター スト リーム インターフェイスの信号
mm2s_prmry_reset_out_n M_AXIS_MM2S O 1 プライマ リ MM2S リセッ ト出力。 アクティブ Low リセッ トです。
m_axis_mm2s_* M_AXIS_MM2S 入力/出力
AXI4 信号の詳細は、 『AXI リ ファレンス ガイ ド』 (UG761) [参照 2] の付録 A を参照してください。
MM2S マスター制御スト リーム インターフェイスの信号
mm2s_cntrl_reset_out_n M_AXIS_CNTRL O 1 制御リセッ ト出力。 アクティブ Low リセッ トです。
m_axis_mm2s_cntrl_* M_AXIS_CNTRL 入力/出力
AXI4 信号の詳細は、 『AXI リ フ ァ レンス ガイ ド』(UG761) [参照 2] の付録 A を参照してください。
S2MM メモリ マップ書き込みインターフェイスの信号
m_axi_s2mm_* M_AXI_S2MM 入力/出力
AXI4 信号の詳細は、 『AXI リ フ ァ レンス ガイ ド』(UG761) [参照 2] の付録 A を参照してください。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=11
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 12PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
レジスタ空間表 2-6 に、 スキャ ッ ター /ギャザー モードの場合の AXI DMA コアのレジスタ空間を示します。 表 2-7 に、 シンプルDMA モードの場合の AXI DMA コアのレジスタ空間を示します。 AXI DMA レジスタは、 キャ ッシュ不可能なメモ リ空間にメモ リ マップされています。 このメモリ空間は、AXI ワード (32 ビッ ト ) 境界にアラインする必要があ り ます。
エンディアンネス
レジスタはすべて リ トル エンディアン方式です (図 2-1)。
S2MM スレーブ スト リーム インターフェイスの信号
s2mm_prmry_reset_out_n S_AXIS_S2MM O 1 プライマ リ S2MM リセッ ト出力。 アクティブ Low リセッ トです。
s_axis_s2mm_* S_AXIS_S2MM I 入力/出力
AXI4 信号の詳細は、 『AXI リ ファレンス ガイ ド』 (UG761) [参照 2] の付録 A を参照してください。
S2MM スレーブ ステータス スト リーム インターフェイスの信号
s2mm_sts_reset_out_n S_AXIS_STS O 1 AXI ステータス ス ト リーム (STS) リセッ ト出力。アクティブ Low リセッ トです。
s_axis_s2mm_sts_* S_AXIS_STS 入力/出力
AXI4 信号の詳細は、 『AXI リ ファレンス ガイ ド』 (UG761) [参照 2] の付録 A を参照してください。
スキャッ ター /ギャザー メモリ マップ読み出しインターフェイスの信号
m_axi_sg_* M_AXI_SG 入力/出力
AXI4 信号の詳細は、 『AXI リ ファレンス ガイ ド』 (UG761) [参照 2] の付録 A を参照してください。
スキャッ ター /ギャザー メモリ マップ書き込みインターフェイスの信号
m_axi_sg* M_AXI_SG 入力/出力
AXI4 信号の詳細は、 『AXI リ ファレンス ガイ ド』 (UG761) [参照 2] の付録 A を参照してください。
表 2‐5 : I/O 信号の説明 (続き)
信号名 インターフェイス信号タイプ
初期状態
説明
X-Ref Target - Figure 2-1
図 2‐1 : 32 ビッ ト リ トル エンディアンの例
BYTE3 BYTE2 BYTE 1 BYTE 031 24 23 16 15 8 7 0
MSB LSBAddr Offset 0x00Addr Offset 0x01Addr Offset 0x02Addr Offset 0x03
DS781_03
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=12
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 13PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
AXI DMA レジスタのアドレス マップ表 2‐6 : スキャッ ター /ギャザー モードのレジスタ アドレス マップ
アドレス空間オフセッ ト (1) 名前 説明
00h MM2S_DMACR MM2S DMA 制御レジスタ
04h MM2S_DMASR MM2S DMA ステータス レジスタ
08h MM2S_CURDESC MM2S カレン ト ディ スク リプタ ポインター
0Ch 予約 N/A
10h MM2S_TAILDESC MM2S テール ディ スク リプタ ポインター
14h ~ 2Bh 予約 N/A
2Ch (2) SG_CTL スキャ ッ ター /ギャザー ユーザーおよびキャ ッシュ制御
30h S2MM_DMACR S2MM DMA 制御レジスタ
34h S2MM_DMASR S2MM DMA ステータス レジスタ
38h S2MM_CURDESC S2MM カレン ト ディ スク リプタ ポインター
3Ch 予約 N/A
40h S2MM_TAILDESC S2MM テール ディ スク リプタ ポインター
注記 :
1. アドレス空間オフセッ トは C_BASEADDR の代入値を基準と します。2. レジスタ 2Ch は、 DMA をマルチチャネル モードに設定した場合のみ利用できます。
表 2‐7 : ダイレク ト レジスタ モードのレジスタ アドレス マップ
アドレス空間オフセッ ト (1) 名前 説明
00h MM2S_DMACR MM2S DMA 制御レジスタ
04h MM2S_DMASR MM2S DMA ステータス レジスタ
08h ~ 14h 予約 N/A
18h MM2S_SA MM2S ソース アドレス
1Ch ~ 24h 予約 N/A
28h MM2S_LENGTH MM2S 転送長さ (バイ ト )
30h S2MM_DMACR S2MM DMA 制御レジスタ
34h S2MM_DMASR S2MM DMA ステータス レジスタ
38h ~ 44h 予約 N/A
48h S2MM_DA S2MM デスティネーシ ョ ン アドレス
4Ch ~ 54h 予約 N/A
58h S2MM_LENGTH S2MM バッファー長さ (バイ ト )
注記 :
1. アドレス空間オフセッ トは C_BASEADDR の代入値を基準と します。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=13
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 14PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
MM2S (Memory Map to Stream) レジスタの詳細
レジスタ アクセス タイプの説明
• RO = 読み出し専用。 書き込みは動作に影響しません。
• R/W = 読み出し /書き込みアクセス可能
• R/WC = 読み出し /書き込むと ク リ ア
MM2S_DMACR (MM2S DMA 制御レジスタ – オフセッ ト 00h)
このレジスタは、 MM2S (Memory Map to Stream) DMA チャネルを制御します。X-Ref Target - Figure 2-2
図 2‐2 : MM2S_DMACR レジスタ
表 2‐8 : MM2S_DMACR レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセスタイプ
説明
0 RS 0 R/W
DMA チャネルの実行 (Run) と停止 (Stop) を制御します。• 0 = 停止 – 現在進行中の DMA 転送がある場合、その転送が完了する と
DMA が停止します。 スキャ ッ ター /ギャザー モードの場合、未完了のコマン ド /転送は途中で終了する ものと最後まで完了する ものがあ ります。 AXI4-Stream 出力は途中で終了する可能性があ り ます。 アップデート キューに入っているディ スク リプタはリモート メモリへの更新が完了してからエンジンが停止します。シンプル DMA モードの場合、 未完了のコマンド /転送は途中で終了するものと最後まで完了するものがあ り ます。 AXI4-Stream 出力は途中で終了する可能性があ り ます。DMA エンジンが停止する と、DMA ステータス レジスタの Halted ビット が 1 にアサート されます。 RS ビッ トは、 エラーが発生する と AXIDMA ハード ウェアによってク リ アされます。 CPU でこのビッ ト をクリ アして DMA 動作を停止するこ と もできます。
• 1 = 実行 – DMA 動作を開始します。 DMA エンジンが動作を開始すると、 DMA ステータス レジスタの Halted ビッ トが 0 にディアサート されます。
1 予約 1 RO このビッ トへの書き込みは動作に影響せず、読み出しの値は常に 1 です。
2 リセッ ト 0 R/W
AXI DMA コアを リセッ トするためのソフ ト リ セッ ト です。 このビッ トを 1 にセッ トする と、AXI DMA がリセッ ト されます。 リセッ トは適切に実行されます。 未完了のコマンド /転送は途中で終了するものと最後まで完了するものがあ り ます。AXI4-Stream 出力は途中で終了する可能性があり ます。 MM2S_DMACR.Reset = 1 または S2MM_DMACR.Reset = 1 のどちらでも AXI DMA エンジン全体がリセッ ト されます。 ソフ ト リセッ トが完了する と、 すべてのレジスタ とビッ トが リセッ ト状態になり ます。
• 0 = 通常動作。• 1 = リセッ トが進行中。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=14
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 15PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
3 キーホール 0 R/W
キーホール読み出し。 このビッ ト を 1 にセッ トする と、AXI DMA はアドレスのインク リ メン ト なしで MM2S 読み出し (AXI4read) を開始します (AXI4 に対する固定アドレス バース ト転送)。 このビッ トは、 AXI DMAがアイ ドル中のみ書き換えるこ とができます。 キーホール動作を使用する場合、 最大バース ト長が 16 を超えないよ うにして ください。 DRE が有効のと きは、 このビッ ト をセッ ト しないでください。
マルチチャネル機能が有効、 またはダイレク ト レジスタ モードでは、 このビッ トは機能しません。
4 サイク リ ッ ク BD イネーブル
0 R/W
このビッ ト を 1 にセッ トする と、 DMA はユーザーの介在なしにサイ クリ ッ ク バッファー ディ スク リプタ (BD) モードで動作します。 このモードでは、スキャ ッ ター /ギャザー モジュールは BD の Cmplt ビッ ト を無視します。 このビッ ト をセッ トする と、 複数の同じ BD が循環方式で使用されるため、 古いディ スク リプタによるエラーは発生しません。
このビッ トは、 DMA がアイ ドル中、 または動作停止中のみセッ ト /ク リアできます。DMA の動作中にこのビッ ト を書き換える と、予期しない動作とな り ます。
DMA がマルチチャネル モードで動作中、 このビッ トは機能しません。
11 ~ 5 予約 0 RO これらビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
12 IOC_IrqEn 0 R/W
完了時割り込み (IOC) イネーブル。 このビッ ト を 1 にセッ トする と、 IOCビッ ト がセッ ト されたディ スク リプタに対して DMASR.IOC_Irq による割り込み出力の生成が許可されます。
• 0 = IOC 割り込みを無効にする。• 1 = IOC 割り込みを有効にする。
13 Dly_IrqEn 0 R/W
遅延タイマー割り込みイネーブル。 このビッ ト を 1 にする と、DMASR.Dly_Irq による割り込み出力の生成が許可されます。• 0 = 遅延割り込みを無効にする。• 1 = 遅延割り込みを有効にする。注記 : AXI DMA をダイレク ト レジスタ モードに設定している場合、 このビッ トは無視されます。
14 Err_IrqEn 0 R/W
エラー割り込みイネーブル。 このビッ ト を 1 にする と、 DMASR.Err_Irqによる割り込み出力の生成が許可されます。
• 0 = エラー割り込みを無効にする。• 1 = エラー割り込みを有効にする。
15 予約 0 RO このビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
表 2‐8 : MM2S_DMACR レジスタの詳細 (続き)
ビッ ト フ ィールド名デフォルト値
アクセスタイプ
説明
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=15
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 16PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
MM2S_DMASR (MM2S DMA ステータス レジスタ – オフセッ ト 04h)
このレジスタは、 MM2S (Memory Map to Stream) DMA チャネルのステータスを示します。
23 ~ 16 IRQThreshold 01h R/W
割り込みしきい値。 この値は、 割り込みしきい値の設定に使用します。IOC 割り込みイベン トが発生する と、 内部カウンターが割り込みしきい値の設定値からカウン ト ダウンを開始します。 このカウン トが 0 になると、 DMA エンジンによって割り込み出力が生成されます。注記 : しきい値の最小値は 0x01 です。このレジスタに 0x00 を書き込んでも動作に影響しません。
注記 : AXI DMA をダイレク ト レジスタ モードに設定している場合、 このフ ィールドは無視されます。
31 ~ 24 IRQDelay 00h R/W
割り込み遅延タイムアウ ト。 この値は、 割り込みタイムアウ ト値の設定に使用します。 割り込みタイムアウ トは、 指定した遅延時間の経過後にDMA エンジンが割り込みを生成する機能です。タイマーはパケッ トの最後でカウン ト を開始し、 新しいパケッ ト を受信するかタイムアウ ト イベン トが発生する とカウン ト を リセッ ト します。
注記 : この値を 0 に設定する と、 遅延タイマー割り込みが無効になり ます。注記 : AXI DMA をダイレク ト レジスタ モードに設定している場合、 このフ ィールドは無視されます。
表 2‐8 : MM2S_DMACR レジスタの詳細 (続き)
ビッ ト フ ィールド名デフォルト値
アクセスタイプ
説明
X-Ref Target - Figure 2-3
図 2‐3 : MM2S_DMASR レジスタ
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=16
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 17PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
表 2‐9 : MM2S_DMASR レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
0 Halted 1 RO
DMA チャネル停止。 DMA チャネルが動作中か停止中かを示します。• 0 = DMA チャネルが実行中。• 1 = DMA チャネルが停止中。スキャッター/ギャザー モードの場合、
DMACR.RS = 0 で DMA および SG の動作が停止している と このビッ トがセッ ト されます。 シンプル DMA モード (C_INCLUDE_SG= 0) の場合、DMACR.RS = 0 で DMA 動作が停止している と このビットがセッ ト されます。DMACR.RS を 0 にしてから DMASR.Halted が1 になるまでにはタイムラグがあ り ます。
注記 : スキャ ッ ター /ギャザー モードの場合、DMA チャネル停止中 (RS = 0 かつ Halted = 1) に CURDESC_PTR または TAILDESC_PTR ポインター レジスタに書き込んでも DMA 動作には影響しません。 シンプル DMA モードの場合、LENGTH レジスタに書き込んでも DMA 動作には影響しません。
1 Idle 0 RO
DMA チャネル アイ ドル。AXI DMA 動作の状態を示します。スキャ ッター /ギャザー モードの場合、 アイ ドルは SG エンジンがそのチャネルのテール ポインターに到達し、 キューの中のすべてのディ スク リプタの処理が完了したこ とを示します。 テール ポインター レジスタに書き込むと DMA 動作が自動的に再開します。シンプル DMA モードの場合、アイ ドルは現在の転送が完了したこ とを示します。
• 0 = アイ ドルでない。 スキャ ッ ター /ギャザー モードの場合、 SG がテール ディ スク リプタ ポインターに達していないか、 DMA 動作が進行中。 シンプル DMA モードの場合、 転送が完了していない。
• 1 = アイ ドル。 スキャ ッ ター /ギャザー モードの場合、 SG がテールディ スク リプタ ポインターに到達し、DMA 動作が一時停止中。シンプル DMA モードの場合、 DMA 転送が完了してコン ト ローラーが一時停止中。
注記 :チャネルが停止 (DMASR.Halted=1) している と、 このビッ トは 0 です。AXI DMA をシンプル DMA モードに設定している場合、 最初の転送前もこのビッ トは 0 です。
2 予約 0 RO このビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
3 SGIncldC_INCLUDE_SG
RO1 = スキャ ッ ター /ギャザーが有効。0 = スキャ ッ ター /ギャザーが有効でない。
4 DMAIntErr 0 RO
DMA 内部エラー。 フェッチしたディ スク リプタでバッファー長さが0 に設定されている場合、内部エラーが発生します。 このエラー条件が発生する と、AXI DMA は適切に停止します。DMACR.RS ビッ トが0 に ク リ ア され、 エンジンが完全にシ ャ ッ ト ダ ウ ンする とDMASR.Halted ビッ トが 1 にセッ ト されます。• 0 = DMA 内部エラーなし。• 1 = DMA 内部エラーを検出。 DMA エンジンは停止中。注記 : AXI DMA をシンプル DMA モードに設定している場合、 このビッ トは使用しません (0 に固定)。
5 DMASlvErr 0 RO
DMA スレーブ エラー。 メモ リ マップ インターフェ イスからのスレーブ読み出しでスレーブ エラーになる と このエラーが発生します。 このエラー条件が発生する と、 AXI DMA は適切に停止します。DMACR.RS ビッ トが 0 にク リ アされ、 エンジンが完全にシャッ ト ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。• 0 = DMA スレーブ エラーなし。• 1 = DMA スレーブ エラーを検出。 DMA エンジンは停止中。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=17
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 18PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
6 DMADecErr 0 RO
DMA デコード エラー。アドレス要求が無効なアドレスを指し示す場合、 このエラーが発生します。 このエラー条件が発生する と、 AXIDMA は適切に停止します。DMACR.RS ビッ トが 0 にク リ アされ、エンジンが完全にシャ ッ ト ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。
• 0 = DMA デコード エラーなし。• 1 = DMA デコード エラーを検出。 DMA エンジンは停止中。
7 予約 0 RO このビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
8 SGIntErr 0 RO
スキャ ッ ター /ギャザー内部エラー。 Cmplt ビッ トが既にセッ ト されているディ スク リプタをフェ ッチした場合、 このエラーが発生します。詳細は、 スキャ ッ ター /ギャザー ディ スク リプタのセクシ ョ ンを参照してください。 このエラーは、ディ スク リプタが古いディ スク リプタであるこ とを SG エンジンに知らせます。 このエラー条件が発生する と、AXI DMA は適切に停止します。DMACR.RS ビッ トが 0 にクリ アされ、 エンジンが完全にシャ ッ ト ダウンする と DMASR.Haltedビッ トが 1 にセッ ト されます。• 0 = SG 内部エラーなし。• 1 = SG 内部エラーを検出。 DMA エンジンは停止中。注記 : AXI DMA をダイレク ト レジスタ モードに設定している場合、このビットは使用せず 0 に固定されます。
9 SGSlvErr 0 RO
スキャ ッ ター/ギャザー スレーブ エラー。メモ リ マップ インターフェイスからのスレーブ読み出しでスレーブ エラーになった場合、 このエラーが発生します。 このエラー条件が発生する と、 AXI DMA は適切に停止します。 DMACR.RS ビッ トが 0 にク リ アされ、 エンジンが完全にシャ ッ ト ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。
• 0 = SG スレーブ エラーなし。• 1 = SG スレーブ エラーを検出。 DMA エンジンは停止中。注記 : AXI DMA をダイレク ト レジスタ モードに設定している場合、このビットは使用せず 0 に固定されます。
10 SGDecErr 0 RO
スキャ ッ ター /ギャザー デコード エラー。 CURDESC_PTR または NXTDESC_PTR が無効なアドレスを指し示す場合、 このエラーが発生します。 このエラー条件が発生する と、 AXI DMA は適切に停止します。DMACR.RS ビッ トが 0 にク リ アされ、エンジンが完全にシャット ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。• 0 = SG デコード エラーなし。• 1 = SG デコード エラーを検出。 DMA エンジンは停止中。注記 : AXI DMA をダイレク ト レジスタ モードに設定している場合、このビットは使用せず 0 に固定されます。
11 予約 0 RO このビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
12 IOC_Irq 0 R/WC
完了割り込み。 スキャ ッ ター /ギャザー モードでこのビッ トが 1 の場合、ディ スク リプタが完了して割り込みイベン トが発生したこ とを示します。 これは、 EOF (End of Frame) ビッ トがセッ ト されたディ スクリプタで発生します。 シンプル DMA モードでこのビッ ト が 1 の場合、 転送が完了して割り込みイベン ト が発生したこ と を示します。MM2S_DMACR レジスタの対応するビッ トが有効 (IOC_IrqEn = 1) で割り込みしきい値の条件を満たした場合、 AXI DMA から割り込み出力が生成されます。
• 0 = IOC 割り込みなし。• 1 = IOC 割り込みを検出。
表 2‐9 : MM2S_DMASR レジスタの詳細 (続き)
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=18
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 19PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
13 Dly_Irq 0 R/WC
遅延割り込み。 このビッ トが 1 の場合、遅延タイマーのタイムアウ トによって割り込みイベン トが発生したこ とを示します。MM2S_DMACR の対応するビッ トが有効 (Dly_IrqEn = 1) の場合、AXIDMA から割り込み出力が生成されます。• 0 = 遅延割り込みなし。• 1 = 遅延割り込みを検出。注記 : AXI DMA をダイレク ト レジスタ モードに設定している場合、このビットは使用せず 0 に固定されます。
14 Err_Irq 0 R/WC
エラー割り込み。 このビッ トが 1 の場合、エラーによって割り込みイベン トが発生したこ とを示します。 MM2S_DMACR の対応するビットが有効 (Err_IrqEn = 1) の場合、 AXI DMA から割り込み出力が生成されます。
• 0 = エラー割り込みなし。• 1 = エラー割り込みを検出。
15 予約 0 RO 読み出すと常に 0。
23 ~ 16 IRQThresholdSts 01h RO 割り込みしきい値ステータス。 現在の割り込みしきい値を示します。注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
31 ~ 24 IRQDelaySts 00h RO割り込み遅延タイマー ステータス。 現在の割り込み遅延タイマーの値を示します。
注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
表 2‐9 : MM2S_DMASR レジスタの詳細 (続き)
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=19
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 20PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
MM2S_CURDESC (MM2S DMA カレン ト ディスクリプタ ポインター レジスタ – オフセッ ト 08h)
このレジスタには、 MM2S (Memory Map to Stream) DMA スキャ ッ ター /ギャザー ディ ス ク リプタ管理用のカレン トディ スク リプタ ポインターを格納します。
X-Ref Target - Figure 2-4
図 2‐4 : MM2S_CURDESC レジスタ
表 2‐10 : MM2S_CURDESC レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
5 ~ 0(オフセッ ト 0x38)
予約 0 RO これらビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
31 ~ 6カレン ト ディ スク リプタ ポインター
0R/W(RO)
現在処理中のディ スク リプタへのポインターを格納します。TAILDESC_PTR レジスタに書き込む前に、 このレジスタに有効なディ ス ク リ プタへのポインターを格納しておく必要があ り ます。そ う しないと、未定義の結果が生じます。DMACR.RS が 1 の場合、 CURDESC_PTR は読み出し専用 (RO) とな り、 最初のディスク リプタをフェ ッチするために使用します。
DMA エンジンが動作中 (DMACR.RS = 1) は、 AXI DMA が CURDESC_PTR レジスタを更新し、現在処理中のディ スク リプタを示します。
エラーを検出する と、CURDESC_PTR はエラーを検出したディ スク リプタを示すポインターに更新されます。
注記 : CPU がこのレジスタに書き込めるのは、 DMA エンジンが停止中(DMACR.RS = 0 かつ DMASR.Halted = 1) のみです。 それ以外の場合、 このレジスタは読み出し専用 (RO) です。 ディ スク リプタは 16 ワード境界(0x00、 0x40、 0x80、 …) にアラインする必要があ り ます。 これ以外のアライ メン トでは未定義の結果となり ます。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=20
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 21PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
MM2S_TAILDESC (MM2S DMA テール ディスクリプタ ポインター レジスタ – オフセッ ト 10h)
このレジスタには、MM2S (Memory Map to Stream) DMA スキャ ッ ター /ギャザー ディ スク リプタ管理用のテール ディスク リプタ ポインターを格納します。
X-Ref Target - Figure 2-5
図 2‐5 : MM2S_TAILDESC レジスタ
表 2‐11 : MM2S_TAILDESC レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
5 ~ 0 予約 0 RO これらビッ トへの書き込みは動作に影響せず、読み出しの値は常に0 です。
31 ~ 6テール ディ スク リプタ ポインター
0 R/W
ディ スク リプタ チェーン内の一時停止ポインターを格納します。カレン ト ディ ス ク リプタ ポインターとテール ディ スク リプタ ポインターが一致したディ スク リプタに対する処理が完了する と、 AXIDMA の SG エンジンはディ スク リプタのフェ ッチを一時停止します。
AXI DMA チャネルが停止していない (DMASR.Halted = 0) 場合、CPUが TAILDESC_PTR レジスタに書き込むと AXI DMA の SG エンジンはディ スク リプタのフェッチを開始 (DMASR.Idle = 1 でアイ ドル状態の場合は再開) します。アイ ドル状態でない場合、TAILDESC_PTRに書き込んでも一時停止ポイン トの位置が変化するだけで、 それ以外の影響はあり ません。
AXI DMA チャネルが停止している (DMASR.Halted = 1 かつ DMACR.RS = 0) 場合、CPU が TAILDESC_PTR レジスタに書き込んでも一時停止ポイン トの位置が変化するだけで、それ以外の影響はあ り ません。
注記 : ソフ ト ウェアは、 更新されていないアドレスにテール ポインターを移動できません。 ソフ ト ウェアは完了したすべてのディ スク リプタ (Cmplt= 1) を処理して再割り当てし、Cmplt ビッ ト をク リ アした後、テール ポインターを移動します。 ソフ ト ウェアは、 テール ポインターを最後に更新したディ スク リプタへ移動する必要があ り ます。 ディ スク リプタは 16 ワード境界 (0x00、 0x40、 0x80、 …) にアラインする必要があ り ます。 これ以外のアライ メン トでは未定義の結果となり ます。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=21
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 22PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
MM2S_SA (MM2S DMA ソース アドレス レジスタ – オフセッ ト 18h)
このレジスタは、 MM2S (Memory Map to Stream) DMA 転送でシステム メモ リ を読み出すためのソース アドレスを指定します。
MM2S_LENGTH (MM2S DMA 転送長さレジスタ – オフセッ ト 28h)
このレジスタは、 システム メモ リから読み出して MM2S AXI4-Stream へ転送するバイ ト数を指定します。
X-Ref Target - Figure 2-6
図 2‐6 : MM2S_SA レジスタ
表 2‐12 : MM2S_SA レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
31 ~ 0 ソース アドレス 0 R/W
MM2S チャネルで AXI DMA が AXI4-Stream へ転送するデータを読み出すソース アドレスを指定します。注記 :データ再アライ メン ト エンジンを含めている場合、 ソース アドレスは任意のバイ ト オフセッ ト とする こ とができます。 データ再アライ メン トエンジンを含めない場合、 ソース アドレスは S2MM ス ト リームのデータ幅にアラインする必要があ り ます。
X-Ref Target - Figure 2-7
図 2‐7 : MM2S_LENGTH レジスタ
表 2‐13 : MM2S_LENGTH レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
22(1) ~ 0 長さ 0 R/W MM2S チャネルに転送するバイ ト数を指定します。 このレジスタに0 以外の値を書き込むと MM2S 転送が開始します。
31 ~ 23 予約 0 RO これらビッ トへの書き込みは動作に影響せず、読み出しの値は常に0 です。1. Length フ ィールドの幅は、パラ メーター [Width of Buffer Length Register] によって決ま り ます。最小幅は 8 ビッ ト (7 ~ 0)、最大幅は 23 ビッ
ト (22 ~ 0) です。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=22
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 23PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
SG_CTL (スキャッ ター /ギャザー ユーザーおよびキャッシュ制御レジスタ – オフセッ ト 2Ch)
このレジスタは、 DMA をマルチチャネル モードに設定した場合のみ利用できます。
S2MM (Stream to Memory Map) レジスタの詳細
S2MM_DMACR (S2MM DMA 制御レジスタ – オフセッ ト 30h)
このレジスタは、 S2MM (Stream to Memory Map) DMA チャネルを制御します。
X-Ref Target - Figure 2-8
図 2‐8 : SG_CTL レジスタ
表 2‐14 : SG_CTL レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
3 ~ 0 SG_CACHE 0011b R/Wスキャ ッ ター /ギャザー キャ ッシュ制御。 このレジスタに書き込んだ値が M_AXI_SG インターフェイスの m_axi_sg_arcache および m_axi_sg_awcache 信号に反映されます。
7 ~ 4 予約 0 RO これらビッ トへの書き込みは動作に影響せず、読み出しの値は常に0 です。
11 ~ 8 SG_USER 0 R/Wスキャ ッ ター /ギャザー ユーザー制御。 このレジスタに書き込んだ値が M_AXI_SG インターフェイスの m_axi_sg_aruser および m_axi_sg_awuser 信号に反映されます。
X-Ref Target - Figure 2-9
図 2‐9 : S2MM_DMACR レジスタ
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=23
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 24PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
表 2‐15 : S2MM_DMACR レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
0 RS 0 R/W
DMA チャネルの実行 (Run) と停止 (Stop) を制御します。• 0 = 停止 – 現在進行中の DMA 転送がある場合、 その転送が完了する と
DMA が停止します。 スキャ ッ ター /ギャザー モードの場合、 未完了のコマンド /転送は途中で終了するものと最後まで完了するものがあ り ます。 AXI4-Stream は途中で終了する可能性があ り ます。 ア ップデー トキューに入っているディ スク リプタは リモート メモ リへの更新が完了してからエンジンが停止します。シンプル DMA モードの場合、未完了のコマンド /転送は途中で終了するものと最後まで完了するものがあ り ます。 AXI4-Stream は途中で終了する可能性があ り ます。 S2MM AXI4 のデータ整合性は保証できません。
DMA エンジンが停止する と、 DMA ステータス レジスタの Halted ビット が 1 にアサー ト されます。 RS ビ ッ ト は、 エラーが発生する と AXIDMA ハードウェアによってク リ アされます。 CPU でこのビッ ト をク リアして DMA 動作を停止するこ と もできます。
• 1 = 実行 – DMA 動作を開始します。 DMA エンジンが動作を開始すると、DMA ステータス レジスタの Halted ビッ トが 0 にディアサート されます。
1 予約 1 RO このビッ トへの書き込みは動作に影響せず、 読み出しの値は常に 1 です。
2 リセッ ト 0 R/W
AXI DMA コアを リセッ トするためのソフ ト リセッ トです。 このビッ ト を1 にセッ トする と、 AXI DMA がリセッ ト されます。 リセッ トは適切に実行されます。 未完了のコマンド /転送は途中で終了するものと最後まで完了する ものがあ り ます。 AXI4-Stream 出力は、 必要に応じ て関連するTLAST を使用して途中で終了し ます。 MM2S_DMACR.Reset = 1 またはS2MM_DMACR.Reset = 1 のどちらでも AXI DMA エンジン全体がリセッ トされます。ソフ ト リセッ トが完了する と、すべてのレジスタ とビッ トが リセッ ト状態になり ます。
• 0 = リセッ トが進行中でない。 通常動作。• 1 = リセッ トが進行中。
3 キーホール 0 R/W
キーホール書き込み。 このビッ ト を 1 にセッ トする と、 AXI DMA はアドレスのインク リ メ ン ト なしで S2MM 書き込み (AXI4 Write) を開始します(AXI4 に対する固定アドレス バース ト転送)。 このビッ トは、 AXI DMA がアイ ドル中のみ書き換えるこ とができます。キーホール動作を有効にする場合、 最大バース ト長が 16 を超えないよ うにして ください。 DRE が有効のと きは、 このビッ ト をセッ ト しないでください。
DMA をマルチチャネル モードで使用中、 このビッ トは機能しません。
4 サイク リ ッ ク BD イネーブル
0 R/W
このビ ッ ト を 1 にセッ トする と、 DMA はユーザーの介在なしにサイ クリ ッ ク バッファー ディ スク リプタ (BD) モードで動作します。このモードでは、 スキャ ッ ター /ギャザー モジュールは BD の Cmplt ビッ ト を無視します。 この機能を利用する と、 複数の同じ BD が循環方式で使用されるため、 古いディ スク リプタによるエラーは発生しません。
DMA がマルチチャネル モードまたはダイレク ト レジスタ モードで動作中は、 このビッ トは機能しません。
11 ~ 5 予約 0 RO これらビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
12 IOC_IRqEn 0 R/W
完了時割り込みイネーブル。 このビッ ト を 1 にセッ トする と、 Cmplt ビットがセッ ト されたディ スク リプタに対して完了時割り込み (IOC) イベン トによる割り込み出力の生成が許可されます。
• 0 = IOC 割り込みを無効にする。• 1 = IOC 割り込みを有効にする。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=24
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 25PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
S2MM_DMASR (S2MM DMA ステータス レジスタ – オフセッ ト 34h)
このレジスタは、 S2MM (Stream to Memory Map) DMA チャネルのステータスを示します。
13 Dly_IrqEn 0 R/W
遅延タイマー割り込みイネーブル。このビッ ト を 1 にする と、エラー イベン トによる割り込み出力の生成が許可されます。
• 0 = 遅延割り込みを無効にする。• 1 = 遅延割り込みを有効にする。注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
14 Err_IrqEn 0 R/W
エラー割り込みイネーブル。このビッ ト を 1 にする と、エラー イベン トによる割り込み出力の生成が許可されます。
• 0 = エラー割り込みを無効にする。• 1 = エラー割り込みを有効にする。
15 予約 0 RO このビッ トへの書き込みは動作に影響せず、 読み出しの値は常に 0 です。
23 ~ 16 IRQThreshold 01h R/W
割り込みしきい値。この値は、割り込みしきい値の設定に使用します。IOC割り込みイベン トが発生する と、内部カウンターが割り込みしきい値の設定値からカウン ト ダウンを開始します。このカウン トが 0 になる と、DMAエンジンによって割り込み出力が生成されます。注記 : しきい値の最小値は 0x01 です。 このレジスタに 0x00 を書き込んでも動作に影響しません。
注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
31 ~ 24 IRQDelay 00h R/W
割り込み遅延タイムアウ ト。 この値は、割り込みタイムアウ ト値の設定に使用します。割り込みタイムアウ トは、指定した遅延時間の経過後に DMAエンジンが割り込みを生成する機能です。タイマーはパケッ トの最後でカウン ト を開始し、新しいパケッ ト を受信するかタイムアウ ト イベン トが発生する とカウン ト を リセッ ト します。
注記 : この値を 0 に設定する と、 遅延タイマー割り込みが無効になり ます。注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
表 2‐15 : S2MM_DMACR レジスタの詳細 (続き)
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
X-Ref Target - Figure 2-10
図 2‐10 : S2MM_DMASR レジスタ
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=25
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 26PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
表 2‐16 : S2MM_DMASR レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
0 Halted 1 RO
DMA チャネル停止。DMA チャネルが動作中か停止中かを示します。• 0 = DMA チャネルが実行中。• 1 = DMA チャネルが停止中。 スキャ ッ ター /ギャザー モードの場
合、DMACR.RS = 0 で DMA および SG の動作が停止している と このビッ トがセッ ト されます。 シンプル DMA モードの場合、DMACR.RS = 0 で DMA 動作が停止している と このビッ トがセット されます。 DMACR.RS を 0 にしてから DMASR.Halted が 1 になるまでにはタイムラグがあ り ます。
注記 : スキャ ッ ター/ギャザー モードの場合、DMA チャネル停止中 (RS = 0 かつ Halted = 1) に CURDESC_PTR または TAILDESC_PTR ポインター レジスタに書き込んでも DMA 動作には影響しません。 シンプル DMA モードの場合、LENGTH レジスタに書き込んでも DMA 動作には影響しません。
1 Idle 0 RO
DMA チャネル アイ ドル。AXI DMA 動作の状態を示します。スキャ ッター /ギャザー モードの場合、アイ ドルは SG エンジンがそのチャネルのテール ポインターに到達し、 キューの中のすべてのディ スク リプタの処理が完了したこ とを示します。テール ポインター レジスタに書き込むと DMA 動作が自動的に再開します。シンプル DMA モードの場合、 アイ ドルは現在の転送が完了したことを示します。
• 0 = アイ ドルでない。• 1 = アイ ドル。注記 :チャネルが停止 (DMASR.Halted = 1) している と、このビッ トは 0 です。AXI DMA をシンプル DMA モードに設定している場合、最初の転送前も このビッ トは 0 です。
2 予約 0 RO このビッ トへの書き込みは動作に影響せず、 読み出しの値は常に 0です。
3 SGIncldC_INCLUDE_SG
RO
スキャ ッ ター /ギャザー エンジン追加。 DMASR.SGIncld = 1 の場合、スキャ ッ ター /ギャザー エンジンが追加されており、 AXI DMA がスキャ ッ ター /ギャザー モードに設定されている こ と を示し ます。DMASR.SGIncld = 0 の場合、スキャ ッ ター /ギャザー エンジンが除外されており、 AXI DMA がシンプル DMA モードに設定されていることを示します。
4 DMAIntErr 0 RO
DMA 内部エラー。フェッチしたディ スク リプタでバッファー長さが0 に設定されている場合、 このエラーが発生します。 また、 スキャ ッター/ギャザー モードでステータス ス ト リームの RxLength フ ィールド (APP4) を使用している場合、 ステータス AXI4-Stream パケッ トのRxLength フ ィールドの値と S_AXIS_S2MM インターフェイスで受信した S2MM パケッ トのサイズが一致しない場合にもこのエラーが発生します。 スキャ ッ ター /ギャザーが無効のと き、 メモ リ書き込み中に何らかのエラーが発生するか、 または DMA LENGTH レジスタで指定した値よ り も大きいサイズのパケッ ト を受信する と、 このビットが 1 になり ます。このエラー条件が発生する と、 AXI DMA は適切に停止し ます。DMACR.RS ビッ トが 0 にク リ アされ、 エンジンが完全にシャッ ト ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。• 0 = DMA 内部エラーなし。• 1 = DMA 内部エラーを検出。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=26
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 27PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
5 DMASlvErr 0 RO
DMA スレーブ エラー。 メモ リ マップ インターフェイスからのスレーブ読み出しでスレーブ エラーになった場合、 このエラーが発生します。 このエラー条件が発生する と、AXI DMA は適切に停止します。 DMACR.RS ビッ トが 0 にク リ アされ、 エンジンが完全にシャット ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。• 0 = DMA スレーブ エラーなし。• 1 = DMA スレーブ エラーを検出。
6 DMADecErr 0 RO
DMA デコード エラー。アドレス要求が無効なアドレスを指し示す場合、 このエラーが発生します。 このエラー条件が発生する と、 AXIDMA は適切に停止します。DMACR.RS ビッ トが 0 にク リアされ、エンジンが完全にシャ ッ ト ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。
• 0 = DMA デコード エラーなし。• 1 = DMA デコード エラーを検出。
7 予約 0 RO このビッ トへの書き込みは動作に影響せず、 読み出しの値は常に 0です。
8 SGIntErr 0 RO
スキャ ッ ター /ギャザー内部エラー。 Cmplt ビッ トが既にセッ ト されているディ スク リプタをフェ ッチした場合、 このエラーが発生します。 これは、 このディ スク リプタがテール ディ スク リプタであることを SG エンジンに知らせます。 このエラー条件が発生する と、 AXIDMA は適切に停止します。DMACR.RS ビッ トが 0 にク リ アされ、エンジンが完全にシャ ッ ト ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。
• 0 = SG 内部エラーなし。• 1 = SG 内部エラーを検出。このエラーはディ スク リプタには記録できません。注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
9 SGSlvErr 0 RO
スキャ ッ ター /ギャザー スレーブ エラー。 メモ リ マップ インターフェイスからのスレーブ読み出しでスレーブ エラーになった場合、このエラーが発生します。 このエラー条件が発生する と、 AXI DMAは適切に停止します。 DMACR.RS ビッ トが 0 にク リ アされ、 エンジンが完全にシャ ッ ト ダウンする と DMASR.Halted ビッ トが 1 にセット されます。
• 0 = SG スレーブ エラーなし。• 1 = SG スレーブ エラーを検出。 DMA エンジンは停止中。このエラーはディ スク リプタには記録できません。
注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
10 SGDecErr 0 RO
スキャ ッ ター /ギャザー デコード エラー。 CURDESC_PTR またはNXTDESC_PTR が無効なアドレスを指し示す場合、 このエラーが発生します。 このエラー条件が発生する と、AXI DMA は適切に停止します。DMACR.RS ビッ トが 0 にク リ アされ、エンジンが完全にシャット ダウンする と DMASR.Halted ビッ トが 1 にセッ ト されます。• 0 = SG デコード エラーなし。• 1 = SG デコード エラーを検出。 DMA エンジンは停止中。このエラーはディ スク リプタには記録できません。注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
11 予約 0 RO このビッ トへの書き込みは動作に影響せず、 読み出しの値は常に 0です。
表 2‐16 : S2MM_DMASR レジスタの詳細 (続き)
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=27
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 28PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
12 IOC_Irq 0 R/WC
完了割り込み。スキャ ッ ター /ギャザー モードでこのビッ トが 1 の場合、 ディ スク リプタが完了して割り込みイベン トが発生したこ とを示します。 これは、 EOF (End of Frame) ビッ トがセッ ト されたディ スク リプタで発生します。 シンプル DMA モードでこのビッ トが 1 の場合、転送が完了して割り込みイベン トが発生したこ とを示します。
S2MM_DMACR レジスタの対応するビッ トが有効 (IOC_IrqEn = 1) で割り込みしきい値の条件を満たした場合、AXI DMA から割り込み出力が生成されます。
• 0 = IOC 割り込みなし。• 1 = IOC 割り込みを検出。
13 Dly_Irq 0 R/WC
遅延割り込み。 このビッ トが 1 の場合、 遅延タイマーのタイムアウトによって割り込みイベン トが発生したこ とを示します。S2MM_DMACR の対応するビッ トが有効 (Dly_IrqEn = 1) の場合、AXIDMA から割り込み出力が生成されます。• 0 = 遅延割り込みなし。• 1 = 遅延割り込みを検出。注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
14 Err_Irq 0 R/WC
エラー割り込み。 このビッ トが 1 の場合、 エラーによって割り込みイベン ト が発生したこ と を示します。 S2MM_DMACR の対応するビッ トが有効 (Err_IrqEn = 1) の場合、 AXI DMA から割り込み出力が生成されます。
• 0 = エラー割り込みなし。• 1 = エラー割り込みを検出。
15 予約 0 RO このビッ トへの書き込みは動作に影響せず、 読み出しの値は常に 0です。
23 ~ 16 IRQThresholdSts 01h RO 割り込みしきい値ステータス。現在の割り込みしきい値を示します。注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
31 ~ 24 IRQDelaySts 00h RO割り込み遅延タイマー ステータス。 現在の割り込み遅延タイマーの値を示します。
注記 : スキャ ッ ター /ギャザーが有効な場合のみ適用されます。
表 2‐16 : S2MM_DMASR レジスタの詳細 (続き)
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=28
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 29PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
S2MM_CURDESC (S2MM DMA カレン ト ディスクリプタ ポインター レジスタ – オフセッ ト 38h)
このレジスタには、 S2MM (Stream to Memory Map) DMA スキャ ッ ター /ギャザー ディ ス ク リプタ管理用のカレン トディ スク リプタ ポインターを格納します。
X-Ref Target - Figure 2-11
図 2‐11 : S2MM_CURDESC レジスタ
表 2‐17 : S2MM_CURDESC レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
5 ~ 0(オフセッ ト0x38)
予約 0 RO これらビッ トへの書き込みは動作に影響せず、 読み出しの値は常に0 です。
31 ~ 6カレン ト ディ スク リプタ ポインター
0R/W(RO)
現在処理中のバッファー ディ スク リプタへのポインターです。TAILDESC_PTR レジスタに書き込む前に、 このレジスタに有効なディ スク リプタへのポインターを格納しておく必要があ り ます。 そう しないと、 未定義の結果が生じます。 DMACR.RS が 1 の場合、CURDESC_PTR は読み出し専用 (RO) とな り、 最初のディ スク リプタをフェッチするために使用します。
DMA エンジンが動作中 (DMACR.RS = 1) は AXI DMA がCURDESC_PTR レジスタを更新し、現在処理中のディ スク リプタを示します。
エラーを検出する と、CURDESC_PTR はエラーを検出したディ スクリプタを示すポインターに更新されます。
注記 : CPU がこのレジス タに書き込めるのは、 DMA エンジンが停止中(DMACR.RS = 0 かつ DMASR.Halted = 1) のみです。それ以外の場合、 このレジスタは読み出し専用 (RO) です。バッファー ディ スク リプタは 16 ワード境界 (0x00、0x40、0x80、…)にアラインする必要があ り ます。 これ以外のアライ メン トでは未定義の結果とな り ます。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=29
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 30PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
S2MM_TAILDESC (S2MM DMA テール ディスクリプタ ポインター レジスタ – オフセッ ト 40h)
このレジスタには、S2MM (Stream to Memory Map) DMA スキャ ッ ター /ギャザー ディ スク リプタ管理用のテール ディスク リプタ ポインターを格納します。
X-Ref Target - Figure 2-12
図 2‐12 : S2MM_TAILDESC レジスタ
表 2‐18 : S2MM_TAILDESC レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
5 ~ 0 予約 0 RO これらビッ トへの書き込みは動作に影響せず、読み出しの値は常に 0 です。
31 ~ 6テール ディ スク リプタ ポインター
0 R/W
ディ スク リプタ チェーン内の一時停止ポインターを格納します。 カレント ディ スク リプタ ポインターとテール ディ スク リプタ ポインターが一致したディ スク リプタに対する処理が完了する と、 AXI DMA の SG エンジンはディ スク リプタのフェッチを一時停止します。
AXI DMA チャネルが停止していない (DMASR.Halted = 0) 場合、 CPU がTAILDESC_PTR レジスタに書き込むと AXI DMA の SG エンジンはディスク リプタのフェッチを開始 (DMASR.Idle = 1 でアイ ドル状態の場合は再開) します。アイ ドル状態でない場合、TAILDESC_PTR に書き込んでも一時停止ポイン トの位置が変化するだけで、 それ以外の影響はあ り ません。
AXI DMA チャネルの DMACR.RS ビッ ト を 0 にした (DMASR.Halted = 1 かつDMACR.RS = 0) 場合、 CPU が TAILDESC_PTR レジスタに書き込んでも一時停止ポイン トの位置が変化するだけで、 それ以外の影響はあり ません。
注記 : ソフ ト ウェアは、更新されていないアドレスにテール ポインターを移動できません。 ソフ ト ウェアは完了したすべてのディ スク リプタ (Cmplt = 1) を処理して再割り当てし、 Cmplt ビッ ト をク リ アした後、 テール ポインターを移動します。 ソフ ト ウェアは、 テール ポインターを最後に更新したディ スク リプタへ移動する必要があ り ます。
ディスク リプタは 16 ワード境界 (0x00、 0x40、 0x80、 …) にアラインする必要があり ます。 これ以外のアライ メン トでは未定義の結果となり ます。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=30
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 31PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
S2MM_DA (S2MM DMA デスティネーシ ョ ン アドレス レジスタ – オフセッ ト 48h)
このレジスタは、 S2MM (Stream to Memory Map) DMA 転送でシステム メモ リに書き込むためのデスティネーシ ョ ンアドレスを指定します。
S2MM_LENGTH (S2MM DMA バッファー長さレジスタ – オフセッ ト 58h)
このレジスタは、 S2MM (Stream to Memory Map) チャネルから DMA 転送されたデータを書き込むためのバッファーの長さを指定します (単位 : バイ ト )。
X-Ref Target - Figure 2-13
図 2‐13 : S2MM_DA レジスタ
表 2‐19 : S2MM_DA レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
31 ~ 0 デスティネーシ ョ ンアドレス
0 R/W
S2MM チャネルの AXI4-Stream から転送したデータを AXI DMA が書き込むデスティネーシ ョ ン アドレスを指定します。注記 :データ再アラ イ メ ン ト エンジンを含めている場合、 デステ ィ ネーシ ョ ン アドレスは任意のバイ ト オフセッ ト とするこ とができます。データ再アライ メン ト エンジンを含めない場合、デスティネーシ ョ ン アドレスはS2MM メモ リ マップのデータ幅にアラインする必要があ り ます。
X-Ref Target - Figure 2-14
図 2‐14 : S2MM_LENGTH レジスタ
表 2‐20 : S2MM_LENGTH レジスタの詳細
ビッ ト フ ィールド名デフォルト値
アクセス タイプ
説明
22(1) ~ 0 長さ 0 R/W
S2MM チャネルから受信したデータを書き込むための S2MM バッファーの長さを指定します (単位 : バイ ト )。 このレジスタに 0 以外の値を書き込むと、 S2MM チャネルはパケッ ト データの受信を開始します。
S2MM 転送が完了する と、S2MM AXI4 インターフェイスで実際に書き込まれたバイ ト数が S2MM_LENGTH レジスタに書き込まれます。注記 : こ こには、S2MM AXI4-Stream で受信が予想される最も大きいパケット以上の値を指定する必要があ り ます。 こ こで指定した値よ り大きいサイ
ズのパケッ ト を受信する と、 未定義の動作とな り ます。
31 ~ 23 予約 0 RO これらビッ トへの書き込みは動作に影響せず、 読み出しの値は常に 0 です。
1. 長さフ ィールドの幅は、 パラ メーター [Width of Buffer Length Register] によって決ま り ます。 最小幅は 8 ビッ ト (7 ~ 0)、 最大幅は 23 ビット (22 ~ 0) です。
http://japan.xilinx.comhttp://japan.xilinx.com/about/feedback.html?docType=Product_Guide&docId=PG021&Title=LogiCORE%20IP%20AXI%20DMA%20v7.1&releaseVersion=7.1&docPage=31
LogiCORE IP AXI DMA v7.1 japan.xilinx.com 32PG021 2014 年 4 月 2 日
第 2 章 :製品仕様
スキャ ッ ター /ギャザー ディスクリプタこのセクシ ョ ンでは、 AXI DMA をスキャ ッ ター /ギャザー モードに設定した場合の S2MM (受信) および MM2S (送信) スキャ ッ ター /ギャザー ディ スク リプタの定義を示します。 このディ スク リプタは 8 つの 32 ビッ ト ベース ワード と 0 または 5 つのユーザー アプリ ケーシ ョ ン ワードで構成されます。 このディ スク リプタはユーザー アプリ ケーシ ョ ン データをサポート し、将来的に 64 ビッ ト アドレスもサポート します。 フレーム開始 (SOF) およびフレーム終了 (EOF) フラグによ り、 1 つのパケッ トに対して複数のディ スク リプタをサポート します。 完了ステータスおよび完了時割り込み (IOC) も含まれます。バッファー長さフ ィールドには、 1 つのディ スク リプタにつき最大 8,388,607 バイトのデータ バッファーを記述できます。 MM2S と S2MM の 2 つのデータ転送方向をサポートするために 2 つのディスク リプタ チェーンが必要です。
表 2‐21 :ディスクリプタのフ ィールド (マルチチャネル モード以外)
アドレス空間オフセッ ト (1) 名前 説明
00h NXTDESC ネクス ト ディ スク リプタ ポインター
04h 予約 N/A
08h BUFFER_ADDRESS バッファー アドレス
0Ch 予約 N/A
10h 予約 N/A
14h 予約 N/A
18h CONTROL 制御
1Ch STATUS ステータス
20h APP0 ユーザー アプリ ケーシ ョ ン フ ィールド 0 (2)
24h APP1 ユーザー アプリ ケーシ ョ