...

LogiCORE IP AXI DMA v7.1 製品ガイド (PG021)

by user

on
Category: Documents
89

views

Report

Comments

Transcript

LogiCORE IP AXI DMA v7.1 製品ガイド (PG021)
LogiCORE IP AXI DMA
v7.1
製品ガ イ ド
Vivado Design Suite
PG021 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 への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Vivado Design Suite でのア ッ プグ レー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
付録 B : デバ ッ グ
ザ イ リ ン ク ス ウ ェ ブサ イ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Vivado ラ ボ ツール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
ハー ド ウ ェ ア デバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
2
付録 C : その他の リ ソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
78
78
79
80
3
IP の概要
は じ めに
ザ イ リ ン ク ス LogiCORE™ IP AXI DMA (Direct Memory Access)
コ アは、Vivado® Design Suite 用のザ イ リ ン ク ス ソ フ ト IP コ ア
です。 AXI DMA を使用する と 、 メ モ リ と AXI4-Stream タ イ プ
の タ ーゲ ッ ト ペ リ フ ェ ラ ル間で広帯域のダ イ レ ク ト メ モ リ
ア ク セ ス が可能にな り ます。ま た、オプシ ョ ンで ス キ ャ ッ タ ー
/ギ ャ ザー機能 も サポー ト し てお り 、デー タ移動時の CPU の負
荷を軽減で き ます。
機能
この LogiCORE IP について
コ アの概要
UltraScale™ アーキ テ ク チ ャ 、
Zynq®-7000 All Programmable SoC、
7 シ リ ーズ FPGA
サポー ト さ れ る
デバ イ ス
フ ァ ミ リ (1)
サポー ト さ れ る
ユーザー
イ ン タ ーフ ェ イ ス
AXI4、 AXI4-Lite、 AXI4-Stream
リ ソ ース
表 2-4 参照
コ アに含まれる もの
•
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) 転送をサポー ト
•
キーホールをサポー ト (オプシ ョ ン)
VHDL
サンプル デザ イ ン
VHDL
テ ス ト ベンチ
VHDL
制約フ ァ イ ル
IP 生成時に作成
サポー ト さ れ る
ソ フ ト ウェア
ド ラ イ バー (2)
ス タ ン ド ア ロ ンお よ び Linux
テ ス ト 済みデザイ ン フ ロー (3)
Vivado Design Suite
Vivado IP イ ン テ グ レー タ ー
デザ イ ン入力
•
デー タ 再ア ラ イ メ ン ト をサポー ト (オプシ ョ ン)
•
AXI 制御ス ト リ ームお よ び AXI ス テー タ ス ス ト リ ーム
(オプシ ョ ン)
•
デザ イ ン フ ァ イ ル
シ ミ ュ レーシ ョ ン
マ イ ク ロ DMA をサポー ト (オプシ ョ ン)
サポー ト さ れ る シ ミ ュ レー タ については、
『Vivado Design Suite ユーザー ガ イ ド :
リ リ ース ノ ー ト ガ イ ド 、 イ ン ス ト ール
お よ び ラ イ セ ン ス』 を参照
合成
Vivado 合成
サポー ト
japan.xilinx.com/support で提供
1. サポー ト さ れてい る デバ イ ス の一覧は、 Vivado IP カ タ ロ グ を参照 し
て く だ さ い。
2. ス タ ン ド ア ロ ン ド ラ イ バーの情報は、SDK の イ ン ス ト ール デ ィ レ ク
ト リ を参照 し て く だ さ い (< イ ン ス ト ール デ ィ レ ク ト リ >/
doc/usenglish の xilinx_drivers.htm)。Linux OS お よ び ド ラ イ バー サポー
ト の情報は、 wiki.xilinx.com を参照 し て く だ さ い。
3. サポー ト さ れてい る ツールのバージ ョ ンは、『Vivado Design Suite ユー
ザー ガ イ ド : リ リ ース ノ ー ト 、 イ ン ス ト ールお よ び ラ イ セ ン ス』 を
参照 し て く だ さ い。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
4
Production 製品仕様
第 1章
概要
AXI DMA (Direct Memory Access) IP は、 AXI4 メ モ リ マ ッ プ イ ン タ ーフ ェ イ ス と AXI4-Stream IP イ ン タ ーフ ェ イ ス間
で広帯域のダ イ レ ク ト メ モ リ ア ク セ ス をサポー ト し ます。 オプシ ョ ンで ス キ ャ ッ タ ー /ギ ャ ザー機能 も サポー ト し て
お り 、 プ ロ セ ッ サ ベース のシ ス テ ム でデー タ 移動時の CPU の負荷を さ ら に軽減で き ます。 初期化レ ジ ス タ 、 ス テー
タ ス レ ジ ス タ 、 管理レ ジ ス タ には AXI4-Lite ス レーブ イ ン タ ーフ ェ イ ス経由でア ク セ ス し ます。 図 1-1 に、 こ の コ ア
のブ ロ ッ ク 図を示 し ます。
X-Ref Target - Figure 1-1
$;,0HPRU\0DS5HDG
'DWD0RYHU
006&QWO6WV/RJLF
$;,/LWH
5HJLVWHUV
6FDWWHU*DWKHU
600&QWO6WV/RJLF
$;,0HPRU\0DS:ULWH
'DWD0RYHU
$;,6WUHDP0DVWHU006
$;,&RQWURO6WUHDP006
$;,0HPRU\0DS:ULWH5HDG
$;,6WUHDP600
$;,6WUHDP6ODYH600
[
図 1‐1 : AXI DMA IP のブ ロ ッ ク 図 LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
5
第 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 の性能 と フ ッ ト プ リ ン ト を抑えた コ ン フ ィ ギ ュ レーシ ョ ンが
可能です。 詳細は、 次の章以降で説明 し ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
6
第 1 章 : 概要
ア プ リ ケーシ ョ ン
AXI DMA は、シ ス テ ム メ モ リ と AXI Ethernet な ど AXI4-Stream ベース の タ ーゲ ッ ト IP と の間で高速デー タ 移動を可
能に し ます。
ラ イ セ ン スおよび注文情報
こ のザ イ リ ン ク ス LogiCORE™ IP モジ ュ ールは、 ザ イ リ ン ク ス エン ド ユーザー ラ イ セ ン ス規約の も と ザ イ リ ン ク ス
Vivado® Design Suite を使用 し て追加 コ ス ト な し で提供 さ れてい ます。
こ の IP お よ びその他のザ イ リ ン ク ス LogiCORE IP に関す る 情報は、 ザ イ リ ン ク ス IP コ ア ページか ら 入手で き ます。
その他のザ イ リ ン ク ス LogiCORE IP モジ ュ ールお よ びツールの価格や提供状況については、ザ イ リ ン ク ス販売代理店
にお問い合わせ く だ さ い。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
7
第 2章
製品仕様
パフ ォ ーマ ン ス
こ のセ ク シ ョ ンは、 次のサブセ ク シ ョ ンで構成 さ れます。
•
最大周波数
•
レ イ テ ン シ と スループ ッ ト
最大周波数
AXI DMA の特性は、『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] に記載のベンチマー
ク メ ソ ド ロ ジに基づいて評価 し てい ます。 表 2-1 に、 特性評価の結果を示 し ます。
表 2‐1 : 最大周波数
ファミ リ
Fmax (MHz)
ス ピー ド グ レー ド
AXI4
AXI4-Stream
AXI4-Lite
200
200
180
200
200
180
150
150
120
240
240
200
Kintex-7
240
240
200
Artix-7
180
180
140
Virtex-7
280
280
220
280
280
220
200
200
160
®-7
Virtex
Kintex®-7
-1
Artix®-7
Virtex-7
-2
Kintex-7
Artix-7
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
-3
japan.xilinx.com
8
第 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
チ ャ ネル
ク ロ ッ ク周波数 (MHz)
転送バイ ト 数
総スループ ッ ト (MB/s)
理論値に対する割合
MM2Sb
100
10,000
399.04
99.76
S2MMc
100
10,000
298.59
74.64
a. 上記の値はデフ ォ ル ト の IP 設定で計測 し た も のです。
b. MM2S の スループ ッ ト は、 メ モ リ マ ッ プ側の最初の arvalid か ら ス ト リ ー ミ ン グ側の tlast ま での間で計測 し ます。
c. S2MM の スループ ッ ト は、 ス ト リ ー ミ ン グ側の最初の tvalid か ら メ モ リ マ ッ プ側の最後の wlast ま での間で計測 し ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
9
第 2 章 : 製品仕様
リ ソ ース使用状況
AXI DMA コ アに必要な リ ソ ース は、 7 シ リ ーズお よ び Zynq®-7000 デバ イ ス に対 し て見積 も ら れてい ます (表 2-4)。
こ れ ら は、 Vivado® Design Suite を用いて得 ら れた数値です。
注記 : UltraScale™ アーキ テ ク チ ャ については、 7 シ リ ーズ と 同等の結果が予想 さ れます。
表 2‐4 : 7 シ リ ーズおよび Zynq‐7000 デバイ スの推定 リ ソ ース量 Enable Multi Channel Support
Enable Control/Status Stream
Width of Buffer Length Register
Number of Channels
Memory Map Data Width
Stream Data Width
Max Burst Size
Allow Unaligned Transfers
Number of Channels
Memory Map Data Width
Stream Data Width
Max Burst Size
Allow Unaligned Transfers
Use RxLength in Status Stream
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
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
Slice
Enable Scatter Gather Engine
書き込みチ ャ ネル
Enable Asynchronous Clocks
読み出 し チ ャ ネル
10
第 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 プ ラ イ マ リ ク ロ ッ ク 。
リ セッ ト
I
AXI DMA リ セ ッ ト 。ア ク テ ィ ブ Low リ セ ッ ト です。
Low にアサー ト す る と AXI DMA コ ア全体が リ セ ッ
ト さ れます。s_axi_lite_aclk に同期 さ せる 必要があ り
ます。
割 り 込み
O
0
MM2S (Memory Map to Stream) チ ャ ネルへの割 り 込
み出力。
割 り 込み
O
0
S2MM (Stream to Memory Map) チ ャ ネルへの割 り 込
み出力。
NA
O
0
内部で使用す る デバ ッ グ信号。
axi_resetn
mm2s_introut
s2mm_introut
axi_dma_tstvec
初期
状態
説明
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
m_axis_mm2s_*
M_AXIS_MM2S
入力/
出力
プ ラ イ マ リ MM2S リ セ ッ ト 出力。 ア ク テ ィ ブ Low
リ セ ッ ト です。
AXI4 信号の詳細は、 『AXI リ フ ァ レ ン ス ガ イ ド 』
(UG761) [参照 2] の付録 A を参照 し て く だ さ い。
MM2S マス タ ー制御ス ト リ ーム イ ン タ ー フ ェ イ スの信号
mm2s_cntrl_reset_out_n
M_AXIS_CNTRL
O
1
m_axis_mm2s_cntrl_*
M_AXIS_CNTRL
入力/
出力
制御 リ セ ッ ト 出力。 ア ク テ ィ ブ Low リ セ ッ ト です。
AXI4 信号の詳細は、 『AXI リ フ ァ レ ン ス ガ イ ド 』
(UG761) [参照 2] の付録 A を参照 し て く だ さ い。
S2MM メ モ リ マ ッ プ書き込みイ ン タ ー フ ェ イ スの信号
m_axi_s2mm_*
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
M_AXI_S2MM
入力/
出力
japan.xilinx.com
AXI4 信号の詳細は、 『AXI リ フ ァ レ ン ス ガ イ ド 』
(UG761) [参照 2] の付録 A を参照 し て く だ さ い。
11
第 2 章 : 製品仕様
表 2‐5 : I/O 信号の説明 (続き)
信号名
イ ン ターフ ェ イス
信号
タ イプ
初期
状態
説明
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
s_axis_s2mm_sts_*
S_AXIS_STS
入力/
出力
AXI ス テー タ ス ス ト リ ーム (STS) リ セ ッ ト 出力。 ア
ク テ ィ ブ Low リ セ ッ ト です。
1
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-6 に、 ス キ ャ ッ タ ー /ギ ャ ザー モー ド の場合の AXI DMA コ アの レ ジ ス タ 空間を示 し ます。 表 2-7 に、 シ ン プル
DMA モー ド の場合の AXI DMA コ アの レ ジ ス タ 空間を示 し ます。 AXI DMA レ ジ ス タ は、 キ ャ ッ シ ュ 不可能な メ モ リ
空間に メ モ リ マ ッ プ さ れてい ます。 こ の メ モ リ 空間は、 AXI ワー ド (32 ビ ッ ト ) 境界にア ラ イ ンす る 必要があ り ます。
エ ンデ ィ ア ン ネス
レ ジ ス タ はすべて リ ト ル エンデ ィ ア ン方式です (図 2-1)。
X-Ref Target - Figure 2-1
MSB
LSB
Addr Offset 0x03
31
BYTE3
Addr Offset 0x02
24 23
BYTE2
Addr Offset 0x01
16 15
BYTE 1
Addr Offset 0x00
8 7
BYTE 0
0
DS781_03
図 2‐1 : 32 ビ ッ ト リ ト ル エ ンデ ィ ア ンの例
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
12
第 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 の代入値を基準 と し ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
13
第 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
569'
,547KUHVKROG
,54'HOD\
569'
.H\KROH
'O\B,UT(Q
569'
(55B,UT(Q
,2&B,UT(Q
&\FOLF%'(QDEOH
5HVHW
56
'6B
図 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 ビ ッ ト は、 エ ラ ーが発生す る と AXI
DMA ハー ド ウ ェ アに よ っ て ク リ ア さ れ ます。 CPU で こ の ビ ッ ト を ク
リ ア し て DMA 動作を停止する こ と も で き ます。
• 1 = 実行 – DMA 動作を開始 し ます。 DMA エン ジ ンが動作を開始す る
と 、 DMA ス テー タ ス レ ジ ス タ の Halted ビ ッ ト が 0 にデ ィ アサー ト さ
れます。
1
予約
1
RO
こ のビ ッ ト への書き 込みは動作に影響せず、読み出 し の値は常に 1 です。
R/W
AXI DMA コ ア を リ セ ッ ト す る ための ソ フ ト リ セ ッ ト です。 こ の ビ ッ ト
を 1 にセ ッ ト す る と 、 AXI DMA が リ セ ッ ト さ れます。 リ セ ッ ト は適切に
実行 さ れます。 未完了の コ マ ン ド /転送は途中で終了す る も の と 最後ま で
完了する も のがあ り ます。AXI4-Stream 出力は途中で終了す る 可能性があ
り ます。 MM2S_DMACR.Reset = 1 ま たは S2MM_DMACR.Reset = 1 の ど
ち ら で も AXI DMA エン ジ ン全体が リ セ ッ ト さ れます。 ソ フ ト リ セ ッ ト
が完了する と 、 すべての レ ジ ス タ と ビ ッ ト が リ セ ッ ト 状態にな り ます。
• 0 = 通常動作。
• 1 = リ セ ッ ト が進行中。
2
リ セッ ト
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
0
japan.xilinx.com
14
第 2 章 : 製品仕様
表 2‐8 : MM2S_DMACR レ ジ ス タ の詳細 (続き)
ビッ ト
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 です。
R/W
完了時割 り 込み (IOC) イ ネーブル。 こ のビ ッ ト を 1 にセ ッ ト す る と 、 IOC
ビ ッ ト がセ ッ ト さ れたデ ィ ス ク リ プ タ に対 し て DMASR.IOC_Irq に よ る
割 り 込み出力の生成が許可 さ れます。
• 0 = IOC 割 り 込みを無効にす る 。
• 1 = IOC 割 り 込みを有効にす る 。
12
13
IOC_IrqEn
Dly_IrqEn
0
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 です。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
15
第 2 章 : 製品仕様
表 2‐8 : MM2S_DMACR レ ジ ス タ の詳細 (続き)
ビッ ト
23 ~ 16
31 ~ 24
フ ィ ール ド 名
IRQThreshold
IRQDelay
デフ ォル ト ア ク セス
説明
値
タ イプ
01h
R/W
00h
R/W
割 り 込み し き い値。 こ の値は、 割 り 込み し き い値の設定に使用 し ます。
IOC 割 り 込み イ ベン ト が発生す る と 、 内部カ ウ ン タ ーが割 り 込み し き い
値の設定値か ら カ ウ ン ト ダ ウ ン を開始 し ます。 こ のカ ウ ン ト が 0 にな る
と 、 DMA エン ジ ンに よ っ て割 り 込み出力が生成 さ れます。
注記 : し き い値の最小値は 0x01 です。こ の レ ジ ス タ に 0x00 を書 き 込んで も 動作に
影響 し ません。
注記 : AXI DMA を ダ イ レ ク ト レ ジ ス タ モー ド に設定 し てい る 場合、 こ の フ ィ ー
ル ド は無視 さ れます。
割 り 込み遅延 タ イ ム ア ウ ト 。 こ の値は、 割 り 込み タ イ ム ア ウ ト 値の設定
に使用 し ます。 割 り 込み タ イ ム ア ウ ト は、 指定 し た遅延時間の経過後に
DMA エン ジ ンが割 り 込みを生成する 機能です。タ イ マーはパケ ッ ト の最
後でカ ウ ン ト を開始 し 、 新 し いパケ ッ ト を受信す る か タ イ ム ア ウ ト イ ベ
ン ト が発生する と カ ウ ン ト を リ セ ッ ト し ます。
注記 : こ の値を 0 に設定す る と 、 遅延 タ イ マー割 り 込みが無効にな り ます。
注記 : AXI DMA を ダ イ レ ク ト レ ジ ス タ モー ド に設定 し てい る 場合、 こ の フ ィ ー
ル ド は無視 さ れます。
MM2S_DMASR (MM2S DMA ス テー タ ス レ ジ ス タ – オ フ セ ッ ト 04h) こ の レ ジ ス タ は、 MM2S (Memory Map to Stream) DMA チ ャ ネルの ス テー タ ス を示 し ます。
X-Ref Target - Figure 2-3
569'
,54'O\6WV
,547KUHVKROG6WV
569'
'O\B,UT
(UUB,UT
,2&B,UT
'0$,QW(UU
6*6OY(UU
6*'HF(UU
569'
'0$'HF(UU
6*,QW(UU
569'
'0$6OY(UU
6*,QFOG
+DOWHG
,GOH
'6B
図 2‐3 : MM2S_DMASR レ ジス タ LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
16
第 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
SGIncld
C_
INCLUDE_
SG
RO
1 = ス キ ャ ッ タ ー /ギ ャ ザーが有効。
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
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
0
RO
DMA ス レ ーブ エ ラ ー。 メ モ リ マ ッ プ イ ン タ ー フ ェ イ ス か ら の ス
レ ーブ読み出 し で ス レ ーブ エ ラ ーに な る と こ のエ ラ ーが発生 し ま
す。 こ のエ ラ ー条件が発生す る と 、 AXI DMA は適切に停止 し ま す。
DMACR.RS ビ ッ ト が 0 に ク リ ア さ れ、 エン ジ ンが完全にシ ャ ッ ト ダ
ウ ンす る と DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れます。
• 0 = DMA ス レーブ エ ラ ーな し 。
• 1 = DMA ス レーブ エ ラ ーを検出。 DMA エン ジ ンは停止中。
japan.xilinx.com
17
第 2 章 : 製品仕様
表 2‐9 : MM2S_DMASR レ ジ ス タ の詳細 (続き)
ビッ ト
フ ィ ール ド 名
デ フ ォル ト
値
ア ク セス タ イプ
説明
6
DMADecErr
0
RO
DMA デ コ ー ド エ ラ ー。 ア ド レ ス要求が無効な ア ド レ ス を指 し 示す場
合、 こ のエ ラ ーが発生 し ま す。 こ のエ ラ ー条件が発生す る と 、 AXI
DMA は適切に停止 し ます。 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
12
予約
IOC_Irq
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
0
0
RO
こ のビ ッ ト への書き込みは動作に影響せず、読み出し の値は常に 0 です。
R/WC
完了割 り 込み。 ス キ ャ ッ タ ー /ギ ャ ザー モー ド で こ のビ ッ ト が 1 の場
合、デ ィ ス ク リ プ タ が完了 し て割 り 込み イ ベン ト が発生 し た こ と を示
し ます。 こ れは、 EOF (End of Frame) ビ ッ ト がセ ッ ト さ れたデ ィ ス ク
リ プ タ で発生 し ま す。 シ ン プル DMA モー ド で こ の ビ ッ ト が 1 の場
合、 転送が完了 し て割 り 込み イ ベ ン ト が発生 し た こ と を 示 し ま す。
MM2S_DMACR レ ジ ス タ の対応する ビ ッ ト が有効 (IOC_IrqEn = 1) で
割 り 込み し き い値の条件を満た し た場合、 AXI DMA か ら 割 り 込み出
力が生成 さ れます。
• 0 = IOC 割 り 込みな し 。
• 1 = IOC 割 り 込みを検出。
japan.xilinx.com
18
第 2 章 : 製品仕様
表 2‐9 : MM2S_DMASR レ ジ ス タ の詳細 (続き)
ビッ ト
13
フ ィ ール ド 名
Dly_Irq
デ フ ォル ト
値
0
ア ク セス タ イプ
R/WC
説明
遅延割 り 込み。 こ の ビ ッ ト が 1 の場合、 遅延 タ イ マーの タ イ ム ア ウ ト
に よ っ て割 り 込み イ ベン ト が発生 し た こ と を示 し ます。
MM2S_DMACR の対応する ビ ッ ト が有効 (Dly_IrqEn = 1) の場合、AXI
DMA か ら 割 り 込み出力が生成 さ れます。
• 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
割 り 込み し き い値ス テー タ ス。 現在の割 り 込み し き い値を示 し ます。
注記 : ス キ ャ ッ タ ー /ギ ャ ザーが有効な場合のみ適用 さ れます。
割 り 込み遅延 タ イ マー ス テー タ ス。 現在の割 り 込み遅延 タ イ マーの
値を示 し ます。
注記 : ス キ ャ ッ タ ー /ギ ャ ザーが有効な場合のみ適用 さ れます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
19
第 2 章 : 製品仕様
MM2S_CURDESC (MM2S DMA カ レ ン ト デ ィ ス ク リ プ タ ポ イ ン タ ー レ ジ ス タ – オ フ セ ッ ト 08h)
こ の レ ジ ス タ には、 MM2S (Memory Map to Stream) DMA ス キ ャ ッ タ ー /ギ ャ ザー デ ィ ス ク リ プ タ 管理用の カ レ ン ト
デ ィ ス ク リ プ タ ポ イ ン タ ーを格納 し ます。
X-Ref Target - Figure 2-4
&XUUHQW'HVFULSWRU3RLQWHU >@
569'
'6B
図 2‐4 : MM2S_CURDESC レ ジ ス タ 表 2‐10 : MM2S_CURDESC レ ジ ス タ の詳細
ビッ ト
フ ィ ール ド 名
デ フ ォル ト
値
ア ク セス 説明
タ イプ
5~0
(オ フ セ ッ ト
0x38)
予約
0
RO
31 ~ 6
カレン ト
ディ ス ク リ プタ
ポ イ ン ター
0
R/W
(RO)
こ れ ら ビ ッ ト への書き 込みは動作に影響せず、 読み出 し の値は常
に 0 です。
現在処理中のデ ィ ス ク リ プ タ へのポ イ ン タ ーを格納 し ます。
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、 …) にア ラ イ ンす る 必要があ り ます。 こ れ以外のア ラ
イ メ ン ト では未定義の結果 と な り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
20
第 2 章 : 製品仕様
MM2S_TAILDESC (MM2S DMA テール デ ィ ス ク リ プ タ ポ イ ン タ ー レ ジ ス タ – オ フ セ ッ ト 10h) こ の レ ジ ス タ には、MM2S (Memory Map to Stream) DMA ス キ ャ ッ タ ー /ギ ャ ザー デ ィ ス ク リ プ タ 管理用のテール デ ィ
ス ク リ プ タ ポ イ ン タ ーを格納 し ます。
X-Ref Target - Figure 2-5
7DLO'HVFULSWRU3RLQWHU> @
569'
'6B
図 2‐5 : MM2S_TAILDESC レ ジス タ 表 2‐11 : MM2S_TAILDESC レ ジ ス タ の詳細
ビッ ト
フ ィ ール ド 名
デ フ ォル ト
値
ア ク セス 説明
タ イプ
5~0
予約
0
RO
31 ~ 6
テール
ディ ス ク リ プタ
ポ イ ン ター
0
R/W
こ れ ら ビ ッ ト への書き 込みは動作に影響せず、読み出 し の値は常に
0 です。
デ ィ ス ク リ プ タ チ ェ ーン内の一時停止ポ イ ン タ ーを格納 し ます。カ
レ ン ト デ ィ ス ク リ プ タ ポ イ ン タ ー と テール デ ィ ス ク リ プ タ ポ イ
ン タ ーが一致 し たデ ィ ス ク リ プ タ に対する 処理が完了する と 、 AXI
DMA の 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、 …) にア ラ イ ンす る 必要があ り ま す。 こ れ以外のア
ラ イ メ ン ト では未定義の結果 と な り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
21
第 2 章 : 製品仕様
MM2S_SA (MM2S DMA ソ ース ア ド レ ス レ ジ ス タ – オ フ セ ッ ト 18h) こ の レ ジ ス タ は、 MM2S (Memory Map to Stream) DMA 転送でシ ス テ ム メ モ リ を読み出すための ソ ース ア ド レ ス を指
定 し ます。
X-Ref Target - Figure 2-6
006B6$
図 2‐6 : MM2S_SA レ ジ ス タ
表 2‐12 : MM2S_SA レ ジス タ の詳細
ビッ ト
フ ィ ール ド 名
デ フ ォル ト
値
ア ク セス 説明
タ イプ
MM2S チ ャ ネルで AXI DMA が AXI4-Stream へ転送する デー タ を読
み出す ソ ース ア ド レ ス を指定 し ます。
31 ~ 0
ソ ース ア ド レ ス
0
R/W
注記 : デー タ 再ア ラ イ メ ン ト エ ン ジ ン を含めてい る 場合、 ソ ース ア ド レ ス
は任意のバ イ ト オ フ セ ッ ト と す る こ と がで き ます。 デー タ 再ア ラ イ メ ン ト
エ ン ジ ン を含めない場合、 ソ ース ア ド レ ス は S2MM ス ト リ ームのデー タ 幅
にア ラ イ ンす る 必要があ り ます。
MM2S_LENGTH (MM2S DMA 転送長 さ レ ジ ス タ – オ フ セ ッ ト 28h) こ の レ ジ ス タ は、 シ ス テ ム メ モ リ か ら 読み出 し て MM2S AXI4-Stream へ転送す る バ イ ト 数を指定 し ます。
X-Ref Target - Figure 2-7
5HVHUYHG
006/HQJWK>@
1RWH9DOLGUHJLVWHUELWVGHWHUPLQHGE\&B6*B/HQJWKB:LGWK
図 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) です。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
22
第 2 章 : 製品仕様
SG_CTL (スキ ャ ッ タ ー /ギ ャザー ユーザーお よびキ ャ ッ シ ュ制御レ ジ ス タ – オ フ セ ッ ト 2Ch)
こ の レ ジ ス タ は、 DMA を マルチチ ャ ネル モー ド に設定 し た場合のみ利用で き ます。
X-Ref Target - Figure 2-8
5HVHUYHG
6*B86(5 5VYG
6*B&$&+(
図 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 信号に反映 さ れます。
S2MM (Stream to Memory Map) レ ジ ス タ の詳細
S2MM_DMACR (S2MM DMA 制御レ ジ ス タ – オ フ セ ッ ト 30h)
こ の レ ジ ス タ は、 S2MM (Stream to Memory Map) DMA チ ャ ネルを制御 し ます。
X-Ref Target - Figure 2-9
569'
,54'HOD\
569'
.H\KROH
'O\B,UT(Q
,547KUHVKROG
569'
(55B,UT(Q
,2&B,UT(Q
&\FOLF%'(QDEOH 5HVHW
56
'6B
図 2‐9 : S2MM_DMACR レ ジス タ LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
23
第 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 ビ ッ ト は、 エ ラ ーが発生す る と AXI
DMA ハー ド ウ ェ アに よ っ て ク リ ア さ れます。 CPU で こ の ビ ッ ト を ク リ
ア し て DMA 動作を停止す る こ と も で き ます。
• 1 = 実行 – DMA 動作を開始し ます。 DMA エンジンが動作を開始する と 、
DMA ス テータ ス レ ジ ス タ の Halted ビ ッ ト が 0 にデ ィ アサー ト さ れます。
1
2
3
予約
リ セッ ト
キーホール
1
0
0
RO
こ のビ ッ ト への書 き 込みは動作に影響せず、 読み出 し の値は常に 1 です。
R/W
AXI DMA コ ア を リ セ ッ ト する ための ソ フ ト リ セ ッ ト です。 こ の ビ ッ ト を
1 にセ ッ ト す る と 、 AXI DMA が リ セ ッ ト さ れ ま す。 リ セ ッ ト は適切に実
行 さ れ ま す。 未完了の コ マ ン ド /転送は途中で終了す る も の と 最後 ま で完
了す る も の が あ り ま す。 AXI4-Stream 出力 は、 必要 に 応 じ て 関連す る
TLAST を 使用 し て 途中で終了 し ま す。 MM2S_DMACR.Reset = 1 ま た は
S2MM_DMACR.Reset = 1 のど ち ら で も AXI DMA エン ジ ン全体が リ セ ッ ト
さ れます。 ソ フ ト リ セ ッ ト が完了す る と 、 すべての レ ジ ス タ と ビ ッ ト が リ
セ ッ ト 状態にな り ます。
• 0 = リ セ ッ ト が進行中でない。 通常動作。
• 1 = リ セ ッ ト が進行中。
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 です。
R/W
完了時割 り 込み イ ネーブル。 こ のビ ッ ト を 1 にセ ッ ト す る と 、 Cmplt ビ ッ
ト がセ ッ ト さ れたデ ィ ス ク リ プ タ に対 し て完了時割 り 込み (IOC) イ ベン ト
に よ る 割 り 込み出力の生成が許可 さ れます。
• 0 = IOC 割 り 込みを無効にする 。
• 1 = IOC 割 り 込みを有効にする 。
12
IOC_IRqEn
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
0
japan.xilinx.com
24
第 2 章 : 製品仕様
表 2‐15 : S2MM_DMACR レ ジ ス タ の詳細 (続き)
ビッ ト
13
フ ィ ール ド 名
Dly_IrqEn
デフ ォル ト ア クセス 説明
値
タ イプ
0
遅延 タ イ マー割 り 込み イ ネーブル。 こ のビ ッ ト を 1 にする と 、 エ ラ ー イ ベ
ン ト に よ る 割 り 込み出力の生成が許可 さ れます。
• 0 = 遅延割 り 込みを無効にす る 。
• 1 = 遅延割 り 込みを有効にす る 。
R/W
注記 : ス キ ャ ッ タ ー /ギ ャ ザーが有効な場合のみ適用 さ れます。
14
Err_IrqEn
0
R/W
エ ラ ー割 り 込み イ ネーブル。 こ のビ ッ ト を 1 にする と 、 エ ラ ー イ ベン ト に
よ る 割 り 込み出力の生成が許可 さ れます。
• 0 = エ ラ ー割 り 込みを無効にす る 。
• 1 = エ ラ ー割 り 込みを有効にす る 。
15
予約
0
RO
こ のビ ッ ト への書 き 込みは動作に影響せず、 読み出 し の値は常に 0 です。
R/W
割 り 込み し き い値。 こ の値は、割 り 込み し き い値の設定に使用 し ます。IOC
割 り 込み イ ベン ト が発生す る と 、 内部カ ウ ン タ ーが割 り 込み し き い値の設
定値か ら カ ウ ン ト ダ ウ ン を開始 し ます。 こ のカ ウ ン ト が 0 にな る と 、DMA
エン ジ ンに よ っ て割 り 込み出力が生成 さ れます。
23 ~ 16 IRQThreshold
01h
注記 : し き い値の最小値は 0x01 です。 こ の レ ジ ス タ に 0x00 を書 き 込んで も 動作に
影響 し ません。
注記 : ス キ ャ ッ タ ー /ギ ャ ザーが有効な場合のみ適用 さ れます。
31 ~ 24 IRQDelay
00h
割 り 込み遅延 タ イ ム ア ウ ト 。 こ の値は、 割 り 込み タ イ ム ア ウ ト 値の設定に
使用 し ます。割 り 込み タ イ ム ア ウ ト は、指定 し た遅延時間の経過後に DMA
エン ジ ンが割 り 込みを生成す る 機能です。 タ イ マーはパケ ッ ト の最後でカ
ウ ン ト を開始 し 、新 し いパケ ッ ト を受信す る か タ イ ム ア ウ ト イ ベン ト が発
生す る と カ ウ ン ト を リ セ ッ ト し ます。
R/W
注記 : こ の値を 0 に設定す る と 、 遅延 タ イ マー割 り 込みが無効にな り ます。
注記 : ス キ ャ ッ タ ー /ギ ャ ザーが有効な場合のみ適用 さ れます。
S2MM_DMASR (S2MM DMA ス テー タ ス レ ジ ス タ – オ フ セ ッ ト 34h) こ の レ ジ ス タ は、 S2MM (Stream to Memory Map) DMA チ ャ ネルの ス テー タ ス を示 し ます。
X-Ref Target - Figure 2-10
569'
,54'O\6WV
569'
'O\B,UT
,547KUHVKROG6WV
(UUB,UT
,2&B,UT
'0$'HF(UU '0$,QW(UU
6*6OY(UU
6*'HF(UU
6*,QW(UU
569'
+DOWHG
569'
'0$6OY(UU
6*,QFOG
,GOH
'6B
図 2‐10 : S2MM_DMASR レ ジス タ
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
25
第 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
3
4
予約
0
SGIncld
C_
INCLUDE_
SG
DMAIntErr
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
0
RO
こ の ビ ッ ト への書 き 込みは動作に影響せず、 読み出 し の値は常に 0
です。
RO
ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ン追加。 DMASR.SGIncld = 1 の場合、
ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ンが追加 さ れてお り 、 AXI DMA が ス
キ ャ ッ タ ー / ギ ャ ザー モ ー ド に 設定 さ れ て い る こ と を 示 し ま す。
DMASR.SGIncld = 0 の場合、 ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ンが除外
さ れてお り 、 AXI DMA がシ ンプル DMA モー ド に設定 さ れてい る こ
と を示 し ます。
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 内部エ ラ ーを検出。
japan.xilinx.com
26
第 2 章 : 製品仕様
表 2‐16 : S2MM_DMASR レ ジ ス タ の詳細 (続き)
ビッ ト
5
フ ィ ール ド 名
DMASlvErr
デ フ ォル ト
値
0
ア ク セス タ イプ
説明
RO
DMA ス レ ーブ エ ラ ー。 メ モ リ マ ッ プ イ ン タ ー フ ェ イ ス か ら の ス
レーブ読み出 し で ス レーブ エ ラ ーにな っ た場合、 こ のエ ラ ーが発生
し ます。 こ のエ ラ ー条件が発生する と 、 AXI DMA は適切に停止 し ま
す。 DMACR.RS ビ ッ ト が 0 に ク リ ア さ れ、 エン ジ ンが完全にシ ャ ッ
ト ダ ウ ンす る と DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れます。
• 0 = DMA ス レーブ エ ラ ーな し 。
• 1 = DMA ス レーブ エ ラ ーを検出。
6
DMADecErr
0
RO
DMA デコー ド エ ラ ー。 ア ド レ ス要求が無効なア ド レ ス を指し 示す場
合、 こ のエ ラ ーが発生 し ま す。 こ のエ ラ ー条件が発生す る と 、 AXI
DMA は適切に停止 し ます。 DMACR.RS ビ ッ ト が 0 に ク リ ア さ れ、 エ
ン ジ ン が完全にシ ャ ッ ト ダ ウ ンす る と DMASR.Halted ビ ッ ト が 1 に
セ ッ ト さ れます。
• 0 = DMA デ コ ー ド エ ラ ーな し 。
• 1 = DMA デ コ ー ド エ ラ ーを検出。
7
予約
0
RO
こ の ビ ッ ト への書 き 込みは動作に影響せず、 読み出 し の値は常に 0
です。
8
SGIntErr
0
RO
ス キ ャ ッ タ ー /ギ ャ ザー内部エ ラ ー。 Cmplt ビ ッ ト が既にセ ッ ト さ れ
てい る デ ィ ス ク リ プ タ を フ ェ ッ チ し た場合、 こ のエ ラ ーが発生 し ま
す。 こ れは、 こ のデ ィ ス ク リ プ タ がテール デ ィ ス ク リ プ タ であ る こ
と を SG エン ジ ンに知 ら せます。 こ のエ ラ ー条件が発生す る と 、 AXI
DMA は適切に停止 し ます。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
予約
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
0
RO
こ の ビ ッ ト への書 き 込みは動作に影響せず、 読み出 し の値は常に 0
です。
japan.xilinx.com
27
第 2 章 : 製品仕様
表 2‐16 : S2MM_DMASR レ ジ ス タ の詳細 (続き)
ビッ ト
12
13
フ ィ ール ド 名
IOC_Irq
Dly_Irq
デ フ ォル ト
値
0
0
ア ク セス タ イプ
説明
R/WC
完了割 り 込み。 ス キ ャ ッ タ ー/ギ ャ ザー モー ド で こ のビ ッ ト が 1 の場
合、 デ ィ ス ク リ プ タ が完了 し て割 り 込み イ ベン ト が発生 し た こ と を
示 し ます。 こ れは、 EOF (End of Frame) ビ ッ ト がセ ッ ト さ れたデ ィ ス
ク リ プ タ で発生 し ま す。 シ ン プル DMA モー ド で こ の ビ ッ ト が 1 の
場合、 転送が完了 し て割 り 込み イ ベン ト が発生 し た こ と を示 し ます。
S2MM_DMACR レ ジ ス タ の対応する ビ ッ ト が有効 (IOC_IrqEn = 1) で
割 り 込み し き い値の条件を満た し た場合、AXI DMA か ら 割 り 込み出
力が生成 さ れます。
• 0 = IOC 割 り 込みな し 。
• 1 = IOC 割 り 込みを検出。
R/WC
遅延割 り 込み。 こ の ビ ッ ト が 1 の場合、 遅延 タ イ マーの タ イ ム ア ウ
ト に よ っ て割 り 込み イ ベン ト が発生 し た こ と を示 し ます。
S2MM_DMACR の対応す る ビ ッ ト が有効 (Dly_IrqEn = 1) の場合、AXI
DMA か ら 割 り 込み出力が生成 さ れます。
• 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
割 り 込み し き い値ス テー タ ス。 現在の割 り 込み し き い値を示 し ます。
注記 : ス キ ャ ッ タ ー /ギ ャ ザーが有効な場合のみ適用 さ れます。
割 り 込み遅延 タ イ マー ス テー タ ス。 現在の割 り 込み遅延 タ イ マーの
値を示 し ます。
注記 : ス キ ャ ッ タ ー /ギ ャ ザーが有効な場合のみ適用 さ れます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
28
第 2 章 : 製品仕様
S2MM_CURDESC (S2MM DMA カ レ ン ト デ ィ ス ク リ プ タ ポ イ ン タ ー レ ジ ス タ – オ フ セ ッ ト 38h)
こ の レ ジ ス タ には、 S2MM (Stream to Memory Map) DMA ス キ ャ ッ タ ー /ギ ャ ザー デ ィ ス ク リ プ タ 管理用の カ レ ン ト
デ ィ ス ク リ プ タ ポ イ ン タ ーを格納 し ます。
X-Ref Target - Figure 2-11
&XUUHQW'HVFULSWRU3RLQWHU>@
569'
'6B
図 2‐11 : S2MM_CURDESC レ ジ ス タ 表 2‐17 : S2MM_CURDESC レ ジス タ の詳細
ビッ ト
フ ィ ール ド 名
デフ ォル ト ア ク セス 説明
値
タ イプ
5~0
(オ フ セ ッ ト
0x38)
予約
0
31 ~ 6
カレン ト
ディ ス ク リ プタ
ポ イ ン ター
0
RO
R/W
(RO)
こ れ ら ビ ッ ト への書 き 込みは動作に影響せず、 読み出 し の値は常に
0 です。
現在処理中のバ ッ フ ァ ー デ ィ ス ク リ プ タ へのポ イ ン タ ーです。
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、 …)
にア ラ イ ンする 必要があ り ます。 こ れ以外のア ラ イ メ ン ト では未定
義の結果 と な り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
29
第 2 章 : 製品仕様
S2MM_TAILDESC (S2MM DMA テール デ ィ ス ク リ プ タ ポ イ ン タ ー レ ジ ス タ – オ フ セ ッ ト 40h)
こ の レ ジ ス タ には、S2MM (Stream to Memory Map) DMA ス キ ャ ッ タ ー /ギ ャ ザー デ ィ ス ク リ プ タ 管理用のテール デ ィ
ス ク リ プ タ ポ イ ン タ ーを格納 し ます。
X-Ref Target - Figure 2-12
7DLO'HVFULSWRU3RLQWHU>@
569'
'6B
図 2‐12 : S2MM_TAILDESC レ ジス タ 表 2‐18 : S2MM_TAILDESC レ ジ ス タ の詳細
ビッ ト
フ ィ ール ド 名
デフ ォル ト
値
ア ク セス 説明
タ イプ
5~0
予約
0
RO
テール
31 ~ 6 デ ィ ス ク リ プ タ
ポ イ ン ター
0
R/W
こ れ ら ビ ッ ト への書き込みは動作に影響せず、読み出し の値は常に 0 です。
デ ィ ス ク リ プ タ チ ェ ーン内の一時停止ポ イ ン タ ーを格納 し ます。 カ レ ン
ト デ ィ ス ク リ プ タ ポ イ ン タ ー と テール デ ィ ス ク リ プ タ ポ イ ン タ ーが一
致 し たデ ィ ス ク リ プ タ に対す る 処理が完了す る と 、 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、 …) にア ラ イ ンする必
要があ り ます。 こ れ以外のア ラ イ メ ン ト では未定義の結果 と な り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
30
第 2 章 : 製品仕様
S2MM_DA (S2MM DMA デス テ ィ ネーシ ョ ン ア ド レ ス レ ジ ス タ – オ フ セ ッ ト 48h)
こ の レ ジ ス タ は、 S2MM (Stream to Memory Map) DMA 転送でシ ス テ ム メ モ リ に書 き 込むためのデス テ ィ ネーシ ョ ン
ア ド レ ス を指定 し ます。
X-Ref Target - Figure 2-13
600B'$
図 2‐13 : S2MM_DA レ ジ ス タ 表 2‐19 : S2MM_DA レ ジ ス タ の詳細
ビッ ト
フ ィ ール ド 名
デ フ ォル ト
値
ア ク セス 説明
タ イプ
S2MM チ ャ ネルの AXI4-Stream か ら 転送 し たデー タ を AXI DMA が
書 き 込むデス テ ィ ネーシ ョ ン ア ド レ ス を指定 し ます。
デ ス テ ィ ネーシ ョ ン
アドレス
31 ~ 0
0
R/W
注記 : デー タ 再ア ラ イ メ ン ト エ ン ジ ン を 含め て い る 場合、 デ ス テ ィ ネー
シ ョ ン ア ド レ ス は任意のバ イ ト オ フ セ ッ ト と す る こ と がで き ます。 デー タ
再ア ラ イ メ ン ト エン ジ ン を含めない場合、 デス テ ィ ネーシ ョ ン ア ド レ ス は
S2MM メ モ リ マ ッ プのデー タ 幅にア ラ イ ンす る 必要があ り ます。
S2MM_LENGTH (S2MM DMA バ ッ フ ァ ー長 さ レ ジ ス タ – オ フ セ ッ ト 58h)
こ の レ ジ ス タ は、 S2MM (Stream to Memory Map) チ ャ ネルか ら DMA 転送 さ れたデー タ を書 き 込むためのバ ッ フ ァ ー
の長 さ を指定 し ます (単位 : バ イ ト )。
X-Ref Target - Figure 2-14
5HVHUYHG
1RWH9DOLGUHJLVWHUELWVGHWHUPLQHGE\&B6*B/HQJWKB:LGWK
600/HQJWK>@
図 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) です。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
31
第 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
ユーザー アプ リ ケーシ ョ ン フ ィ ール ド 1
28h
APP2
ユーザー アプ リ ケーシ ョ ン フ ィ ール ド 2
2Ch
APP3
ユーザー アプ リ ケーシ ョ ン フ ィ ール ド 3
30h
APP4
ユーザー アプ リ ケーシ ョ ン フ ィ ール ド 4
注記 :
1. ア ド レ ス空間オ フ セ ッ ト はシ ス テ ム メ モ リ の 16 ワ ー ド 境界 (1 ワー ド は 32 ビ ッ ト ) にア ラ イ ン し ます (0x00、 0x40、 0x80、 …)。
2. ユーザー アプ リ ケーシ ョ ン フ ィ ール ド (APP0、 APP1、 APP2、 APP3、 APP4) は制御/ス テー タ ス ス ト リ ーム を含む場合のみ使
用 し ます。 制御/ス テー タ ス ス ト リ ーム を含ま ない場合、 ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ンはユーザー アプ リ ケーシ ョ ン フ ィ ー
ル ド を フ ェ ッ チ/更新 し ません。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
32
第 2 章 : 製品仕様
MM2S_NXTDESC (MM2S ネ ク ス ト デ ィ ス ク リ プ タ ポ イ ン タ ー )
デ ィ ス ク リ プ タ チ ェ ーンの次のデ ィ ス ク リ プ タ へのポ イ ン タ ーです。
X-Ref Target - Figure 2-15
1H[W'HVFULSWRU3RLQWHU>@
5HVHUYHG
'6B
図 2‐15 : MM2S_NXTDESC
表 2‐22 : MM2S_NXTDESC の詳細
ビッ ト
フ ィ ール ド 名
説明
5~0
予約
こ れ ら は予約ビ ッ ト です。 0 に し て く だ さ い。
ネク ス ト
ディ ス ク リ プタ
ポ イ ン ター
次のデ ィ ス ク リ プ タ の最初の ワ ー ド を示す下位ポ イ ン タ ーです。
31 ~ 6
注記 : デ ィ ス ク リ プ タ は 16 ワー ド 境界 (0x00、 0x40、 0x80、 …) にア ラ イ ンす る 必要があ り
ます。 こ れ以外のア ラ イ メ ン ト では未定義の結果 と な り ます。
MM2S_BUFFER_ADDRESS (MM2S バ ッ フ ァ ー ア ド レ ス)
シ ス テ ム メ モ リ か ら ス ト リ ームへ転送する デー タ のバ ッ フ ァ ーへのポ イ ン タ ーです。
X-Ref Target - Figure 2-16
%XIIHU$GGUHVV>@
'6B
図 2‐16 : MM2S_BUFFER_ADDRESS
表 2‐23 : MM2S_BUFFER_ADDRESS の詳細
ビッ ト
フ ィ ール ド 名
説明
MM2S (Memory Map to Stream) チ ャ ネルで転送す る デー タ の位置を指定 し ます。
31 ~ 0
バッ フ ァー
アドレス
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
注記 : デー タ 再ア ラ イ メ ン ト エン ジ ン を含めてい る 場合、バ ッ フ ァ ー ア ド レ スは任意のバ イ
ト オ フ セ ッ ト と する こ と がで き ますが、 バ ッ フ ァ ー内のデー タ は連続 し てい る 必要があ り ま
す。デー タ 再ア ラ イ メ ン ト エン ジ ン を含めない場合、バ ッ フ ァ ー ア ド レ ス は MM2S ス ト リ ー
ムのデー タ 幅にア ラ イ ンす る 必要があ り ます。
japan.xilinx.com
33
第 2 章 : 製品仕様
MM2S_CONTROL (MM2S 制御)
MM2S (Memory Map to Stream) 転送を制御 し ます。
X-Ref Target - Figure 2-17
7;62)
569'
7;(2)
569'
%XIIHU/HQJWK>@
'6B
図 2‐17 : MM2S_CONTROL
表 2‐24 : MM2S_CONTROL の詳細
ビッ ト
22 ~ 0
フ ィ ール ド 名
バ ッ フ ァ ー長 さ
説明
転送バ ッ フ ァ ーのサ イ ズ を指定 し ます (単位 : バ イ ト )。 こ の値は、 MM2S ス ト リ ームに
送信す る バ イ ト 数を示 し ます。 バ ッ フ ァ ー長 さ の利用可能な幅は、 パ ラ メ ー タ ー [Width
of Buffer Length Register] で指定 し ます。 こ の フ ィ ール ド では、 最大 8,388,607 バ イ ト ま
での転送を記述で き ます。 AXI_DMA を マ イ ク ロ DMA モー ド に設定 し た場合は、 次の
式の値を超え ない よ う にする 必要があ り ます。
(MM2S メ モ リ マ ッ プ デー タ 幅/8)*Burst_length
注記 : [Width of Buffer Length Register] に 23 よ り 小 さ い値を設定す る と 、FPGA の リ ソ ース使用量が
抑え ら れます。
25 ~ 23
26
予約
こ れ ら は予約ビ ッ ト です。 0 に し て く だ さ い。
送信フ レーム
終了
(TXEOF)
フ レーム終了 (EOF)。 処理すべき 最後のバ ッ フ ァ ーであ る こ と を示すフ ラ グです。 こ の
フ ラ グは CPU に よ っ てセ ッ ト さ れ、 こ のデ ィ ス ク リ プ タ がパケ ッ ト の最後を記述 し て
い る こ と を AXI DMA に知 ら せます。 こ のデ ィ ス ク リ プ タ で記述 さ れたバ ッ フ ァ ーが最
後に送信 さ れます。
• 0 = EOF でない
• 1 = EOF
注記 : 正 し い動作 と す る には、 1 つのパケ ッ ト につ き フ レーム開始 (SOF) デ ィ ス ク リ プ タ (TXSOF
= 1) と フ レーム終了 (EOF) デ ィ ス ク リ プ タ (TXEOF = 1) が 1 つずつ必要です。TXSOF = 1 と TXEOF
= 1 を同時に指定 し て、 1 つのデ ィ ス ク リ プ タ でパケ ッ ト 全体を記述 し て も か ま い ません。
27
TXSOF
フ レーム開始 (SOF)。 処理すべき 最初のバ ッ フ ァ ーであ る こ と を示すフ ラ グです。 こ の
フ ラ グは CPU に よ っ てセ ッ ト さ れ、 こ のデ ィ ス ク リ プ タ がパケ ッ ト の最初を記述 し て
い る こ と を AXI DMA に知 ら せます。 こ のデ ィ ス ク リ プ タ で記述 さ れたバ ッ フ ァ ーが最
初に送信 さ れます。
• 0 = SOF でない
• 1 = SOF
注記 : ス テー タ ス/制御ス ト リ ーム を有効に し た場合、SOF デ ィ ス ク リ プ タ (TXSOF = 1) の APP0 ~
APP4 に記述 し たユーザー アプ リ ケーシ ョ ン デー タ が制御ス ト リ ーム出力に送信 さ れます。
31 ~ 28
予約
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
こ れ ら は予約ビ ッ ト です。 0 を書 き 込んで く だ さ い。
japan.xilinx.com
34
第 2 章 : 製品仕様
MM2S_STATUS (MM2S ス テー タ ス)
MM2S (Memory Map to Stream) 転送の ス テー タ ス を示 し ます。
X-Ref Target - Figure 2-18
&PSOW '0$6OY(UU
'0$'HF(UU
'0$,QW(UU
569'
7UDQVIHUUHG%\WHV>@
'6B
図 2‐18 : MM2S_STATUS
表 2‐25 : MM2S_STATUS の詳細
ビッ ト
22 ~ 0
フ ィ ール ド 名
説明
転送済み
バイ ト 数
こ のデ ィ ス ク リ プ タ で実際に転送 さ れたデー タ のサ イ ズ を示 し ます (単位 : バ イ ト )。 こ の値
は、 MM2S ス ト リ ームに送信 さ れたバ イ ト 数を示 し ます。 通常、 こ の値は MM2S_CONTROL
のバ ッ フ ァ ー長 さ フ ィ ール ド と 一致 し ます。
転送済みバ イ ト 数の利用可能な幅は、パ ラ メ ー タ ー [Width of Buffer Length Register] で指定 し
ます。こ の フ ィ ール ド では、最大 8,388,607 バ イ ト ま での転送を記述で き ます。マ イ ク ロ DMA
モー ド に設定 し た場合、 AXI_DMA は こ れ ら のフ ィ ール ド を更新 し ません。
注記 : [Width of Buffer Length Register] に 23 よ り 小 さ い値を設定す る と 、 FPGA の リ ソ ース使
用量が抑え ら れます。 AXI_DMA を マ イ ク ロ DMA モー ド に設定 し た場合、 こ の フ ィ ール ド
は更新 さ れません。
27 ~ 23
28
29
予約
こ れ ら は予約ビ ッ ト です。 0 に し て く だ さ い。
DMAIntErr
DMA 内部エ ラ ー。 プ ラ イ マ リ AXI DataMover に よ っ て内部エ ラ ーが検出 さ れた こ と を示 し
ます。 AXI DataMover に BTT (転送バ イ ト 数) = 0 を書 き 込む と 、 こ のエ ラ ーが発生 し ます。
フ ェ ッ チ し たデ ィ ス ク リ プ タ でバ ッ フ ァ ー長 さ が 0 に設定 さ れてい る 場合のみ、 こ のエ ラ ー
が発生 し ます。
こ のエ ラ ー条件が発生する と 、 AXI DMA は適切に停止 し ます。 DMACR.RS ビ ッ ト が 0 に ク
リ ア さ れ、 エン ジ ンが完全にシ ャ ッ ト ダ ウ ンす る と DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れ
ます。
• 0 = DMA 内部エ ラ ーな し 。
• 1 = DMA 内部エ ラ ーを検出。 DMA エン ジ ンは停止中。
DMASlvErr
DMA ス レーブ エ ラ ー。プ ラ イ マ リ AXI DataMover に よ っ て ス レーブ エ ラ ーが検出 さ れた こ
と を示 し ます。 メ モ リ マ ッ プ イ ン タ ーフ ェ イ ス か ら の ス レーブ読み出 し で ス レーブ エ ラ ー
にな っ た場合、 こ のエ ラ ーが発生 し ます。 こ のエ ラ ー条件が発生す る と 、 AXI DMA は適切
に停止 し ます。 DMACR.RS ビ ッ ト が 0 に ク リ ア さ れ、 エ ン ジ ン が完全にシ ャ ッ ト ダ ウ ンす
る と DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れます。
• 0 = DMA ス レーブ エ ラ ーな し 。
• 1 = DMA ス レーブ エ ラ ーを検出。 DMA エン ジ ンは停止中。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
35
第 2 章 : 製品仕様
表 2‐25 : MM2S_STATUS の詳細 (続き)
ビッ ト
30
31
フ ィ ール ド 名
説明
DMADecErr
DMA デ コ ー ド エ ラ ー。プ ラ イ マ リ AXI DataMover に よ っ てデ コ ー ド エ ラ ーが検出 さ れた こ
と を示 し ます。 デ ィ ス ク リ プ タ バ ッ フ ァ ー ア ド レ ス が無効な ア ド レ ス を指 し 示す場合、 こ
の エ ラ ーが発生 し ま す。 こ の エ ラ ー条件が発生す る と 、 AXI DMA は適切に停止 し ま す。
DMACR.RS ビ ッ ト が 0 に ク リ ア さ れ、 エ ン ジ ン が 完 全 に シ ャ ッ ト ダ ウ ン す る と
DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れます。
• 0 = DMA デ コ ー ド エ ラ ーな し 。
• 1 = DMA デ コ ー ド エ ラ ーを検出。 DMA エン ジ ンは停止中。
Cmplt
完了。 関連す る デ ィ ス ク リ プ タ で記述 さ れた転送が DMA エン ジ ンに よ っ て完了 し た こ と を
ソ フ ト ウ ェ アに知 ら せます。 転送が完了する と 、 DMA エン ジ ンが こ のビ ッ ト を 1 にセ ッ ト
し ます。 ソ フ ト ウ ェ アは、 Cmplt ビ ッ ト が 1 にセ ッ ト さ れた任意のデ ィ ス ク リ プ タ を処理で
き ます。
• 0 = デ ィ ス ク リ プ タ が完了 し ていない。
• 1 = デ ィ ス ク リ プ タ が完了 し た。
注記 : フ ェ ッ チ し たデ ィ ス ク リ プ タ の Cmplt ビ ッ ト が既に 1 にセ ッ ト さ れてい る 場合、 そのデ ィ ス ク リ
プ タ は古いデ ィ ス ク リ プ タ と 見な さ れます。 こ の場合、 SGIntErr が 1 にな り 、 AXI DMA エ ン ジ ンが停
止 し ます。
MM2S_APP0 ~ MM2S_APP4 (MM2S ユーザー ア プ リ ケーシ ョ ン フ ィ ール ド 0 ~ 4)
MM2S 制御ス ト リ ーム用のユーザー アプ リ ケーシ ョ ン フ ィ ール ド です。
X-Ref Target - Figure 2-19
$33Q
'6B
図 2‐19 : MM2S_APP0 ~ MM2S_APPP4
表 2‐26 : ユーザー ア プ リ ケーシ ョ ンの詳細
ビッ ト
31 ~ 0
フ ィ ール ド 名
APP0 ~ APP4
説明
ユーザー アプ リ ケーシ ョ ン フ ィ ール ド 0 ~ 4。 ユーザー固有のアプ リ ケーシ ョ ン デー
タ を指定 し ま す。 ス テー タ ス/制御 ス ト リ ーム を有効に し た場合、 フ レ ーム開始 (SOF)
デ ィ ス ク リ プ タ のアプ リ ケーシ ョ ン (APP) フ ィ ール ド が AXI 制御ス ト リ ームへ送信 さ
れます。それ以外の MM2S デ ィ ス ク リ プ タ (SOF = 0) の APP フ ィ ール ド はフ ェ ッ チ さ れ
る だけで無視 さ れます。
注記 : ス テー タ ス/制御ス ト リ ームが有効でない場合、 こ れ ら の フ ィ ール ド はフ ェ ッ チ さ
れません。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
36
第 2 章 : 製品仕様
S2MM_NXTDESC (S2MM ネ ク ス ト デ ィ ス ク リ プ タ ポ イ ン タ ー )
デ ィ ス ク リ プ タ チ ェ ーンの次のデ ィ ス ク リ プ タ へのポ イ ン タ ーです。
X-Ref Target - Figure 2-20
1H[W'HVFULSWRU3RLQWHU>@
5HVHUYHG
'6B
図 2‐20 : S2MM_NXTDESC
表 2‐27 : S2MM_NXTDESC の詳細
ビッ ト
フ ィ ール ド 名
説明
5~0
予約
こ れ ら は予約ビ ッ ト です。 0 に し て く だ さ い。
ネクス ト
ディ ス ク リ プタ
ポ イ ン ター
次のデ ィ ス ク リ プ タ の最初の ワー ド を示す下位ポ イ ン タ ーです。
31 ~ 6
注記 : デ ィ ス ク リ プ タ は 16 ワ ー ド 境界 (0x00、 0x40、 0x80、 …) にア ラ イ ンす る 必要があ り ます。 こ れ
以外のア ラ イ メ ン ト では未定義の結果 と な り ます。
S2MM_BUFFER_ADDRESS (S2MM バ ッ フ ァ ー ア ド レ ス)
ス ト リ ームか ら シ ス テ ム メ モ リ へのデー タ 転送に使用する バ ッ フ ァ ーへのポ イ ン タ ーです。
X-Ref Target - Figure 2-21
%XIIHU$GGUHVV>@
'6B
図 2‐21 : S2MM_BUFFER_ADDRESS
表 2‐28 : S2MM_BUFFER_ADDRESS の詳細
ビッ ト
31 ~ 0
フ ィ ール ド 名
バッ フ ァー
アド レス
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
説明
ス ト リ ームか ら メ モ リ マ ッ プへ転送 さ れたデー タ の格納に使用す る バ ッ フ ァ ーのア ド レ ス を
指定 し ます。
注記 : デー タ 再ア ラ イ メ ン ト エン ジ ン を含めてい る 場合、 バ ッ フ ァ ー ア ド レ ス は任意のバ イ ト オ フ セ ッ
ト と す る こ と がで き ます。デー タ 再ア ラ イ メ ン ト エン ジ ン を含めない場合、バ ッ フ ァ ー ア ド レ ス は S2MM
メ モ リ マ ッ プのデー タ 幅にア ラ イ ンす る 必要があ り ます。
japan.xilinx.com
37
第 2 章 : 製品仕様
S2MM_CONTROL (S2MM 制御)
S2MM (Stream to Memory Map) 転送を制御 し ます。
X-Ref Target - Figure 2-22
5;(2)
569'
%XIIHU/HQJWK>@
5;62)
'6B
図 2‐22 : S2MM_CONTROL
表 2‐29 : S2MM_CONTROL の詳細
ビッ ト
フ ィ ール ド 名
説明
S2MM ス ト リ ーム でデー タ 受信に利用可能なバ ッ フ ァ ー サ イ ズ を示 し ます (単位 : バ イ ト )。
バ ッ フ ァ ー長 さ の利用可能な幅は、 パ ラ メ ー タ ー [Width of Buffer Length Register] で指定 し ま
す。 こ の フ ィ ール ド では、 最大 8,388,607 バ イ ト ま での転送を記述で き ます。
22 ~ 0
バ ッ フ ァ ー長 さ
注記 : S2MM デ ィ ス ク リ プ タ チ ェ ーン全体のバ ッ フ ァ ー サ イ ズ (デ ィ ス ク リ プ タ チ ェーンに含ま れ る す
べてのデ ィ ス ク リ プ タ のバ ッ フ ァ ー長 さ の合計) は、少な く と も 最大サ イ ズの受信パケ ッ ト を格納で き る
だけの大 き さ が必要です。 こ こ で指定 し たバ ッ フ ァ ー サ イ ズ を超え る サ イ ズのパケ ッ ト を受信す る と 、
未定義の結果 と な り ます。
注記 : [Width of Buffer Length Register] に 23 よ り 小 さ い値を設定す る と 、 FPGA の リ ソ ース使用量が抑え
ら れます。
注記 : AXI_DMA を マ イ ク ロ DMA モー ド に設定 し た場合は、 次の式の値を超え ない よ う にす る 必要があ
り ます。
(S2MM メ モ リ マ ッ プ デー タ 幅/8)*Burst_length
31 ~ 28
予約
こ れ ら は予約ビ ッ ト です。 0 に し て く だ さ い。
RXSOF
フ レーム開始 (SOF)。 処理すべ き 最初のバ ッ フ ァ ーであ る こ と を示すフ ラ グです。 こ の フ ラ
グは ソ フ ト ウ ェ ア/ユーザーに よ っ てセ ッ さ れ、 こ のデ ィ ス ク リ プ タ がパケ ッ ト の最初を記述
し てい る こ と を AXI DMA に知 ら せます。 こ のデ ィ ス ク リ プ タ で記述 さ れたバ ッ フ ァ ーが最
初に受信 さ れます。
• 0 = SOF でない
• 1 = SOF
こ れは、 AXI_DMA を マ イ ク ロ DMA モー ド に設定 し た場合のみ適用 さ れます。
26
受信フ レーム
終了
フ レーム終了 (EOF)。 処理すべ き 最後のバ ッ フ ァ ーであ る こ と を示すフ ラ グです。 こ の フ ラ
グは ソ フ ト ウ ェ ア/ユーザーに よ っ てセ ッ ト さ れ、 こ のデ ィ ス ク リ プ タ がパケ ッ ト の最後を記
述 し てい る こ と を AXI DMA に知 ら せます。 こ のデ ィ ス ク リ プ タ で記述 さ れたバ ッ フ ァ ーが
最後に受信 さ れます。
• 0 = EOF でない
• 1 = EOF
こ れは、 AXI_DMA を マ イ ク ロ DMA モー ド に設定 し た場合のみ適用 さ れます。
25 ~ 23
予約
こ れ ら は予約ビ ッ ト です。 0 に し て く だ さ い。
27
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
38
第 2 章 : 製品仕様
S2MM_STATUS (S2MM ス テー タ ス)
S2MM (Stream to Memory Map) 転送の ス テー タ ス を示 し ます。
X-Ref Target - Figure 2-23
&PSOW '0$6OY(UU 5;62)
'0$'HF(UU
5;(2)
'0$,QW(UU
569'
7UDQVIHUUHG%\WHV>@
'6B
図 2‐23 : S2MM_STATUS
表 2‐30 : S2MM_STATUS の詳細
ビッ ト
22 ~ 0
フ ィ ール ド 名
説明
転送済み
バイ ト 数
こ のデ ィ ス ク リ プ タ で記述 さ れたバ ッ フ ァ ーに格納 さ れた受信デー タ サ イ ズ を示 し ます。こ
の値は、 バ ッ フ ァ ー長 さ と 一致す る と は限 り ません。 た と えば、 こ のデ ィ ス ク リ プ タ が示す
バ ッ フ ァ ー長 さ が 1,024 バ イ ト であ っ て も 、受信 し てバ ッ フ ァ ーに格納 し たのが 50 バ イ ト の
みの場合、 こ の フ ィ ール ド には 0x32 が格納 さ れます。 RXSOF デ ィ ス ク リ プ タ か ら RXEOF
デ ィ ス ク リ プ タ ま ですべてのデ ィ ス ク リ プ タ の転送済みバ イ ト 数 フ ィ ール ド の値を合計す
る と 、 受信 し たパケ ッ ト 全体の長 さ を求め る こ と がで き ます。
注記 : 転送済みバ イ ト 数の利用可能な幅は、パ ラ メ ー タ ー [Width of Buffer Length Register] で指定 し ます。
こ の フ ィ ール ド では、 最大 8,388,607 バ イ ト ま での転送を記述で き ます。
注記 : [Width of Buffer Length Register] に 23 よ り 小 さ い値を設定す る と 、 FPGA の リ ソ ース使用量が抑え
ら れます。 AXI_DMA を マ イ ク ロ DMA モー ド に設定 し た場合、 こ の フ ィ ール ド は更新 さ れません。
25 ~ 23
26
予約
RXEOF
こ れ ら は予約ビ ッ ト です。 0 に し て く だ さ い。
フ レーム終了 (EOF)。バ ッ フ ァ ーにパケ ッ ト の最後の部分が格納 さ れてい る こ と を示すフ ラ グ
です。 こ の ビ ッ ト は AXI DMA に よ っ てセ ッ ト さ れ、 こ のデ ィ ス ク リ プ タ に関連付け ら れた
バ ッ フ ァ ーにパケ ッ ト の最後が格納 さ れてい る こ と を ソ フ ト ウ ェ ア/ユーザーに知 ら せます。
• 0 = EOF でない
• 1 = EOF
注記 : 制御/ス テー タ ス ス ト リ ーム を有効に し た場合、ス テー タ ス ス ト リ ーム入力経由で送信 さ れたユー
ザー アプ リ ケーシ ョ ン デー タ は RXEOF デ ィ ス ク リ プ タ の APP0 ~ APP4 に格納 さ れます。
27
28
29
RXSOF
フ レーム開始 (SOF)。バ ッ フ ァ ーにパケ ッ ト の最初の部分が格納 さ れてい る こ と を示すフ ラ グ
です。 こ の ビ ッ ト は AXI DMA に よ っ てセ ッ ト さ れ、 こ のデ ィ ス ク リ プ タ に関連付け ら れた
バ ッ フ ァ ーにパケ ッ ト の最初が格納 さ れてい る こ と を ソ フ ト ウ ェ ア/ユーザーに知 ら せます。
• 0 = SOF でない
• 1 = SOF
DMAIntErr
DMA 内部エ ラ ー。 プ ラ イ マ リ AXI DataMover に よ っ て内部エ ラ ーが検出 さ れた こ と を示 し
ます。 AXI DataMover に BTT (転送バ イ ト 数) = 0 を書 き 込む と 、 こ のエ ラ ーが発生 し ま す。
フ ェ ッ チ し たデ ィ ス ク リ プ タ でバ ッ フ ァ ー長 さ が 0 に設定 さ れてい る 場合のみ、 こ のエ ラ ー
が発生 し ます。 ア ン ダー ラ ン ま たはオーバー ラ ン条件の場合 も こ のエ ラ ーが発生 し ます。
こ のエ ラ ー条件が発生する と 、 AXI DMA は適切に停止 し ます。 DMACR.RS ビ ッ ト が 0 に ク
リ ア さ れ、 エン ジ ンが完全にシ ャ ッ ト ダ ウ ンする と DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れ
ます。
• 0 = DMA 内部エ ラ ーな し 。
• 1 = DMA 内部エ ラ ーを検出。 DMA エン ジ ンは停止中。
DMASlvErr
DMA ス レーブ エ ラ ー。 プ ラ イ マ リ AXI DataMover に よ っ て ス レーブ エ ラ ーが検出 さ れた こ
と を示 し ます。 メ モ リ マ ッ プ イ ン タ ーフ ェ イ ス か ら の ス レーブ読み出 し で ス レーブ エ ラ ー
にな っ た場合、 こ のエ ラ ーが発生 し ます。 こ のエ ラ ー条件が発生す る と 、 AXI DMA は適切
に停止 し ます。DMACR.RS ビ ッ ト が 0 に ク リ ア さ れ、 エン ジ ンが完全にシ ャ ッ ト ダ ウ ンす る
と DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れます。
• 0 = DMA ス レーブ エ ラ ーな し 。
• 1 = DMA ス レーブ エ ラ ーを検出。 DMA エン ジ ンは停止中。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
39
第 2 章 : 製品仕様
表 2‐30 : S2MM_STATUS の詳細 (続き)
ビッ ト
30
31
フ ィ ール ド 名
説明
DMADecErr
DMA デ コ ー ド エ ラ ー。 プ ラ イ マ リ AXI DataMover に よ っ てデ コ ー ド エ ラ ーが検出 さ れた こ
と を示 し ます。 デ ィ ス ク リ プ タ バ ッ フ ァ ー ア ド レ ス が無効な ア ド レ ス を指 し 示す場合、 こ
の エ ラ ーが発生 し ま す。 こ の エ ラ ー条件が発生す る と 、 AXI DMA は適切に停止 し ま す。
DMACR.RS ビ ッ ト が 0 に ク リ ア さ れ、 エ ン ジ ン が 完 全 に シ ャ ッ ト ダ ウ ン す る と
DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れます。
• 0 = DMA デ コ ー ド エ ラ ーな し 。
• 1 = DMA デ コ ー ド エ ラ ーを検出。 DMA エン ジ ンは停止中。
Cmplt
完了。 関連す る デ ィ ス ク リ プ タ で記述 さ れた転送が DMA エン ジ ンに よ っ て完了 し た こ と を
ソ フ ト ウ ェ アに知 ら せます。 転送が完了す る と 、 DMA エン ジ ン が こ の ビ ッ ト を 1 にセ ッ ト
し ます。 ソ フ ト ウ ェ アは、 Cmplt ビ ッ ト が 1 にセ ッ ト さ れた任意のデ ィ ス ク リ プ タ を処理で
き ます。
• 0 = デ ィ ス ク リ プ タ が完了 し ていない。
• 1 = デ ィ ス ク リ プ タ が完了 し た。
注記 : フ ェ ッ チ し たデ ィ ス ク リ プ タ の Cmplt ビ ッ ト が既に 1 にセ ッ ト さ れてい る 場合、 そのデ ィ ス ク リ
プ タ は古いデ ィ ス ク リ プ タ と 見な さ れ ます。 こ の場合、 SGIntErr が 1 にな り 、 AXI DMA エ ン ジ ンが停
止 し ます。
S2MM_APP0 ~ S2MM_APP3 (S2MM ユーザー ア プ リ ケーシ ョ ン フ ィ ール ド 0 ~ 3)
S2MM ス テータ ス ス ト リ ームで受信し た ス テータ ス情報を格納する ためのユーザーアプ リ ケーシ ョ ン フ ィ ール ド です。
X-Ref Target - Figure 2-24
$33Q
'6B
図 2‐24 : S2MM_APP0 ~ S2MM_APP3
表 2‐31 : ユーザー ア プ リ ケーシ ョ ン 0 ~ 3 の詳細
ビッ ト
31 ~ 0
フ ィ ール ド 名
APP0 ~ APP3
説明
ス テー タ ス/制御ス ト リ ーム を有効に し てい る 場合、 AXI ス テー タ ス ス ト リ ーム で受信 し た ス
テー タ ス デー タ は EOF デ ィ ス ク リ プ タ の APP フ ィ ール ド に格納 さ れます。それ以外の S2MM
デ ィ ス ク リ プ タ (EOF = 0) の APP フ ィ ール ド には、 ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ンに よ っ て
0 が書 き 込まれます。
注記 : ス テー タ ス/制御フ ィ ール ド を無効に し てい る 場合、 ス キ ャ ッ タ ー /ギ ャ ザー エ ン ジ ンは こ れ ら の
フ ィ ール ド を更新 し ません。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
40
第 2 章 : 製品仕様
S2MM_APP4 (S2MM ユーザー ア プ リ ケーシ ョ ン フ ィ ール ド 4)
S2MM ス テー タ ス ス ト リ ーム で受信 し た ス テー タ ス情報を格納す る ためのユーザーアプ リ ケーシ ョ ン フ ィ ール ド 4
です。
X-Ref Target - Figure 2-25
5;/HQJWK
$33
'6B
図 2‐25 : S2MM_APP4
表 2‐32 : ユーザー ア プ リ ケーシ ョ ン 4 の詳細
ビッ ト
31 ~ 0
フ ィ ール ド 名
説明
APP4/RxLength
ユーザー ア プ リ ケ ー シ ョ ン フ ィ ール ド 4 お よ び受信バ イ ト 長 さ 。 [Use RxLength In Status
Stream] をオ フ に し てい る 場合、 こ の フ ィ ール ド の機能は APP0 ~ APP3 と 同 じ で、AXI ス テー
タ ス ス ト リ ームで受信 し た ス テー タ ス デー タ を EOF デ ィ ス ク リ プ タ の APP4 フ ィ ール ド に格
納 し ます。
[Use RxLength in Status Stream] を オ ンに し た場合、 こ の フ ィ ール ド は 2 つの機能を持ち ます。
下位ビ ッ ト (サ イ ズは [Buffer Length Register Width] で指定) には、S2MM プ ラ イ マ リ デー タ ス
ト リ ーム で受信 し たパケ ッ ト 全体の受信バ イ ト が格納 さ れ ま す。 残 り の上位ビ ッ ト にはユー
ザー アプ リ ケーシ ョ ン デー タ が格納 さ れます。
デ ィ ス ク リ プ タ の管理
DMA 動作を開始す る 前に、 ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンでデ ィ ス ク リ プ タ チ ェーン を セ ッ ト ア ッ プ し てお く 必要
があ り ます。 動作を開始す る と 、 AXI DMA はデ ィ ス ク リ プ タ を フ ェ ッ チ し て処理 し 、 更新 し ます。 ソ フ ト ウ ェ ア ア
プ リ ケ ーシ ョ ン は、 デ ィ ス ク リ プ タ を 解析す る こ と に よ り 、 関連す る DMA 転送の ス テー タ ス の読み出 し 、 受信
(S2MM) チ ャ ネルのユーザー情報の フ ェ ッ チ、 転送が完了 し たか ど う かの判定を実行 し ま す。 こ の情報に基づいて、
ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンはデ ィ ス ク リ プ タ と デー タ バ ッ フ ァ ーを管理 し ます。
ソ フ ト ウ ェ ア アプ リ ケーシ ョ ンは完了 し たデ ィ ス ク リ プ タ に関連する 各バ ッ フ ァ ーを処理 し 、こ れ ら のデ ィ ス ク リ プ
タ を AXI DMA で使用で き る よ う に再割 り 当て し ます。ソ フ ト ウ ェ ア と ハー ド ウ ェ アのデ ッ ド ロ ッ ク を防 ぐ ため、テー
ル ポ イ ン タ ー モー ド が作成 さ れます。 テール ポ イ ン タ ーは、 デ ィ ス ク リ プ タ チ ェーンの最後を指 し 示す よ う に ソ フ
ト ウ ェ アに よ っ て初期化 さ れます。 こ れが、 ハー ド ウ ェ アの一時停止ポ イ ン ト にな り ます。 ハー ド ウ ェ アは、 動作を
開始す る と チ ェーン内の各デ ィ ス ク リ プ タ を 1 つずつフ ェ ッ チお よ び処理 し ます。そ し てテール ポ イ ン タ ーに達す る
と 、 AXI DMA はデ ィ ス ク リ プ タ の処理を一時停止 し ます。 ソ フ ト ウ ェ アは、 Cmplt ビ ッ ト が 1 にセ ッ ト さ れた任意
のデ ィ ス ク リ プ タ を処理 し て再割 り 当てで き ます。
TAILDESC レ ジ ス タ に書 き 込む と 、AXI DMA ハー ド ウ ェ アはデ ィ ス ク リ プ タ の処理を再開 し ます (テール ポ イ ン タ ー
で一時停止 し てい る 場合)。 AXI DMA ハー ド ウ ェ アが TAILDESC ポ イ ン タ ーで一時停止 し ていない場合、 TAILDESC
レ ジ ス タ に書 き 込んで も ハー ド ウ ェ アに影響はあ り ません。 こ の場合、 AXI DMA は新 し いテール デ ィ ス ク リ プ タ に
到達す る ま でデ ィ ス ク リ プ タ の処理を継続 し ま す。 デ ィ ス ク リ プ タ の管理は ソ フ ト ウ ェ アで実行す る 必要があ り ま
す。 AXI DMA はデ ィ ス ク リ プ タ を管理 し ません。
MM2S デ ィ ス ク リ プ タ の設定 と AXI 制御ス ト リ ーム
図 2-26 に、 デ ィ ス ク リ プ タ の SOF/EOF 設定 と AXI 制御ス ト リ ームの関係を示 し ます。 SOF = 1 のデ ィ ス ク リ プ タ は
パケ ッ ト の最初を表 し 、 MM2S 方向の DRE を リ セ ッ ト し ま す。 ス テー タ ス/制御ス ト リ ーム を有効に し てい る 場合、
こ のデ ィ ス ク リ プ タ のユーザー アプ リ ケーシ ョ ン フ ィ ール ド は AXI 制御ス ト リ ームに も 現れ ます。 SOF = 1 のデ ィ
ス ク リ プ タ の後、AXI DMA エン ジ ンは EOF = 1 のデ ィ ス ク リ プ タ ま でユーザー アプ リ ケーシ ョ ン フ ィ ール ド を無視
し ます。 ス テー タ ス/制御ス ト リ ームが無効な場合、 SG フ ェ ッ チ エ ン ジ ンはユーザー アプ リ ケーシ ョ ン フ ィ ール ド
を フ ェ ッ チ し ません。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
41
第 2 章 : 製品仕様
X-Ref Target - Figure 2-26
)URP'HVF
)URP'HVF
)URP'HVF
E\WHV
E\WHV
E\WHV
006$;,0HPRU\0DS
)URP'HVF
006B1;7'(6&
5HVHUYHG
006B%XIIHU$GGU
5HVHUYHG
5HVHUYHG
5HVHUYHG
62) (2) 0066WDWXV
006B$SS
006B$SS
006B$SS
006B$SS
006B$SS
006B1;7'(6&
5HVHUYHG
006B%XIIHU$GGU
5HVHUYHG
5HVHUYHG
5HVHUYHG
62) (2) 0066WDWXV
006B$SS
006B$SS
006B$SS
006B$SS
006B$SS
006B1;7'(6&
5HVHUYHG
006B%XIIHU$GGU
5HVHUYHG
5HVHUYHG
5HVHUYHG
62) (2) 0066WDWXV
006B$SS
006B$SS
006B$SS
006B$SS
006B$SS
$33
006$;,6WUHDP
006$;,&RQWURO6WUHDP
$SSILHOGVIHGRXW$;,
&RQWURO6WUHDP
,JQRUHG
,JQRUHG
'6B
図 2‐26 : MM2S ス ト リ ームおよび制御ス ト リ ーム と デ ィ ス ク リ プ タ の関係の詳細
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
42
第 2 章 : 製品仕様
AXI 制御ス ト リ ーム
AXI 制御ス ト リ ームは、ス キ ャ ッ タ ー/ギ ャ ザー デ ィ ス ク リ プ タ か ら タ ーゲ ッ ト デバ イ スへユーザー アプ リ ケーシ ョ
ン デー タ を送信す る ために使用 し ま す。 こ れ ら の制御デー タ は MM2S プ ラ イ マ リ デー タ ス ト リ ーム に関す る も の
で、 プ ラ イ マ リ デー タ パケ ッ ト の前、 後、 ま たは同時に AXI DMA か ら 送信で き ます。 タ ーゲ ッ ト デバ イ ス に よ る
ス ロ ッ ト リ ン グ、 お よ び AXI DMA に よ る ス ロ ッ ト リ ン グが可能です。 図 2-27 に、 デ ィ ス ク リ プ タ のユーザー アプ
リ ケーシ ョ ン フ ィ ール ド が AXI 制御ス ト リ ームに ど の よ う に現れ る か、 例を示 し ます。 AXI DMA は、 タ ーゲ ッ ト デ
バ イ ス にデー タ タ イ プを示すフ ラ グ を挿入 し ます。 こ れが最初の ワ ー ド と し て送信 さ れます。 イ ーサネ ッ ト の場合、
最初の ワー ド の上位 4 ビ ッ ト を 0xA と し た も のが制御 タ グ と な り ます。
X-Ref Target - Figure 2-27
6FDWWHU*DWKHU'HVFULSWRU
006B1;7'(6&
5HVHUYHG
006%XIIHU$GGUHVV
5HVHUYHG
5HVHUYHG
5HVHUYHG
006&RQWURO62) 0066WDWXV
006B$SS
006B$SS
006B$SS
006B$SS
006B$SS
8VHU DSSOLFDWLRQILHOGVGULYHQRXWRQ
PBD[LV BPPVBFQWUO BWGDWD
$;,B'0$DSSHQGHGIODJ
$B
PBD[LVBPPVBFQWUOBDFON
PBD[LVBPPVBFQWUOBWGDWD>@
)/$* $33
$33
PBD[LVBPPVBFQWUOBWNHHS>@
$33
$33
$33
)K
PBD[LVBPPVBFQWUOBWYDOLG
PBD[LVBPPVBFQWUOBWUHDG\
PBD[LVBPPVBFQWUOBWODVW
'6B
図 2‐27 : MM2S 制御ス ト リ ームの場合のユーザー ア プ リ ケーシ ョ ン フ ィ ール ド と タ イ ミ ングの例
S2MM デ ィ ス ク リ プ タ の設定 と AXI ス テー タ ス ス ト リ ーム
図 2-28 に、 デ ィ ス ク リ プ タ の RXSOF/RXEOF 設定 と AXI ス テー タ ス ス ト リ ーム の関係を示 し ま す。 RXSOF = 1 の
デ ィ ス ク リ プ タ は、 受信パケ ッ ト の最初の部分を含むバ ッ フ ァ ーを記述 し ます。 RXEOF = 1 のデ ィ ス ク リ プ タ は、 受
信パケ ッ ト の最後の部分を含むバ ッ フ ァ ーを記述 し ます。
正 し い動作 と す る には、デ ィ ス ク リ プ タ チ ェーンに含まれ る すべてのデ ィ ス ク リ プ タ のバ ッ フ ァ ー長 さ の合計が受信
パケ ッ ト の最大サ イ ズ以上 と な る 、 十分なバ ッ フ ァ ー サ イ ズ を ソ フ ト ウ ェ アで指定する 必要があ り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
43
第 2 章 : 製品仕様
X-Ref Target - Figure 2-28
7R%XIIHU 7R%XIIHU
7R%XIIHU
600$;,0HPRU\0DS
E\WHV
)URP'HVF
E\WHV
$33
E\WHV
600$;,6WUHDP
600$;,6WDWXV6WUHDP
600B1;7'(6&
5HVHUYHG
600B%XIIHUB$GGUHVV
5HVHUYHG
5HVHUYHG
5HVHUYHG
%XIIHU/HQJWK 5;62) 5;(2) ;IUGE\WHV ]HURV
]HURV
]HURV
]HURV
]HURV
:ULWWHQDV]HURV
6001;7'(6&
5HVHUYHG
600B%XIIHUB$GGUHVV
5HVHUYHG
5HVHUYHG
5HVHUYHG
%XIIHU/HQJWK 5;62) 5;(2) ;IUGE\WHV ]HURV
]HURV
]HURV
]HURV
]HURV
:ULWWHQDV]HURV
600B1;7'(6&
5HVHUYHG
600B%XIIHU$GGUHVV
5HVHUYHG
5HVHUYHG
5HVHUYHG
%XIIHU/HQJWK 5;62) 5;(2) ;IUGE\WHV 600B$SS
600B$SS
600B$SS
600B$SS
600B$SS
$SSILHOGVXSGDWHGE\$;,
6WDWXV6WUHDP
'6B
図 2‐28 : S2MM ス ト リ ームおよびス テー タ ス ス ト リ ーム と デ ィ ス ク リ プ タ の関係の詳細
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
44
第 2 章 : 製品仕様
ス テー タ ス/制御ス ト リ ーム を有効に し た場合、 受信 し た ス テー タ ス は RXEOF = 1 のデ ィ ス ク リ プ タ のユーザー アプ
リ ケーシ ョ ン フ ィ ール ド (APP0 ~ APP4) に格納 さ れます。
特定のバ ッ フ ァ ーに対 し て実際に受信お よ び格納 し たデー タ のバ イ ト 数は、 関連す る デ ィ ス ク リ プ タ の転送済みバ イ
ト フ ィ ール ド に書 き 込まれ ます。 ソ フ ト ウ ェ アは、 RXSOF デ ィ ス ク リ プ タ か ら RXEOF デ ィ ス ク リ プ タ ま ですべて
のデ ィ ス ク リ プ タ の転送済みバ イ ト 数フ ィ ール ド の値を合計 し て、 受信 し たパケ ッ ト 全体のバ イ ト 数を求め る こ と が
で き ます。全体の長 さ を ス テー タ ス ス ト リ ームで通知す る よ う な アプ リ ケーシ ョ ンでは、こ の値は RXEOF = 1 のデ ィ
ス ク リ プ タ のユーザー アプ リ ケーシ ョ ン フ ィ ール ド に格納 さ れます。
AXI ス テー タ ス ス ト リ ーム
AXI ス テー タ ス ス ト リ ームは、 タ ーゲ ッ ト デバ イ ス の ス テー タ ス を ス キ ャ ッ タ ー /ギ ャ ザー デ ィ ス ク リ プ タ のユー
ザー アプ リ ケーシ ョ ン デー タ フ ィ ール ド へ転送する ために使用 し ます。 こ れ ら の ス テー タ ス デー タ は、 S2MM プ ラ
イ マ リ デー タ ス ト リ ームに関す る も のです。 図 2-29 に示す よ う に、 ス テー タ ス パケ ッ ト はパケ ッ ト を記述 し た最後
のデ ィ ス ク リ プ タ (RXEOF = 1) のアプ リ ケーシ ョ ン デー タ フ ィ ール ド に書 き 込ま れます。通常、ス テー タ ス ス ト リ ー
ムは S2MM デー タ ス ト リ ーム の最初に受信 し ま す。 [Use RxLength In Status Stream] を オ フ に し た場合は、 S2MM フ
レーム転送中のいつで も ス テー タ ス ス ト リ ーム を受信す る 可能性があ り ます。 EOF デ ィ ス ク リ プ タ は、 ス テー タ ス
ス ト リ ーム全体を受信 し た場合のみ更新 さ れます。
X-Ref Target - Figure 2-29
6FDWWHU*DWKHU'HVFULSWRU
1;7'(6&
5HVHUYHG
%XIIHU$GGUHVV
5HVHUYHG
5HVHUYHG
5HVHUYHG
%XIIHU/HQJWK
&QWUO 6WV(2) $SS
$SS
$SS
$SS
$SS
8VHU DSSOLFDWLRQILHOGVSRSXODWHGZLWK
VBD[LV BVPP BVWV BWGDWD
7DUJHW'HYLFHDSSHQGHG
IODJ [[[ B[[[[ K VBD[LVBVPPBVWVBDFON
VBD[LVBVPPBVWVBWGDWD>@
)/$* $33
$33
$33
VBD[LVBVPPBVWVBWNHHS>@
$33
$33
)K
VBD[LVBVPPBVWVBWYDOLG
VBD[LVBVPPBVWVBWUHDG\
VBD[LVBVPPBVWVBWODVW
'6B
図 2‐29 : S2MM ス テー タ ス ス ト リ ームの場合のユーザー ア プ リ ケーシ ョ ン フ ィ ール ド と タ イ ミ ングの例
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
45
第 2 章 : 製品仕様
マルチチ ャ ネル DMA サポー ト
マルチチ ャ ネル モー ド では、 DMA は ス ト リ ー ミ ン グ側の複数のマ ス タ ーお よ び ス レ ーブに接続で き ま す。 マルチ
チ ャ ネル DMA モー ド では、 ソ ースお よ びデス テ ィ ネーシ ョ ンの信号伝送に関する 次の信号が追加 さ れます。
•
tid – 5 ビ ッ ト の信号。 ユーザー定義のサ イ ド バン ド 信号伝送。
•
tdest – 5 ビ ッ ト の信号。 デー タ ス ト リ ーム用の大ま かなルーテ ィ ン グ情報を提供。
•
tuser – 4 ビ ッ ト の信号。 ユーザー定義のサ イ ド バン ド 信号伝送。
スキ ャ ッ タ ー /ギ ャザー モー ド (C_INCLUDE_SG = 1)
マルチチ ャ ネルお よ び 2D 転送をサポー ト す る ため、 デ ィ ス ク リ プ タ に新 し い フ ィ ール ド が追加 さ れます。 AXI DMA
は、 AXI4-Stream チ ャ ネルで 2 次元ブ ロ ッ ク を転送す る 効率的な 2D メ モ リ ア ク セ ス パ タ ーン をサポー ト し てい ます
( 「AXI DMA のマルチチ ャ ネル動作」 参照)。 メ モ リ ア ク セ ス パ タ ーンは HSIZE、 VSIZE、 STRIDE の 3 つのパ ラ メ ー
タ ーで制御 し ま す。 パケ ッ ト 開始 (SOP) お よ びパケ ッ ト 終了 (EOP) フ ラ グ に よ り 、 1 つのパケ ッ ト に対 し て複数の
デ ィ ス ク リ プ タ がサポー ト さ れます。
こ のモー ド を利用す る には、 Vivado® IDE の [Customize IP] ダ イ ア ロ グ ボ ッ ク ス で [Enable Control/Status Stream] を オ
フ に し ます。
そ し て [Enable Multi Channel Support] を オンに し て、 MM2S お よ び S2MM パス の必要なチ ャ ネル数を入力 し て、 AXI
DMA を マルチチ ャ ネル モー ド に設定 し ます。
MM2S (Tx) デ ィ ス ク リ プ タ
X-Ref Target - Figure 2-30
[
[
[
[&
[
[
1;7'(6&375
5VYG
5HVHUYHGIRUIXWXUHXVH
%XIIHU$GGUHVV
5HVHUYHGIRUIXWXUHXVH
$586(5
$:&$&+(
5VYG
[
[&
&P
S
'(
6(
,(
7;
(23
5VYG
7,' 5VYG 7'(67
5VYG
6WULGH
5VYG
+6,=(
96,=(
7;
623
786(5
5HVHUYHG
;
図 2‐30 : Tx デ ィ ス ク リ プ タ
表 2‐33 : Tx デ ィ ス ク リ プ タ のフ ィ ール ド
ア ド レ ス空間オ フ セ ッ ト
名前
説明
00h
NXTDESC
ビ ッ ト 5:0 – 予約
ビ ッ ト 31:6 – ネ ク ス ト デ ィ ス ク リ プ タ ポ イ ン タ ー
04h
予約
ビ ッ ト 31:0 – 予約
BUFFER_ADDRESS
ビ ッ ト 31:0 – バ ッ フ ァ ー ア ド レ ス
MM2S (Memory Map to Stream) チ ャ ネルで転送する デー タ の
位置を指定 し ます。ア ド レ スは メ モ リ マ ッ プのデー タ 幅にア
ラ イ ンす る 必要があ り ます。
08h
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
46
第 2 章 : 製品仕様
表 2‐33 : Tx デ ィ ス ク リ プ タ のフ ィ ール ド (続き)
ア ド レ ス空間オ フ セ ッ ト
名前
説明
0Ch
予約
ビ ッ ト 31:0 – 予約
マルチチ ャ ネル制御ビ ッ ト 。
ビ ッ ト 4:0 – TDEST : デー タ ス ト リ ームのルーテ ィ ン グ情報
を指定 し ます。 TDEST の値は、 パケ ッ ト 全体で固定です。
Tx デ ィ ス ク リ プ タ フ ィ ール ド で指定 し た TDEST の値は、ス
ト リ ー ミ ン グ側の TDEST 信号に現れます。
• ビ ッ ト 7:5 – 予約
• ビ ッ ト 12:8 – TID : ス ト リ ーム識別用の ID です。 TID の値
は、 パケ ッ ト 全体で固定です。 Tx デ ィ ス ク リ プ タ フ ィ ー
ル ド で指定 し た TID の値は、 ス ト リ ー ミ ン グ側の TID 信
号に現れます。
• ビ ッ ト 15:13 – 予約
• ビ ッ ト 19:16 – TUSER : ユーザー定義情報に使用する サ イ
ド バン ド 信号。 TUSER の値は、 パケ ッ ト 全体で固定です。
Tx デ ィ ス ク リ プ タ フ ィ ール ド で指定 し た TUSER の値は、
ス ト リ ー ミ ン グ側の TUSER 信号に現れます。
10h
MC_CTL
• ビ ッ ト 23:20 – 予約
• ビ ッ ト 27:24 – ARCACHE : キ ャ ッ シ ュ タ イ プ。 こ の信号
は、転送がキ ャ ッ シ ュ 可能か ど う かの属性情報を提供 し ま
す。 デ コ ー ド 方法の種類につい て は、 『AMBA® AXI and
ACE Protocol Specification』 [参照 3] を参照 し て く だ さ い。
Tx デ ィ ス ク リ プ タ で指定 し た ARCACHE の値は、 ア ド レ
ス サ イ ク ル中に ARCACHE [3:0] バ ス に現れ ま す。 こ の
フ ィ ール ド のデフ ォ ル ト 値は 0011 です。
• ビ ッ ト 31:28 – ARUSER : ユーザー定義情報に使用する サ
イ ド バン ド 信号。 Tx デ ィ ス ク リ プ タ で指定 し た ARUSER
の値は、 ARUSER [3:0] に現れます。 ARUSER の値 と その
解釈方法はユーザーが定義 し ます。デ ィ ス ク リ プ タ チ ェ ー
ン内のすべてのデ ィ ス ク リ プ タ に同 じ 値を書 き 込む と 、パ
ケ ッ ト 全体で ARUSER の値を固定で き ます。
• ビ ッ ト 15:0 – STRIDE : 水平方向の連続読み出 し において、
先頭ア ド レ ス か ら 次の先頭ア ド レ ス ま での間隔 を 指定 し
ます。
14h
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
STRIDE_VSIZE
読み出 し は、 まずバ ッ フ ァ ー ア ド レ ス か ら HSIZE で指定
し たバ イ ト 数を読み出 し ま す。 次に (STRIDE - HSIZE) 分
のア ド レ ス を ス キ ッ プ し て再び HSIZE のバ イ ト 数を読み
出 し ます。 そ し て、 VSIZE で指定 し た行数を読み出すま で
こ の動作を継続 し ます。 AXI4-Stream では、 こ れ ら のデー
タ は m_axis_mm2s_ イ ン タ ーフ ェ イ ス で 1 つの連続する パ
ケ ッ ト と し て 送信 さ れ、 転送の最後のデー タ ビ ー ト で
TLAST を 1 回アサー ト し て転送を終了 し ます。
• ビ ッ ト 18:16 – 予約
• ビ ッ ト 31:19 – VSIZE : ス ト ラ イ ド ア ク セ スする水平行の
数。 2 次元のビデオ データ 、 ま たは 2 次元行列のサ イ ズ を
表 し ます。 こ の値が、 1 パケ ッ ト につき 送信が予想 さ れ る
転送回数 (1 回の転送の長 さ は HSIZE バ イ ト ) と な り ます。
japan.xilinx.com
47
第 2 章 : 製品仕様
表 2‐33 : Tx デ ィ ス ク リ プ タ のフ ィ ール ド (続き)
ア ド レ ス空間オ フ セ ッ ト
18h
1Ch
名前
説明
HSIZE
• ビ ッ ト 15:0 – 連続 し たバ イ ト ア ド レ ス か ら の転送におい
て、 1 つの水平行か ら の転送バ イ ト 数を指定 し ます。 ビデ
オ ラ イ ンの一部、ま たは行列を行優先で読み出す場合に行
列の行の一部を表現で き ます。
• ビ ッ ト 25:16 – 予約
• ビ ッ ト 26 – TXEOP (パケ ッ ト 終了) フ ラ グ。 こ のデ ィ ス ク
リ プ タ に関連す る バ ッ フ ァ ーが最後に送信 さ れ る こ と を
示 し ます。 こ のフ ラ グは CPU に よ っ てセ ッ ト さ れます。
0 – EOP でない。 1 – EOP。
• ビ ッ ト 27 – TXSOP (パケ ッ ト 開始) フ ラ グ。 こ のデ ィ ス ク
リ プ タ に関連す る バ ッ フ ァ ーが最初に送信 さ れ る こ と を
示 し ます。 こ のフ ラ グは CPUに よ っ てセ ッ ト さ れます。
0 – SOP でない。 1 – SOP。
• ビ ッ ト 31:28 – 予約
MC_STS
マルチチ ャ ネル ス テー タ ス ビ ッ ト 。
• ビ ッ ト 27:0 – 予約
• ビ ッ ト 28 – IE。ア ン ダー ラ ン ま たはオーバー ラ ン条件に よ
る DMA 内部エ ラ ーを示 し ます。
0 – DMA 内部エ ラ ーな し 。
1 – DMA 内部エ ラ ーを検出。 DMA エン ジ ン停止。
• ビ ッ ト 29 – SE。DMA ス レーブ エ ラ ーを示 し ます。 メ モ リ
マ ッ プ イ ン タ ー フ ェ イ ス か ら の ス レ ーブ読み出 し で ス
レーブ エ ラ ーにな っ た場合、 こ のエ ラ ーが発生 し ます。
0 – DMA ス レーブ エ ラ ーな し 。
1 – DMA ス レーブ エ ラ ーを検出。 DMA エン ジ ン停止。
• ビ ッ ト 30 – DE。 DMA デコ ー ド エ ラ ーを示 し ます。 ア ド
レ ス要求が無効な ア ド レ ス を指 し 示す場合、 こ のエ ラ ーが
発生 し ます。
0 – DMA デ コ ー ド エ ラ ーな し 。
1 – DMA デ コ ー ド エ ラ ーを検出。 DMA エン ジ ン停止。
• ビ ッ ト 31 – Cmp – 完了。 DMA エン ジ ンが転送を完了 し た
こ と を ソ フ ト ウ ェ アに知 ら せます。
0 – デ ィ ス ク リ プ タ が完了 し ていない。
1 – デ ィ ス ク リ プ タ が完了 し た。
1. AXI 書 き 込みでは、 ARCACHE、 ARUSER の値が重要です。 必要に応 じ て こ れ ら の値をデ ィ ス ク リ プ タ に指定 し て く だ さ い。
通常の動作では、 ARCACHE を 0011、 ARUSER を 0000 に設定 し ます。
2. VSIZE = 0 は不正な値で、 マルチチ ャ ネル DMA が正 し く 動作 し ません。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
48
第 2 章 : 製品仕様
S2MM (Rx) デ ィ ス ク リ プ タ
X-Ref Target - Figure 2-31
[
[
[
[&
[
[
[
[&
&P
S
1;7'(6&375
5VYG
5HVHUYHGIRUIXWXUHXVH
%XIIHU$GGUHVV
5HVHUYHGIRUIXWXUHXVH
$:86(5
$:&$&+(
5HVHUYHG
96,=(
'(
6(
,(
5;
(23
5VYG 6WULGH
+6,=(
5VYG
5HVHUYHG
5;
623
786(5 5VYG 7,' 5VYG 7'(67
;
図 2‐31 : Rx デ ィ ス ク リ プ タ
表 2‐34 : Rx デ ィ ス ク リ プ タ のフ ィ ール ド
ア ド レ ス空間 オフセッ ト
名前
説明
00h
NXTDESC
ビ ッ ト 5:0 – 予約
ビ ッ ト 31:6 – ネ ク ス ト デ ィ ス ク リ プ タ ポ イ ン タ ー
04h
予約
ビ ッ ト 31:0 – 予約
08h
BUFFER_ADDRESS
ビ ッ ト 31:0 – バ ッ フ ァ ー ア ド レ ス
ス ト リ ーム か ら メ モ リ マ ッ プへ転送 さ れたデー タ の格納に使用す
る バ ッ フ ァ ーのア ド レ ス を指定 し ます。 ア ド レ ス は メ モ リ マ ッ プの
デー タ 幅にア ラ イ ンす る 必要があ り ます。
0Ch
予約
ビ ッ ト 31:0 – 予約
ビ ッ ト 23:0 – 予約
ビ ッ ト 27:24 – AWCACHE – キ ャ ッ シ ュ タ イ プ。 こ の信号は、 転送
がキ ャ ッ シ ュ 可能か ど う かの属性情報を提供 し ます。 デ コ ー ド 方法
については、 『AMBA AXI and ACE Protocol Specification』 [参照 3] を
参照 し て く だ さ い。
10h
CACHE_USER_CTL
Rx デ ィ ス ク リ プ タ で指定 し た AWCACHE の値は、 ア ド レ ス サ イ ク
ル中に AWCACHE [3:0] バ ス に現れ ます。 こ の フ ィ ール ド のデフ ォ
ル ト 値は 0011 です。
ビ ッ ト 31:28 – AWUSER – ユーザー定義情報に使用す る サ イ ド バン
ド 信号。 Rx デ ィ ス ク リ プ タ で指定 し た AWUSER の値は、 ア ド レ ス
サ イ ク ル中に AWUSER [3:0] バ ス に現れます。 AWUSER の値 と その
解釈方法はユーザーが定義 し ま す。 1 つのチ ェ ー ン 内のすべて の
デ ィ ス ク リ プ タ に同 じ 値を書き 込む と 、パケ ッ ト 全体で AWUSER の
値を固定で き ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
49
第 2 章 : 製品仕様
表 2‐34 : Rx デ ィ ス ク リ プ タ のフ ィ ール ド (続き)
ア ド レ ス空間 オフセッ ト
14h
名前
STRIDE_VSIZE
説明
ビ ッ ト 15:0 – STRIDE : 水平方向の連続書き 込みにおいて、先頭ア ド
レ ス か ら 次の先頭ア ド レ ス ま での間隔を指定 し ます。
書 き 込みは、 ま ずバ ッ フ ァ ー ア ド レ ス に HSIZE で指定 し たバ イ ト
数を書 き 込みます。次に (STRIDE - HSIZE) 分のア ド レ ス を ス キ ッ プ
し て HSIZE のバ イ ト 数を書き 込みます。 そ し て、 VSIZE で指定 し た
行数を書 き 込む ま で こ の動作を継続 し ま す。 AXI4-Stream では、 こ
れ ら のデー タ は s_axis_s2mm_ イ ン タ ーフ ェ イ ス で 1 つの連続す る
パケ ッ ト と し て受信 さ れ、 転送の最後のデー タ ビー ト で TLAST を
1 回アサー ト し て転送を終了 し ます。
ビ ッ ト 18:16 – 予約
ビ ッ ト 31:19 – VSIZE : ス ト ラ イ ド ア ク セ スす る 水平行の数。
2 次元のビデオ デー タ 、 ま たは 2 次元行列のサ イ ズ を表 し ます。
VSIZE は、 1 パケ ッ ト につき 受信が予想 さ れ る 転送回数 (1 回の転送
の長 さ は HSIZE バ イ ト ) を表 し ます。
18h
HSIZE
ビ ッ ト 15:0 – 連続 し たバ イ ト ア ド レ ス か ら の転送において、 1 つの
水平か ら の転送バ イ ト 数を指定 し ます。 ビデオ ラ イ ンの一部、 ま
たは行列を行優先で格納する 場合に行列の行の一部を表現で き ま
す。
ビ ッ ト 31:16 – 予約
マルチチ ャ ネル ス テー タ ス ビ ッ ト 。
ビ ッ ト 4:0 – TDEST : デー タ ス ト リ ームのルーテ ィ ン グ情報を指定
し ます。 TDEST の値は、 パケ ッ ト 全体で固定です。
TDEST の値は入力ス ト リ ームか ら キ ャ プチ ャ さ れ、 こ のフ ィ ール ド
に格納 さ れます。
ビ ッ ト 7:5 – 予約
ビ ッ ト 12:8 – TID : ス ト リ ーム識別用の ID です。TID の値は、パケ ッ
ト 全体で固定です。TID の値は入力ス ト リ ームか ら キ ャ プチ ャ さ れ、
こ の フ ィ ール ド に格納 さ れます。
1Ch
MC_STS
ビ ッ ト 15:13 – 予約
ビ ッ ト 19:16 – TUSER – ユーザー定義情報に使用す る サ イ ド バン ド
信号。 TUSER の値は、 パケ ッ ト 全体で固定です。 TUSER の値は入
力ス ト リ ームか ら キ ャ プチ ャ さ れ、こ の フ ィ ール ド に格納 さ れます。
ビ ッ ト 25:20 – 予約
ビ ッ ト 25:24 – 予約
ビ ッ ト 26 – RXEOP (パケ ッ ト 終了) フ ラ グ。 こ のデ ィ ス ク リ プ タ に
関連する バ ッ フ ァ ーにパケ ッ ト の最後の部分が含まれ る こ と を示 し
ます。 こ の フ ラ グは AXI DMA に よ っ てセ ッ さ れます。
• 0 – EOP でない。
• 1 – EOP。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
50
第 2 章 : 製品仕様
表 2‐34 : Rx デ ィ ス ク リ プ タ のフ ィ ール ド (続き)
ア ド レ ス空間 オフセッ ト
名前
説明
ビ ッ ト 27 – RXSOP (パケ ッ ト 開始) フ ラ グ。 こ のデ ィ ス ク リ プ タ に
関連する バ ッ フ ァ ーにパケ ッ ト の最初の部分が含まれ る こ と を示 し
ます。 こ の フ ラ グは AXI DMA に よ っ てセ ッ ト さ れます。
• 0 – SOP でない。
• 1 – SOP。
ビ ッ ト 28 – IE。 ア ン ダー ラ ン ま たはオーバー ラ ン条件に よ る DMA
内部エ ラ ーを示 し ます。
• 0 – DMA 内部エ ラ ーな し 。
• 1 – DMA 内部エ ラ ーを検出。 DMA エン ジ ンは停止中。
1Ch
(続 き )
MC_STS
(続 き )
ビ ッ ト 29 – SE。 DMA ス レーブ エ ラ ーを示 し ます。 メ モ リ マ ッ プ
イ ン タ ー フ ェ イ ス か ら の ス レ ーブ読み出 し で ス レ ーブ エ ラ ーに
な っ た場合、 こ のエ ラ ーが発生 し ます。
• 0 – DMA ス レーブ エ ラ ーな し 。
• 1 – DMA ス レーブ エ ラ ーを検出。 DMA エン ジ ンは停止中。
ビ ッ ト 30 – DE。 DMA デ コ ー ド エ ラ ーを示 し ます。 ア ド レ ス要求が
無効な ア ド レ ス を指 し 示す場合、 こ のエ ラ ーが発生 し ます。
• 0 – DMA デコ ー ド エ ラ ーな し 。
• 1 – DMA デコ ー ド エ ラ ーを検出。 DMA エン ジ ンは停止中。
ビ ッ ト 31 – Cmp。 完了。 DMA エン ジ ンが転送を完了 し た こ と を ソ
フ ト ウ ェ アに知 ら せます。
• 0 – デ ィ ス ク リ プ タ が完了 し ていない。
• 1 – デ ィ ス ク リ プ タ が完了 し た。
1. AXI 読み出 し では、 AWCACHE、 AWUSER の値が重要です。 必要に応 じ て こ れ ら の値をデ ィ ス ク リ プ タ に指定 し て く だ さ い。
通常の動作では、 AWCACHE を 0011、 AWUSER を 0000 に設定 し ます。
2. VSIZE = 0 は不正な値で、 マルチチ ャ ネル DMA が正 し く 動作 し ません。
AXI DMA のマルチチ ャ ネル動作
こ のセ ク シ ョ ン では、 MM2S 側 と S2MM 側の両方について、 デ ィ ス ク リ プ タ お よ び関連す る デー タ の全体的な制御
お よ びデー タ フ ロ ーについて説明 し ます。
MM2S
MM2S は通常の AXI DMA 動作に似てい ます。 MM2S_CURDESC と MM2S_TAILDESC に ソ フ ト ウ ェ アで書 き 込みを
実行す る と 、AXI DMA はテール デ ィ ス ク リ プ タ に到達する ま でデ ィ ス ク リ プ タ チ ェーンの フ ェ ッ チ と 処理を継続 し
ます。 AXI DMA は、 デ ィ ス ク リ プ タ で定義する TDEST、 TID、 TUSER の各フ ィ ール ド がパケ ッ ト 全体で同 じ 値であ
る こ と を前提に動作 し ます。 つま り 、 TDEST、 TID、 TUSER に よ っ て定義 さ れ る 論理チ ャ ネルでの各パケ ッ ト 転送が
完了 し てか ら DMA は次のパケ ッ ト 転送を開始 し ます。 複数チ ャ ネルのパケ ッ ト 転送は イ ン タ ー リ ーブで き ますが、
各チ ャ ネルでは 1 つの転送を完了 し てか ら でない と 次の転送は開始で き ません。 こ れ ら の前提条件をふま え、 デ ッ ド
ロ ッ ク が発生 し ない よ う にユーザーが注意す る 必要があ り ます。 デ ィ ス ク リ プ タ 内の TDEST、 TID、 TUSER フ ィ ー
ル ド が こ れ ら の前提条件に違反 し た場合で も 、 AXI DMA はエ ラ ー条件を通知 し ません。 ソ フ ト ウ ェ ア側で一貫性を
維持す る よ う 注意 し て く だ さ い。
マルチチ ャ ネル モー ド では、 Tx デ ィ ス ク リ プ タ に制御お よ びス テー タ ス フ ィ ール ド があ り ます。 ト ラ ンザ ク シ ョ ン
の最後に、 こ のデ ィ ス ク リ プ タ の転送済みバ イ ト 数の ス テー タ ス が更新 さ れ る こ と はあ り ません。 エ ラ ー情報はレ ジ
ス タ に記録 さ れ、 カ レ ン ト デ ィ ス ク リ プ タ ポ イ ン タ ーはエ ラ ーのあ っ たデ ィ ス ク リ プ タ を示すポ イ ン タ ーに更新 さ
れ ま す。 1 つ の チ ェ ー ン の 転 送 が 完 了 し た か ど う か は、 MM2S_DMASR の IDLE ビ ッ ト を ポ ー リ ン グ す る か、
MM2S_DMACR で割 り 込みを有効にす る こ と でわか り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
51
第 2 章 : 製品仕様
X-Ref Target - Figure 2-32
PBD[LBVJ
'0$&WUOU
6FDWWHU
*DWKHU
:U&QWUO
7'(67786(57,'
),)2
5'&QWUO
WXVHUWGHVWWLGWGD
WDWNHHSWYDOLG
WODVWWUHDG\
PBD[LVBPPVUHDG
'DWD0RYHU
PBD[LVBPPV
;
図 2‐32 : MM2S の制御およびデー タ パス フ ロー
S2MM
tdest 信号は入力ス ト リ ームか ら サンプ リ ン グ し ます。 DMA コ ン ト ロ ー ラ ーは こ の値を使用 し て対応す る S2MM_
CURDESC お よ び S2MM_TAILDESC を読み出 し 、 こ れ ら を ス キ ャ ッ タ ー /ギ ャ ザー モジ ュ ールに送信 し ま す。 その
後、 SG モジ ュ ールは tdest に対応す る デ ィ ス ク リ プ タ チ ェ ーン を フ ェ ッ チ し ます。 こ のため、 S2MM チ ャ ネルに
パケ ッ ト が到着す る 前にすべてのチ ャ ネルの BD チ ェーンのセ ッ ト ア ッ プを完了 し てお く 必要があ り ます。パケ ッ ト /
デー タ が到着す る 前に、 カ レ ン ト デ ィ ス ク リ プ タ お よ びテール デ ィ ス ク リ プ レ ジ ス タ への書 き 込みを完了 し てお き
ます。 AXI DMA は、 対応す る デ ィ ス ク リ プ タ が フ ェ ッ チ さ れ る ま で tready をデ ィ アサー ト す る こ と に よ り 、 ス ト
リ ー ミ ン グ デー タ を保持 し ます。 対応す る デ ィ ス ク リ プ タ が フ ェ ッ チ さ れ る と 、 AXI DMA 書き 込みがバ ッ フ ァ ー ア
ド レ ス か ら 開始 し 、 ス ト リ ー ミ ン グ側か ら tlast を受信す る ま で書 き 込みを継続 し ます。 あ る チ ャ ネルでデー タ 転
送が完了す る と 、 カ レ ン ト デ ィ ス ク リ プ タ レ ジ ス タ にはそのチ ェ ーンの次のデ ィ ス ク リ プ タ のア ド レ ス が格納 さ れ
ます。 こ れに よ り 、 次のパケ ッ ト を正 し く 処理で き る よ う にな っ てい ます。
TDEST、 TID、 TUSER の値は入力ス ト リ ームか ら キ ャ プチ ャ し 、 内部で保存 さ れます。 通常、 こ れ ら の値はパケ ッ ト
の途中では変化 し ません。 こ れ ら の値は、 そのデ ィ ス ク リ プ タ に対する デー タ が メ モ リ マ ッ プ側に書 き 込まれた後、
ほかの ス テー タ ス ビ ッ ト と 一緒にチ ェ ーンの各デ ィ ス ク リ プ タ に書き 込まれます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
52
第 2 章 : 製品仕様
X-Ref Target - Figure 2-33
PBD[LBVJ
&85'(6&
7$,/'(6&>1@
6FDWWHU
*DWKHU
5HJLVWHU
0DS
6* 7'(67
5G'DWD
7'(67786(57,'
),)2
WXVHUWGHVWWLGWGD
WDWNHHSWYDOLG
WODVWWUHDG\
PBD[LBVPPZULWH
'DWD0RYHU
PBD[LVBVPP
;
図 2‐33 : S2MM の制御およびデー タ パス フ ロー
2D 転送
AXI DMA はマルチチ ャ ネル モー ド で 2 次元 (2D) メ モ リ ア ク セ ス パ タ ーン をサポー ト し てお り 、 AXI4-Stream チ ャ
ネルで高い転送効率が得 ら れます。
ア ク セ ス パ タ ーンはデ ィ ス ク リ プ タ の HSIZE、 VSIZE、 STRIDE フ ィ ール ド で制御 し ます。 こ れに よ り 、 暗黙的な
2 次元配列内のサブブ ロ ッ ク の転送を可能に し ます。 HSIZE は、 開始ア ド レ ス か ら 始ま る サブブ ロ ッ ク の水平方向の
長 さ を指定 し ます。 2D 転送の場合、 HSIZE、 VISZE、 STRIDE はバ イ ト 境界にア ラ イ ンする 必要があ り ます。 HSIZE、
VSIZE、 STRIDE のいずれかがバ イ ト 境界にア ラ イ ン し ていない場合、 予期 し ない動作 と な り ます。
1 回の読み出 し (MM2S) ま たは書 き 込み (S2MM) 転送サ イ ズは、 HSIZE * VSIZE で表 さ れます。 連続す る 転送の開始
ア ド レ ス は、 直前の転送の開始ア ド レ ス (最初の転送の場合はパケ ッ ト 転送のベース ア ド レ ス) に STRIDE の値を足
し た ア ド レ ス と な り ます。
図 2-34 に、 2D デー タ フ ォーマ ッ ト の例を示 し ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
53
第 2 章 : 製品仕様
X-Ref Target - Figure 2-34
%XIIHU$GGUHVV
6WULGH
96,=(
6WULGH
+6,=(
;
図 2‐34 : 2D デー タ フ ォ ーマ ッ ト
MM2S
読み出 し はバ ッ フ ァ ー ア ド レ ス で開始 し 、 HSIZE で指定 し たバ イ ト 数の読み出 し を VSIZE で指定 し た回数だけバー
ス ト 実行 し ます。 各読み出 し バース ト の開始ア ド レ スは、 直前のバース ト 読み出 し の開始ア ド レ ス に STRIDE の値を
足 し た ア ド レ ス と な り ます。
例 : バ ッ フ ァ ー ア ド レ ス = 08、 VSIZE = 06、 HSIZE = 256 バ イ ト 、 STRIDE = 512 バ イ ト
こ の場合、 最初の読み出 し はバ ッ フ ァ ー ア ド レ ス 08 か ら 開始 し 、 HSIZE (256) バ イ ト の読み出 し を継続 し ます。 2 行
目の読み出 し はア ド レ ス 520 (バ ッ フ ァ ー ア ド レ ス + STRIDE = 8 + 512) か ら 開始 し、 HSIZE (256) バ イ ト の読み出し を
継続 し ます。 3 行目の読み出 し はア ド レ ス 1,032 (= 520 + 512) か ら 開始 し 、 4 行目の読み出 し はア ド レ ス 1,544 (= 1032 +
512) か ら 開始 し ます。 こ のパ タ ーン を繰 り 返 し て VSIZE で指定し た数の行を読み出し ます。
AXI4-Stream では、 こ れ ら のデー タ は m_axis_mm2s イ ン タ ーフ ェ イ ス で 1 つの連続す る パケ ッ ト と し て送信 さ れ、
転送の最後のデー タ ビー ト で tlast を 1 回アサー ト し て転送を終了 し ます。
S2MM
書 き 込みはバ ッ フ ァ ー ア ド レ ス で開始 し 、 HSIZE で指定 し たバ イ ト 数の書 き 込みを VSIZE で指定 し た回数だけバー
ス ト 実行 し ます。 各書 き 込みバース ト の開始ア ド レ スは、 直前のバース ト 書き 込みの開始ア ド レ ス に STRIDE の値を
足 し た ア ド レ ス と な り ます。 AXI4-Stream では、 こ れ ら のデー タ は s_axis_s2mm_ イ ン タ ーフ ェ イ ス で 1 つの連続
す る パケ ッ ト と し て受信 さ れ、 転送の最後のデー タ ビー ト で tlast を 1 回アサー ト し て転送を終了 し ます。
マルチチ ャ ネル モー ド の制限事項
•
マルチチ ャ ネル モー ド では、 S2MM パ ス でデ ィ ス ク リ プ タ のキ ュ ー イ ン グがサポー ト さ れません。
•
S2MM パ ス では、 小 さ いパケ ッ ト サ イ ズ (4 デー タ ビー ト 以下の連続する パケ ッ ト ) はサポー ト さ れません。
•
2D ア ク セ ス の場合、 ア ド レ ス と HSIZE が メ モ リ マ ッ プのデー タ 幅にア ラ イ ン し てい る 必要があ り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
54
第 2 章 : 製品仕様
マルチチ ャ ネルのレ ジ ス タ マ ッ プ (SG = 1)
S2MM パ ス で最大 16 の TDEST をサポー ト で き る よ う に、 レ ジ ス タ マ ッ プが変更 さ れます。
X-Ref Target - Figure 2-35
006B'0$&5
&
5HVHUYHG
5HVHUYHG
006B'0$65
&
5HVHUYHG
5HVHUYHG
006B&85'(6&
&
5HVHUYHG
5HVHUYHG
&
5HVHUYHG
&&
5HVHUYHG
&
5HVHUYHG
006B7$,/'(6&
'
600B&85'(6&
600B&85'(6&
5HVHUYHG
'
5HVHUYHG
5HVHUYHG
5HVHUYHG
'
600B7$,/'(6&
600B7$,/'(6&
&
5HVHUYHG
'&
5HVHUYHG
&
5HVHUYHG
5HVHUYHG
(
5HVHUYHG
$
5HVHUYHG
5HVHUYHG
(
5HVHUYHG
$
5HVHUYHG
5HVHUYHG
(
5HVHUYHG
$
5HVHUYHG
&
6*B&7/
(&
5HVHUYHG
$&
5HVHUYHG
600B'0$&5
)
600B&85'(6&
%
600B&85'(6&
600B'0$65
)
5HVHUYHG
%
5HVHUYHG
600B&85'(6&
)
600B7$,/'(6&
%
600B7$,/'(6&
&
5HVHUYHG
)&
5HVHUYHG
%&
5HVHUYHG
600B7$,/'(6&
5HVHUYHG
&
5HVHUYHG
5HVHUYHG
5HVHUYHG
&
5HVHUYHG
5HVHUYHG
5HVHUYHG
&
5HVHUYHG
&
5HVHUYHG
&
5HVHUYHG
&&
5HVHUYHG
5HVHUYHG
600B&85'(6&
'
600B&85'(6&
5HVHUYHG
5HVHUYHG
'
5HVHUYHG
B
5HVHUYHG
600B7$,/'(6&
'
600B7$,/'(6&
&
5HVHUYHG
&
5HVHUYHG
'&
5HVHUYHG
5HVHUYHG
5HVHUYHG
(
5HVHUYHG
5HVHUYHG
5HVHUYHG
(
5HVHUYHG
5HVHUYHG
5HVHUYHG
(
5HVHUYHG
&
5HVHUYHG
&
5HVHUYHG
(&
5HVHUYHG
600B&85'(6&
600B&85'(6&
)
600B&85'(6&
5HVHUYHG
5HVHUYHG
)
5HVHUYHG
600B7$,/'(6&
600B7$,/'(6&
)
600B7$,/'(6&
&
5HVHUYHG
&
5HVHUYHG
)&
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
&
5HVHUYHG
&
5HVHUYHG
&
5HVHUYHG
600B&85'(6&
600B&85'(6&
600B&85'(6&
5HVHUYHG
5HVHUYHG
5HVHUYHG
600B7$,/'(6&
600B7$,/'(6&
600B7$,/'(6&
&
5HVHUYHG
&
5HVHUYHG
&
5HVHUYHG
$
5HVHUYHG
5HVHUYHG
5HVHUYHG
$
5HVHUYHG
5HVHUYHG
5HVHUYHG
$
5HVHUYHG
5HVHUYHG
5HVHUYHG
$&
5HVHUYHG
&
5HVHUYHG
&
5HVHUYHG
%
600B&85'(6&
600B&85'(6&
600B&85'(6&
%
5HVHUYHG
5HVHUYHG
5HVHUYHG
%
600B7$,/'(6&
600B7$,/'(6&
600B7$,/'(6&
%&
5HVHUYHG
&
5HVHUYHG
;
図 2‐35 : マルチチ ャ ネル モー ド のレ ジ ス タ マ ッ プ (SG = 1)
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
55
第 2 章 : 製品仕様
エラー
何 ら かのエ ラ ーが検出 さ れ る と 、 AXI DMA は適切に停止 し ます。 エ ラ ーが検出 さ れ る と 、 エ ラ ーのあ っ たチ ャ ネル
の DMACR.RS ビ ッ ト が 0 に ク リ ア さ れます。 AXI プ ロ コ ト ルでは、 すべての AXI 転送が最後ま で完了す る こ と が必
須 と さ れてい ます。 し たが っ て、 AXI DMA は未完了の ト ラ ンザ ク シ ョ ン をすべて完了 し てか ら エ ラ ーのあ っ たチ ャ
ネルの DMASR.Halted ビ ッ ト を セ ッ ト し ます。DMASR.Halted ビ ッ ト が 1 にセ ッ ト さ れ る と 、AXI DMA エン ジ ンは完
全に停止 し ます。
ス キ ャ ッ タ ー /ギ ャ ザー モー ド の場合、 エ ラ ーのあ っ た転送に関連す る デ ィ ス ク リ プ タ へのポ イ ン タ ーがそのチ ャ ネ
ルの CURDESC_PTR レ ジ ス タ に書 き 込 ま れ ます。 ご く ま れに複数のエ ラ ーが検出 さ れ る こ と があ り ます。 その場合
で も 、 CURDESC_PTR レ ジ ス タ が指 し 示す こ と がで き る のは 1 つのエ ラ ーに関す る デ ィ ス ク リ プ タ のみです。 動作を
再開す る には、 AXI DMA に リ セ ッ ト を発行する 必要があ り ます。
発生す る 可能性のあ る エ ラ ーは、 次の と お り です。
•
DMAIntErr : DMA 内部エ ラ ー。 AXI DataMover の内部エ ラ ーが検出 さ れた こ と を示 し ます。 ス キ ャ ッ タ ー /ギ ャ
ザー モー ド の場合、 こ のエ ラ ーが発生す る 条件は 2 つあ り ます。 1 つは、 MM2S ま たは S2MM チ ャ ネルでプ ラ
イ マ リ AXI DataMover に BTT = 0 を書 き 込んだ場合です。こ れは、バ ッ フ ァ ー長 さ = 0 のデ ィ ス ク リ プ タ を フ ェ ッ
チ し た場合に発生 し ます。
も う 1 つは、 S2MM チ ャ ネルの S2MM プ ラ イ マ リ ス ト リ ーム イ ン タ ーフ ェ イ ス でア ン ダーフ ロ ー条件が発生 し
た場合です。 こ れは、 シ ス テ ム でエ ラ ーが発生 し た こ と を示 し ます。 た と えば、 ス ト リ ーム ソ ース で ソ フ ト リ
セ ッ ト が発生 し て受信 ス ト リ ーム が中断 さ れた場合や、 ス テー タ ス ス ト リ ーム で報告 さ れた長 さ が実際の受信
デー タ バ イ ト 数 と 一致 し ない場合な ど です。
シ ンプル DMA モー ド の場合、 こ のエ ラ ーは S2MM ス ト リ ームか ら 受信 し たデー タ が レ ジ ス タ の BTT フ ィ ール
ド で指定 し たサ イ ズ を超えた場合に S2MM 側で発生 し ます。
•
DMASlvErr : DMA ス レーブ エ ラ ー。 データ 転送先ま たは転送元の ス レーブが SLVERR で応答する と 発生 し ます。
•
DMADecErr : DMA デ コ ー ド エ ラ ー。 存在 し ないア ド レ ス に対 し て ア ド レ ス要求を発行す る と 発生 し ます。
•
SGIntErr : ス キ ャ ッ タ ー /ギ ャ ザー内部エ ラ ー。 BTT = 0 の場合に発生 し ます。 フ ェ ッ チ し たデ ィ ス ク リ プ タ の
Cmplt ビ ッ ト が既にセ ッ ト さ れてい る 場合 も こ のエ ラ ーが発生 し ま す。 こ の条件 (Cmplt = 1 のデ ィ ス ク リ プ タ )
は、 こ のデ ィ ス ク リ プ タ が ソ フ ト ウ ェ ア/ユーザーに よ っ て再処理/再割 り 当て さ れていない古いデ ィ ス ク リ プ タ
であ る こ と を AXI DMA に知 ら せます。 こ のエ ラ ーが発生す る のは ス キ ャ ッ タ ー /ギ ャ ザー モー ド の場合のみで
す。
•
SGSlvErr : ス キ ャ ッ ター /ギ ャ ザー ス レーブ エ ラ ー。 デ ィ ス ク リ プ タ のフ ェ ッ チおよび更新の際に相手のス レーブ
が SLVERR で応答する と 発生し ます。 こ のエ ラ ーが発生する のはス キ ャ ッ ター /ギ ャ ザー モー ド の場合のみです。
•
SGDecErr : ス キ ャ ッ タ ー /ギ ャ ザー デコ ー ド エ ラ ー。 存在 し ないア ド レ ス に対 し て ア ド レ ス要求を発行す る と
発生 し ます。 こ のエ ラ ーが発生す る のは ス キ ャ ッ タ ー /ギ ャ ザー モー ド の場合のみです。
注記 : ス キ ャ ッ タ ー /ギ ャ ザー エ ラ ー ビ ッ ト は、 リ モー ト メ モ リ のデ ィ ス ク リ プ タ には反映 さ れません。 こ れ ら は、
エ ラ ーが発生 し たチ ャ ネルの DMASR レ ジ ス タ に反映 さ れ る だけです。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
56
第 3章
コ ア を使用するデザイ ン
代表的な シス テム イ ン タ ー コ ネ ク ト
AXI DMA コ アは、 AXI イ ン タ ー コ ネ ク ト 経由でユーザー シ ス テ ムに接続 し ます。 図 3-1 に、 代表的な MicroBlaze™
プ ロ セ ッ サの構成を示 し ます。 シ ス テ ム マ イ ク ロ プ ロ セ ッ サは AXI4-Lite イ ン タ ーフ ェ イ ス経由で AXI DMA にア ク
セ ス し ます。 内蔵の ス キ ャ ッ タ ー /ギ ャ ザー エ ン ジ ンはシ ス テ ム メ モ リ か ら バ ッ フ ァ ー デ ィ ス ク リ プ タ を フ ェ ッ チ
し 、 AXI IP と DDRx の間でプ ラ イ マ リ デー タ 転送を調整 し ます。 オプシ ョ ンの制御/ス テー タ ス ス ト リ ーム を有効に
す る と 、 チ ェ ッ ク サム オ フ ロ ー ド 制御/ス テー タ ス な ど、 パケ ッ ト に関する 情報を イ ーサネ ッ ト ベース IP と の間でや
り と り で き ます。 AXI DMA コ アの 2 つの割 り 込み出力は、 シ ス テ ム割 り 込みコ ン ト ロ ー ラ ーへ接続 し ます。
X-Ref Target - Figure 3-1
DDRx
S2MM_IntrOut
Interrupt
Controller
MM2S_IntrOut
MicroBlaze
Processor
AXI Ethernet
AXI DMA
P0
AXI Interconnect
AXI4Lite
P1
AXI Interconnect
SG
R/W
Cntrl
Strm
AXI4-Stream
Cntrl
IF
P2
AXI Interconnect
MM2S
Read
MM2S
Strm
AXI4-Stream
Slave
Strm
P3
Memory Controller
AXI Interconnect
S2MM
Write
S2MM
Strm
AXI4-Stream
Master
Strm
Status
Strm
AXI4-Stream
Status
IF
DS781_02
図 3‐1 : 代表的な MicroBlaze プ ロ セ ッ サ シ ス テム構成 (AXI Ethernet)
AXI DMA は、 AXI Ethernet IP 以外の方法で も ユーザー シ ス テ ムに接続で き ます。 制御お よ びス テー タ ス ス ト リ ーム
はオプシ ョ ンで、 イ ーサネ ッ ト ベース の IP コ アでのみ使用で き ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
57
第 3 章 : コ ア を使用するデザイ ン
クロッ ク
ク ロ ッ ク 入力は次の 4 つがあ り ます。
•
m_axi_mm2s_aclk : MM2S イ ン タ ーフ ェ イ ス用
•
m_axi_s2mm_aclk : S2MM イ ン タ ーフ ェ イ ス用
•
s_axi_lite_aclk : AXI4-Lite 制御 イ ン タ ーフ ェ イ ス用
•
m_axi_sg_clk : ス キ ャ ッ タ ー /ギ ャ ザー イ ン タ ーフ ェ イ ス用
AXI DMA の ク ロ ッ キ ン グ動作モー ド には、 非同期 と 同期の 2 つがあ り ます。 [Enable Asynchronous Clocks] を オ ン に
す る と 非同期モー ド が有効にな り 、 4 つの ク ロ ッ ク ド メ イ ンが作成 さ れます。 性能を重視す る 場合は、 こ のモー ド を
使用す る と プ ラ イ マ リ デー タ パス を DMA 制御 (AXI4-Lite イ ン タ ーフ ェ イ ス、 SG エン ジ ン、 DMA コ ン ト ロ ー ラ ーな
ど) よ り 高い ク ロ ッ ク レー ト で動作 さ せ る こ と がで き 、 FPGA の配置 と タ イ ミ ン グが容易にな り ます。
同期モー ド では、すべての ロ ジ ッ ク が 1 つの ク ロ ッ ク ド メ イ ンで動作し ます。s_axi_lite_aclk、m_axi_sg_aclk、
m_axi_mm2s_aclk、 m_axi_s2mm_aclk を同 じ ク ロ ッ ク ソ ー ス に接続す る 必要が あ り ま す。 非同期モー ド では ク
ロ ッ ク の非同期動作が可能ですが、 s_axi_lite_aclk の速度を m_axi_sg_aclk 以下 と し 、 m_axi_sg_aclk の速
度を m_axi_mm2s_aclk と m_axi_s2mm_aclk の遅い方以下 と する必要があ り ます。
表 3-1 に、 非同期モー ド におけ る 各信号 と 対応す る ク ロ ッ ク の関係を示 し ます。
表 3‐1 : 非同期モー ド における ク ロ ッ ク 分配
ク ロ ッ ク ソ ース
I/O ポー ト (スキ ャ ッ タ ー /ギ ャ ザー有効)
I/O ポー ト (スキ ャ ッ タ ー /ギ ャザー無効)
s_axi_lite_aclk
s_axi_lite_* で始ま る すべての信号
mm2s_introut
s2mm_introut
axi_resetn
s_axi_lite_* で始ま る すべての信号
mm2s_introut
s2mm_introut
axi_resetn
m_axi_sg_aclk
m_axi_sg_* で始ま る すべての信号
N/A
m_axi_mm2s_aclk
m_axi_mm2s_* で始ま る すべての信号
m_axis_mm2s_* で始ま る すべての信号
mm2s_prmry_reset_out_n
mm2s_cntrl_reset_out_n
m_axi_mm2s_* で始ま る すべての信号
m_axis_mm2s_* で始ま る すべての信号
mm2s_prmry_reset_out_n
m_axi_s2mm_aclk
m_axi_s2mm_* で始ま る すべての信号
s_axis_s2mm_* で始ま る すべての信号
s2mm_prmry_reset_out_n
s2mm_sts_reset_out_n
m_axi_s2mm_* で始ま る すべての信号
s_axis_s2mm_* で始ま る すべての信号
s2mm_prmry_reset_out_n
リセッ ト
axi_resetn 信号は s_axi_lite_aclk に同期 さ せ、最 も 低速な ク ロ ッ ク の 16 サ イ ク ル以上アサー ト す る 必要があ
り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
58
第 3 章 : コ ア を使用するデザイ ン
プ ロ グ ラ ム シーケ ン ス
ダ イ レ ク ト レ ジ ス タ モー ド (シ ン プル DMA)
シ ンプル DMA モー ド (ス キ ャ ッ タ ー/ギ ャ ザー エン ジ ン無効) は MM2S お よ び S2MM チ ャ ネル上でシ ンプルな DMA
転送を実行す る ための コ ン フ ィ ギ ュ レーシ ョ ンで、 必要な FPGA リ ソ ース量を抑え る こ と がで き ます。 DMACR、 SA
ま た は DA、 LENGTH レ ジ ス タ に ア ク セ ス す る と 転送 が 開始 し ま す。 転送 が 完了す る と 、 そ の チ ャ ネ ル の
DMASR.IOC_Irq がアサー ト さ れ、 割 り 込みを有効に し てい る 場合は割 り 込み出力が生成 さ れます。
MM2S チ ャ ネルの DMA 動作は、 次のシーケ ン ス で設定お よ び開始 し ます。
1.
RS ビ ッ ト を 1 (MM2S_DMACR.RS = 1) にセ ッ ト し て MM2S チ ャ ネルの動作を開始 し ます。 MM2S チ ャ ネルが動
作中は、 Halted ビ ッ ト (DMASR.Halted) がデ ィ アサー ト し ます。
2.
必要に応 じ て、 MM2S_DMACR.IOC_IrqEn と MM2S_DMACR.Err_IrqEn に 1 を書 き 込み、 割 り 込みを有効に し ま
す。 AXI DMA を シ ン プル DMA モー ド に設定 し てい る 場合、 遅延割 り 込み、 遅延カ ウ ン ト 、 し き い値カ ウ ン ト
は使用 し ません。
3.
MM2S_SA レ ジ ス タ に有効な ソ ース ア ド レ ス を書 き 込みます。 デー タ 再ア ラ イ メ ン ト を有効に し ていない場合、
有効な ア ド レ ス を正 し く ア ラ イ ン し ていない と 未定義の結果 と な り ま す。 ア ラ イ ン し てい る か ど う かは、 ス ト
リ ーム デー タ 幅で判定 し ます。 AXI_DMA を マ イ ク ロ DMA モー ド に設定 し た場合、 正 し いア ド レ ス を指定す る
よ う にユーザーが注意す る 必要があ り ます。 マ イ ク ロ DMA モー ド では、 4K 境界チ ェ ッ ク は行われません。
た と えば メ モ リ マ ッ プのデー タ 幅が 32 の場合、 デー タ が ワ ー ド オ フ セ ッ ト (32 ビ ッ ト オ フ セ ッ ト )、 すなわち
0x0、 0x4、 0x8、 0xC、 … に揃っ ていれば正 し く ア ラ イ ン し てい ます。 DRE が有効で ス ト リ ー ミ ン グ デー タ 幅が
128 よ り 小 さ い場合、 ソ ース ア ド レ ス は任意のバ イ ト オ フ セ ッ ト と す る こ と がで き ます。
4.
転送す る バ イ ト 数を MM2S_LENGTH レ ジ ス タ に書き 込みます。 値 0 を書き 込んで も 無視 さ れます。
MM2S_LENGTH に 0 以外の値を指定す る と 、 その数のバ イ ト が MM2S AXI4 イ ン タ ーフ ェ イ ス で読み出 さ れ、
MM2S AXI4-Stream イ ン タ ーフ ェ イ ス か ら 送信 さ れ ま す。 MM2S_LENGTH レ ジ ス タ は最後に書 き 込む必要があ
り ま す。 それ以外の MM2S レ ジ ス タ は任意の順番で書 き 込む こ と がで き ま す。 マ イ ク ロ DMA モー ド の場合、
MM2S_LENGTH に [ Burst_length * ( メ モ リ マ ッ プ デー タ 幅)/8] を超え る 値は指定で き ません。
S2MM チ ャ ネルの DMA 動作は、 次のシーケ ン ス で設定お よ び開始 し ます。
1.
RS ビ ッ ト を 1 (S2MM_DMACR.RS = 1) にセ ッ ト し て S2MM チ ャ ネルの動作を開始 し ます。 S2MM チ ャ ネルが動
作中は、 Halted ビ ッ ト (DMASR.Halted) がデ ィ アサー ト し ます。
2.
必要に応 じ て、 S2MM_DMACR.IOC_IrqEn と S2MM_DMACR.Err_IrqEn に 1 を書 き 込み、 割 り 込みを有効に し ま
す。 AXI DMA を シ ン プル DMA モー ド に設定 し てい る 場合、 遅延割 り 込み、 遅延カ ウ ン ト 、 し き い値カ ウ ン ト
は使用 し ません。
3.
S2MM_DA レ ジ ス タ に有効なデス テ ィ ネーシ ョ ン ア ド レ ス を書 き 込みます。デー タ 再ア ラ イ メ ン ト を有効に し て
いない場合、 有効な ア ド レ ス を正 し く ア ラ イ ン し ていない と 未定義の結果 と な り ます。 ア ラ イ ン し てい る か ど う
かは、 ス ト リ ーム デー タ 幅で判定 し ます。
た と えば メ モ リ マ ッ プのデー タ 幅が 32 の場合、 デー タ が ワ ー ド オ フ セ ッ ト (32 ビ ッ ト オ フ セ ッ ト )、 すなわち
0x0、 0x4、 0x8、 0xC、 … に揃っ ていれば正 し く ア ラ イ ン し てい ます。 DRE が有効で ス ト リ ー ミ ン グ デー タ 幅が
128 よ り 小 さ い場合、 デス テ ィ ネーシ ョ ン ア ド レ ス は任意のバ イ ト オ フ セ ッ ト と する こ と がで き ます。
4.
受信バ ッ フ ァ ーの長 さ を S2MM_LENGTH レ ジ ス タ に書 き 込みます (単位 : バ イ ト )。 値 0 を書 き 込んで も 無視 さ
れ ま す。 0 以外の値 を 指定す る と 、 S2MM AXI4-Stream イ ン タ ー フ ェ イ ス で受信 し た その数のバ イ ト が S2MM
AXI4 イ ン タ ーフ ェ イ ス に書 き 込まれます。 S2MM_LENGTH には、 最大受信パケ ッ ト 以上の値を書 き 込む必要が
あ り ます。 受信バ ッ フ ァ ーの長 さ に指定 し た値を超え る バ イ ト 数を受信する と 、 未定義の結果 と な り ます。 AXI
DMA を マ イ ク ロ DMA モー ド に設定 し た場合、 こ の値は S2MM AXI4-Stream イ ン タ ーフ ェ イ ス での受信バ イ ト
数 と 正確に一致 し てい る 必要があ り ます。 S2MM_LENGTH レ ジ ス タ は最後に書 き 込む必要があ り ます。 それ以
外の S2MM レ ジ ス タ は任意の順番で書き 込む こ と がで き ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
59
第 3 章 : コ ア を使用するデザイ ン
スキ ャ ッ タ ー /ギ ャザー モー ド
AXI DMA 動作では、実行す る DMA 動作の リ ス ト をデー タ 構造体 と し て メ モ リ に常駐 さ せてお く 必要があ り ます。 こ
の命令 リ ス ト の構成を、 「デ ィ ス ク リ プ タ チ ェ ーン」 と 呼びます。 各デ ィ ス ク リ プ タ には次に処理すべ き デ ィ ス ク リ
プ タ を指 し 示すポ イ ン タ ーがあ り ます。 チ ェ ーンの最後のデ ィ ス ク リ プ タ は、 チ ェーンの最初のデ ィ ス ク リ プ タ を指
し 示 し ます。
ス キ ャ ッ タ ー /ギ ャ ザー モー ド では、 1 つのパケ ッ ト を複数のデ ィ ス ク リ プ タ で記述で き ます。 通常、 こ の機能はヘ ッ
ダー と ペ イ ロ ー ド デー タ を メ モ リ 内の別の場所に保存 し て フ ェ ッ チす る 場合に使用 し ま す。 ソ フ ト ウ ェ ア ア プ リ
ケーシ ョ ンで こ の機能を利用す る と 、 ス ループ ッ ト が向上 し ます。 バ ッ フ ァ ー デ ィ ス ク リ プ タ チ ェ ーン でパケ ッ ト
の境界を区別す る には、 フ レーム開始 (TXSOF) ビ ッ ト と フ レーム終了 (TXEOF) ビ ッ ト を使用 し ます。DMA が フ ェ ッ
チ し たデ ィ ス ク リ プ タ の TXSOF ビ ッ ト がセ ッ ト さ れてい る 場合、 パケ ッ ト 開始が ト リ ガー さ れ ま す。 パケ ッ ト は、
TXEOF ビ ッ ト がセ ッ ト さ れたデ ィ ス ク リ プ タ を フ ェ ッ チす る ま で後続のデ ィ ス ク リ プ タ の フ ェ ッ チを継続 し ます。
受信 (S2MM) チ ャ ネルでパケ ッ ト の受信を開始す る と 、AXI DMA はそのデ ィ ス ク リ プ タ の RXSOF ビ ッ ト を 1 にセ ッ
ト し 、こ のデ ィ ス ク リ プ タ に関連付け ら れたデー タ バ ッ フ ァ ーにパケ ッ ト の最初が格納 さ れてい る こ と を ソ フ ト ウ ェ
アに知 ら せます。 受信 し たパケ ッ ト がデ ィ ス ク リ プ タ で指定 し たバ イ ト 数 よ り も 長い場合、 受信パケ ッ ト の残 り は次
のデ ィ ス ク リ プ タ バ ッ フ ァ ーに格納 さ れます。 こ の フ ェ ッ チ と 格納の処理は、 受信パケ ッ ト 全体の転送が完了す る ま
で継続 し ます。 パケ ッ ト の最後を受信す る と 、 AXI DMA はその時点で処理中のデ ィ ス ク リ プ タ の RXEOF ビ ッ ト を 1
にセ ッ ト し ます。 こ れに よ っ て、 こ のデ ィ ス ク リ プ タ に関連付け ら れたバ ッ フ ァ ーにパケ ッ ト の最後が格納 さ れてい
る こ と を ソ フ ト ウ ェ アに知 ら せます。
各デ ィ ス ク リ プ タ の ス テー タ ス フ ィ ール ド には、そのデ ィ ス ク リ プ タ に対 し て実際に転送 さ れたバ イ ト 数が格納 さ れ
ます。 ソ フ ト ウ ェ アは、 RXSOF デ ィ ス ク リ プ タ か ら RXEOF デ ィ ス ク リ プ タ ま でデ ィ ス ク リ プ タ チ ェ ーンのすべて
のデ ィ ス ク リ プ タ の転送済みバ イ ト 数を合計 し て、 受信パケ ッ ト 全体のバ イ ト 数を求め る こ と がで き ます。 ス キ ャ ッ
タ ー /ギ ャ ザー モー ド の動作は、 デ ィ ス ク リ プ タ を 1 つ余分に フ ェ ッ チ し て格納す る ま で継続 し ます。 こ れに よ り 、
DMA の性能が大幅に向上 し ます。
ス キ ャ ッ タ ー /ギ ャ ザー モー ド では、 最初に制御レ ジ ス タ と デ ィ ス ク リ プ タ ポ イ ン タ ーを設定 し ます。
MM2S チ ャ ネルに対す る DMA 動作は、 次のシーケ ン ス で設定お よ び開始 し ます。
1.
カ レ ン ト デ ィ ス ク リ プ タ レ ジ ス タ に最初のデ ィ ス ク リ プ タ のア ド レ ス を書 き 込みます。
2.
RS ビ ッ ト を 1 (MM2S_DMACR.RS = 1) にセ ッ ト し て MM2S チ ャ ネルの動作を開始 し ます。 MM2S チ ャ ネルが動
作中は、 Halted ビ ッ ト (DMASR.Halted) がデ ィ アサー ト し ます。
3.
必要に応じ て、MM2S_DMACR.IOC_IrqEn と MM2S_DMACR.Err_IrqEn に 1 を書き込み、割 り 込みを有効に し ます。
4.
テール デ ィ ス ク リ プ タ レ ジ ス タ に有効なア ド レ ス を書 き 込みます。
5.
テール デ ィ ス ク リ プ タ レ ジ ス タ へ書 き 込む と 、 DMA は メ モ リ か ら デ ィ ス ク リ プ タ のフ ェ ッ チを開始 し ます。 マ
ルチチ ャ ネル構成の場合、 S2MM チ ャ ネルにパケ ッ ト が到着す る と デ ィ ス ク リ プ タ の フ ェ ッ チが開始 し ます。
6.
フ ェ ッ チ さ れたデ ィ ス ク リ プ タ が処理 さ れ、 メ モ リ か ら 読み出 し たデー タ が MM2S ス ト リ ー ミ ン グ チ ャ ネルへ
出力 さ れます。
S2MM チ ャ ネルに対す る DMA 動作は、 次のシーケ ン ス で設定お よ び開始 し ます。
1.
カ レ ン ト デ ィ ス ク リ プ タ レ ジ ス タ に最初のデ ィ ス ク リ プ タ のア ド レ ス を書 き 込みます。
2.
RS ビ ッ ト を 1 (S2MM_DMACR.RS = 1) にセ ッ ト し て S2MM チ ャ ネルの動作を開始 し ます。 S2MM チ ャ ネルが動
作中は、 Halted ビ ッ ト (DMASR.Halted) がデ ィ アサー ト し ます。
3.
必要に応じ て、S2MM_DMACR.IOC_IrqEn と S2MM_DMACR.Err_IrqEn に 1 を書き込み、割 り 込みを有効に し ます。
4.
テール デ ィ ス ク リ プ タ レ ジ ス タ に有効なア ド レ ス を書 き 込みます。
5.
テール デ ィ ス ク リ プ タ レ ジ ス タ へ書 き 込む と 、 DMA は メ モ リ か ら デ ィ ス ク リ プ タ の フ ェ ッ チを開始 し ます。
6.
フ ェ ッ チ さ れたデ ィ ス ク リ プ タ が処理 さ れ、 S2MM ス ト リ ー ミ ン グ チ ャ ネルか ら 受信 し たデー タ がすべて メ モ
リ に書 き 込ま れます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
60
第 3 章 : コ ア を使用するデザイ ン
サイ ク リ ッ ク DMA モー ド
BD チ ェ ーンの設定を一部変更す る と 、 AXI DMA をサ イ ク リ ッ ク モー ド で動作で き ます。 サ イ ク リ ッ ク モー ド では、
DMA は複数の同 じ BD を中断な し に フ ェ ッ チ し て処理 し ます。 こ の フ ェ ッ チ と 処理は、 DMA を停止す る か リ セ ッ ト
す る ま で継続 し ます。 サ イ ク リ ッ ク モー ド を有効にす る には、 図 3-2 に示 し た よ う に BD チ ェ ーン を設定 し ます。
X-Ref Target - Figure 3-2
%'
&ŝƌƐƚ;ϬdžϰϬͿ
%'
dĂŝů;ϬdžϭϬͿ
%'Q
図 3‐2 : BD チ ェ ーン
こ の設定では、 テール BD が最初の BD を指 し 示 し ます。 テール デ ィ ス ク リ プ タ レ ジ ス タ に役割はな く 、 DMA エン
ジ ン を開始す る ためだけに使用 し ます。 プ ロ グ ラ ム シーケ ン ス は 「ス キ ャ ッ タ ー /ギ ャ ザー モー ド 」 で説明 し た も の
と 同 じ です。 制御レ ジ ス タ のサ イ ク リ ッ ク BD イ ネーブル ビ ッ ト を セ ッ ト し てお く 必要があ り ます。
テール デ ィ ス ク リ プ タ レ ジ ス タ には、 BD チ ェ ーンに含まれない値を書き 込みます (例 : 0x50)。
テール デ ィ ス ク リ プ タ レ ジ ス タ に書 き 込む と 、DMA が リ ン グ状に構成 さ れた BD の フ ェ ッ チ と 処理を開始 し 、DMA
を停止ま たは リ セ ッ ト す る ま で こ の動作が継続 し ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
61
第 4章
デザイ ン フ ローの手順
こ の章では、 コ アのカ ス タ マ イ ズ と 生成、 制約、 お よ びシ ミ ュ レーシ ョ ン/合成/ イ ンプ リ メ ン テーシ ョ ンの手順につ
いて説明 し ます。一般的な IP イ ン テ グ レー タ ーの Vivado® デザ イ ン フ ロ ーについては、次の Vivado Design Suite ユー
ザー ガ イ ド を参照 し て く だ さ い。
•
『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1]
•
『Vivado Design Suite ユーザー ガ イ ド : 入門』 (UG910) [参照 4]
•
『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 5]
•
『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 6]
コ アのカ ス タ マ イ ズおよび生成
AXI DMA は、 Vivado IP カ タ ロ グの次の場所にあ り ます。
•
AXI_Infrastructure, Communication_&_Networking\Ethernet
•
Embedded_Processing\AXI_Infrastructure\DMA
Vivado 統合設計環境 (IDE) AXI DMA を利用す る には、 次の手順を実行 し ます。
1.
Vivado IDE で既存のプ ロ ジ ェ ク ト を開 く か、 新規プ ロ ジ ェ ク ト を作成 し ます。
2.
IP カ タ ロ グ を開 き 、 上記のいずれか を ク リ ッ ク し ます。
3.
[AXI Direct Memory Access] を ダブル ク リ ッ ク し て AXI DMA の [Customize IP] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] お よ び 『Vivado Design Suite ユー
ザー ガ イ ド : 入門』 (UG910) [参照 4] を参照 し て く だ さ い。
注記 : こ の章の図には Vivado IDE の ス ク リ ーン シ ョ ッ ト が使用 さ れてい ますが、現在のバージ ョ ン と はレ イ ア ウ ト が
異な る 場合があ り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
62
第 4 章 : デザイ ン フ ローの手順
Vivado IP イ ン テ グ レー タ ーで コ ア を カ ス タ マ イ ズお よ び生成す る 場合は、 『Vivado Design Suite ユーザー ガ イ ド : IP
イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 5] を参照 し て く だ さ い。 デザ イ ンの検証ま たは
生成時一部の設定値は Vivado IDE に よ っ て自動的に計算 さ れ る 場合があ り ます ( こ のセ ク シ ョ ンの 「補足」 参照)。 こ
れ ら のパ ラ メ ー タ ー値は、 validate_bd_design コ マ ン ド が正 し く 完了 し た後に確認で き ます。
X-Ref Target - Figure 4-1
図 4‐1 : [Customize IP] ダ イ ア ログ ボ ッ ク ス
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
63
第 4 章 : デザイ ン フ ローの手順
X-Ref Target - Figure 4-2
図 4‐2 : IP イ ン テグ レー タ ー フ ィ ール ド の説明
[Component Name]
こ の コ アに対 し て生成 さ れ る 出力フ ァ イ ルのベース名です。 最初の 1 文字は必ず小文字アルフ ァ ベ ッ ト と し 、 2 文字
目以降は a ~ z、 0 ~ 9、 ア ン ダース コ ア (_) を自由に組み合わせ る こ と がで き ます。
[Enable Asynchronous Clocks]
こ のチ ェ ッ ク ボ ッ ク ス を オ ン にす る と 、 MM2S イ ン タ ーフ ェ イ ス (m_axi_mm2s_aclk)、 S2MM イ ン タ ーフ ェ イ ス
(m_axi_s2mm_aclk)、 AXI4-Lite 制御 イ ン タ ー フ ェ イ ス (s_axi_lite_aclk)、 ス キ ャ ッ タ ー /ギ ャ ザー イ ン タ ー
フ ェ イ ス (m_axi_sg_aclk) がそれぞれ非同期に動作 し ます。 非同期 ク ロ ッ ク を有効に し た場合、 s_axi_lite_
aclk の周波数は m_axi_sg_aclk の周波数以下 と す る 必要が あ り ま す。 同様に、 m_axi_sg_aclk の周波数は
m_axi_mm2s_aclk と m_axi_s2mm_aclk の周波数の遅い方以下 と す る 必要があ り ます。 同期モー ド では、 すべて
の ク ロ ッ ク を同 じ ク ロ ッ ク 信号に接続す る 必要があ り ます。 こ のパ ラ メ ー タ ーは、 axi_dma に接続 さ れた ク ロ ッ ク に
基づいて Vivado IP イ ン テ グ レー タ ーが自動的に設定 し ます。
補足 : こ の IP を Vivado IP イ ン テ グ レー タ ーで使用する 場合、 こ のパ ラ メ ー タ ーは自動的に設定 さ れます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
64
第 4 章 : デザイ ン フ ローの手順
[Enable Scatter Gather Engine]
こ のチ ェ ッ ク ボ ッ ク ス を オンにす る と 、 ス キ ャ ッ タ ー /ギ ャ ザー モー ド の動作が有効にな り 、 AXI DMA に ス キ ャ ッ
タ ー /ギ ャ ザー エン ジ ンが追加 さ れます。 こ のチ ェ ッ ク ボ ッ ク ス を オ フ にす る と 、 シ ンプル DMA モー ド の動作が有
効にな り 、 AXI DMA か ら ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ンが除外 さ れます。 ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ン を無効
にす る と 、 ス キ ャ ッ タ ー /ギ ャ ザー エン ジ ン用の出力ポー ト はすべて 0 に固定 さ れ、 入力ポー ト はすべてオープンの
ま ま と な り ます。
[Enable Micro DMA]
こ のチ ェ ッ ク ボ ッ ク ス をオンにす る と 、 リ ソ ース使用量の少ない、 高度に最適化 さ れた DMA が生成 さ れます。 こ の
設定は、 デー タ 転送量の非常に少ないアプ リ ケーシ ョ ン で使用 し ます。 DMA は、 選択 し た設定に基づいてプ ロ グ ラ
ム し ます。 た と えば、 1 つの ト ラ ンザ ク シ ョ ン ま たは BD で転送可能な最大バ イ ト は、 次の値以下に設定す る 必要が
あ り ます。
MMap Data_width * Burst_length/8
同様に、 こ のモー ド では 4K 境界チ ェ ッ ク も 行われないため、 バース ト 境界へのア ド レ ッ シ ン グに制限が生 じ ます。
[Width of Buffer Length Register]
ス キ ャ ッ タ ー/ギ ャ ザー デ ィ ス ク リ プ タ のバ ッ フ ァ ー長 さ 制御フ ィ ール ド お よ び転送済みバ イ ト 数ス テー タ ス フ ィ ー
ル ド で使用す る 有効ビ ッ ト 数を整数値で指定 し ます。 [Use RxLength In Status Stream] を オン に し た場合、 ス テー タ ス
ス ト リ ームの APP4 フ ィ ール ド の RxLength の有効ビ ッ ト 数 も こ の値で決定 し ます。 シ ンプル DMA モー ド の場合、 こ
こ で指定 し た値が MM2S_LENGTH お よ び S2MM_LENGTH レ ジ ス タ の有効ビ ッ ト 数 と な り ます。 こ こ で指定 し た値
(Length Width) は、 ス キ ャ ッ タ ー / ギ ャ ザ ー デ ィ ス ク リ プ タ で 指定 さ れ る バ イ ト 数、 ま た は App4.RxLength、
MM2S_LENGTH、 S2MM_LENGTH で指定 さ れ る バ イ ト 数に直接関係 し ま す。 バ イ ト 数は 2Length Width です。 た と え
ば Length Width = 23 の場合、 バ イ ト 数は 8,388,607 バ イ ト と な り ます。
[Enable Multi Channel DMA]
こ のチ ェ ッ ク ボ ッ ク ス を オンにす る と マルチチ ャ ネル DMA が有効にな り 、MM2S お よ び S2MM チ ャ ネル両方のチ ャ
ネル数を選択で き ます。 詳細は、 第 2 章の 「マルチチ ャ ネル DMA サポー ト 」 を参照 し て く だ さ い。
[Enable Control/Status Stream]
こ のチ ェ ッ ク ボ ッ ク ス をオンにす る と 、 AXI4 制御/ス テー タ ス ス ト リ ームが有効にな り ます。 AXI4 制御ス ト リ ーム
は、MM2S チ ャ ネルに関す る ユーザー アプ リ ケーシ ョ ンの メ タ デー タ を タ ーゲ ッ ト IP に送信す る ために使用 し ます。
MM2S ス キ ャ ッ タ ー/ギ ャ ザー SOF (フ レーム開始) デ ィ ス ク リ プ タ (TXSOF = 1) のユーザー アプ リ ケーシ ョ ン フ ィ ー
ル ド 0 ~ 4 は m_axis_mm2s_cntrl ス ト リ ーム イ ン タ ーフ ェ イ ス で送信 さ れ、 関連する パケ ッ ト は m_axis_mm2s
ス ト リ ーム イ ン タ ーフ ェ イ ス で送信 さ れます。AXI4 ス テー タ ス ス ト リ ームは、S2MM チ ャ ネルに関する ユーザー ア
プ リ ケーシ ョ ン の メ タ デー タ を タ ーゲ ッ ト IP か ら 受信す る た めに使用 し ま す。 受信 し た ス テー タ ス パ ケ ッ ト は、
S2MM ス キ ャ ッ タ ー /ギ ャ ザー EOF (フ レーム終了) デ ィ ス ク リ プ タ のユーザー アプ リ ケーシ ョ ン フ ィ ール ド 0 ~ 4
に格納 さ れます。 こ れは、 パケ ッ ト の最後に関連付け ら れたデ ィ ス ク リ プ タ です。 こ の条件は、 更新 さ れたデ ィ ス ク
リ プ タ の ス テー タ ス ワ ー ド の受信フ レーム終了 (RXEOF = 1) に よ っ て示 さ れます。
読み出 し チ ャ ネルに関する オプ シ ョ ン
こ こ か ら のオプシ ョ ンは、 AXI DMA コ アの MM2S チ ャ ネルにのみ適用 さ れます。
[Enable Read Channel]
こ のチ ェ ッ ク ボ ッ ク ス で、 MM2S チ ャ ネルの有効/無効を指定 し ます。 MM2S チ ャ ネルを有効にす る と 、 メ モ リ か ら
AXI4-Stream への読み出 し 転送が可能にな り ます。 MM2S チ ャ ネルを無効にする と 、 こ の ロ ジ ッ ク が AXI DMA コ ア
か ら 除外 さ れます。 こ の場合、 MM2S チ ャ ネルの出力は 0 に固定 さ れ、 入力は AXI DMA に よ っ て無視 さ れます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
65
第 4 章 : デザイ ン フ ローの手順
[Number of Channels]
チ ャ ネル数を 1 ~ 16 の値で指定 し ます。
[Memory Map Data Width]
AXI MM2S メ モ リ マ ッ プ読み出 し デー タ バ ス のデー タ 幅を指定 し ます (単位 : ビ ッ ト )。 有効な値は、 32、 64、 128、
256、 512、 1,024 です。
[Stream Data Width]
AXI MM2S AXI4-Stream デー タ バ ス のデー タ 幅を指定 し ます (単位 : ビ ッ ト )。 [Memory Map Data Width] で指定 し た値
よ り も 大 き い値は指定で き ません。 有効な値は、 8、 16、 32、 64、 128、 512、 1,024 です。
[Max Burst Size] バース ト 分割の粒度を設定 し ます。 MM2S の AXI4 メ モ リ マ ッ プ側のバース ト サ イ ク ルの最大サ イ ズ を指定 し ます。
有効な値は、 2、 4、 8、 16、 32、 64、 128、 256 です。
[Allow Unaligned Transfers]
MM2S デー タ 再ア ラ イ メ ン ト エン ジ ン (DRE) の有効/無効を指定 し ます。こ のチ ェ ッ ク ボ ッ ク ス を オンにす る と DRE
が有効にな り 、 MM2S メ モ リ マ ッ プ デー タ パ ス のデー タ がバ イ ト (8 ビ ッ ト ) レベルで再ア ラ イ ン さ れ ます。 MM2S
チ ャ ネルでは、 デー タ が メ モ リ か ら 読み出 さ れます。 DRE を有効に し た場合、 任意のバ ッ フ ァ ー ア ド レ ス バ イ ト オ
フ セ ッ ト か ら デー タ 読み出 し を開始で き 、 最初に読み出 し たバ イ ト が最初の有効なバ イ ト と し て AXI4-Stream か ら 出
力 さ れ る よ う に読み出 し デー タ のア ラ イ メ ン ト が調整 さ れます。
注記 : DRE を無効に し たチ ャ ネルでは、 ア ラ イ ン さ れていないバ ッ フ ァ ー ア ド レ ス、 ソ ース ア ド レ ス、デス テ ィ ネー
シ ョ ン ア ド レ ス はサポー ト さ れません。 DRE が無効な場合、 こ れ ら のア ド レ ス がア ラ イ ン さ れていない と 未定義の
結果 と な り ます。 DRE は、 AXI4-Stream のデー タ 幅を 64 ビ ッ ト 以下に設定 し た場合のみサポー ト さ れます。
書き込みチ ャ ネルに関する オプ シ ョ ン
こ こ か ら のオプシ ョ ンは、 AXI DMA コ アの S2MM チ ャ ネルにのみ適用 さ れます。
[Enable Write Channel]
こ のチ ェ ッ ク ボ ッ ク ス で、 S2MM チ ャ ネルの有効/無効を指定 し ます。 S2MM チ ャ ネルを有効にする と 、 AXI4-Stream
か ら メ モ リ への書 き 込み転送が可能にな り ます。 S2MM チ ャ ネルを無効にする と 、 こ の ロ ジ ッ ク が AXI DMA コ アか
ら 除外 さ れます。 こ の場合、 S2MM チ ャ ネルの出力は 0 に固定 さ れ、 入力は AXI DMA に よ っ て無視 さ れます。
[Number of Channels]
チ ャ ネル数を 1 ~ 16 の値で指定 し ます。
[Memory Map Data Width]
AXI S2MM メ モ リ マ ッ プ書 き 込みデー タ バ ス のデー タ 幅を指定 し ます (単位 : ビ ッ ト )。 有効な値は、 32、 64、 128、
256、 512、 1,024 です。
補足 : Vivado IP イ ン テ グ レー タ ーでは、 こ のパ ラ メ ー タ ーは ス ト リ ー ミ ン グ イ ン タ ーフ ェ イ ス のデー タ 幅に基づい
て自動的に設定 さ れます。 こ のパ ラ メ ー タ ーを変更す る 場合は、 ス イ ッ チを [Manual] に し て く だ さ い。
[Stream Data Width]
AXI S2MM AXI4-Stream デー タ バ ス のデー タ 幅を指定 し ます (単位 : ビ ッ ト )。 [Memory Map Data Width] で指定 し た値
よ り も 大 き い値は指定で き ません。 有効な値は、 8、 16、 32、 64、 128、 512、 1,024 です。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
66
第 4 章 : デザイ ン フ ローの手順
補足 : IP を Vivado IP イ ン テ グ レー タ ーで使用す る 場合、 こ のパ ラ メ ー タ ーは s_axis_s2mm イ ン タ ーフ ェ イ スへの接
続に基づいて自動的に設定 さ れます。
[Max Burst Size]
S2MM チ ャ ネルの AXI4 メ モ リ マ ッ プ側のバース ト サ イ ク ルの最大サ イ ズ を指定 し ます。 つま り 、 バース ト マ ッ ピ
ン グの粒度を こ こ で設定 し ます。 有効な値は、 2、 4、 8、 16、 32、 64、 128、 256 です。
[Allow Unaligned Transfers]
S2MM デー タ 再ア ラ イ メ ン ト エン ジ ン (DRE) の有効/無効を指定 し ます。こ のチ ェ ッ ク ボ ッ ク ス を オンにす る と DRE
が有効にな り 、 S2MM メ モ リ マ ッ プ デー タ パ ス のデー タ がバ イ ト (8 ビ ッ ト ) レベルで再ア ラ イ ン さ れ ます。 S2MM
チ ャ ネルでは、 デー タ が メ モ リ に書 き 込まれます。 DRE を有効に し た場合、 任意のバ ッ フ ァ ー ア ド レ ス バ イ ト オ フ
セ ッ ト か ら デー タ 書 き 込みを開始で き 、 書き 込みデー タ は S2MM AXI4-Stream で最初に読み出 し たバ イ ト が指定 し た
(ア ラ イ ン さ れていない) ア ド レ ス オ フ セ ッ ト に書 き 込まれ る よ う にア ラ イ ン さ れます。
注記 : DRE を無効に し たチ ャ ネルでは、 ア ラ イ ン さ れていないバ ッ フ ァ ー ア ド レ ス、 ソ ース ア ド レ ス、デス テ ィ ネー
シ ョ ン ア ド レ ス はサポー ト さ れません。 DRE が無効な場合、 こ れ ら のア ド レ ス がア ラ イ ン さ れていない と 未定義の
結果 と な り ます。 DRE は、 AXI4-Stream のデー タ 幅を 64 ビ ッ ト 以下に設定 し た場合のみサポー ト さ れます。
[Use RxLength in Status Stream]
制御/ス テー タ ス ス ト リ ーム を有効に し てい る 場合、こ のチ ェ ッ ク ボ ッ ク ス を オンにす る と 、AXI DMA は S2MM タ ー
ゲ ッ ト IP か ら ス テー タ ス パケ ッ ト の APP4 フ ィ ール ド で送信 さ れた RxLength フ ィ ール ド を使用 し ます。 あ ら か じ め
決ま っ た受信バ イ ト 数が通知 さ れ る ため、 AXI DMA は正確なバ イ ト 数に基づいて転送 コ マ ン ド を発行で き ます。
こ のオプ シ ョ ン を使用す る と 、 高 ス ループ ッ ト が必要 と さ れ る シ ス テ ム で帯域幅を拡大で き ま す。 こ の設定では、
S2MM タ ーゲ ッ ト IP は ス テー タ ス パケ ッ ト の APP4 の RxLength フ ィ ール ド で指定 し たすべてのデー タ バ イ ト を送
信で き ます。
出力生成
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] を参照 し て く だ さ い。
コ アへの制約
必要な XDC 制約は、 Vivado Design Suite で コ ア生成時に提供 さ れます。
必須の制約
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
デバイ ス、 パ ッ ケージ、 ス ピー ド グ レー ド の選択
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
ク ロ ッ ク 周波数
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
67
第 4 章 : デザイ ン フ ローの手順
ク ロ ッ ク 管理
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
ク ロ ッ ク 配置
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
バン ク設定
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
ト ラ ン シーバー配置
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
I/O 規格 と 配置
こ のセ ク シ ョ ンは、 こ の IP コ アには適用 さ れません。
シ ミ ュ レーシ ョ ン
こ のセ ク シ ョ ンでは、Vivado Design Suite での IP シ ミ ュ レーシ ョ ンについて説明 し ます。Vivado シ ミ ュ レーシ ョ ン コ
ン ポーネ ン ト について、 ま たサポー ト さ れてい る サー ド パーテ ィ ツールについては、 『Vivado Design Suite ユーザー
ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 6] を参照 し て く だ さ い。
合成および イ ン プ リ メ ン テーシ ョ ン
こ のセ ク シ ョ ン では、 Vivado Design Suite での合成お よ び イ ン プ リ メ ン テーシ ョ ンについて説明 し ます。 合成お よ び
イ ンプ リ メ ン テーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] を参
照 し て く だ さ い。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
68
第 5章
サン プル デザイ ン
こ の章では、 Vivado® Design Suite で提供 さ れてい る サンプル デザ イ ンについて説明 し ます。
最上位モジ ュ ールは、こ の コ アお よ びサンプル デザ イ ン をハー ド ウ ェ アに実装す る ために必要なすべての コ ン ポーネ
ン ト を イ ン ス タ ン シ エー ト し て い ま す (図 5-1)。 こ れには、 ク ロ ッ ク ジ ェ ネ レ ー タ ー (MMCME2)、 レ ジ ス タ 設定、
デー タ ジ ェ ネ レー タ ー、 デー タ チ ェ ッ カー モジ ュ ールが含まれます。
X-Ref Target - Figure 5-1
фŽŵƉŽŶĞƚŶĂŵĞхͺĞdžĚĞƐ͘ǀŚĚ
;ƚŽƉͿ
^'ZD
y/^'
ZĞĂĚĂƚĂ'ĞŶĞƌĂƚŽƌ
y/^Z
y/ϰZ
ZĞĂĚĂƚĂŚĞĐŬĞƌ
ĂdžŝƐͺĚĂƚĂͺƌĞĂĚ͘ǀŚĚ
ĂdžŝϰͺǁƌŝƚĞͺŵĂƐƚĞƌ͘ǀŚĚ
ZĞĂĚdZ>ŚĞĐŬĞƌ
ĂdžŝƐͺĐƚƌůͺƌĞĂĚ͘ǀŚĚ
hd
y/^tZ
tƌŝƚĞĂƚĂŚĞĐŬĞƌ
y/ϰtZ
tƌŝƚĞĂƚĂ'ĞŶĞƌĂƚŽƌ
ĂdžŝƐͺǁƌŝƚĞͺŵĂƐƚĞƌ͘ǀŚĚ
ĂdžŝͺƐϮŵŵͺƌĞĂĚ͘ǀŚĚ
dŽĞdžĂŵƉůĞ
ĚĞƐŝŐŶ
ŵŽĚƵůĞƐ
ĐůŽĐŬͺŝŶ
ůŽĐŬ'ĞŶĞƌĂƚŽƌ
ƌĞƐĞƚ
tƌŝƚĞĂƚĂ'ĞŶĞƌĂƚŽƌ
ĂdžŝƐͺƐƚƐͺŵĂƐƚĞƌ͘ǀŚĚ
y/>ŝƚĞ
y/>ŝƚĞ
ZĞŐŝƐƚĞƌ
ĐŽŶĨŝŐƵƌĂƚŝŽŶ
ĚŽŶĞ
ƐƚĂƚƵƐ
ĐůŽĐŬͺŐĞŶ͘ǀŚĚ
図 5‐1 : サン プル デザイ ンのブ ロ ッ ク図
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
69
第 5 章 : サン プル デザイ ン
こ のサンプル デザ イ ンでは、 DUT の AXI4-Lite、 AXI4、 AXI4-Stream イ ン タ ーフ ェ イ ス上の ト ラ ンザ ク シ ョ ン を評価
で き ます。
ク ロ ッ ク ジ ェ ネ レー タ ー : サンプル デザ イ ンに対す る ク ロ ッ ク は、MMCME2 で生成 し ます。DUT が同期モー ド の場
合、MMCME2 はサンプル デザ イ ンのすべての AXI イ ン タ ーフ ェ イ ス に対 し て 100MHz ク ロ ッ ク を生成 し ます。非同
期モー ド の場合、MMCME2 は AXI4-Stream イ ン タ ーフ ェ イ ス用に 50MHz ク ロ ッ ク 、AXI4 お よ び AXI4-Lite イ ン タ ー
フ ェ イ ス用に 100MHz ク ロ ッ ク を生成 し ます。 DUT お よ びサ ンプル デザ イ ンのその他のモジ ュ ールは MMCME2 が
ロ ッ ク す る ま で リ セ ッ ト 状態の ま ま です。
レ ジ ス タ 設定モジ ュ ール : こ のモジ ュ ールは、 第 3 章の 「プ ロ グ ラ ム シーケ ン ス」 で説明 し たプ ロ グ ラ ム シーケ ン ス
に従っ て DUT の レ ジ ス タ を設定 し ま す。 こ のモ ジ ュ ールは、 こ れ ら の レ ジ ス タ への書 き 込み用に設定 AXI Traffic
Generator モジ ュ ールです。 詳細は、 『LogiCORE IP AXI Traffic Generator 製品ガ イ ド 』 (PG125) [参照 7] を参照 し て く だ
さ い。
読み出 し パ ス ジ ェ ネ レー タ ー : こ のモジ ュ ールは AXI ブ ロ ッ ク RAM を使用 し 、 MMCME2 が ロ ッ ク さ れた後、 こ の
AXI ブ ロ ッ ク RAM に決ま っ た数の転送を書 き 込みます。MM2S チ ャ ネルは こ の AXI ブ ロ ッ ク RAM を読み出 し 、デー
タ を AXI4-Stream イ ン タ ーフ ェ イ スへ転送 し ます。
読み出 し パ ス チ ェ ッ カー : こ のモジ ュ ールは、 MM2S AXI4-Stream イ ン タ ーフ ェ イ ス で転送 さ れ る デー タ をチ ェ ッ ク
し ます。
読み出 し パ ス CTRL チ ェ ッ カー : こ のモジ ュ ールは、 MM2S AXI4-Stream 制御 イ ン タ ーフ ェ イ ス で転送 さ れ る デー タ
をチ ェ ッ ク し ます。
書 き 込みパ ス ジ ェ ネ レー タ ー : 書 き 込み (S2MM) チ ャ ネルを構成 し た場合、 こ のモジ ュ ールは S2MM AXI4-Stream イ
ン タ ーフ ェ イ ス に ト ラ ンザ ク シ ョ ン (決ま っ た数の転送) を駆動 し ます。
書 き 込みパ ス STS ジ ェ ネ レー タ ー : こ のモジ ュ ールは S2MM STS デー タ ス ト リ ーム を生成 し ます。
書 き 込みパ ス チ ェ ッ カー : こ のモジ ュ ールは AXI4 イ ン タ ーフ ェ イ ス で受信 し たデー タ をチ ェ ッ ク し ます。 AXI4 イ
ン タ ーフ ェ イ ス で受信 し たデー タ は別の AXI ブ ロ ッ ク RAM に も 書き 込まれます。
MMCME2 が ロ ッ ク す る と チ ェ ッ ク がただちに開始 し ま す。 すべての ト ラ ン ザ ク シ ョ ン が完了す る と 、 Done ピ ン が
High にアサー ト さ れます。 同様に、 デー タ の整合性チ ェ ッ ク に成功す る と ス テー タ ス ピ ンが High にアサー ト さ れま
す。 こ れ ら 2 本の ピ ン を LED に接続す る と 、 テ ス ト の状態がわか り ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
70
第 5 章 : サン プル デザイ ン
サン プル デザイ ンのイ ン プ リ メ ン テーシ ョ ン
第 4 章 「デザ イ ン フ ロ ーの手順」 で説明 し た手順を実行 し た ら 、 次の手順に従っ てサ ンプル デザ イ ン を イ ンプ リ メ
ン ト し ます。
1.
[Hierarchy] ペ イ ンで コ ア を右 ク リ ッ ク し 、 [Open IP Example Design] を ク リ ッ ク し ます。
2.
新 し く 開いた ウ ィ ン ド ウ で、 サンプル デザ イ ンのデ ィ レ ク ト リ を指定 し ます。 デフ ォ ル ト のデ ィ レ ク ト リ の ま ま
にす る か、 別のデ ィ レ ク ト リ を選択 し て く だ さ い。
選択 し たデ ィ レ ク ト リ に新 し いプ ロ ジ ェ ク ト が自動的に作成 さ れ、 新 し い Vivado IDE ウ ィ ン ド ウ でプ ロ ジ ェ ク
ト が開 き ます。
3.
Flow Navigator (左側のペ イ ン) で [Run Implementation] を ク リ ッ ク し 、 指示に従い ます。
サン プル デザイ ンのデ ィ レ ク ト リ 構造
現在のプ ロ ジ ェ ク ト デ ィ レ ク ト リ に <component_name>_example と い う 名前の新 し いプ ロ ジ ェ ク ト が作成 さ れ、
こ のデ ィ レ ク ト リ に フ ァ イ ルが生成 さ れ ま す。 AXI DMA コ ン ト ロ ー ラ ーのサ ン プル デザ イ ン作成に必要な ソ ー ス
フ ァ イ ルは、 すべて こ のデ ィ レ ク ト リ と そのサブデ ィ レ ク ト リ にあ り ます。
表 5-1 に、 サンプル デザ イ ンに含まれ る フ ァ イ ルを示 し ます。
表 5‐1 : サン プル デザイ ンのデ ィ レ ク ト リ
名前
説明
<component_name>_exdes.vhd
サンプル デザ イ ンの最上位 HDL フ ァ イ ル
axi_lite_sm.vhd
サンプル デザ イ ンの レ ジ ス タ 設定フ ァ イ ル ( こ の フ ァ イ ルは、デフ ォ ル
ト では使用 し な い。 <component_name>_exdes.vhd を 書 き 換 え る
と 、 AXI Traffic Generator の代わ り に こ のフ ァ イ ルを使用可)
clock_gen.vhd
サンプル デザ イ ンの ク ロ ッ ク 生成モジ ュ ール
axi4_write_master.vhd
サンプル デザ イ ンの読み出 し パス デー タ ジ ェ ネ レー タ ー モジ ュ ール
axis_data_read.vhd
サンプル デザ イ ンの読み出 し パス デー タ チ ェ ッ カー モジ ュ ール
axis_write_master.vhd
サンプル デザ イ ンの書き 込みパス デー タ ジ ェ ネ レー タ ー モジ ュ ール
axi_s2mm_read.vhd
サンプル デザ イ ンの書き 込みパス デー タ チ ェ ッ カー モジ ュ ール
axis_ctrl_read.vhd
MM2S CTRL デー タ チ ェ ッ カー
axis_sts_master.vhd
S2MM STS デー タ ジ ェ ネ レー タ ー
sg_mif.coe
BD を格納する ためにブ ロ ッ ク メ モ リ が使用す る COE フ ァ イ ル
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
71
第 5 章 : サン プル デザイ ン
表 5-2 に、 シ ミ ュ レーシ ョ ンの実行に使用す る テ ス ト ベンチ フ ァ イ ルを示 し ます。
表 5‐2 : Simulation デ ィ レ ク ト リ
名前
説明
<component_name>_exdes_tb.vhd
サンプル デザ イ ンのテ ス ト ベンチ。
表 5-3 に、 サンプル デザ イ ンの イ ンプ リ メ ン ト に必要な XDC フ ァ イ ルを示 し ます。
表 5‐3 : Constraints デ ィ レ ク ト リ
名前
説明
<component_name>_exdes.xdc
サンプル デザ イ ンの最上位制約フ ァ イ ル。
サンプル デザ イ ンの付属の XDC フ ァ イ ルには、 KC705 ボー ド 用の I/O ピ ン設定がすべて含まれてい ます。 こ れ ら の
制約条件は、 デフ ォ ル ト では コ メ ン ト ア ウ ト さ れてい ます。 KC705 ボー ド を使用 し て イ ンプ リ メ ン ト す る 場合は、 事
前に コ メ ン ト ア ウ ト を解除 し ておいて く だ さ い。
サン プル デザイ ンのシ ミ ュ レーシ ョ ン
AXI DMA に付属の AXI DMA サ ン プル デザ イ ン を使用す る と 、 AXI DMA の動作を簡単にシ ミ ュ レーシ ョ ン し て観
察で き ます。
シ ミ ュ レーシ ョ ン結果
こ のシ ミ ュ レーシ ョ ン ス ク リ プ ト は、 まず AXI DMA サンプル デザ イ ンお よ び関連する シ ミ ュ レーシ ョ ン フ ァ イ ル
を コ ンパ イ ル し ます。 次にシ ミ ュ レーシ ョ ン を実行 し 、 成功 し たか ど う かを確認 し ます。
テ ス ト に失敗す る と 、 次の メ ッ セージが表示 さ れます : Test Failed !!!
テ ス ト に成功す る と 、 次の メ ッ セージが表示 さ れます : Test Completed Successfully
テ ス ト がハン グす る と 、 次の メ ッ セージが表示 さ れます : Test Failed !!Test Timed Out
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
72
第 5 章 : サン プル デザイ ン
サン プル デザイ ンのテ ス ト ベン チ
こ のセ ク シ ョ ンでは、 Vivado Design Suite で提供 さ れてい る テ ス ト ベンチについて説明 し ます。
X-Ref Target - Figure 5-2
ƚŽƉͺƚď
ĐůŽĐŬͺŝŶ
ůŽĐŬΘƌĞƐĞƚ
ŐĞŶĞƌĂƚŝŽŶ
ƌĞƐĞƚ
фĐŽŵƉŽŶĞŶƚŶĂŵĞхͺĞdž
ĚĞƐ͘ǀŚĚ
;ƚŽƉͿ
ƐƚĂƚƵƐ
dĞƐƚ^ƚĂƚƵƐ
ĚŽŶĞ
図 5‐2 : AXI DMA サン プル デザイ ンのテ ス ト ベン チ
図 5-2 に、 AXI DMA サンプル デザ イ ンのテ ス ト ベンチを示 し ます。 最上位のテ ス ト ベンチは 200MHz の差動 ク ロ ッ
ク を生成 し 、 サンプル デザ イ ンに対す る 最初の リ セ ッ ト 信号を駆動 し ます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
73
付録 A
移行およびア ッ プグ レー ド
こ の付録には、 ISE® か ら Vivado® Design Suite へデザ イ ン を移行す る 際の情報、 お よ び最新版 IP コ アへのア ッ プグ
レ ー ド に関す る 情報が記載 さ れて い ま す。 Vivado Design Suite で ア ッ プ グ レ ー ド す る 場合のポー ト 変更お よ びユー
ザー ロ ジ ッ ク への影響 と い っ た重要な情報 も こ こ に記載 さ れてい ます。
Vivado Design Suite への移行
ISE か ら Vivado Design Suite への移行方法については、 『Vivado Design Suite 移行手法ガ イ ド 』 (UG911) [参照 8] を参照
し て く だ さ い。
Vivado Design Suite でのア ッ プグ レー ド
こ のセ ク シ ョ ンでは、 Vivado Design Suite で こ の IP コ アの最新版にア ッ プグ レー ド す る 際の、 ユーザー ロ ジ ッ ク お よ
びポー ト の変更について説明 し ます。 こ の コ アには、 パ ラ メ ー タ ー と ポー ト の変更はあ り ません。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
74
付録 B
デバ ッ グ
こ の付録では、 ザ イ リ ン ク ス サポー ト ウ ェ ブサ イ ト よ り 入手可能な リ ソ ースお よ びデバ ッ グ ツールについて説明 し
ます。
ザイ リ ン ク ス ウ ェ ブサイ ト
AXI DMA コ ア を使用 し た設計お よ びデバ ッ グでヘルプが必要な場合は、 ザ イ リ ン ク ス サポー ト ウ ェ ブ ページか ら
製品の資料、 リ リ ース ノ ー ト 、 ア ンサーな ど を参照する か、 テ ク ニ カル サポー ト でケース を開いて く だ さ い。
資料
こ の製品ガ イ ド は AXI DMA コ アに関す る 主要資料です。 こ のガ イ ド 並びに全製品の設計プ ロ セ ス をサポー ト する 資
料はすべて、 ザ イ リ ン ク ス サポー ト ウ ェ ブ ページ (http://japan.xilinx.com/support) ま たはザ イ リ ン ク スの Documentation
Navigator か ら 入手で き ます。
Documentation Navigator は、ダ ウ ン ロ ー ド ページ (japan.xilinx.com/download) の [デザ イ ン ツール] タ ブか ら ダ ウ ン ロ ー
ド で き ます。 こ の ツールの詳細お よ び機能は、 イ ン ス ト ール後にオン ラ イ ン ヘルプ を参照 し て く だ さ い。
ア ンサー
ア ンサーには、 よ く 発生す る 問題についてその解決方法、 お よ びザ イ リ ン ク ス製品に関す る 既知の問題な ど の情報が
記載 さ れてい ます。ア ンサーは、ユーザーが該当製品の最新情報にア ク セ ス で き る よ う 作成お よ び管理 さ れてい ます。
こ の コ アに関す る ア ンサーの検索には、 ザ イ リ ン ク ス サポー ト ウ ェ ブ ページにあ る 検索ボ ッ ク ス を使用 し ます。 よ
り 的確な検索結果を得 る には、 次の よ う な キーワー ド を使用 し て く だ さ い。
•
製品名
•
ツールで表示 さ れ る メ ッ セージ
•
問題の概要
検索結果は、 フ ィ ル タ ー機能を使用 し て さ ら に絞 り 込む こ と がで き ます。
マ ス タ ー ア ンサー : AXI DMA コ ア
AR : 54416
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
75
付録 B : デバ ッ グ
テ ク ニ カル サポー ト
ザ イ リ ン ク ス では、 製品資料に記述 さ れてい る よ う に、 japan.xilinx.com/support か ら こ の LogiCORE™ IP 製品のテ ク ニ
カル サポー ト を提供 し てい ます。 資料で定義 さ れていないデバ イ ス に イ ンプ リ メ ン ト し た り 、 製品資料で記述 さ れて
い る 範囲を超えて カ ス タ マ イ ズ し た り 、 あ る いは 「DO NOT MODIFY」 と 記述 さ れてい る デザ イ ン セ ク シ ョ ンに変更
を加えた り し た場合、 タ イ ミ ン グ、 機能、 製品サポー ト は保証 さ れません。
ザ イ リ ン ク ス では、 さ ら にヘルプが必要な カ ス タ マーに対 し て、 テ ク ニ カル サポー ト を提供 し てい ます。
テ ク ニ カル サポー ト へのお問い合わせ方法は、 次の と お り です。
1.
http://japan.xilinx.com/support にア ク セ ス し ます。
2.
「その他の リ ソ ース」 の下の [ ウ ェ ブケース を作成] リ ン ク を ク リ ッ ク し 、 ウ ェ ブケース を開き ます。
ウ ェ ブケース を作成す る 際は、 次の情報を含めて く だ さ い。
•
パ ッ ケージお よ びデバ イ ス ス ピー ド グ レー ド を含む タ ーゲ ッ ト FPGA の情報
•
該当す る すべてのザ イ リ ン ク ス デザ イ ン ツール と シ ミ ュ レー タ の ソ フ ト ウ ェ ア バージ ョ ン
•
問題に よ っ ては、 フ ァ イ ルの追加を求め ら れ る 場合があ り ます。 ウ ェ ブケース に含め る 特定フ ァ イ ルについては、
こ の資料の関連セ ク シ ョ ン を参照 し て く だ さ い。
注記 : すべての問題が ウ ェ ブ ケー ス の利用対象にな る わけではあ り ま せん。 ウ ェ ブ ケー ス ツールに ロ グ イ ン し てサ
ポー ト オプシ ョ ン を確認 し て く だ さ い。
Vivado ラ ボ ツール
Vivado® ラ ボ ツールは、 Logic Analyzer (ILA) お よ び Virtual I/O (VIO) コ ア をユーザーのデザ イ ンに直接挿入 し ます。
Vivado ラ ボ ツールを使用す る と 、 ト リ ガー条件を設定 し て、 ハー ド ウ ェ アでアプ リ ケーシ ョ ンお よ び統合ブ ロ ッ ク の
ポー ト 信号をハー ド ウ ェ アに取 り 込む こ と がで き ます。 取 り 込まれた信号は、 その後解析で き ます。 Vivado IDE の こ
の機能は、 ザ イ リ ン ク ス デバ イ ス で実行 さ れ る デザ イ ンの論理デバ ッ グ と 検証に使用 さ れます。
Vivado ロ ジ ッ ク アナ ラ イ ザーは次の論理デバ ッ グ IP コ ア と 共に使用 さ れます。
•
ILA 2.0 (お よ びそれ以降のバージ ョ ン)
•
VIO 2.0 (お よ びそれ以降のバージ ョ ン)
い く つかの内部信号はデバ ッ グ信号 と し てマーク さ れています。 こ れら は簡単に ロ ジ ッ ク アナ ラ イザーに追加で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 9] を参照 し て く だ さ い。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
76
付録 B : デバ ッ グ
ハー ド ウ ェ ア デバ ッ グ
ハー ド ウ ェ アの問題は、 リ ン ク 立ち上げ時の問題か ら 、 何時間 も のテ ス ト の後に発生す る 問題ま で さ ま ざ ま です。 こ
こ では、 一般的な問題のデバ ッ グ手順を説明 し ます。 Vivado ラ ボ ツールは、 ハー ド ウ ェ ア デバ ッ グに有益な リ ソ ー
ス です。 次の各セ ク シ ョ ンに示す信号を Vivado ラ ボ ツールでプ ロ ーブする こ と で、 個々の問題をデバ ッ グで き ます。
次に、 よ く あ る 問題 と その解決方法を示 し ます。
•
BD リ ン グ を プ ロ グ ラ ム し たが、 何 も 動作 し ない。 DMA を開始する 際に、 正 し い手順で レ ジ ス タ に書 き 込む必要
があ り ます。 「プ ロ グ ラ ム シーケ ン ス」、 「デ ィ ス ク リ プ タ の管理」 を参照 し て く だ さ い。
•
ス テー タ ス レ ジ ス タ の内部エ ラ ー /エ ラ ー ビ ッ ト がセ ッ ト さ れてい る 。
°
デ ィ ス ク リ プ タ で指定 し た BTT が 0 の場合、 内部エ ラ ー ビ ッ ト がセ ッ ト さ れます。
°
フ ェ ッ チ し た BD の完了ビ ッ ト が既にセ ッ ト さ れてい る 場合、 SG 内部エ ラ ー ビ ッ ト がセ ッ ト さ れます。
°
その他、 デ コ ー ド エ ラ ーやス レーブ エ ラ ーな ど のエ ラ ー ビ ッ ト も イ ン タ ー コ ネ ク ト ま たは ス レーブか ら の
応答に応 じ てセ ッ ト さ れます。
°
•
詳細は、 「エ ラ ー」 を参照 し て く だ さ い。
あ る ア ド レ ス か ら 読み出 し たデー タ の順番が正 し く ない。
開始ア ド レ ス が境界にア ラ イ ン し てい る か ど う か確認 し て く だ さ い。 境界にア ラ イ ン し ていない場合、 DMA の
設定で DRE を有効に し て く だ さ い。
デバ イ ス、 ソ フ ト ウ ェ ア ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ー も 参照 し て く だ
さ い。 デザ イ ン ア シ ス タ ン ト 、 デザ イ ン ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト の ヒ ン ト な ど が含まれます。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
77
付録 C
その他の リ ソ ースおよび法的通知
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て
く だ さ い。
ザ イ リ ン ク ス の資料で使用 さ れてい る 技術用語については、 ザ イ リ ン ク ス用語集を参照 し て く だ さ い。
参考資料
ザ イ リ ン ク ス の資料は、 japan.xilinx.com/support で検索で き ます。
1.
『Vivado® Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896)
2.
『AXI リ フ ァ レ ン ス ガ イ ド 』 (UG761)
3.
『AMBA® AXI and ACE Protocol Specification』 (ARM IHI 0022D)
4.
『Vivado Design Suite ユーザー ガ イ ド : 入門』 (UG910)
5.
『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
6.
『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900)
7.
『LogiCORE™ IP AXI Traffic Generator 製品ガ イ ド 』 (PG125)
8.
『Vivado Design Suite ユーザー ガ イ ド : 移行手法ガ イ ド 』 (UG911)
9.
『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
10. 『LogiCORE IP AXI Interconnect 製品ガ イ ド 』 (PG059)
11. 『合成/シ ミ ュ レーシ ョ ン デザ イ ン ガ イ ド 』 (UG626)
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
78
付録 C : その他の リ ソ ースおよび法的通知
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2014 年 4 月 2 日
7.1
• AXI Traffic Generator に関する 情報を追加
• オプシ ョ ンのマ イ ク ロ DMA に関する 情報を追加
• I/O 信号に axi_dma_tstvec を追加
2013 年 12 月 18 日
7.1
UltraScale™ アーキテ ク チ ャ のサポー ト を追加
2013 年 10 月 2 日
7.1
•
•
•
•
•
•
サンプル デザ イ ン を追加
サ イ ク リ ッ ク BD イ ネーブルを追加
S2MM_CONTROL レ ジ ス タ の ビ ッ ト 26 お よ び 27 を変更
ス ク リ ーン シ ョ ッ ト を変更
IP イ ン テ グ レー タ ーに関する 情報を追加
マ イ ク ロ DMA イ ネーブルのオプシ ョ ン を追加
2013 年 3 月 20 日
7.0
•
•
•
•
•
•
コ アのバージ ョ ン番号 と 一致す る よ う に リ ビ ジ ョ ン番号を 7.0 に変更
Vivado Design Suite お よ びコ ア バージ ョ ン 7.0 用に内容を変更
デバ ッ グに関す る 付録を更新
第 4 章の ス ク リ ーン シ ョ ッ ト を 1 つ削除、 1 つ変更
ISE、 CORE Generator™、 Virtex®-6、 お よ び Spartan®-6 に関す る 説明を削除
第 3 章の設計パ ラ メ ー タ ーお よ び AXI DMA シ ス テ ム コ ン フ ィ ギ ュ レーシ ョ
ンのセ ク シ ョ ン を削除
2012 年 12 月 18 日
3.2
•
•
•
•
•
•
•
2012 年 10 月 16 日
3.1
ISE 14.3/Vivado Design Suite 2012.3 用に内容を変更
文書全体の内容を整理
2012 年 7 月 25 日
3.0
コ アの変更点を要約
• Vivado ツールのサポー ト と Zynq®-7000 のサポー ト を追加
2012 年 4 月 24 日
2.0
コ アの変更点を要約
• VHDL のサポー ト を追加
• 2D ト ラ ンザ ク シ ョ ンのサポー ト を追加
• VHDL のサポー ト を追加
• AXI メ モ リ 側 イ ン タ ーフ ェ イ ス のキ ャ ッ シ ュ お よ びユーザー制御を追加
2011 年 10 月 19 日
1.0
初版
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
内容
ISE 14.4/Vivado 2012.4 お よ びコ ア バージ ョ ン 6.03a 用に内容を変更。
デバ ッ グに関す る 付録を更新
第 4 章の ス ク リ ーン シ ョ ッ ト を変更
図 1-1 を差 し 替え
表 2-1 「最大周波数」 のデバ イ ス を更新
表 2-4、 2-5、 2-6 の リ ソ ース の数値を更新
イ ン タ ー コ ネ ク ト パ ラ メ ー タ ー と パ ラ メ ー タ ーの可能な組み合わせに関する
セ ク シ ョ ン を削除
• 第 4 章お よ び第 7 章の出力生成に関する セ ク シ ョ ン を更新
japan.xilinx.com
79
付録 C : その他の リ ソ ースおよび法的通知
法的通知
The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extent
permitted by applicable law: (1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND
CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort,
including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection
with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage
(including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such
damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes no obligation to correct any
errors contained in the Materials or to notify you of updates to the Materials or to product specifications. You may not reproduce, modify, distribute,
or publicly display the Materials without prior written consent. Certain products are subject to the terms and conditions of Xilinx's limited warranty,
please refer to Xilinx's Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support
terms contained in a license issued to you by Xilinx. Xilinx products are not designed or intended to be fail-safe or for use in any application
requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx's
Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.
© Copyright 2012–2014 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands
included herein are trademarks of Xilinx in the United States and other countries. AMBA is a registered trademark of ARM in the EU and other
countries.All other trademarks are the property of their respective owners.
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの
右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で
入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受
け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
LogiCORE IP AXI DMA v7.1
PG021 2014 年 4 月 2 日
japan.xilinx.com
80
Fly UP